diff --git a/packages/angular/build/src/tools/vite/id-prefix-plugin.ts b/packages/angular/build/src/tools/vite/id-prefix-plugin.ts index 1cfe294dca..b1a8e87829 100644 --- a/packages/angular/build/src/tools/vite/id-prefix-plugin.ts +++ b/packages/angular/build/src/tools/vite/id-prefix-plugin.ts @@ -17,36 +17,38 @@ const escapeRegexSpecialChars = (inputString: string): string => { return inputString.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string }; -export const createRemoveIdPrefixPlugin = (externals: string[]): Plugin => ({ - name: 'vite-plugin-remove-id-prefix', - apply: 'serve', - configResolved: (resolvedConfig) => { - // don't do anything when the list of externals is empty - if (externals.length === 0) { - return; - } +export function createRemoveIdPrefixPlugin(externals: string[]): Plugin { + return { + name: 'angular-plugin-remove-id-prefix', + apply: 'serve', + configResolved: (resolvedConfig) => { + // don't do anything when the list of externals is empty + if (externals.length === 0) { + return; + } - const escapedExternals = externals.map(escapeRegexSpecialChars); - const prefixedExternalRegex = new RegExp( - `${VITE_ID_PREFIX}(${escapedExternals.join('|')})`, - 'g', - ); + const escapedExternals = externals.map(escapeRegexSpecialChars); + const prefixedExternalRegex = new RegExp( + `${VITE_ID_PREFIX}(${escapedExternals.join('|')})`, + 'g', + ); - // @ts-expect-error: Property 'push' does not exist on type 'readonly Plugin[]' - // Reasoning: - // since the /@id/ prefix is added by Vite's import-analysis plugin, - // we must add our actual plugin dynamically, to ensure that it will run - // AFTER the import-analysis. - resolvedConfig.plugins.push({ - name: 'vite-plugin-remove-id-prefix-transform', - transform: (code: string) => { - // don't do anything when code does not contain the Vite prefix - if (!code.includes(VITE_ID_PREFIX)) { - return code; - } + // @ts-expect-error: Property 'push' does not exist on type 'readonly Plugin[]' + // Reasoning: + // since the /@id/ prefix is added by Vite's import-analysis plugin, + // we must add our actual plugin dynamically, to ensure that it will run + // AFTER the import-analysis. + resolvedConfig.plugins.push({ + name: 'angular-plugin-remove-id-prefix-transform', + transform: (code: string) => { + // don't do anything when code does not contain the Vite prefix + if (!code.includes(VITE_ID_PREFIX)) { + return code; + } - return code.replace(prefixedExternalRegex, (_, externalName) => externalName); - }, - }); - }, -}); + return code.replace(prefixedExternalRegex, (_, externalName) => externalName); + }, + }); + }, + }; +}