UNPKG

fmd.js

Version:

another module writing system

108 lines (97 loc) 2.92 kB
/** * the Gruntfile for fmd.js * @author Edgar * @date 170117 * */ module.exports = function( grunt ){ var bannerTpl = '/*! fmd.js v<%= pkg.version %> | http://fmdjs.org/ | MIT */'; var source = [ 'src/boot.js', 'src/utils/lang.js', 'src/event.js', 'src/config.js', 'src/module.js', 'src/injector/relative.js', 'src/injector/alias.js', 'src/loader/resolve.js', 'src/loader/id2url.js', 'src/loader/assets.js', 'src/utils/when.js', 'src/loader/request.js', 'src/loader/loader.js', 'src/loader/remote.js', 'src/injector/use.js', 'src/injector/async.js' ]; grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), jshint: { files: ['src/*.js', 'src/*/*.js'], options: { jshintrc: '.jshintrc' } }, clean: { clear: ['dist'] }, concat: { merge: { options: { separator: '\n\n', banner: bannerTpl + '\n' }, files: { 'dist/fmd.js': source } }, non: { options: { separator: '\n\n' }, files: { 'dist/plugins/non.js': ['src/plugins/preload.js','src/plugins/non.js'] } } }, closurecompiler: { merge: { options: { create_source_map: 'dist/fmd.min.js.map' }, files: { 'dist/fmd.min.js': ['dist/fmd.js'] } } }, replace: { version: { options: { patterns: [{ match: /@VERSION/, replacement: '<%= pkg.version %>' }] }, files: { 'dist/fmd.js': 'dist/fmd.js' } } }, copy: { combo: { files: { 'dist/fmd/plugin.js': 'src/injector/plugin.js', 'dist/plugins/combo.js': 'src/plugins/combo.js', 'dist/fmd/console.js': 'src/helper/console.js' } } } }); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-replace'); grunt.loadNpmTasks('grunt-closurecompiler'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-clean'); grunt.registerTask('build', ['jshint','clean','concat','replace','closurecompiler','copy']); grunt.registerTask('default', ['build']); };