synapsecns/sanguine

View on GitHub
packages/synapse-constants/rollup.config.js

Summary

Maintainability
A
0 mins
Test Coverage
import typescript from 'rollup-plugin-typescript2'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import json from '@rollup/plugin-json'
import terser from '@rollup/plugin-terser'
import url from '@rollup/plugin-url'
import { codecovRollupPlugin } from '@codecov/rollup-plugin'

import packageJson from './package.json'

export default [
  {
    input: 'src/index.ts',
    output: [
      {
        file: packageJson.main,
        format: 'cjs',
      },
      {
        file: packageJson.module,
        format: 'esm',
      },
    ],
    plugins: [
      nodeResolve({
        preferBuiltins: true,
      }),
      commonjs(),
      json(),
      typescript({
        tsconfig: './tsconfig.json',
        declaration: true,
        declarationDir: './dist/types',
        useTsconfigDeclarationDir: true,
      }),
      terser(),
      url({
        include: ['**/*.svg', '**/*.png', '**/*.jpg'],
        limit: 20000,
        emitFiles: false,
      }),
      codecovRollupPlugin({
        enableBundleAnalysis: process.env.CODECOV_TOKEN !== undefined,
        bundleName: '@synapsecns/synapse-constants',
        uploadToken: process.env.CODECOV_TOKEN,
        uploadOverrides: {
          sha: process.env.GH_COMMIT_SHA,
        },
      }),
    ],
    external: ['lodash', 'ethers'],
  },
]