加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
gruntfile.js 3.54 KB
一键复制 编辑 原始数据 按行查看 历史
'use strict';
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-babel');
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-terser');
grunt.loadNpmTasks('grunt-contrib-jasmine');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-exorcise');
grunt.initConfig({
babel: {
options: {
sourceMap: true,
compact: false,
},
dist: {
files: [
{
expand: true,
src: ['./lib/**/*.js', './spec/browser/*.js'],
dest: './build/',
},
],
},
},
browserify: {
options: {
transform: [
[
'babelify',
{
// enable babel transpile for node_modules
global: true,
presets: ['@babel/preset-env'],
// core-js should not be transpiled
// See https://github.com/zloirock/core-js/issues/514
ignore: [/node_modules[\\/]core-js/],
},
],
],
browserifyOptions: {
// enable source map for browserify
debug: true,
standalone: 'ExcelJS',
},
},
bare: {
// keep the original source for source maps
src: ['./lib/exceljs.bare.js'],
dest: './dist/exceljs.bare.js',
},
bundle: {
// keep the original source for source maps
src: ['./lib/exceljs.browser.js'],
dest: './dist/exceljs.js',
},
spec: {
options: {
transform: null,
browserifyOptions: null,
},
src: ['./build/spec/browser/exceljs.spec.js'],
dest: './build/web/exceljs.spec.js',
},
},
terser: {
options: {
output: {
preamble: '/*! ExcelJS <%= grunt.template.today("dd-mm-yyyy") %> */\n',
ascii_only: true,
},
},
dist: {
options: {
// Keep the original source maps from browserify
// See also https://www.npmjs.com/package/terser#source-map-options
sourceMap: {
content: 'inline',
url: 'exceljs.min.js.map',
},
},
files: {
'./dist/exceljs.min.js': ['./dist/exceljs.js'],
},
},
bare: {
options: {
// Keep the original source maps from browserify
// See also https://www.npmjs.com/package/terser#source-map-options
sourceMap: {
content: 'inline',
url: 'exceljs.bare.min.js.map',
},
},
files: {
'./dist/exceljs.bare.min.js': ['./dist/exceljs.bare.js'],
},
},
},
// Move source maps to a separate file
exorcise: {
bundle: {
options: {},
files: {
'./dist/exceljs.js.map': ['./dist/exceljs.js'],
'./dist/exceljs.bare.js.map': ['./dist/exceljs.bare.js'],
},
},
},
copy: {
dist: {
files: [
{expand: true, src: ['**'], cwd: './build/lib', dest: './dist/es5'},
{src: './build/lib/exceljs.nodejs.js', dest: './dist/es5/index.js'},
{src: './LICENSE', dest: './dist/LICENSE'},
],
},
},
jasmine: {
options: {
version: '3.8.0',
noSandbox: true,
},
dev: {
src: ['./dist/exceljs.js'],
options: {
specs: './build/web/exceljs.spec.js',
},
},
},
});
grunt.registerTask('build', ['babel:dist', 'browserify', 'terser', 'exorcise', 'copy']);
grunt.registerTask('ug', ['terser']);
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化