#!/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');