From 084aa90b36ee4f758c56943110a3a800a6fca649 Mon Sep 17 00:00:00 2001 From: John Jenkins Date: Thu, 13 Mar 2025 12:43:24 +0000 Subject: [PATCH 1/4] fix(build): expand nodeResolve export conditions to include `require` --- src/compiler/bundle/bundle-output.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compiler/bundle/bundle-output.ts b/src/compiler/bundle/bundle-output.ts index 51df8bc211e..567d6b4a783 100644 --- a/src/compiler/bundle/bundle-output.ts +++ b/src/compiler/bundle/bundle-output.ts @@ -59,8 +59,9 @@ export const getRollupOptions = ( ): RollupOptions => { const nodeResolvePlugin = rollupNodeResolvePlugin({ mainFields: ['collection:main', 'jsnext:main', 'es2017', 'es2015', 'module', 'main'], - browser: true, + browser: bundleOpts.platform !== 'hydrate', rootDir: config.rootDir, + exportConditions: ['default', 'module', 'import', 'require'], ...(config.nodeResolve as any), extensions: ['.tsx', '.ts', '.mts', '.cts', '.js', '.mjs', '.cjs', '.json', '.d.ts', '.d.mts', '.d.cts'], }); From 38e586b8e5e26016306b723963a750a69cbee33e Mon Sep 17 00:00:00 2001 From: John Jenkins Date: Thu, 13 Mar 2025 13:16:21 +0000 Subject: [PATCH 2/4] chore: nodeResolve - allow user config to take precedence over default. Update types --- src/compiler/bundle/bundle-output.ts | 2 +- src/declarations/stencil-public-compiler.ts | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/compiler/bundle/bundle-output.ts b/src/compiler/bundle/bundle-output.ts index 567d6b4a783..6decb7c5aa2 100644 --- a/src/compiler/bundle/bundle-output.ts +++ b/src/compiler/bundle/bundle-output.ts @@ -62,8 +62,8 @@ export const getRollupOptions = ( browser: bundleOpts.platform !== 'hydrate', rootDir: config.rootDir, exportConditions: ['default', 'module', 'import', 'require'], - ...(config.nodeResolve as any), extensions: ['.tsx', '.ts', '.mts', '.cts', '.js', '.mjs', '.cjs', '.json', '.d.ts', '.d.mts', '.d.cts'], + ...config.nodeResolve, }); // @ts-expect-error - this is required now. diff --git a/src/declarations/stencil-public-compiler.ts b/src/declarations/stencil-public-compiler.ts index f6e7b5fb200..2db65a59c93 100644 --- a/src/declarations/stencil-public-compiler.ts +++ b/src/declarations/stencil-public-compiler.ts @@ -1772,15 +1772,19 @@ export interface BundlingConfig { } export interface NodeResolveConfig { - module?: boolean; - jsnext?: boolean; - main?: boolean; + exportConditions?: string[]; browser?: boolean; - extensions?: string[]; - preferBuiltins?: boolean; + moduleDirectories?: string[]; + modulePaths?: string[]; + dedupe?: string[] | ((importee: string) => boolean); + extensions?: readonly string[]; jail?: string; - only?: Array; + mainFields?: readonly string[]; modulesOnly?: boolean; + preferBuiltins?: boolean | ((module: string) => boolean); + resolveOnly?: ReadonlyArray | null | ((module: string) => boolean); + rootDir?: string; + allowExportsFolderMapping?: boolean; // TODO(STENCIL-1107): Remove this field [BREAKING_CHANGE] /** From badc594040d959e27e68a5eb2e8e471e5bf8054a Mon Sep 17 00:00:00 2001 From: John Jenkins Date: Thu, 13 Mar 2025 13:24:31 +0000 Subject: [PATCH 3/4] chore: tweak --- src/declarations/stencil-public-compiler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarations/stencil-public-compiler.ts b/src/declarations/stencil-public-compiler.ts index 2db65a59c93..f7b17df0f29 100644 --- a/src/declarations/stencil-public-compiler.ts +++ b/src/declarations/stencil-public-compiler.ts @@ -1779,7 +1779,7 @@ export interface NodeResolveConfig { dedupe?: string[] | ((importee: string) => boolean); extensions?: readonly string[]; jail?: string; - mainFields?: readonly string[]; + mainFields?: string[]; modulesOnly?: boolean; preferBuiltins?: boolean | ((module: string) => boolean); resolveOnly?: ReadonlyArray | null | ((module: string) => boolean); From 1f577d1c58133e0f6b2e5005086e87f0a4561b93 Mon Sep 17 00:00:00 2001 From: John Jenkins Date: Thu, 13 Mar 2025 13:24:57 +0000 Subject: [PATCH 4/4] chore: untweak :D --- src/declarations/stencil-public-compiler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarations/stencil-public-compiler.ts b/src/declarations/stencil-public-compiler.ts index f7b17df0f29..2db65a59c93 100644 --- a/src/declarations/stencil-public-compiler.ts +++ b/src/declarations/stencil-public-compiler.ts @@ -1779,7 +1779,7 @@ export interface NodeResolveConfig { dedupe?: string[] | ((importee: string) => boolean); extensions?: readonly string[]; jail?: string; - mainFields?: string[]; + mainFields?: readonly string[]; modulesOnly?: boolean; preferBuiltins?: boolean | ((module: string) => boolean); resolveOnly?: ReadonlyArray | null | ((module: string) => boolean);