diff --git a/.changeset/hot-candles-agree.md b/.changeset/hot-candles-agree.md new file mode 100644 index 000000000..0d3ebe929 --- /dev/null +++ b/.changeset/hot-candles-agree.md @@ -0,0 +1,5 @@ +--- +"fuels-wallet": patch +--- + +fix chrome runtim loader diff --git a/packages/app/vite-utils/fix-build-crx.plugin.ts b/packages/app/vite-utils/fix-build-crx.plugin.ts new file mode 100644 index 000000000..01bd55b79 --- /dev/null +++ b/packages/app/vite-utils/fix-build-crx.plugin.ts @@ -0,0 +1,36 @@ +import { writeFileSync } from 'node:fs'; +import { join } from 'node:path'; +import type { Plugin } from 'vite'; + +type FixCRXPlugin = { + outDir?: string; +}; + +export const fixCRXBuildPlugin = ({ outDir }: FixCRXPlugin) => { + const plugin: Plugin = { + name: 'fix-crx-plugin', + apply: 'build', + closeBundle: async () => { + const manifestPath = join(__dirname, '..', outDir, '/manifest.json'); + console.log(manifestPath); + console.log(outDir); + const manifest = require(manifestPath); + const webAccessibleResources = manifest.web_accessible_resources; + + const updatedWebAccessibleResources = webAccessibleResources.map( + (resource) => { + if (resource.use_dynamic_url) { + return { + ...resource, + use_dynamic_url: false, + }; + } + return resource; + } + ); + manifest.web_accessible_resources = updatedWebAccessibleResources; + writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), 'utf8'); + }, + }; + return plugin; +}; diff --git a/packages/app/vite-utils/vite.base.config.ts b/packages/app/vite-utils/vite.base.config.ts index 1b2e8a7e5..0545fd5d0 100644 --- a/packages/app/vite-utils/vite.base.config.ts +++ b/packages/app/vite-utils/vite.base.config.ts @@ -6,6 +6,7 @@ import { Mode, plugin as viteMdPlugin } from 'vite-plugin-markdown'; import tsconfigPaths from 'vite-tsconfig-paths'; import '../load.envs.js'; +import { fixCRXBuildPlugin } from './fix-build-crx.plugin.js'; const linkDeps = process.env.LINK_DEPS?.trim().split(' ').filter(Boolean) || []; diff --git a/packages/app/vite.crx.config.ts b/packages/app/vite.crx.config.ts index 6e59fa031..cafe3f319 100644 --- a/packages/app/vite.crx.config.ts +++ b/packages/app/vite.crx.config.ts @@ -2,6 +2,7 @@ import { crx } from '@crxjs/vite-plugin'; import { defineConfig } from 'vite'; import manifest from './manifest.config'; +import { fixCRXBuildPlugin } from './vite-utils/fix-build-crx.plugin'; import baseConfig from './vite-utils/vite.base.config'; import { zipBuildPlugin } from './vite-utils/zip-build.plugin'; @@ -21,6 +22,9 @@ export default defineConfig({ crx({ manifest, }), + fixCRXBuildPlugin({ + outDir: OUT_DIT, + }), zipBuildPlugin({ inDir: OUT_DIT, outDir: baseConfig.build?.outDir,