Skip to content

Commit df7bfec

Browse files
mrazauskasF3n67u
authored andcommitted
chore: do not bundle type definitions for packages which have only one .d.ts file (jestjs#12718)
1 parent 7bee3a1 commit df7bfec

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

scripts/bundleTs.mjs

+12-4
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,16 @@ const copyrightSnippet = `
3939
(async () => {
4040
const packages = getPackages();
4141

42-
const packagesWithTs = packages.filter(p =>
43-
fs.existsSync(path.resolve(p.packageDir, 'tsconfig.json')),
42+
const isTsPackage = p =>
43+
fs.existsSync(path.resolve(p.packageDir, 'tsconfig.json'));
44+
45+
const hasMoreThanOneDefinitionFile = p =>
46+
fs
47+
.readdirSync(path.resolve(p.packageDir, 'build'))
48+
.filter(f => f.endsWith('.d.ts')).length > 1;
49+
50+
const packagesToBundle = packages.filter(
51+
p => isTsPackage(p) && hasMoreThanOneDefinitionFile(p),
4452
);
4553

4654
const typesNodeReferenceDirective = '/// <reference types="node" />';
@@ -115,7 +123,7 @@ const copyrightSnippet = `
115123
let compilerState;
116124

117125
await Promise.all(
118-
packagesWithTs.map(async ({packageDir, pkg}) => {
126+
packagesToBundle.map(async ({packageDir, pkg}) => {
119127
const configFile = path.resolve(packageDir, 'api-extractor.json');
120128

121129
await fs.promises.writeFile(
@@ -134,7 +142,7 @@ const copyrightSnippet = `
134142

135143
if (!compilerState) {
136144
compilerState = CompilerState.create(extractorConfig, {
137-
additionalEntryPoints: packagesWithTs.map(({pkg, packageDir}) =>
145+
additionalEntryPoints: packagesToBundle.map(({pkg, packageDir}) =>
138146
path.resolve(packageDir, pkg.types),
139147
),
140148
typescriptCompilerFolder,

0 commit comments

Comments
 (0)