rollup-modules.js 955 B

1234567891011121314151617181920212223242526272829303132333435
  1. const path = require('path')
  2. const nodeResolve = require('rollup-plugin-node-resolve')
  3. const { renderBanner, isRelPath, isScssPath, TEMPLATE_PLUGIN, SOURCEMAP_PLUGINS, WATCH_OPTIONS, onwarn } = require('./rollup-util')
  4. const { pkgStructs } = require('./pkg-struct')
  5. module.exports = function(isDev) {
  6. return pkgStructs.filter((pkgStruct) => !pkgStruct.isBundle)
  7. .map((pkgStruct) => buildPkgConfig(pkgStruct, isDev))
  8. }
  9. function buildPkgConfig(pkgStruct, isDev) {
  10. let banner = renderBanner(pkgStruct.jsonObj)
  11. return {
  12. input: path.join('tmp/tsc-output', pkgStruct.srcDir, 'main.js'),
  13. output: {
  14. file: path.join(pkgStruct.distDir, 'main.js'),
  15. format: 'esm',
  16. banner,
  17. sourcemap: isDev
  18. },
  19. external(id) {
  20. return !isRelPath(id) || isScssPath(id)
  21. },
  22. plugins: [
  23. nodeResolve(),
  24. TEMPLATE_PLUGIN,
  25. ...(isDev ? SOURCEMAP_PLUGINS : [])
  26. ],
  27. watch: WATCH_OPTIONS,
  28. onwarn
  29. }
  30. }