Skip to content

Commit f5c250a

Browse files
committed
refactor: rename internal vite plugin name.
Follow convention.
1 parent b168948 commit f5c250a

File tree

1 file changed

+35
-33
lines changed

1 file changed

+35
-33
lines changed

packages/angular/build/src/tools/vite/id-prefix-plugin.ts

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,38 @@ const escapeRegexSpecialChars = (inputString: string): string => {
1717
return inputString.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
1818
};
1919

20-
export const createRemoveIdPrefixPlugin = (externals: string[]): Plugin => ({
21-
name: 'vite-plugin-remove-id-prefix',
22-
apply: 'serve',
23-
configResolved: (resolvedConfig) => {
24-
// don't do anything when the list of externals is empty
25-
if (externals.length === 0) {
26-
return;
27-
}
28-
29-
const escapedExternals = externals.map(escapeRegexSpecialChars);
30-
const prefixedExternalRegex = new RegExp(
31-
`${VITE_ID_PREFIX}(${escapedExternals.join('|')})`,
32-
'g',
33-
);
34-
35-
// @ts-expect-error: Property 'push' does not exist on type 'readonly Plugin<any>[]'
36-
// Reasoning:
37-
// since the /@id/ prefix is added by Vite's import-analysis plugin,
38-
// we must add our actual plugin dynamically, to ensure that it will run
39-
// AFTER the import-analysis.
40-
resolvedConfig.plugins.push({
41-
name: 'vite-plugin-remove-id-prefix-transform',
42-
transform: (code: string) => {
43-
// don't do anything when code does not contain the Vite prefix
44-
if (!code.includes(VITE_ID_PREFIX)) {
45-
return code;
46-
}
47-
48-
return code.replace(prefixedExternalRegex, (_, externalName) => externalName);
49-
},
50-
});
51-
},
52-
});
20+
export function createRemoveIdPrefixPlugin(externals: string[]): Plugin {
21+
return {
22+
name: 'angular-plugin-remove-id-prefix',
23+
apply: 'serve',
24+
configResolved: (resolvedConfig) => {
25+
// don't do anything when the list of externals is empty
26+
if (externals.length === 0) {
27+
return;
28+
}
29+
30+
const escapedExternals = externals.map(escapeRegexSpecialChars);
31+
const prefixedExternalRegex = new RegExp(
32+
`${VITE_ID_PREFIX}(${escapedExternals.join('|')})`,
33+
'g',
34+
);
35+
36+
// @ts-expect-error: Property 'push' does not exist on type 'readonly Plugin<any>[]'
37+
// Reasoning:
38+
// since the /@id/ prefix is added by Vite's import-analysis plugin,
39+
// we must add our actual plugin dynamically, to ensure that it will run
40+
// AFTER the import-analysis.
41+
resolvedConfig.plugins.push({
42+
name: 'angular-plugin-remove-id-prefix-transform',
43+
transform: (code: string) => {
44+
// don't do anything when code does not contain the Vite prefix
45+
if (!code.includes(VITE_ID_PREFIX)) {
46+
return code;
47+
}
48+
49+
return code.replace(prefixedExternalRegex, (_, externalName) => externalName);
50+
},
51+
});
52+
},
53+
};
54+
}

0 commit comments

Comments
 (0)