Upgrade grunt to latest.

Also adds (experimental) dox documentation generator. Run with `grunt dox`. Documentation will be placed under build/docs/.
This commit is contained in:
Stefan Thomas
2013-05-06 21:10:53 +02:00
parent 8073fc7979
commit bad52779e3
2 changed files with 42 additions and 27 deletions

98
Gruntfile.js Normal file
View File

@@ -0,0 +1,98 @@
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-webpack');
grunt.loadNpmTasks('grunt-dox');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
meta: {
banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
},
concat: {
sjcl: {
src: [
"src/js/sjcl/core/sjcl.js",
"src/js/sjcl/core/aes.js",
"src/js/sjcl/core/bitArray.js",
"src/js/sjcl/core/codecString.js",
"src/js/sjcl/core/codecHex.js",
"src/js/sjcl/core/codecBase64.js",
"src/js/sjcl/core/codecBytes.js",
"src/js/sjcl/core/sha256.js",
"src/js/sjcl/core/sha512.js",
"src/js/sjcl/core/sha1.js",
"src/js/sjcl/core/ccm.js",
// "src/js/sjcl/core/cbc.js",
// "src/js/sjcl/core/ocb2.js",
"src/js/sjcl/core/hmac.js",
"src/js/sjcl/core/pbkdf2.js",
"src/js/sjcl/core/random.js",
"src/js/sjcl/core/convenience.js",
"src/js/sjcl/core/bn.js",
"src/js/sjcl/core/ecc.js",
"src/js/sjcl/core/srp.js",
"src/js/sjcl-custom/sjcl-secp256k1.js",
"src/js/sjcl-custom/sjcl-ripemd160.js",
"src/js/sjcl-custom/sjcl-extramath.js",
"src/js/sjcl-custom/sjcl-validecc.js",
"src/js/sjcl-custom/sjcl-ecdsa-der.js"
],
dest: 'build/sjcl.js'
}
},
webpack: {
options: {
entry: "./src/js/index.js",
library: "ripple"
},
lib: {
output: {
filename: "build/ripple-<%= pkg.version %>.js"
}
},
lib_debug: {
output: {
filename: "build/ripple-<%= pkg.version %>-debug.js"
},
debug: true,
devtool: 'eval'
},
lib_min: {
output: {
filename: "build/ripple-<%= pkg.version %>-min.js"
},
optimize: {
minimize: true
}
}
},
watch: {
sjcl: {
files: ['<%= concat.sjcl.src %>'],
tasks: 'concat:sjcl'
},
lib: {
files: 'src/js/*.js',
tasks: 'webpack'
}
},
dox: {
libdocs: {
options: {
title: "Test"
},
src: ['src/js/'],
dest: 'build/docs'
}
}
});
// Tasks
grunt.registerTask('default', ['concat:sjcl', 'webpack']);
};