mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-22 23:15:56 +08:00
refactor: rename internal vite plugin name.
Follow convention.
This commit is contained in:
parent
b168948687
commit
f5c250ab48
@ -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<any>[]'
|
||||
// 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<any>[]'
|
||||
// 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);
|
||||
},
|
||||
});
|
||||
},
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user