@gohelpfund/x11-hash-js
Version:
x11 javascript hashing algorithm in pure javascript
101 lines (93 loc) • 3.16 kB
JavaScript
'use strict';
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-multi');
grunt.registerTask('default', ['clean', 'browserify', 'multi:karmaDebug', 'uglify', 'multi:karmaMin']);
grunt.initConfig({
// property for browserified or minified bundle path for Karma
targetBundle: '',
clean: ['dist/*'],
pkg: grunt.file.readJSON('package.json'),
// browserify the AMD code
browserify: {
main: {
files: {
'dist/x11-hash.js': ['lib']
},
options: {
require: [
'./index.js:x11hash',
'buffer'
]
}
}
},
// inline Karma config
karma: {
unit: {
options: {
basePath: '',
frameworks: ['mocha', 'chai'],
files: [
'<%= targetBundle %>',
'test/test.js'
],
exclude: [],
browserNoActivityTimeout: 60000,
reporters: ['mocha'],
port: 9876,
colors: true,
logLevel: 'INFO',
autoWatch: false,
concurrency: Infinity,
customLaunchers: {
FirefoxHeadless: {
base: 'Firefox',
flags: ['-headless'],
},
},
browsers: ['ChromeHeadless', 'Firefox'],
singleRun: true,
plugins: [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-mocha-reporter',
'karma-mocha',
'karma-chai'
]
}
}
},
// karma task is ran first on the browserified bundle then again
// on the minified version to ensure all bundles are tested
multi: {
karmaDebug: {
options: {
config: {
targetBundle: 'dist/x11-hash.js'
},
tasks: ['karma']
}
},
karmaMin: {
options: {
config: {
targetBundle: 'dist/x11-hash.min.js'
},
tasks: ['karma']
}
}
},
// minify
uglify: {
my_target: {
files: {
'dist/x11-hash.min.js': ['dist/x11-hash.js']
}
}
}
});
};