diff --git a/packages/plugin-vite/src/index.ts b/packages/plugin-vite/src/index.ts index d48e47f6..06ea7bda 100644 --- a/packages/plugin-vite/src/index.ts +++ b/packages/plugin-vite/src/index.ts @@ -1,4 +1,3 @@ -import type { AddressInfo } from 'node:net' import type { PluginOption, ResolvedConfig } from 'vite' import type { ElectronConfig, InlineConfig } from '@doubleshot/builder' import { build, dev } from '@doubleshot/builder' @@ -46,16 +45,15 @@ export function VitePluginDoubleshot(userConfig: Partial { - if (server.httpServer && !userConfig.rendererUrl) { - const { address, port, family } = server.httpServer.address() as AddressInfo - if (family === 'IPv6') - userConfig.rendererUrl = `http://[${address}]:${port}` - - else - userConfig.rendererUrl = `http://${address}:${port}` - } + const printUrls = server.printUrls.bind(server) + // override printUrls to get rendererUrl + server.printUrls = () => { + printUrls() + if (!userConfig.rendererUrl) + userConfig.rendererUrl = server.resolvedUrls!.local[0] + } + server?.httpServer?.on('listening', async () => { await dev(userConfig) }) }, diff --git a/packages/plugin-vite/test/__snapshots__/index.test.ts.snap b/packages/plugin-vite/test/__snapshots__/index.test.ts.snap index e32f2d1e..5602aad6 100644 --- a/packages/plugin-vite/test/__snapshots__/index.test.ts.snap +++ b/packages/plugin-vite/test/__snapshots__/index.test.ts.snap @@ -20,7 +20,7 @@ function createWindow() { console.log(msg); import_electron.app.quit(); }); - const URL = isDev ? "http://127.0.0.1:12345" : \`file://\${(0, import_node_path.join)(import_electron.app.getAppPath(), "dist/renderer/index.html")}\`; + const URL = isDev ? "http://127.0.0.1:12345/" : \`file://\${(0, import_node_path.join)(import_electron.app.getAppPath(), "dist/renderer/index.html")}\`; win.loadURL(URL); } import_electron.app.whenReady().then(() => {