lukemnet/twitch-ebs-tools

View on GitHub
rollup.config.mjs

Summary

Maintainability
Test Coverage
// eslint-disable-next-line import/no-extraneous-dependencies
import dts from "rollup-plugin-dts";
// eslint-disable-next-line import/no-extraneous-dependencies
import esbuild from "rollup-plugin-esbuild";

const name = "dist/index";

const bundle = (config) => ({
  ...config,
  input: "src/index.ts",
  external: (id) => !/^[./]/.test(id),
});

// eslint-disable-next-line import/no-default-export
export default [
  bundle({
    plugins: [
      esbuild({
        sourceMap: false,
        minify: true,
      }),
    ],
    output: [
      {
        file: `${name}.js`,
        format: "cjs",
        globals: {
          jsonwebtoken: "jsonwebtoken",
        },
      },
      {
        file: `${name}.mjs`,
        format: "es",
        globals: {
          jsonwebtoken: "jsonwebtoken",
        },
      },
    ],
    context: "this",
  }),
  bundle({
    plugins: [
      esbuild({
        sourceMap: false,
        minify: true,
      }),
    ],
    output: {
      file: `${name}.umd.js`,
      format: "umd",
      name: "TwitchEbsTools",
      globals: {
        jsonwebtoken: "jsonwebtoken",
      },
    },
    context: "this",
  }),
  bundle({
    plugins: [dts()],
    output: {
      file: `${name}.d.ts`,
      format: "es",
    },
  }),
];