rollup.config.mjs 877 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import path from 'node:path'
  2. import { fileURLToPath } from 'node:url'
  3. import { babel } from '@rollup/plugin-babel'
  4. import { nodeResolve } from '@rollup/plugin-node-resolve'
  5. import replace from '@rollup/plugin-replace'
  6. import banner from '@repo/banner'
  7. const __dirname = path.dirname(fileURLToPath(import.meta.url))
  8. const external = []
  9. const plugins = [
  10. babel({
  11. exclude: 'node_modules/**',
  12. babelHelpers: 'bundled'
  13. })
  14. ]
  15. plugins.push(
  16. replace({
  17. 'process.env.NODE_ENV': '"production"',
  18. preventAssignment: true
  19. }),
  20. nodeResolve()
  21. )
  22. const rollupConfig = {
  23. input: [
  24. path.resolve(__dirname, `../js/demo.js`),
  25. path.resolve(__dirname, `../js/demo-theme.js`)
  26. ],
  27. output: {
  28. name: 'demo',
  29. banner: banner('Demo'),
  30. dir: path.resolve(__dirname, `../dist/preview/js`),
  31. format: 'esm',
  32. generatedCode: 'es2015'
  33. },
  34. external,
  35. plugins
  36. }
  37. export default rollupConfig