@@ -11,10 +11,15 @@ const packagesRoot = path.join(__dirname, '..', 'packages');
11
11
const fixturesRoot = path . join ( __dirname , '..' , 'fixtures' ) ;
12
12
13
13
const packageJSONMap = new Map ( ) ;
14
+
15
+ /** @type {Map<string,string> } */
14
16
const packageDirnameMap = new Map ( ) ;
17
+
18
+ /** @type {Map<string,string> } */
15
19
const internalDependencyMap = new Map ( ) ;
16
20
17
- const isFixture = ( str ) => ! str . includes ( 'api' ) || str . includes ( 'fixtures' ) ;
21
+ const isFixture = ( /** @type {string } */ str ) =>
22
+ ! str . includes ( 'api' ) || str . includes ( 'fixtures' ) ;
18
23
19
24
// collect package json for all packages
20
25
packages . forEach ( ( pkg ) => {
@@ -27,6 +32,7 @@ packages.forEach((pkg) => {
27
32
process . exit ( 1 ) ;
28
33
}
29
34
35
+ /** @type {Record<string,string> } */
30
36
const packageJSONData = JSON . parse (
31
37
fs . readFileSync ( packageJSONPath ) . toString ( )
32
38
) ;
@@ -57,6 +63,8 @@ function resolveInternalDependencies(dependencies) {
57
63
childDeps . push ( jdep ) ;
58
64
}
59
65
}
66
+
67
+ /** @type {Array<string> } */
60
68
const resolved = childDeps . concat ( dependencies ) ;
61
69
// remove all duplicated after the first appearance
62
70
return resolved . filter ( ( item , idx ) => resolved . indexOf ( item ) === idx ) ;
@@ -78,6 +86,7 @@ packageDirnameMap.forEach((packageDirname, packageName) => {
78
86
}
79
87
const overwriteMerge = ( destinationArray , sourceArray ) => sourceArray ;
80
88
89
+ /** @type {Array<string> } */
81
90
const internalDependencies = resolveInternalDependencies (
82
91
internalDependencyMap . get ( packageName )
83
92
) ;
@@ -94,7 +103,9 @@ packageDirnameMap.forEach((packageDirname, packageName) => {
94
103
emitDeclarationOnly : pkg . type === 'js' ? true : undefined
95
104
} ,
96
105
references : internalDependencies . map ( ( dep ) => {
97
- return { path : `../${ packageDirnameMap . get ( dep ) } /tsconfig.json` } ;
106
+ /** @type {string } */
107
+ const name = packageDirnameMap . get ( dep ) ;
108
+ return { path : `../${ name } /tsconfig.json` } ;
98
109
} ) ,
99
110
include : [ 'src' ] ,
100
111
exclude : [ 'lib' ]
@@ -117,8 +128,10 @@ const projectLevelTsconfigData = {
117
128
Array . from ( packageDirnameMap . keys ( ) )
118
129
) . map ( ( packageName ) => {
119
130
const folder = isFixture ( packageName ) ? 'fixtures' : 'packages' ;
131
+ /** @type {string } */
132
+ const name = packageDirnameMap . get ( packageName ) ;
120
133
return {
121
- path : `./${ folder } /${ packageDirnameMap . get ( packageName ) } /tsconfig.json`
134
+ path : `./${ folder } /${ name } /tsconfig.json`
122
135
} ;
123
136
} )
124
137
} ;
0 commit comments