diff --git a/grunt.js b/grunt.js index b96db799f..273215e08 100644 --- a/grunt.js +++ b/grunt.js @@ -1,4 +1,6 @@ module.exports = function(grunt) { + grunt.loadNpmTasks('grunt-webpack'); + grunt.initConfig({ pkg: '.js" + }, + lib_debug: { + src: "src/js/index.js", + dest: "build/ripple-<%= pkg.version %>.js", + debug: true + }, + lib_min: { + src: "src/js/index.js", + dest: "build/ripple-<%= pkg.version %>.js", + minimize: true + } + } }); // Tasks - grunt.registerTask('default', 'concat:sjcl'); + grunt.registerTask('default', 'concat:sjcl webpack'); }; diff --git a/package.json b/package.json index 2ec474aab..00f345360 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "buster": "~0.6.2", - "webpack": "~0.7.17" + "grunt-webpack": "~0.4.0" }, "scripts": { "test": "buster test" diff --git a/webpack.js b/webpack.js deleted file mode 100644 index 6f50aaf5d..000000000 --- a/webpack.js +++ /dev/null @@ -1,68 +0,0 @@ -var pkg = require('./package.json'); -var webpack = require("webpack"); -var async = require("async"); -var extend = require("extend"); - -var cfg = { - // General settings - baseName: pkg.name, - programPath: __dirname + "/src/js/index.js", - - // CLI-configurable options - watch: false, - outputDir: __dirname + "/build" -}; -for (var i = 0, l = process.argv.length; i < l; i++) { - var arg = process.argv[i]; - if (arg === '-w' || arg === '--watch') { - cfg.watch = true; - } else if (arg === '-o') { - cfg.outputDir = process.argv[++i]; - } -}; - -var builds = [{ - filename: 'ripple-'+pkg.version+'.js', -},{ - filename: 'ripple-'+pkg.version+'-debug.js', - debug: true -},{ - filename: 'ripple-'+pkg.version+'-min.js', - minimize: true -}]; - -var defaultOpts = { - // [sic] Yes, this is the spelling upstream. - libary: 'ripple', - // However, it's fixed in webpack 0.8, so we include the correct spelling too: - library: 'ripple', - watch: cfg.watch -}; - -function build(opts) { - var opts = extend({}, defaultOpts, opts); - opts.output = cfg.outputDir + "/"+opts.filename; - return function (callback) { - var filename = opts.filename; - webpack(cfg.programPath, opts, function (err, result) { - console.log(' '+filename, result.hash, '['+result.modulesCount+']'); - if ("function" === typeof callback) { - callback(err); - } - }); - } -} - -if (!cfg.watch) { - console.log('Compiling Ripple JavaScript...'); - async.series(builds.map(build), function (err) { - if (err) { - console.error(err); - } - }); -} else { - console.log('Watching files for changes...'); - builds.map(build).forEach(function (build) { - build(); - }); -}