From bc0fc1459a81221edd4ae979f5430ec984d7c83b Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 2 Jun 2021 21:35:21 +0200 Subject: [PATCH] codemods: make core-imports grab all exported symbols from the type declarations Signed-off-by: Patrik Oldsberg --- packages/codemods/transforms/core-imports.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/codemods/transforms/core-imports.js b/packages/codemods/transforms/core-imports.js index 56c7b39f17..5ad38e02df 100644 --- a/packages/codemods/transforms/core-imports.js +++ b/packages/codemods/transforms/core-imports.js @@ -22,10 +22,16 @@ function findExports(packageName) { const packagePath = require.resolve(`${packageName}/package.json`); const typesPath = resolvePath(packagePath, '../dist/index.d.ts'); const content = fs.readFileSync(typesPath, 'utf8'); - const [, exportSymbols] = content.match(/export \{ (.*) \};/); - return exportSymbols - .split(', ') - .map(exported => exported.match(/.* as (.*)/)?.[1] || exported); + + // For each export statement in the type declarations we grab the exported symbol names + return content + .split(/export \{ (.*) \}/) + .filter((_, i) => i % 2) + .flatMap(symbolsStr => + symbolsStr + .split(', ') + .map(exported => exported.match(/.* as (.*)/)?.[1] || exported), + ); } const symbolTable = {