76 lines
1.9 KiB
JavaScript
76 lines
1.9 KiB
JavaScript
const gulp = require('gulp')
|
|
const del = require('del')
|
|
const uglify = require('gulp-uglify')
|
|
const babel = require('gulp-babel')
|
|
const rename = require('gulp-rename')
|
|
const replace = require('gulp-replace')
|
|
const sourcemaps = require('gulp-sourcemaps')
|
|
const ts = require('gulp-typescript')
|
|
const pack = require('./package.json')
|
|
|
|
const exportModuleName = 'VXETablePluginExportXLSX'
|
|
|
|
gulp.task('build_commonjs', function () {
|
|
return gulp.src(['index.d.ts', 'depend.ts', 'index.ts'])
|
|
.pipe(sourcemaps.init())
|
|
.pipe(ts({
|
|
strict: true,
|
|
moduleResolution: 'node',
|
|
noImplicitAny: true,
|
|
target: 'es6',
|
|
lib: ['dom', 'es6']
|
|
}))
|
|
.pipe(babel({
|
|
presets: ['@babel/env']
|
|
}))
|
|
.pipe(rename({
|
|
basename: 'index',
|
|
extname: '.common.js'
|
|
}))
|
|
.pipe(sourcemaps.write())
|
|
.pipe(gulp.dest('dist'))
|
|
})
|
|
|
|
gulp.task('build_umd', function () {
|
|
return gulp.src(['index.d.ts', 'depend.ts', 'index.ts'])
|
|
.pipe(ts({
|
|
strict: true,
|
|
moduleResolution: 'node',
|
|
noImplicitAny: true,
|
|
target: 'es6',
|
|
lib: ['dom', 'es6']
|
|
}))
|
|
.pipe(replace(`import XEUtils from 'xe-utils/methods/xe-utils';`, `import XEUtils from 'xe-utils';`))
|
|
.pipe(babel({
|
|
moduleId: pack.name,
|
|
presets: [
|
|
'@babel/env'
|
|
],
|
|
plugins: [
|
|
['@babel/transform-modules-umd', {
|
|
globals: {
|
|
[pack.name]: exportModuleName,
|
|
'xe-utils': 'XEUtils',
|
|
'xlsx': 'XLSX'
|
|
},
|
|
exactGlobals: true
|
|
}]
|
|
]
|
|
}))
|
|
.pipe(replace(`global.${exportModuleName} = mod.exports;`, `global.${exportModuleName} = mod.exports.default;`))
|
|
.pipe(gulp.dest('dist'))
|
|
.pipe(uglify())
|
|
.pipe(rename({
|
|
extname: '.min.js'
|
|
}))
|
|
.pipe(gulp.dest('dist'))
|
|
})
|
|
|
|
gulp.task('clear', () => {
|
|
return del([
|
|
'dist/depend.*'
|
|
])
|
|
})
|
|
|
|
gulp.task('build', gulp.series(gulp.parallel('build_commonjs', 'build_umd'), 'clear'))
|