From 6b9548f12664d2f528870fbd1459450cd9145701 Mon Sep 17 00:00:00 2001 From: Syntax <2079305+TheUltDev@users.noreply.github.com> Date: Mon, 1 Jan 2024 17:37:33 -0600 Subject: [PATCH 1/5] Fix windows (#205) --- .../utilities/build-bundles-async/build-bundles-async.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts index 42122c3ee..2ed058bd1 100644 --- a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts +++ b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts @@ -1,4 +1,5 @@ import { resolve } from 'node:path' +import { platform } from 'node:os' import { Config, @@ -48,10 +49,13 @@ async function overrideEsbuildConfigAsync( buildOptions: BuildOptions, configGlobPattern: string ): Promise { - const filePaths = await globby(configGlobPattern, { absolute: true }) + let filePaths = await globby(configGlobPattern, { absolute: true }) if (filePaths.length === 0) { return buildOptions } + if (platform() === 'win32') { + filePaths = `file://${filePaths}`; + } const overrideEsbuildConfig: | OverrideEsbuildConfig | { default: OverrideEsbuildConfig } = await importFresh(filePaths[0]) From ad93913a2918e8edaeb45c635054c13cb0ba5958 Mon Sep 17 00:00:00 2001 From: Syntax <2079305+TheUltDev@users.noreply.github.com> Date: Mon, 1 Jan 2024 18:13:04 -0600 Subject: [PATCH 2/5] Replace all glob paths --- .../src/utilities/build-bundles-async/build-bundles-async.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts index 2ed058bd1..d077ddc21 100644 --- a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts +++ b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts @@ -54,7 +54,7 @@ async function overrideEsbuildConfigAsync( return buildOptions } if (platform() === 'win32') { - filePaths = `file://${filePaths}`; + filePaths = filePaths.map(p => `file:///${p}`); } const overrideEsbuildConfig: | OverrideEsbuildConfig From e76407b73f427354d7ff947b1767fc7d76ecceba Mon Sep 17 00:00:00 2001 From: Syntax <2079305+TheUltDev@users.noreply.github.com> Date: Mon, 1 Jan 2024 18:21:33 -0600 Subject: [PATCH 3/5] Refactoring --- .../utilities/build-bundles-async/build-bundles-async.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts index d077ddc21..bf48f96ae 100644 --- a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts +++ b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts @@ -1,5 +1,6 @@ import { resolve } from 'node:path' import { platform } from 'node:os' +import { pathToFileURL } from 'node:url' import { Config, @@ -17,6 +18,8 @@ import { importFresh } from '../import-fresh.js' import { esbuildCssModulesPlugin } from './esbuild-css-modules-plugin.js' import { esbuildPreactCompatPlugin } from './esbuild-preact-compat-plugin.js' +const isWindows = platform() === 'win32'; + interface EntryFile extends ConfigFile { commandId: string } @@ -53,8 +56,8 @@ async function overrideEsbuildConfigAsync( if (filePaths.length === 0) { return buildOptions } - if (platform() === 'win32') { - filePaths = filePaths.map(p => `file:///${p}`); + if (isWindows) { + filePaths = filePaths.map(p => pathToFileURL(p).href); } const overrideEsbuildConfig: | OverrideEsbuildConfig From 85855652f767d4578fa5ff145e5d4cb71b217dd2 Mon Sep 17 00:00:00 2001 From: Syntax <2079305+TheUltDev@users.noreply.github.com> Date: Mon, 1 Jan 2024 18:25:54 -0600 Subject: [PATCH 4/5] Fix manifest override too --- packages/build/src/utilities/build-manifest-async.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/build/src/utilities/build-manifest-async.ts b/packages/build/src/utilities/build-manifest-async.ts index 2f8015e7a..16c71a37a 100644 --- a/packages/build/src/utilities/build-manifest-async.ts +++ b/packages/build/src/utilities/build-manifest-async.ts @@ -1,6 +1,8 @@ /* eslint-disable sort-keys-fix/sort-keys-fix */ import { resolve } from 'node:path' +import { platform } from 'node:os' +import { pathToFileURL } from 'node:url' import { Config, @@ -22,6 +24,8 @@ import { globby } from 'globby' import { importFresh } from './import-fresh.js' +const isWindows = platform() === 'win32' + export async function buildManifestAsync(options: { config: Config minify: boolean @@ -209,12 +213,15 @@ function createManifestNetworkAccess( async function overrideManifestAsync( manifest: Manifest ): Promise> { - const filePaths = await globby(constants.build.manifestConfigGlobPattern, { + let filePaths = await globby(constants.build.manifestConfigGlobPattern, { absolute: true }) if (filePaths.length === 0) { return manifest } + if (isWindows) { + filePaths = filePaths.map(p => pathToFileURL(p).href) + } const { default: overrideManifest } = await importFresh(filePaths[0]) return overrideManifest(manifest) } From 3cd359ffbd8278f29dcd22bc624c457eb65b0998 Mon Sep 17 00:00:00 2001 From: Syntax <2079305+TheUltDev@users.noreply.github.com> Date: Mon, 1 Jan 2024 18:26:42 -0600 Subject: [PATCH 5/5] Conform code style --- .../src/utilities/build-bundles-async/build-bundles-async.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts index bf48f96ae..a7027b9b5 100644 --- a/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts +++ b/packages/build/src/utilities/build-bundles-async/build-bundles-async.ts @@ -18,7 +18,7 @@ import { importFresh } from '../import-fresh.js' import { esbuildCssModulesPlugin } from './esbuild-css-modules-plugin.js' import { esbuildPreactCompatPlugin } from './esbuild-preact-compat-plugin.js' -const isWindows = platform() === 'win32'; +const isWindows = platform() === 'win32' interface EntryFile extends ConfigFile { commandId: string @@ -57,7 +57,7 @@ async function overrideEsbuildConfigAsync( return buildOptions } if (isWindows) { - filePaths = filePaths.map(p => pathToFileURL(p).href); + filePaths = filePaths.map(p => pathToFileURL(p).href) } const overrideEsbuildConfig: | OverrideEsbuildConfig