From ab227b5b02d4682cfedfd7de973ec9e67d9abde6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Tranta?= Date: Fri, 21 Feb 2025 10:41:50 +0100 Subject: [PATCH] WORKING --- packages/suite-web/vite.config.ts | 53 ++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/packages/suite-web/vite.config.ts b/packages/suite-web/vite.config.ts index 42fa8196b98..e3fcdd6f87f 100644 --- a/packages/suite-web/vite.config.ts +++ b/packages/suite-web/vite.config.ts @@ -2,10 +2,32 @@ import { viteCommonjs } from '@originjs/vite-plugin-commonjs'; import react from '@vitejs/plugin-react'; import { readdirSync } from 'fs'; import { resolve } from 'path'; -import { defineConfig } from 'vite'; +import { build, defineConfig } from 'vite'; import { assetPrefix, isDev, project } from '../suite-build/utils/env'; +// Plugin to serve core.js in dev mode +const serveCorePlugin = () => ({ + name: 'serve-core', + configureServer(server) { + server.middlewares.use(async (req, res, next) => { + if (req.url?.endsWith('/js/core.js')) { + const code = await server.transformRequest( + resolve(__dirname, '../connect/src/core/index.ts'), + { ssr: false }, + ); + if (code?.code) { + res.setHeader('Content-Type', 'application/javascript'); + res.end(code.code); + + return; + } + } + next(); + }); + }, +}); + // This helper creates aliases for all workspace packages const createWorkspaceAliases = () => { const suiteCommonAliases = Object.fromEntries( @@ -33,6 +55,7 @@ export default defineConfig({ root: '.', base: assetPrefix, plugins: [ + serveCorePlugin(), viteCommonjs(), react({ babel: { @@ -52,7 +75,7 @@ export default defineConfig({ alias: [ { find: /^@trezor\/connect(\/index)?$/, - replacement: '@trezor/connect-web/src/module' + replacement: '@trezor/connect-web/src/module', }, { find: 'src', @@ -79,19 +102,19 @@ export default defineConfig({ // Polyfill Node.js globals global: 'globalThis', }, - build: { - outDir: 'build', - sourcemap: true, - rollupOptions: { - input: { - main: resolve(__dirname, 'src/index.ts'), - }, - }, - commonjsOptions: { - transformMixedEsModules: true, - include: [/node_modules/, /packages/], - }, - }, + // build: { + // outDir: 'build', + // sourcemap: true, + // rollupOptions: { + // input: { + // main: resolve(__dirname, 'src/index.ts'), + // }, + // }, + // commonjsOptions: { + // transformMixedEsModules: true, + // include: [/node_modules/, /packages/], + // }, + // }, optimizeDeps: { include: ['@trezor/connect', '@trezor/suite'], esbuildOptions: {