11import { resolve } from 'path' ;
2- import { defineConfig } from 'vite' ;
3- import { name , dependencies , peerDependencies } from './package.json' ;
2+ import { defineConfig , type LibraryFormats } from 'vite' ;
3+ import { dependencies , peerDependencies } from './package.json' ;
44import { compilerOptions } from './tsconfig.lib.json' ;
55import getPackageVersion from './scripts/get-package-version.mjs' ;
66
@@ -11,6 +11,8 @@ const external = [
1111 // e.g. @stream -io/abc and @stream-io/abc/xyz (without this, Vite bundles subpaths)
1212] . map ( ( dependency ) => new RegExp ( `^${ dependency } (\\/[\\w-]+)?$` ) ) ;
1313
14+ const formats : LibraryFormats [ ] = [ 'es' , 'cjs' ] ;
15+
1416export default defineConfig ( {
1517 build : {
1618 lib : {
@@ -19,10 +21,6 @@ export default defineConfig({
1921 emojis : resolve ( __dirname , './src/plugins/Emojis/index.ts' ) ,
2022 'mp3-encoder' : resolve ( __dirname , './src/plugins/encoders/mp3.ts' ) ,
2123 } ,
22- fileName ( format , entryName ) {
23- return `${ format } /${ entryName } .${ format === 'cjs' ? 'js' : 'mjs' } ` ;
24- } ,
25- name,
2624 } ,
2725 emptyOutDir : false ,
2826 outDir : 'dist' ,
@@ -31,6 +29,16 @@ export default defineConfig({
3129 target : compilerOptions . target ,
3230 rollupOptions : {
3331 external,
32+ output : formats . map ( ( format ) => {
33+ const extension = format === 'es' ? 'mjs' : 'js' ;
34+
35+ return {
36+ format,
37+ chunkFileNames : `[format]/[name].[hash].${ extension } ` ,
38+ entryFileNames : `[format]/[name].${ extension } ` ,
39+ hashCharacters : 'hex' ,
40+ } ;
41+ } ) ,
3442 } ,
3543 } ,
3644 define : {
0 commit comments