1
0

gulpfile.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. const path = require('path');
  2. const gulp = require('gulp');
  3. const gulpTS = require('gulp-typescript');
  4. const gulpBabel = require('gulp-babel');
  5. const merge2 = require('merge2');
  6. const del = require('del');
  7. const tsConfig = require('./tsconfig.json');
  8. const getBabelConfig = require('./getBabelConfig');
  9. gulp.task('cleanLib', function cleanLib() {
  10. return del(['lib/**/*']);
  11. });
  12. function compileTS(isESM) {
  13. const targetDir = isESM ? 'lib/es' : 'lib/cjs';
  14. const tsStream = gulp.src(['**/*.ts', '!_story/**/*.*', '!node_modules/**/*.*', '!lib/**/*.*'])
  15. .pipe(gulpTS(tsConfig.compilerOptions));
  16. const jsStream = tsStream.js
  17. .pipe(gulpBabel(getBabelConfig({ isESM })))
  18. .pipe(gulp.dest(targetDir));
  19. const dtsStream = tsStream.dts.pipe(gulp.dest(targetDir));
  20. return merge2([jsStream, dtsStream]);
  21. }
  22. gulp.task('compileTSForESM', function compileTSForESM() {
  23. return compileTS(true);
  24. });
  25. gulp.task('compileTSForCJS', function compileTSForCJS() {
  26. return compileTS(false);
  27. });
  28. gulp.task('compileLib', gulp.series(['cleanLib', gulp.parallel('compileTSForESM', 'compileTSForCJS')]));