fix: add browser to mainFields resolution to prevent crypto-browserify bundling

ws package has a browser field pointing to a crypto-free entry point.
Without 'browser' in mainFields, Vite resolved the Node.js version
which pulled in crypto-browserify -> inherits -> runtime error.
This commit is contained in:
2026-02-22 19:48:03 +03:00
parent e2cfa136f9
commit 1ee4bc4f1d
2 changed files with 1 additions and 14 deletions
+1 -3
View File
@@ -61,7 +61,7 @@ export default defineConfig(() => ({
},
].filter(Boolean),
resolve: {
mainFields: ['module', 'main', 'exports'],
mainFields: ['browser', 'module', 'main', 'exports'],
alias: {
"@": path.resolve(__dirname, "./src"),
"@pezkuwi/i18n": path.resolve(__dirname, "../shared/i18n"),
@@ -75,8 +75,6 @@ export default defineConfig(() => ({
'vite-plugin-node-polyfills/shims/buffer': path.resolve(__dirname, './src/polyfills/buffer-shim.ts'),
'vite-plugin-node-polyfills/shims/global': path.resolve(__dirname, './src/polyfills/global-shim.ts'),
'vite-plugin-node-polyfills/shims/process': path.resolve(__dirname, './src/polyfills/process-shim.ts'),
// Prevent crypto-browserify chain (inherits error) - use native Web Crypto API
'crypto-browserify': path.resolve(__dirname, './src/polyfills/crypto-shim.ts'),
},
dedupe: ['react', 'lucide-react', 'sonner', '@pezkuwi/util-crypto', '@pezkuwi/util', '@pezkuwi/api', '@pezkuwi/extension-dapp', '@pezkuwi/keyring'],
},