@rnx-kit/cli 0.9.55 → 0.9.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/coverage/clover.xml +74 -70
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/index.html +20 -20
- package/coverage/lcov-report/src/bundle/index.html +1 -1
- package/coverage/lcov-report/src/bundle/kit-config.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/metro.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/overrides.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +14 -14
- package/coverage/lcov-report/src/metro-config.ts.html +27 -12
- package/coverage/lcov-report/src/typescript/index.html +11 -11
- package/coverage/lcov-report/src/typescript/project-cache.ts.html +99 -24
- package/coverage/lcov.info +115 -109
- package/lib/metro-config.d.ts.map +1 -1
- package/lib/metro-config.js +6 -4
- package/lib/metro-config.js.map +1 -1
- package/lib/typescript/project-cache.d.ts +6 -2
- package/lib/typescript/project-cache.d.ts.map +1 -1
- package/lib/typescript/project-cache.js +23 -14
- package/lib/typescript/project-cache.js.map +1 -1
- package/package.json +1 -1
- package/src/metro-config.ts +9 -4
- package/src/typescript/project-cache.ts +42 -17
package/coverage/lcov.info
CHANGED
|
@@ -6,10 +6,10 @@ FN:39,(anonymous_2)
|
|
|
6
6
|
FN:53,(anonymous_3)
|
|
7
7
|
FN:58,(anonymous_4)
|
|
8
8
|
FN:67,(anonymous_5)
|
|
9
|
-
FN:
|
|
10
|
-
FN:
|
|
11
|
-
FN:
|
|
12
|
-
FN:
|
|
9
|
+
FN:77,(anonymous_6)
|
|
10
|
+
FN:85,(anonymous_7)
|
|
11
|
+
FN:101,(anonymous_8)
|
|
12
|
+
FN:114,customizeMetroConfig
|
|
13
13
|
FNF:10
|
|
14
14
|
FNH:2
|
|
15
15
|
FNDA:6,createSerializerHook
|
|
@@ -38,71 +38,74 @@ DA:61,0
|
|
|
38
38
|
DA:66,0
|
|
39
39
|
DA:67,0
|
|
40
40
|
DA:68,0
|
|
41
|
-
DA:69,0
|
|
42
|
-
DA:70,0
|
|
43
41
|
DA:72,0
|
|
44
42
|
DA:73,0
|
|
45
43
|
DA:74,0
|
|
46
|
-
DA:
|
|
44
|
+
DA:77,0
|
|
45
|
+
DA:78,0
|
|
47
46
|
DA:79,0
|
|
48
47
|
DA:80,0
|
|
49
|
-
DA:
|
|
50
|
-
DA:
|
|
48
|
+
DA:84,0
|
|
49
|
+
DA:85,0
|
|
51
50
|
DA:86,0
|
|
52
|
-
DA:
|
|
53
|
-
DA:
|
|
54
|
-
DA:
|
|
55
|
-
DA:
|
|
56
|
-
DA:
|
|
57
|
-
DA:
|
|
58
|
-
DA:
|
|
59
|
-
DA:123,5
|
|
60
|
-
DA:124,2
|
|
51
|
+
DA:87,0
|
|
52
|
+
DA:91,0
|
|
53
|
+
DA:93,0
|
|
54
|
+
DA:98,6
|
|
55
|
+
DA:101,2
|
|
56
|
+
DA:123,6
|
|
57
|
+
DA:125,6
|
|
61
58
|
DA:126,6
|
|
62
59
|
DA:127,1
|
|
63
60
|
DA:128,5
|
|
64
61
|
DA:129,2
|
|
65
|
-
DA:
|
|
66
|
-
DA:
|
|
67
|
-
DA:
|
|
68
|
-
DA:
|
|
69
|
-
DA:
|
|
70
|
-
DA:
|
|
71
|
-
DA:
|
|
72
|
-
DA:
|
|
73
|
-
DA:
|
|
74
|
-
DA:
|
|
75
|
-
DA:
|
|
62
|
+
DA:131,6
|
|
63
|
+
DA:132,1
|
|
64
|
+
DA:133,5
|
|
65
|
+
DA:134,2
|
|
66
|
+
DA:137,6
|
|
67
|
+
DA:138,1
|
|
68
|
+
DA:139,1
|
|
69
|
+
DA:140,5
|
|
70
|
+
DA:151,4
|
|
71
|
+
DA:155,1
|
|
72
|
+
DA:158,6
|
|
76
73
|
DA:159,6
|
|
77
|
-
|
|
74
|
+
DA:160,0
|
|
75
|
+
DA:161,6
|
|
76
|
+
DA:162,6
|
|
77
|
+
DA:164,6
|
|
78
|
+
LF:53
|
|
78
79
|
LH:27
|
|
79
80
|
BRDA:41,0,0,0
|
|
80
81
|
BRDA:41,0,1,0
|
|
81
82
|
BRDA:42,1,0,0
|
|
82
83
|
BRDA:42,1,1,0
|
|
83
|
-
BRDA:
|
|
84
|
-
BRDA:
|
|
84
|
+
BRDA:72,2,0,0
|
|
85
|
+
BRDA:72,2,1,0
|
|
85
86
|
BRDA:86,3,0,0
|
|
86
87
|
BRDA:86,3,1,0
|
|
87
|
-
BRDA:
|
|
88
|
-
BRDA:
|
|
89
|
-
BRDA:
|
|
90
|
-
BRDA:
|
|
91
|
-
BRDA:
|
|
92
|
-
BRDA:
|
|
93
|
-
BRDA:
|
|
94
|
-
BRDA:
|
|
95
|
-
BRDA:
|
|
96
|
-
BRDA:
|
|
97
|
-
BRDA:
|
|
98
|
-
BRDA:
|
|
99
|
-
BRDA:
|
|
100
|
-
BRDA:
|
|
101
|
-
BRDA:
|
|
102
|
-
BRDA:
|
|
103
|
-
BRDA:
|
|
104
|
-
BRDA:
|
|
105
|
-
|
|
88
|
+
BRDA:91,4,0,0
|
|
89
|
+
BRDA:91,4,1,0
|
|
90
|
+
BRDA:91,5,0,0
|
|
91
|
+
BRDA:91,5,1,0
|
|
92
|
+
BRDA:126,6,0,1
|
|
93
|
+
BRDA:126,6,1,5
|
|
94
|
+
BRDA:128,7,0,2
|
|
95
|
+
BRDA:128,7,1,3
|
|
96
|
+
BRDA:131,8,0,1
|
|
97
|
+
BRDA:131,8,1,5
|
|
98
|
+
BRDA:133,9,0,2
|
|
99
|
+
BRDA:133,9,1,3
|
|
100
|
+
BRDA:137,10,0,1
|
|
101
|
+
BRDA:137,10,1,5
|
|
102
|
+
BRDA:140,11,0,4
|
|
103
|
+
BRDA:140,11,1,1
|
|
104
|
+
BRDA:159,12,0,0
|
|
105
|
+
BRDA:159,12,1,6
|
|
106
|
+
BRDA:161,13,0,6
|
|
107
|
+
BRDA:161,13,1,0
|
|
108
|
+
BRF:28
|
|
106
109
|
BRH:14
|
|
107
110
|
end_of_record
|
|
108
111
|
TN:
|
|
@@ -223,83 +226,86 @@ BRH:2
|
|
|
223
226
|
end_of_record
|
|
224
227
|
TN:
|
|
225
228
|
SF:src/typescript/project-cache.ts
|
|
226
|
-
FN:
|
|
227
|
-
FN:
|
|
228
|
-
FN:
|
|
229
|
-
FN:
|
|
230
|
-
FN:
|
|
231
|
-
FN:
|
|
232
|
-
FN:
|
|
233
|
-
FN:
|
|
234
|
-
FN:
|
|
229
|
+
FN:56,createProjectCache
|
|
230
|
+
FN:68,findProjectRoot
|
|
231
|
+
FN:87,readTSConfig
|
|
232
|
+
FN:95,(anonymous_3)
|
|
233
|
+
FN:102,createProjectInfo
|
|
234
|
+
FN:111,(anonymous_5)
|
|
235
|
+
FN:147,getProjectInfo
|
|
236
|
+
FN:162,clearPlatform
|
|
237
|
+
FN:163,(anonymous_8)
|
|
235
238
|
FNF:9
|
|
236
239
|
FNH:1
|
|
237
240
|
FNDA:6,createProjectCache
|
|
238
241
|
FNDA:0,findProjectRoot
|
|
239
242
|
FNDA:0,readTSConfig
|
|
240
243
|
FNDA:0,(anonymous_3)
|
|
241
|
-
FNDA:0,
|
|
244
|
+
FNDA:0,createProjectInfo
|
|
242
245
|
FNDA:0,(anonymous_5)
|
|
243
|
-
FNDA:0,
|
|
246
|
+
FNDA:0,getProjectInfo
|
|
244
247
|
FNDA:0,clearPlatform
|
|
245
248
|
FNDA:0,(anonymous_8)
|
|
246
|
-
DA:
|
|
247
|
-
DA:
|
|
248
|
-
DA:
|
|
249
|
-
DA:62,0
|
|
250
|
-
DA:63,0
|
|
251
|
-
DA:64,0
|
|
252
|
-
DA:69,0
|
|
249
|
+
DA:59,6
|
|
250
|
+
DA:60,6
|
|
251
|
+
DA:66,6
|
|
253
252
|
DA:70,0
|
|
254
253
|
DA:71,0
|
|
255
|
-
DA:
|
|
256
|
-
DA:
|
|
257
|
-
DA:
|
|
258
|
-
DA:
|
|
254
|
+
DA:72,0
|
|
255
|
+
DA:77,0
|
|
256
|
+
DA:78,0
|
|
257
|
+
DA:79,0
|
|
259
258
|
DA:84,0
|
|
260
|
-
DA:85,0
|
|
261
|
-
DA:86,0
|
|
262
|
-
DA:87,0
|
|
263
259
|
DA:88,0
|
|
260
|
+
DA:90,0
|
|
264
261
|
DA:91,0
|
|
262
|
+
DA:92,0
|
|
263
|
+
DA:93,0
|
|
264
|
+
DA:94,0
|
|
265
|
+
DA:95,0
|
|
265
266
|
DA:96,0
|
|
266
|
-
DA:
|
|
267
|
-
DA:
|
|
268
|
-
DA:
|
|
269
|
-
DA:
|
|
270
|
-
DA:
|
|
271
|
-
DA:
|
|
267
|
+
DA:99,0
|
|
268
|
+
DA:107,0
|
|
269
|
+
DA:111,0
|
|
270
|
+
DA:112,0
|
|
271
|
+
DA:113,0
|
|
272
|
+
DA:114,0
|
|
272
273
|
DA:115,0
|
|
273
|
-
DA:
|
|
274
|
-
DA:
|
|
275
|
-
DA:129,0
|
|
276
|
-
DA:130,0
|
|
277
|
-
DA:131,0
|
|
278
|
-
DA:133,0
|
|
279
|
-
DA:134,0
|
|
274
|
+
DA:116,0
|
|
275
|
+
DA:126,0
|
|
280
276
|
DA:136,0
|
|
281
|
-
DA:
|
|
277
|
+
DA:139,0
|
|
282
278
|
DA:141,0
|
|
283
|
-
DA:
|
|
284
|
-
DA:
|
|
285
|
-
DA:
|
|
286
|
-
DA:
|
|
287
|
-
|
|
279
|
+
DA:151,0
|
|
280
|
+
DA:152,0
|
|
281
|
+
DA:154,0
|
|
282
|
+
DA:155,0
|
|
283
|
+
DA:156,0
|
|
284
|
+
DA:157,0
|
|
285
|
+
DA:159,0
|
|
286
|
+
DA:163,0
|
|
287
|
+
DA:164,0
|
|
288
|
+
DA:165,0
|
|
289
|
+
DA:166,0
|
|
290
|
+
DA:167,0
|
|
291
|
+
DA:169,0
|
|
292
|
+
DA:174,6
|
|
293
|
+
LF:44
|
|
288
294
|
LH:4
|
|
289
|
-
BRDA:
|
|
290
|
-
BRDA:
|
|
291
|
-
BRDA:
|
|
292
|
-
BRDA:
|
|
293
|
-
BRDA:
|
|
294
|
-
BRDA:
|
|
295
|
-
BRDA:
|
|
296
|
-
BRDA:
|
|
297
|
-
BRDA:
|
|
298
|
-
BRDA:
|
|
299
|
-
BRDA:
|
|
300
|
-
BRDA:
|
|
301
|
-
BRDA:
|
|
302
|
-
BRDA:
|
|
295
|
+
BRDA:71,0,0,0
|
|
296
|
+
BRDA:71,0,1,0
|
|
297
|
+
BRDA:78,1,0,0
|
|
298
|
+
BRDA:78,1,1,0
|
|
299
|
+
BRDA:91,2,0,0
|
|
300
|
+
BRDA:91,2,1,0
|
|
301
|
+
BRDA:93,3,0,0
|
|
302
|
+
BRDA:93,3,1,0
|
|
303
|
+
BRDA:155,4,0,0
|
|
304
|
+
BRDA:155,4,1,0
|
|
305
|
+
BRDA:165,5,0,0
|
|
306
|
+
BRDA:165,5,1,0
|
|
307
|
+
BRDA:166,6,0,0
|
|
308
|
+
BRDA:166,6,1,0
|
|
303
309
|
BRF:14
|
|
304
310
|
BRH:0
|
|
305
311
|
end_of_record
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro-config.d.ts","sourceRoot":"","sources":["../src/metro-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,IAAI,qBAAqB,EACvC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAEL,OAAO,IAAI,wBAAwB,EACpC,MAAM,0CAA0C,CAAC;AAUlD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"metro-config.d.ts","sourceRoot":"","sources":["../src/metro-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,IAAI,qBAAqB,EACvC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAEL,OAAO,IAAI,wBAAwB,EACpC,MAAM,0CAA0C,CAAC;AAUlD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC;AAoFpE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,YAAY,EACjC,wBAAwB,EAAE,OAAO,GAAG,qBAAqB,EACzD,2BAA2B,EAAE,OAAO,GAAG,wBAAwB,EAC/D,oBAAoB,EAAE,OAAO,GAAG,2BAA2B,EAC3D,sBAAsB,EAAE,OAAO,GAC9B,IAAI,CA6CN"}
|
package/lib/metro-config.js
CHANGED
|
@@ -37,12 +37,14 @@ function createSerializerHook(options) {
|
|
|
37
37
|
// Map each file to a TypeScript project, and apply its delta operation.
|
|
38
38
|
const tsprojectsToValidate = new Set();
|
|
39
39
|
adds.concat(updates).forEach((sourceFile) => {
|
|
40
|
-
const tsproject = projectCache.
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
const { tsproject, tssourceFiles } = projectCache.getProjectInfo(sourceFile, platform);
|
|
41
|
+
if (tssourceFiles.has(sourceFile)) {
|
|
42
|
+
tsproject.setFile(sourceFile);
|
|
43
|
+
tsprojectsToValidate.add(tsproject);
|
|
44
|
+
}
|
|
43
45
|
});
|
|
44
46
|
deletes.forEach((sourceFile) => {
|
|
45
|
-
const tsproject = projectCache.
|
|
47
|
+
const { tsproject } = projectCache.getProjectInfo(sourceFile, platform);
|
|
46
48
|
tsproject.removeFile(sourceFile);
|
|
47
49
|
tsprojectsToValidate.add(tsproject);
|
|
48
50
|
});
|
package/lib/metro-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro-config.js","sourceRoot":"","sources":["../src/metro-config.ts"],"names":[],"mappings":";;;AAAA,kHAG4D;AAC5D,8FAGkD;AAClD,gEAAyE;AACzE,gFAG2C;AAI3C,8DAAgE;AAMhE;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,OAAoC;IAChE,MAAM,YAAY,GAAG,IAAA,kCAAkB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;IACpD,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,KAAkB,EAAQ,EAAE;QACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAwB,CAAC;QACjE,IAAI,QAAQ,EAAE;YACZ,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,oEAAoE;gBACpE,oEAAoE;gBACpE,gCAAgC;gBAChC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACtC;YAED,uEAAuE;YACvE,8DAA8D;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EACpB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACxB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACxB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EACvB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACxB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACvD,kBAAkB,CACnB,CAAC;YAEF,yEAAyE;YACzE,MAAM,oBAAoB,GAAiB,IAAI,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"metro-config.js","sourceRoot":"","sources":["../src/metro-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { AllPlatforms } from "@rnx-kit/tools-react-native/platform";
|
|
2
2
|
import { Project } from "@rnx-kit/typescript-service";
|
|
3
|
+
export declare type ProjectInfo = {
|
|
4
|
+
tsproject: Project;
|
|
5
|
+
tssourceFiles: Set<string>;
|
|
6
|
+
};
|
|
3
7
|
/**
|
|
4
8
|
* Collection of TypeScript projects, separated by their target platform.
|
|
5
9
|
*
|
|
@@ -19,14 +23,14 @@ export interface ProjectCache {
|
|
|
19
23
|
*/
|
|
20
24
|
clearPlatform(platform: AllPlatforms): void;
|
|
21
25
|
/**
|
|
22
|
-
* Get the project which targets a specific platform and contains a specific
|
|
26
|
+
* Get info on the project which targets a specific platform and contains a specific
|
|
23
27
|
* source file. If the project is not cached, load it and add it to the cache.
|
|
24
28
|
*
|
|
25
29
|
* @param platform Target platform
|
|
26
30
|
* @param sourceFile Source file
|
|
27
31
|
* @returns Project targeting the given platform and containing the given source file
|
|
28
32
|
*/
|
|
29
|
-
|
|
33
|
+
getProjectInfo(sourceFile: string, platform: AllPlatforms): ProjectInfo;
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
32
36
|
* Create an empty cache for holding TypeScript projects.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-cache.d.ts","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEb,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,OAAO,EAER,MAAM,6BAA6B,CAAC;AAIrC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5C;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"project-cache.d.ts","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEb,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,OAAO,EAER,MAAM,6BAA6B,CAAC;AAIrC,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAE5C;;;;;;;OAOG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAChC,YAAY,CAwHd"}
|
|
@@ -48,7 +48,7 @@ function createProjectCache(print) {
|
|
|
48
48
|
}
|
|
49
49
|
return cmdLine;
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function createProjectInfo(root, platform) {
|
|
52
52
|
// Load the TypeScript configuration file for this project.
|
|
53
53
|
const cmdLine = readTSConfig(root);
|
|
54
54
|
// Create a TypeScript project using the configuration file. Enhance the
|
|
@@ -69,32 +69,41 @@ function createProjectCache(print) {
|
|
|
69
69
|
});
|
|
70
70
|
};
|
|
71
71
|
const tsproject = new typescript_service_1.Project(documentRegistry, diagnosticWriter, cmdLine, enhanceLanguageServiceHost);
|
|
72
|
-
//
|
|
72
|
+
// Store TypeScript's source file list for this project. We'll use it later
|
|
73
|
+
// to filter files from Metro's file graph. We only want to check files that
|
|
74
|
+
// TypeScript considers to be source code, and not transpiled output.
|
|
75
|
+
const tssourceFiles = new Set(cmdLine.fileNames);
|
|
76
|
+
// Start with an empty project
|
|
73
77
|
tsproject.removeAllFiles();
|
|
74
|
-
return
|
|
78
|
+
return {
|
|
79
|
+
tsproject,
|
|
80
|
+
tssourceFiles,
|
|
81
|
+
};
|
|
75
82
|
}
|
|
76
|
-
function
|
|
83
|
+
function getProjectInfo(sourceFile, platform) {
|
|
77
84
|
const root = findProjectRoot(sourceFile);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
projects[root][platform] =
|
|
85
|
+
projects[root] || (projects[root] = {});
|
|
86
|
+
let info = projects[root][platform];
|
|
87
|
+
if (!info) {
|
|
88
|
+
info = createProjectInfo(root, platform);
|
|
89
|
+
projects[root][platform] = info;
|
|
83
90
|
}
|
|
84
|
-
return
|
|
91
|
+
return info;
|
|
85
92
|
}
|
|
86
93
|
function clearPlatform(platform) {
|
|
87
94
|
Object.values(projects).forEach((projectsByPlatform) => {
|
|
88
|
-
const
|
|
89
|
-
if (
|
|
90
|
-
|
|
95
|
+
const info = projectsByPlatform[platform];
|
|
96
|
+
if (info) {
|
|
97
|
+
if (info.tsproject) {
|
|
98
|
+
info.tsproject.dispose();
|
|
99
|
+
}
|
|
91
100
|
delete projectsByPlatform[platform];
|
|
92
101
|
}
|
|
93
102
|
});
|
|
94
103
|
}
|
|
95
104
|
return {
|
|
96
105
|
clearPlatform,
|
|
97
|
-
|
|
106
|
+
getProjectInfo,
|
|
98
107
|
};
|
|
99
108
|
}
|
|
100
109
|
exports.createProjectCache = createProjectCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-cache.js","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAqD;AACrD,mEAG8C;AAC9C,gGAA+F;AAC/F,oEAIqC;AACrC,gDAAwB;AACxB,4DAA4B;
|
|
1
|
+
{"version":3,"file":"project-cache.js","sourceRoot":"","sources":["../../src/typescript/project-cache.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAqD;AACrD,mEAG8C;AAC9C,gGAA+F;AAC/F,oEAIqC;AACrC,gDAAwB;AACxB,4DAA4B;AAqC5B;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,KAAiC;IAEjC,MAAM,gBAAgB,GAAG,oBAAE,CAAC,sBAAsB,EAAE,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAA,2CAAsB,EAAC,KAAK,CAAC,CAAC;IAEvD,wEAAwE;IACxE,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,SAAS,eAAe,CAAC,UAAkB;QACzC,6EAA6E;QAC7E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACxC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACb;SACF;QAED,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAA,2BAAc,EAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CACb,6CAA6C,UAAU,GAAG,CAC3D,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,YAAY,CAAC,IAAY;QAChC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAA,mCAAc,EAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,GAAG,CAAC,CAAC;SACvD;aAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,IAAA,2CAAsB,GAAE,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,GAAG,CAAC,CAAC;SACvD;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,iBAAiB,CACxB,IAAY,EACZ,QAAsB;QAEtB,2DAA2D;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnC,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,0BAA0B,GAAG,CAAC,IAA4B,EAAQ,EAAE;YACxE,MAAM,sBAAsB,GAAG,IAAA,6BAAkB,EAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,qCAAqC,GAAG,IAAI,CAAC;YACnD,MAAM,sCAAsC,GAAG,KAAK,CAAC;YACrD,MAAM,kBAAkB,GAAG,SAAS,CAAC;YACrC,IAAA,qEAAkC,EAAC;gBACjC,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ;gBACR,sBAAsB;gBACtB,qCAAqC;gBACrC,sCAAsC;gBACtC,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,4BAAO,CAC3B,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,0BAA0B,CAC3B,CAAC;QAEF,4EAA4E;QAC5E,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjD,8BAA8B;QAC9B,SAAS,CAAC,cAAc,EAAE,CAAC;QAE3B,OAAO;YACL,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;IAED,SAAS,cAAc,CACrB,UAAkB,EAClB,QAAsB;QAEtB,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,MAAb,QAAQ,CAAC,IAAI,IAAM,EAAE,EAAC;QAEtB,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SACjC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,aAAa,CAAC,QAAsB;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE;gBACR,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;iBAC1B;gBACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC;AA1HD,gDA0HC"}
|
package/package.json
CHANGED
package/src/metro-config.ts
CHANGED
|
@@ -65,12 +65,17 @@ function createSerializerHook(options: TypeScriptValidationOptions) {
|
|
|
65
65
|
// Map each file to a TypeScript project, and apply its delta operation.
|
|
66
66
|
const tsprojectsToValidate: Set<Project> = new Set();
|
|
67
67
|
adds.concat(updates).forEach((sourceFile) => {
|
|
68
|
-
const tsproject = projectCache.
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
const { tsproject, tssourceFiles } = projectCache.getProjectInfo(
|
|
69
|
+
sourceFile,
|
|
70
|
+
platform
|
|
71
|
+
);
|
|
72
|
+
if (tssourceFiles.has(sourceFile)) {
|
|
73
|
+
tsproject.setFile(sourceFile);
|
|
74
|
+
tsprojectsToValidate.add(tsproject);
|
|
75
|
+
}
|
|
71
76
|
});
|
|
72
77
|
deletes.forEach((sourceFile) => {
|
|
73
|
-
const tsproject = projectCache.
|
|
78
|
+
const { tsproject } = projectCache.getProjectInfo(sourceFile, platform);
|
|
74
79
|
tsproject.removeFile(sourceFile);
|
|
75
80
|
tsprojectsToValidate.add(tsproject);
|
|
76
81
|
});
|
|
@@ -12,6 +12,11 @@ import {
|
|
|
12
12
|
import path from "path";
|
|
13
13
|
import ts from "typescript";
|
|
14
14
|
|
|
15
|
+
export type ProjectInfo = {
|
|
16
|
+
tsproject: Project;
|
|
17
|
+
tssourceFiles: Set<string>;
|
|
18
|
+
};
|
|
19
|
+
|
|
15
20
|
/**
|
|
16
21
|
* Collection of TypeScript projects, separated by their target platform.
|
|
17
22
|
*
|
|
@@ -32,14 +37,14 @@ export interface ProjectCache {
|
|
|
32
37
|
clearPlatform(platform: AllPlatforms): void;
|
|
33
38
|
|
|
34
39
|
/**
|
|
35
|
-
* Get the project which targets a specific platform and contains a specific
|
|
40
|
+
* Get info on the project which targets a specific platform and contains a specific
|
|
36
41
|
* source file. If the project is not cached, load it and add it to the cache.
|
|
37
42
|
*
|
|
38
43
|
* @param platform Target platform
|
|
39
44
|
* @param sourceFile Source file
|
|
40
45
|
* @returns Project targeting the given platform and containing the given source file
|
|
41
46
|
*/
|
|
42
|
-
|
|
47
|
+
getProjectInfo(sourceFile: string, platform: AllPlatforms): ProjectInfo;
|
|
43
48
|
}
|
|
44
49
|
|
|
45
50
|
/**
|
|
@@ -55,7 +60,10 @@ export function createProjectCache(
|
|
|
55
60
|
const diagnosticWriter = createDiagnosticWriter(print);
|
|
56
61
|
|
|
57
62
|
// Collection of projects organized by root directory, then by platform.
|
|
58
|
-
const projects: Record<
|
|
63
|
+
const projects: Record<
|
|
64
|
+
string,
|
|
65
|
+
Partial<Record<AllPlatforms, ProjectInfo>>
|
|
66
|
+
> = {};
|
|
59
67
|
|
|
60
68
|
function findProjectRoot(sourceFile: string): string {
|
|
61
69
|
// Search known root directories to see if the source file is in one of them.
|
|
@@ -91,7 +99,10 @@ export function createProjectCache(
|
|
|
91
99
|
return cmdLine;
|
|
92
100
|
}
|
|
93
101
|
|
|
94
|
-
function
|
|
102
|
+
function createProjectInfo(
|
|
103
|
+
root: string,
|
|
104
|
+
platform: AllPlatforms
|
|
105
|
+
): ProjectInfo {
|
|
95
106
|
// Load the TypeScript configuration file for this project.
|
|
96
107
|
const cmdLine = readTSConfig(root);
|
|
97
108
|
|
|
@@ -119,28 +130,42 @@ export function createProjectCache(
|
|
|
119
130
|
enhanceLanguageServiceHost
|
|
120
131
|
);
|
|
121
132
|
|
|
122
|
-
//
|
|
133
|
+
// Store TypeScript's source file list for this project. We'll use it later
|
|
134
|
+
// to filter files from Metro's file graph. We only want to check files that
|
|
135
|
+
// TypeScript considers to be source code, and not transpiled output.
|
|
136
|
+
const tssourceFiles = new Set(cmdLine.fileNames);
|
|
137
|
+
|
|
138
|
+
// Start with an empty project
|
|
123
139
|
tsproject.removeAllFiles();
|
|
124
140
|
|
|
125
|
-
return
|
|
141
|
+
return {
|
|
142
|
+
tsproject,
|
|
143
|
+
tssourceFiles,
|
|
144
|
+
};
|
|
126
145
|
}
|
|
127
146
|
|
|
128
|
-
function
|
|
147
|
+
function getProjectInfo(
|
|
148
|
+
sourceFile: string,
|
|
149
|
+
platform: AllPlatforms
|
|
150
|
+
): ProjectInfo {
|
|
129
151
|
const root = findProjectRoot(sourceFile);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (!
|
|
134
|
-
|
|
152
|
+
projects[root] ||= {};
|
|
153
|
+
|
|
154
|
+
let info = projects[root][platform];
|
|
155
|
+
if (!info) {
|
|
156
|
+
info = createProjectInfo(root, platform);
|
|
157
|
+
projects[root][platform] = info;
|
|
135
158
|
}
|
|
136
|
-
return
|
|
159
|
+
return info;
|
|
137
160
|
}
|
|
138
161
|
|
|
139
162
|
function clearPlatform(platform: AllPlatforms): void {
|
|
140
163
|
Object.values(projects).forEach((projectsByPlatform) => {
|
|
141
|
-
const
|
|
142
|
-
if (
|
|
143
|
-
|
|
164
|
+
const info = projectsByPlatform[platform];
|
|
165
|
+
if (info) {
|
|
166
|
+
if (info.tsproject) {
|
|
167
|
+
info.tsproject.dispose();
|
|
168
|
+
}
|
|
144
169
|
delete projectsByPlatform[platform];
|
|
145
170
|
}
|
|
146
171
|
});
|
|
@@ -148,6 +173,6 @@ export function createProjectCache(
|
|
|
148
173
|
|
|
149
174
|
return {
|
|
150
175
|
clearPlatform,
|
|
151
|
-
|
|
176
|
+
getProjectInfo,
|
|
152
177
|
};
|
|
153
178
|
}
|