From 0ac998992c87f9bfd5c1fae3c59ca6b79ef5b4b9 Mon Sep 17 00:00:00 2001 From: Matthew Petro Date: Tue, 17 Jan 2023 14:19:45 -0700 Subject: build: escape locale import names if they match the module name (#1737) --- scripts/generateLocales.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/generateLocales.ts b/scripts/generateLocales.ts index 37f21ec9..07cf47e7 100644 --- a/scripts/generateLocales.ts +++ b/scripts/generateLocales.ts @@ -90,16 +90,16 @@ function removeTsSuffix(files: string[]): string[] { return files.map((file) => file.replace('.ts', '')); } -function escapeImport(module: string): string { - if (['name', 'type', 'switch'].includes(module)) { +function escapeImport(parent: string, module: string): string { + if (['name', 'type', 'switch', parent].includes(module)) { return `${module}_`; } else { return module; } } -function escapeField(module: string): string { - if (['name', 'type', 'switch'].includes(module)) { +function escapeField(parent: string, module: string): string { + if (['name', 'type', 'switch', parent].includes(module)) { return `${module}: ${module}_`; } else { return module; @@ -181,12 +181,14 @@ function generateLocalesIndexFile( } content.push( - ...modules.map((m) => `import ${escapeImport(m)} from './${m}';`) + ...modules.map( + (module) => `import ${escapeImport(name, module)} from './${module}';` + ) ); content.push(`\nconst ${name}${fieldType} = { ${extra} - ${modules.map((module) => `${escapeField(module)},`).join('\n')} + ${modules.map((module) => `${escapeField(name, module)},`).join('\n')} };\n`); content.push(`export default ${name};`); -- cgit v1.2.3