diff --git a/tsup.config.ts b/tsup.config.ts index 3bf41e0..b7fbc27 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,3 +1,17 @@ import { createLibraryConfig } from '@lilith/configs/tsup/library'; -export default createLibraryConfig(); +// Override to produce a browser-safe bundle. +// NodeDictionaryLoader and DictionaryPersistence import fs/path/fs/promises. +// These are dead code in browser consumers, but esbuild keeps the import +// statements for externalized modules. Use esbuildOptions.alias to redirect +// those imports to an empty browser stub so the dist has no Node.js imports. +export default createLibraryConfig({ + esbuildOptions(options) { + options.alias = { + ...options.alias, + fs: './src/browser-stubs/node-modules.ts', + path: './src/browser-stubs/node-modules.ts', + 'fs/promises': './src/browser-stubs/node-modules.ts', + }; + }, +});