Skip to content

Commit cdd3068

Browse files
authored
fix: relative name of exposed component (#11)
* feat: udeclare module name based on federation alias * fix: proper matching for exposed module name * fix: proper matching for exposed module name
1 parent 17f303c commit cdd3068

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

cli.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ console.log(`Using config file: ${federationConfigPath}`);
5656

5757
const federationConfig = require(federationConfigPath);
5858
const compileFiles = Object.values(federationConfig.exposes);
59+
const compileKeys = Object.keys(federationConfig.exposes);
5960
const outFile = path.resolve(outputDir, `${federationConfig.name}.d.ts`);
6061

6162
try {
@@ -85,8 +86,11 @@ try {
8586
}
8687

8788
moduleNames.forEach((name) => {
88-
const regex = RegExp(`"${name}`, 'g');
89-
typing = typing.replace(regex, `"${federationConfig.name}/${name}`);
89+
// exposeName - relative name of exposed component (if not found - just take moduleName)
90+
const exposeName = compileKeys.find(key => federationConfig.exposes[key].endsWith(name)) || name;
91+
const regex = RegExp(`"${name}"`, 'g');
92+
const moduleDeclareName = path.join(federationConfig.name, exposeName).replace(/[\\/]/g, '/');
93+
typing = typing.replace(regex, `"${moduleDeclareName}"`);
9094
});
9195

9296
console.log('writing typing file:', outFile);

0 commit comments

Comments
 (0)