101 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env node
 | 
						|
 | 
						|
var builder = require('buildify'),
 | 
						|
    path = require('path');
 | 
						|
 | 
						|
var templateData = {
 | 
						|
  version: '0.10.1'
 | 
						|
};
 | 
						|
 | 
						|
var baseDir = __dirname + '/..',
 | 
						|
    sourceDir = baseDir + '/src',
 | 
						|
    outputDir = baseDir + '/distribution';
 | 
						|
 | 
						|
//Files to concatenate into main file
 | 
						|
var fileList = [
 | 
						|
  'form.js',
 | 
						|
  'helpers.js',
 | 
						|
  'validators.js',
 | 
						|
  'field.js',
 | 
						|
  'editors.js',
 | 
						|
  'setup.js',
 | 
						|
  'templates/default.js'
 | 
						|
];
 | 
						|
 | 
						|
//Concatenate the main files
 | 
						|
var mainContents = builder(sourceDir)
 | 
						|
  .concat(fileList)
 | 
						|
  .getContent();
 | 
						|
 | 
						|
//Save regular dev and mini versions
 | 
						|
builder(baseDir)
 | 
						|
  .setContent(mainContents)
 | 
						|
  .wrap('scripts/build-templates/main.js', templateData)
 | 
						|
  .save('distribution/backbone-forms.js')
 | 
						|
  .uglify()
 | 
						|
  .save('distribution/backbone-forms.min.js');
 | 
						|
 | 
						|
//Main AMD file (for RequireJS)
 | 
						|
builder(baseDir)
 | 
						|
  .setContent(mainContents)
 | 
						|
  .wrap('scripts/build-templates/main.amd.js', templateData)
 | 
						|
  .save('distribution.amd/backbone-forms.js')
 | 
						|
  .uglify()
 | 
						|
  .save('distribution.amd/backbone-forms.min.js');
 | 
						|
 | 
						|
 | 
						|
//Standalone template files
 | 
						|
['default', 'bootstrap'].forEach(function(template) {
 | 
						|
  //HTML
 | 
						|
  builder(baseDir)
 | 
						|
    .load('src/templates/'+template+'.js')
 | 
						|
    .wrap('scripts/build-templates/standalone-template.js')
 | 
						|
    .save('distribution/templates/'+template+'.js');
 | 
						|
 | 
						|
  //HTML (AMD)
 | 
						|
  builder(baseDir)
 | 
						|
    .load('src/templates/'+template+'.js')
 | 
						|
    .wrap('scripts/build-templates/standalone-template.amd.js')
 | 
						|
    .save('distribution.amd/templates/'+template+'.js');
 | 
						|
 | 
						|
  //CSS
 | 
						|
  builder(baseDir)
 | 
						|
    .load('src/templates/'+template+'.css')
 | 
						|
    .save('distribution/templates/'+template+'.css')
 | 
						|
    .save('distribution.amd/templates/'+template+'.css');
 | 
						|
});
 | 
						|
 | 
						|
 | 
						|
//Extra editors
 | 
						|
['list', 'jquery-ui'].forEach(function(name) {
 | 
						|
  //Save regular dev and mini versions
 | 
						|
  builder(baseDir)
 | 
						|
    .load('src/editors/'+name+'.js')
 | 
						|
    .save('distribution/editors/'+name+'.js')
 | 
						|
    .uglify()
 | 
						|
    .save('distribution/editors/'+name+'.min.js');
 | 
						|
 | 
						|
  //CSS file
 | 
						|
  if (path.existsSync(baseDir + '/src/editors/'+name+'.css')) {
 | 
						|
    builder(baseDir)
 | 
						|
      .load('src/editors/'+name+'.css')
 | 
						|
      .save('distribution/editors/'+name+'.css')
 | 
						|
      .save('distribution.amd/editors/'+name+'.css');
 | 
						|
  }
 | 
						|
 | 
						|
  //Save AMD version (for RequireJS)
 | 
						|
  builder(baseDir)
 | 
						|
    .load('src/editors/'+name+'.js')
 | 
						|
    .wrap('scripts/build-templates/simple.amd.js')
 | 
						|
    .save('distribution.amd/editors/'+name+'.js')
 | 
						|
    .uglify()
 | 
						|
    .save('distribution.amd/editors/'+name+'.min.js');
 | 
						|
});
 | 
						|
 | 
						|
 | 
						|
//Modal adapters
 | 
						|
builder(baseDir)
 | 
						|
  .load('lib/backbone.bootstrap-modal/src/backbone.bootstrap-modal.js')
 | 
						|
  .save('distribution/adapters/backbone.bootstrap-modal.js')
 | 
						|
  .uglify()
 | 
						|
  .save('distribution/adapters/backbone.bootstrap-modal.min.js');
 |