gulpfile.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. shellTask('npm:sass'),
  30. parallel(
  31. shellTask('npm:rollup'), // needs tsc, copied scss, generated locales
  32. writePkgLicenses,
  33. writePkgReadmes,
  34. buildDts
  35. ),
  36. parallel(minifyJs, minifyCss)
  37. )
  38. exports.watch = series(
  39. writePkgJsons, // important for node-resolution
  40. () => runTscWatch(),
  41. series(
  42. writeLocales, // needs tsc
  43. () => buildTestIndex(true), // needs tsc. watch=true
  44. shellTask('npm:sass'),
  45. parallel(
  46. shellTask('npm:sass:watch'), // double work :(
  47. shellTask('npm:rollup:watch'), // needs tsc, copied scss, generated locales
  48. writePkgLicenses, // doesn't watch!
  49. writePkgReadmes, // doesn't watch!
  50. buildDts, // doesn't watch!
  51. watchLocales // TODO: ignore initial
  52. )
  53. )
  54. ) // doesn't minify!
  55. // BUG: right after clean, when watching, tsc re-compiles a lot (must be watching something)