Vite - Multiple library entry points

Viewed 1016

After a few hours, I managed to build my custom library with multiple entry points using vite. I want to know if there is a better way to solve this problem.

// vite.config.ts
export default defineConfig({
  plugins: [react()],
  build: {
    rollupOptions: {
      input: {
        index: resolve(__dirname, 'src/index.ts'),
        hooks: resolve(__dirname, 'src/hooks.ts'),
      },
      external: [...Object.keys(peerDependencies), ...Object.keys(dependencies)],
      output: [
        {
          dir: resolve(__dirname, 'dist'),
          format: 'es',
          entryFileNames: "[name].[format].js",
          globals: {
            react: 'React',
          },
        },
        {
          dir: resolve(__dirname, 'dist'),
          format: 'cjs',
          entryFileNames: "[name].[format].js",
          globals: {
            react: 'React',
          },
        }
      ],
    },
    sourcemap: true,
  }
})

The build generate this files:

bundle

0 Answers
Related