Skip to content

Commit 405c148

Browse files
committed
fix(@angular/build): automatically resolve .mjs files when using Vite
Previously, ESM file resolution without extensions failed when using Vite, causing issues in module loading. This commit addresses the problem by automatically resolving `.mjs` files, aligning the behavior with the application builder and ensuring consistent module resolution across different build tools. **NB**: This is a workaround as valid ESM imports should always have an extension. Closes #27841 (cherry picked from commit 2324d5a)
1 parent df783bb commit 405c148

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

packages/angular/build/src/builders/dev-server/vite-server.ts

+1
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,7 @@ function getDepOptimizationConfig({
675675
supported: getFeatureSupport(target, zoneless),
676676
plugins,
677677
loader,
678+
resolveExtensions: ['.mjs', '.js', '.cjs'],
678679
},
679680
};
680681
}

packages/angular/build/src/tools/esbuild/application-code-bundle.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ function getEsBuildCommonOptions(options: NormalizedApplicationBuildOptions): Bu
360360
format: 'esm',
361361
assetNames: outputNames.media,
362362
conditions: ['es2020', 'es2015', 'module'],
363-
resolveExtensions: ['.ts', '.tsx', '.mjs', '.js'],
363+
resolveExtensions: ['.ts', '.tsx', '.mjs', '.js', '.cjs'],
364364
metafile: true,
365365
legalComments: options.extractLicenses ? 'none' : 'eof',
366366
logLevel: options.verbose && !jsonLogs ? 'debug' : 'silent',

packages/angular/build/src/tools/esbuild/global-scripts.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export function createGlobalScriptsBundleOptions(
6363
assetNames: outputNames.media,
6464
mainFields: ['script', 'browser', 'main'],
6565
conditions: ['script'],
66-
resolveExtensions: ['.mjs', '.js'],
66+
resolveExtensions: ['.mjs', '.js', '.cjs'],
6767
logLevel: options.verbose && !jsonLogs ? 'debug' : 'silent',
6868
metafile: true,
6969
minify: optimizationOptions.scripts,

0 commit comments

Comments
 (0)