UNPKG

firebase-token-generator

Version:

A utility to generate signed Firebase Authentication Tokens

134 lines (121 loc) 3.36 kB
module.exports = function(grunt) { 'use strict'; var src = [ 'lib/closure/library', 'js/src' ]; grunt.initConfig({ jshint: { src: [ 'Gruntfile.js', 'js/src/**/*.js', '!js/src/cryptojs.js' ], options: { curly: true, eqeqeq: true, node: true, sub: true } }, concurrent: { closure : [ 'closureBuilder:js-token-generator', 'closureBuilder:js-token-generator-node', 'closureBuilder:js-token-generator-debug', 'closureDepsWriter' ] }, closureBuilder: { options: { namespaces : 'FirebaseTokenGenerator', closureLibraryPath : 'lib/closure/library', builder : 'lib/closure/library/closure/bin/build/closurebuilder.py', compilerFile : 'lib/closure/compiler.jar', compile : true, compilerOpts : {} }, 'js-token-generator': { src : src, dest : 'dist/firebase-token-generator.js', options : { compilerOpts: { 'generate_exports' : true, 'compilation_level' : 'ADVANCED_OPTIMIZATIONS', 'output_wrapper' : '(function() {%output%})();', 'define' : ["'NODE_CLIENT=false'"] } } }, 'js-token-generator-debug': { src : src, dest : 'dist/firebase-token-generator-debug.js', options : { compilerOpts: { 'generate_exports' : true, 'formatting' : 'PRETTY_PRINT', 'compilation_level' : 'WHITESPACE_ONLY', 'define' : ["'NODE_CLIENT=false'"] } } }, 'js-token-generator-node': { src : src, dest : 'dist/firebase-token-generator-node.js', options : { compilerOpts: { 'generate_exports' : true, 'compilation_level' : 'SIMPLE_OPTIMIZATIONS', 'define' : ["'NODE_CLIENT=true'"] } } } }, closureDepsWriter: { options: { closureLibraryPath : 'lib/closure/library', depswriter : 'lib/closure/library/closure/bin/build/depswriter.py', root_with_prefix : '"js ../../../../../js/"' }, deps: { dest: 'js/deps.js' } }, jasmine: { dist: { src: [ 'dist/firebase-token-generator.js' ], options: { vendor: [], helpers: [], specs: [ 'js/test/jasmine/*.spec.js' ] } }, debug: { src: [ 'dist/firebase-token-generator-debug.js' ], options: { vendor: [], helpers: [], specs: [ 'js/test/jasmine/*.spec.js' ] } } }, exec: { mocha: { command: 'mocha js/test/mocha' } } }); require('load-grunt-tasks')(grunt); grunt.registerTask('build', ['jshint', 'closureBuilder', 'closureDepsWriter']); grunt.registerTask('build-concurrent', ['jshint', 'concurrent:closure']); grunt.registerTask('test', ['jasmine', 'exec:mocha']); grunt.registerTask('default', ['build-concurrent', 'test']); };