Skip to content
Snippets Groups Projects
rollup.config.js 869 B
Newer Older
  • Learn to ignore specific revisions
  • import {terser} from "rollup-plugin-terser";
    import * as meta from "./package.json";
    
    const config = {
      input: "src/index.js",
      external: Object.keys(meta.dependencies || {}).filter(key => /^d3-/.test(key)),
      output: {
        file: `dist/${meta.name}.js`,
        name: "d3",
        format: "umd",
        indent: false,
        extend: true,
        banner: `// ${meta.homepage} v${meta.version} Copyright ${(new Date).getFullYear()} ${meta.author.name}`,
        globals: Object.assign({}, ...Object.keys(meta.dependencies || {}).filter(key => /^d3-/.test(key)).map(key => ({[key]: "d3"})))
      },
      plugins: []
    };
    
    export default [
      config,
      {
        ...config,
        output: {
          ...config.output,
          file: `dist/${meta.name}.min.js`
        },
        plugins: [
          ...config.plugins,
          terser({
            output: {
              preamble: config.output.banner
            }
          })
        ]
      }
    ];