From 63621df12fe3c982cbc92b3370d1054a7dcdc31f Mon Sep 17 00:00:00 2001 From: Tomek Marciniak Date: Sun, 17 Dec 2023 21:30:40 +0100 Subject: [PATCH] fix(ladle): fix build --- packages/features/.ladle/vite.config.ts | 7 ++++++- packages/features/package.json | 7 ++++--- packages/vault/package.json | 1 + packages/vault/src/types.ts | 9 +++++++++ packages/vault/src/vault/vaultStore.ts | 5 ++++- packages/vault/tsconfig.json | 7 ++++++- pnpm-lock.yaml | 22 +++++++++++++++++++++- 7 files changed, 51 insertions(+), 7 deletions(-) diff --git a/packages/features/.ladle/vite.config.ts b/packages/features/.ladle/vite.config.ts index 5cf49243..8b5bb191 100644 --- a/packages/features/.ladle/vite.config.ts +++ b/packages/features/.ladle/vite.config.ts @@ -1,5 +1,6 @@ import { defineConfig } from 'vite' import topLevelAwait from 'vite-plugin-top-level-await' +import { nodePolyfills } from 'vite-plugin-node-polyfills' import svgr from 'vite-plugin-svgr' const env = (import.meta as any).env @@ -8,7 +9,11 @@ export default defineConfig({ define: { __DEV__: env?.MODE === 'development' }, - plugins: [topLevelAwait(), svgr({ exportAsDefault: true })], + plugins: [ + topLevelAwait(), + nodePolyfills({ protocolImports: true, globals: { Buffer: true } }), + svgr({ exportAsDefault: true }) + ], build: { commonjsOptions: { transformMixedEsModules: true diff --git a/packages/features/package.json b/packages/features/package.json index 1427be7c..e4502c40 100644 --- a/packages/features/package.json +++ b/packages/features/package.json @@ -27,9 +27,9 @@ "build": "tsup", "dev": "tsup --watch", "test:unit": "echo 'not yet'", - "story:dev": "ladle serve", - "story:build": "ladle build -o ./build", - "story:preview": "ladle preview", + "story:dev": "VITE_APP_LADLE=true ladle serve", + "story:build": "VITE_APP_LADLE=true ladle build -o ./build", + "story:preview": "VITE_APP_LADLE=true ladle preview", "cleanup": "rimraf node_modules dist .turbo build" }, "dependencies": { @@ -113,6 +113,7 @@ "mina-signer": "^2.1.1", "swr": "^2.1.5", "vite": "^4.5.1", + "vite-plugin-node-polyfills": "^0.17.0", "vite-plugin-svgr": "^3.2.0", "vite-plugin-top-level-await": "^1.3.1" }, diff --git a/packages/vault/package.json b/packages/vault/package.json index 26870c84..0773ddb5 100644 --- a/packages/vault/package.json +++ b/packages/vault/package.json @@ -38,6 +38,7 @@ "@types/mocha": "^10.0.1", "@types/secp256k1": "^4.0.3", "mina-signer": "^2.1.1", + "vite": "^4.5.1", "msw": "^1.2.2" } } diff --git a/packages/vault/src/types.ts b/packages/vault/src/types.ts index 7f034e54..cb640ed2 100644 --- a/packages/vault/src/types.ts +++ b/packages/vault/src/types.ts @@ -3,3 +3,12 @@ import { StoreApi, UseBoundStore } from 'zustand' export type StoreInstance = ReturnType< UseBoundStore>['getState'] > + +interface ImportMetaEnv { + readonly VITE_APP_LADLE: string +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +interface ImportMeta { + readonly env: ImportMetaEnv +} diff --git a/packages/vault/src/vault/vaultStore.ts b/packages/vault/src/vault/vaultStore.ts index fff24c87..48e78e5c 100644 --- a/packages/vault/src/vault/vaultStore.ts +++ b/packages/vault/src/vault/vaultStore.ts @@ -358,7 +358,10 @@ export const useVault = create< }), { name: 'PalladVault', - storage: getSecurePersistence() as PersistStorage + storage: + import.meta.env['VITE_APP_LADLE'] === 'true' + ? undefined + : (getSecurePersistence() as PersistStorage) } ) ) diff --git a/packages/vault/tsconfig.json b/packages/vault/tsconfig.json index f4e2e06e..5dab2438 100644 --- a/packages/vault/tsconfig.json +++ b/packages/vault/tsconfig.json @@ -1,3 +1,8 @@ { - "extends": "@palladxyz/common/tsconfig.json" + "extends": "@palladxyz/common/tsconfig.json", + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "types": ["vite/client"] + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10742cb3..62ea05a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -456,6 +456,9 @@ importers: vite: specifier: ^4.5.1 version: 4.5.1(@types/node@20.8.0) + vite-plugin-node-polyfills: + specifier: ^0.17.0 + version: 0.17.0(vite@4.5.1) vite-plugin-svgr: specifier: ^3.2.0 version: 3.2.0(vite@4.5.1) @@ -743,6 +746,9 @@ importers: msw: specifier: ^1.2.2 version: 1.2.2(typescript@5.0.4) + vite: + specifier: ^4.5.1 + version: 4.5.1(@types/node@20.8.0) packages/web-provider: dependencies: @@ -14936,6 +14942,20 @@ packages: - rollup dev: true + /vite-plugin-node-polyfills@0.17.0(vite@4.5.1): + resolution: {integrity: sha512-iPmPn7376e5u6QvoTSJa16hf5Q0DFwHFXJk2uYpsNlmI3JdPms7hWyh55o+OysJ5jo9J5XPhLC9sMOYifwFd1w==} + peerDependencies: + vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + dependencies: + '@rollup/plugin-inject': 5.0.5(rollup@3.29.4) + buffer-polyfill: /buffer@6.0.3 + node-stdlib-browser: 1.2.0 + process: 0.11.10 + vite: 4.5.1(@types/node@20.8.0) + transitivePeerDependencies: + - rollup + dev: true + /vite-plugin-node-stdlib-browser@0.2.1(node-stdlib-browser@1.2.0)(rollup@3.29.4)(vite@4.5.1): resolution: {integrity: sha512-6u2i613Dkqj5KaTNIrnZvE6y3/awWAp0S5TjucTvGxdhetftB1Mgvblc+nwYzlw6sntPlac8UOC7ttXNh+LZKA==} peerDependencies: @@ -15069,7 +15089,7 @@ packages: '@types/node': 20.4.8 esbuild: 0.18.17 postcss: 8.4.32 - rollup: 3.27.0 + rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 dev: true