gulpfile.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const { parallel, series } = require('gulp')
  2. const { shellTask } = require('./scripts/lib/util')
  3. const { writePkgJsons } = require('./scripts/lib/pkg-json-write')
  4. const { bundlPkgDefs } = require('./scripts/lib/pkg-dts')
  5. const { writePkgReadmes } = require('./scripts/lib/pkg-readme')
  6. const { writePkgLicenses } = require('./scripts/lib/pkg-license')
  7. const { minifyJs, minifyCss } = require('./scripts/lib/minify') // combine into one task? make part of rollup?
  8. const { lint } = require('./scripts/lib/lint')
  9. const { archive } = require('./scripts/lib/archive')
  10. const { writeLocales, watchLocales } = require('./scripts/lib/locales')
  11. const { buildTestIndex } = require('./scripts/lib/tests-index')
  12. const { runTsc, runTscWatch } = require('./scripts/lib/tsc')
  13. const buildDts = exports.dts = series(
  14. shellTask('npm:tsc:dts'), // generates granular .d.ts files
  15. bundlPkgDefs // combines them
  16. )
  17. exports.lint = lint
  18. exports.archive = archive
  19. exports.json = writePkgJsons
  20. exports.readme = writePkgReadmes
  21. exports.license = writePkgLicenses
  22. exports.locales = writeLocales
  23. exports.minify = parallel(minifyJs, minifyCss)
  24. exports.build = series(
  25. writePkgJsons, // important for node-resolution
  26. () => runTsc(),
  27. writeLocales, // needs tsc
  28. () => buildTestIndex(), // needs tsc. needs to happen before rollup
  29. parallel(
  30. shellTask('npm:rollup'), // needs tsc, copied scss, generated locales
  31. writePkgLicenses,
  32. writePkgReadmes,
  33. buildDts
  34. ),
  35. parallel(minifyJs, minifyCss)
  36. )
  37. exports.watch = series(
  38. writePkgJsons, // important for node-resolution
  39. () => runTscWatch(),
  40. series(
  41. writeLocales, // needs tsc
  42. () => buildTestIndex(true), // needs tsc. watch=true
  43. parallel(
  44. shellTask('npm:rollup:watch'), // needs tsc, copied scss, generated locales
  45. writePkgLicenses, // doesn't watch!
  46. writePkgReadmes, // doesn't watch!
  47. buildDts, // doesn't watch!
  48. watchLocales // TODO: ignore initial
  49. )
  50. )
  51. ) // doesn't minify!
  52. // BUG: right after clean, when watching, tsc re-compiles a lot (must be watching something)