From a41200949a2e13f8cc38a7c3f681efd38d6a453c Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Tue, 30 Aug 2022 14:41:15 +0200 Subject: [PATCH] Change extension name to forceJsExtensionForImports --- cli/help.md | 2 +- docs/01-command-line-reference.md | 2 +- docs/999-big-list-of-options.md | 4 ++-- src/Chunk.ts | 3 ++- src/finalisers/amd.ts | 2 +- .../shared/updateExtensionForRelativeAmdId.ts | 4 ++-- src/finalisers/umd.ts | 2 +- src/rollup/types.d.ts | 6 ++---- src/utils/options/normalizeOutputOptions.ts | 10 +++++----- test/form/samples/amd-keep-extension/_config.js | 2 +- test/function/samples/output-options-hook/_config.js | 2 +- 11 files changed, 19 insertions(+), 20 deletions(-) diff --git a/cli/help.md b/cli/help.md index d8245a2f943..947a2bd1848 100644 --- a/cli/help.md +++ b/cli/help.md @@ -23,7 +23,7 @@ Basic options: --amd.autoId Generate the AMD ID based off the chunk name --amd.basePath Path to prepend to auto generated AMD ID --amd.define Function to use in place of `define` ---amd.keepExtension Add `.js` extension for generated chunks and local AMD modules +--amd.forceJsExtensionForImports Use `.js` extension in AMD imports --assetFileNames Name pattern for emitted assets --banner Code to insert at top of bundle (outside wrapper) --chunkFileNames Name pattern for emitted secondary chunks diff --git a/docs/01-command-line-reference.md b/docs/01-command-line-reference.md index 1d05b503f7f..525a360b983 100755 --- a/docs/01-command-line-reference.md +++ b/docs/01-command-line-reference.md @@ -358,7 +358,7 @@ Many options have command line equivalents. In those cases, any arguments passed --amd.autoId Generate the AMD ID based off the chunk name --amd.basePath Path to prepend to auto generated AMD ID --amd.define Function to use in place of `define` ---amd.keepExtension Add `.js` extension for generated chunks and local AMD modules +--amd.forceJsExtensionForImports Use `.js` extension in AMD imports --assetFileNames Name pattern for emitted assets --banner Code to insert at top of bundle (outside wrapper) --chunkFileNames Name pattern for emitted secondary chunks diff --git a/docs/999-big-list-of-options.md b/docs/999-big-list-of-options.md index 88f1a624ecf..da4aace22a4 100755 --- a/docs/999-big-list-of-options.md +++ b/docs/999-big-list-of-options.md @@ -1331,7 +1331,7 @@ export default { // -> def(['dependency'],... ``` -**output.amd.keepExtension**
Type: `boolean`
CLI: `--amd.keepExtension`
Default: `false` +**output.amd.forceJsExtensionForImports**
Type: `boolean`
CLI: `--amd.forceJsExtensionForImports`
Default: `false` Add `.js` extension for imports of generated chunks and local AMD modules: @@ -1341,7 +1341,7 @@ export default { ..., format: 'amd', amd: { - keepExtension: true + forceJsExtensionForImports: true } }; diff --git a/src/Chunk.ts b/src/Chunk.ts index d04430850d8..bea8d36972c 100644 --- a/src/Chunk.ts +++ b/src/Chunk.ts @@ -938,7 +938,8 @@ export default class Chunk { options: NormalizedOutputOptions, snippets: GenerateCodeSnippets ): void { - const stripKnownJsExtensions = options.format === 'amd' && !options.amd.keepExtension; + const stripKnownJsExtensions = + options.format === 'amd' && !options.amd.forceJsExtensionForImports; for (const [module, code] of this.renderedModuleSources) { for (const { node, resolution } of module.dynamicImports) { const chunk = this.chunkByModule.get(resolution as Module); diff --git a/src/finalisers/amd.ts b/src/finalisers/amd.ts index e1e7be5a199..244c8d6f8a0 100644 --- a/src/finalisers/amd.ts +++ b/src/finalisers/amd.ts @@ -36,7 +36,7 @@ export default function amd( ): Bundle { warnOnBuiltins(warn, dependencies); const deps = dependencies.map( - m => `'${updateExtensionForRelativeAmdId(m.id, amd.keepExtension)}'` + m => `'${updateExtensionForRelativeAmdId(m.id, amd.forceJsExtensionForImports)}'` ); const args = dependencies.map(m => m.name); const { n, getNonArrowFunctionIntro, _ } = snippets; diff --git a/src/finalisers/shared/updateExtensionForRelativeAmdId.ts b/src/finalisers/shared/updateExtensionForRelativeAmdId.ts index e3b4d9abfa0..2baf20f444b 100644 --- a/src/finalisers/shared/updateExtensionForRelativeAmdId.ts +++ b/src/finalisers/shared/updateExtensionForRelativeAmdId.ts @@ -6,11 +6,11 @@ import removeJsExtension from './removeJsExtension'; // https://requirejs.org/docs/api.html#jsfiles export default function updateExtensionForRelativeAmdId( id: string, - keepExtension: boolean + forceJsExtensionForImports: boolean ): string { if (id[0] !== '.') { return id; } - return keepExtension ? addJsExtension(id) : removeJsExtension(id); + return forceJsExtensionForImports ? addJsExtension(id) : removeJsExtension(id); } diff --git a/src/finalisers/umd.ts b/src/finalisers/umd.ts index c73fb28fda5..30d08225fee 100644 --- a/src/finalisers/umd.ts +++ b/src/finalisers/umd.ts @@ -74,7 +74,7 @@ export default function umd( warnOnBuiltins(warn, dependencies); const amdDeps = dependencies.map( - m => `'${updateExtensionForRelativeAmdId(m.id, amd.keepExtension)}'` + m => `'${updateExtensionForRelativeAmdId(m.id, amd.forceJsExtensionForImports)}'` ); const cjsDeps = dependencies.map(m => `require('${m.id}')`); diff --git a/src/rollup/types.d.ts b/src/rollup/types.d.ts index f15ec9640e6..d235d9a03b1 100644 --- a/src/rollup/types.d.ts +++ b/src/rollup/types.d.ts @@ -631,8 +631,7 @@ export type AmdOptions = ( } ) & { define?: string; -} & { - keepExtension?: boolean; + forceJsExtensionForImports?: boolean; }; export type NormalizedAmdOptions = ( @@ -646,8 +645,7 @@ export type NormalizedAmdOptions = ( } ) & { define: string; -} & { - keepExtension: boolean; + forceJsExtensionForImports: boolean; }; export interface OutputOptions { diff --git a/src/utils/options/normalizeOutputOptions.ts b/src/utils/options/normalizeOutputOptions.ts index ffcf86ef475..4fdf9143dec 100644 --- a/src/utils/options/normalizeOutputOptions.ts +++ b/src/utils/options/normalizeOutputOptions.ts @@ -229,13 +229,13 @@ const getAmd = (config: OutputOptions): NormalizedOutputOptions['amd'] => { autoId: boolean; basePath: string; define: string; + forceJsExtensionForImports: boolean; id?: string; - keepExtension: boolean; } = { autoId: false, basePath: '', define: 'define', - keepExtension: false, + forceJsExtensionForImports: false, ...config.amd }; @@ -264,14 +264,14 @@ const getAmd = (config: OutputOptions): NormalizedOutputOptions['amd'] => { autoId: true, basePath: mergedOption.basePath, define: mergedOption.define, - keepExtension: mergedOption.keepExtension + forceJsExtensionForImports: mergedOption.forceJsExtensionForImports }; } else { normalized = { autoId: false, define: mergedOption.define, - id: mergedOption.id, - keepExtension: mergedOption.keepExtension + forceJsExtensionForImports: mergedOption.forceJsExtensionForImports, + id: mergedOption.id }; } return normalized; diff --git a/test/form/samples/amd-keep-extension/_config.js b/test/form/samples/amd-keep-extension/_config.js index 5d98d095483..4fa1bbb7cce 100644 --- a/test/form/samples/amd-keep-extension/_config.js +++ b/test/form/samples/amd-keep-extension/_config.js @@ -2,6 +2,6 @@ module.exports = { description: 'keep extension for AMD modules', options: { external: ['./foo', 'baz/quux'], - output: { interop: 'default', amd: { keepExtension: true } } + output: { interop: 'default', amd: { forceJsExtensionForImports: true } } } }; diff --git a/test/function/samples/output-options-hook/_config.js b/test/function/samples/output-options-hook/_config.js index 9f6f27a3ceb..e52ab8da8eb 100644 --- a/test/function/samples/output-options-hook/_config.js +++ b/test/function/samples/output-options-hook/_config.js @@ -19,7 +19,7 @@ module.exports = { amd: { define: 'define', autoId: false, - keepExtension: false + forceJsExtensionForImports: false }, assetFileNames: 'assets/[name]-[hash][extname]', chunkFileNames: '[name]-[hash].js',