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 dartSass = require('sass') const gulpSass = require('gulp-sass') const sass = gulpSass(dartSass) const cleanCSS = require('gulp-clean-css') const prefixer = require('gulp-autoprefixer') const sourcemaps = require('gulp-sourcemaps') const ts = require('gulp-typescript') const pack = require('./package.json') const tsconfig = require('./tsconfig.json') const exportModuleName = 'VXETablePluginExportXLSX' gulp.task('build_commonjs', function () { return gulp.src(['index.ts']) // .pipe(sourcemaps.init()) .pipe(ts(tsconfig.compilerOptions)) .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.ts']) .pipe(ts(tsconfig.compilerOptions)) .pipe(babel({ moduleId: pack.name, presets: [ '@babel/env' ], plugins: [ ['@babel/transform-modules-umd', { globals: { [pack.name]: exportModuleName, 'vue': 'Vue', 'vxe-table': 'VXETable', 'xe-utils': 'XEUtils', 'exceljs': 'ExcelJS' }, exactGlobals: true }] ] })) .pipe(rename({ basename: 'index', suffix: '.umd', extname: '.js' })) .pipe(gulp.dest('dist')) .pipe(uglify()) .pipe(rename({ basename: 'index', suffix: '.umd.min', extname: '.js' })) .pipe(gulp.dest('dist')) }) gulp.task('clear', () => { return del([ 'dist/depend.*' ]) }) gulp.task('build', gulp.series(gulp.parallel('build_commonjs', 'build_umd'), 'clear'))