mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-21 12:51:52 +02:00
generate commonjs/npm entrypoint module via grunt task
This commit is contained in:
@@ -20,6 +20,7 @@ module.exports = function (grunt) {
|
|||||||
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
|
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
|
||||||
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
|
||||||
var generateRawFiles = require('./grunt/bs-raw-files-generator.js');
|
var generateRawFiles = require('./grunt/bs-raw-files-generator.js');
|
||||||
|
var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js');
|
||||||
var updateShrinkwrap = require('./grunt/shrinkwrap.js');
|
var updateShrinkwrap = require('./grunt/shrinkwrap.js');
|
||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
@@ -459,6 +460,11 @@ module.exports = function (grunt) {
|
|||||||
generateRawFiles(grunt, banner);
|
generateRawFiles(grunt, banner);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
grunt.registerTask('build-commonjs', 'Build CommonJS entrypoint module for JS.', function () {
|
||||||
|
var files = grunt.config.get('concat.bootstrap.src');
|
||||||
|
generateCommonJSModule(grunt, files);
|
||||||
|
});
|
||||||
|
|
||||||
// Task for updating the npm packages used by the Travis build.
|
// Task for updating the npm packages used by the Travis build.
|
||||||
grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', 'exec:npmShrinkWrap', '_update-shrinkwrap']);
|
grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', 'exec:npmShrinkWrap', '_update-shrinkwrap']);
|
||||||
grunt.registerTask('_update-shrinkwrap', function () { updateShrinkwrap.call(this, grunt); });
|
grunt.registerTask('_update-shrinkwrap', function () { updateShrinkwrap.call(this, grunt); });
|
||||||
|
24
dist/js/npm.js
vendored
24
dist/js/npm.js
vendored
@@ -1,12 +1,12 @@
|
|||||||
require('../../js/transition')
|
require('../../js/transition.js')
|
||||||
require('../../js/alert')
|
require('../../js/alert.js')
|
||||||
require('../../js/button')
|
require('../../js/button.js')
|
||||||
require('../../js/carousel')
|
require('../../js/carousel.js')
|
||||||
require('../../js/collapse')
|
require('../../js/collapse.js')
|
||||||
require('../../js/dropdown')
|
require('../../js/dropdown.js')
|
||||||
require('../../js/modal')
|
require('../../js/modal.js')
|
||||||
require('../../js/tooltip')
|
require('../../js/tooltip.js')
|
||||||
require('../../js/popover')
|
require('../../js/popover.js')
|
||||||
require('../../js/scrollspy')
|
require('../../js/scrollspy.js')
|
||||||
require('../../js/tab')
|
require('../../js/tab.js')
|
||||||
require('../../js/affix')
|
require('../../js/affix.js')
|
23
grunt/bs-commonjs-generator.js
Normal file
23
grunt/bs-commonjs-generator.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
'use strict';
|
||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
var destDir = 'dist/js';
|
||||||
|
var destFilename = 'npm.js';
|
||||||
|
var destFilepath = path.join(destDir, destFilename);
|
||||||
|
|
||||||
|
function srcPathToDestRequire(srcFilepath) {
|
||||||
|
var requirePath = path.relative(destDir, srcFilepath);
|
||||||
|
return "require('"+requirePath+"')";
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function generateCommonJSModule(grunt, files) {
|
||||||
|
var moduleOutputJs = files.map(srcPathToDestRequire).join('\n');
|
||||||
|
try {
|
||||||
|
fs.writeFileSync(destFilepath, moduleOutputJs);
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
grunt.fail.warn(err);
|
||||||
|
}
|
||||||
|
grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
|
||||||
|
};
|
Reference in New Issue
Block a user