rollup.config.js 869 B

123456789101112131415161718192021222324252627282930313233343536
  1. import {terser} from "rollup-plugin-terser";
  2. import * as meta from "./package.json";
  3. const config = {
  4. input: "src/index.js",
  5. external: Object.keys(meta.dependencies || {}).filter(key => /^d3-/.test(key)),
  6. output: {
  7. file: `dist/${meta.name}.js`,
  8. name: "d3",
  9. format: "umd",
  10. indent: false,
  11. extend: true,
  12. banner: `// ${meta.homepage} v${meta.version} Copyright ${(new Date).getFullYear()} ${meta.author.name}`,
  13. globals: Object.assign({}, ...Object.keys(meta.dependencies || {}).filter(key => /^d3-/.test(key)).map(key => ({[key]: "d3"})))
  14. },
  15. plugins: []
  16. };
  17. export default [
  18. config,
  19. {
  20. ...config,
  21. output: {
  22. ...config.output,
  23. file: `dist/${meta.name}.min.js`
  24. },
  25. plugins: [
  26. ...config.plugins,
  27. terser({
  28. output: {
  29. preamble: config.output.banner
  30. }
  31. })
  32. ]
  33. }
  34. ];