diff --git a/.changeset/long-nails-itch.md b/.changeset/long-nails-itch.md new file mode 100644 index 000000000..ecdea3b57 --- /dev/null +++ b/.changeset/long-nails-itch.md @@ -0,0 +1,5 @@ +--- +'typechain': patch +--- + +Fix SyntaxError when generating barrel files from paths with directories starting with a number diff --git a/packages/typechain/src/codegen/createBarrelFiles.ts b/packages/typechain/src/codegen/createBarrelFiles.ts index 73570df60..a9f99404d 100644 --- a/packages/typechain/src/codegen/createBarrelFiles.ts +++ b/packages/typechain/src/codegen/createBarrelFiles.ts @@ -51,7 +51,7 @@ export function createBarrelFiles( const namespacesExports = nestedDirs .map((p) => { - const namespaceIdentifier = camelCase(p) + const namespaceIdentifier = camelCase(p).replace(/^([0-9])(.*)/g, '$$$1$2') if (typeOnly) return [ @@ -70,7 +70,7 @@ export function createBarrelFiles( const name = `${normalizeName(p)}${postfix}` // We can't always `export *` because of possible name conflicts. // @todo possibly a config option for user to decide? - return `${exportKeyword} { ${name} } from './${name}';` + return `${exportKeyword} { ${name.replace(/^([0-9])(.*)/g, '$$$1$2')} } from './${name}';` }) .join('\n')