@simplysm/sd-cli 12.5.22 → 12.5.23
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/dist/entry/SdCliCordova.js +2 -2
- package/dist/entry/SdCliCordova.js.map +1 -1
- package/dist/entry/SdCliLocalUpdate.js +1 -1
- package/dist/entry/SdCliLocalUpdate.js.map +1 -1
- package/dist/pkg-builders/SdMultiBuildRunner.js +1 -1
- package/dist/pkg-builders/SdMultiBuildRunner.js.map +1 -1
- package/dist/pkg-builders/client/SdCliNgRoutesFileGenerator.js +1 -1
- package/dist/pkg-builders/client/SdCliNgRoutesFileGenerator.js.map +1 -1
- package/dist/pkg-builders/client/SdClientBuildRunner.js +1 -1
- package/dist/pkg-builders/client/SdNgBundler.js +12 -61
- package/dist/pkg-builders/client/SdNgBundler.js.map +1 -1
- package/dist/pkg-builders/lib/SdCliIndexFileGenerator.js +1 -1
- package/dist/pkg-builders/lib/SdCliIndexFileGenerator.js.map +1 -1
- package/dist/pkg-builders/lib/SdJsLibBuildRunner.js +1 -1
- package/dist/pkg-builders/lib/SdTsLibBuildRunner.js +3 -3
- package/dist/pkg-builders/lib/SdTsLibBuildRunner.js.map +1 -1
- package/dist/pkg-builders/lib/SdTsLibBuilder.d.ts +1 -1
- package/dist/pkg-builders/lib/SdTsLibBuilder.js.map +1 -1
- package/dist/pkg-builders/server/SdServerBuildRunner.js +1 -1
- package/dist/ts-builder/SdTsCompileWorker.d.ts +1 -1
- package/dist/ts-builder/SdTsCompileWorker.js.map +1 -1
- package/dist/ts-builder/SdTsCompiler.d.ts +1 -1
- package/dist/ts-builder/SdTsCompiler.js +58 -49
- package/dist/ts-builder/SdTsCompiler.js.map +1 -1
- package/dist/types/workers.type.d.ts +1 -1
- package/dist/workers/compile-worker.js.map +1 -1
- package/package.json +6 -6
- package/src/entry/SdCliCordova.ts +2 -2
- package/src/entry/SdCliLocalUpdate.ts +1 -1
- package/src/pkg-builders/SdMultiBuildRunner.ts +1 -1
- package/src/pkg-builders/client/SdCliNgRoutesFileGenerator.ts +1 -1
- package/src/pkg-builders/client/SdClientBuildRunner.ts +1 -1
- package/src/pkg-builders/client/SdNgBundler.ts +15 -74
- package/src/pkg-builders/lib/SdCliIndexFileGenerator.ts +1 -1
- package/src/pkg-builders/lib/SdJsLibBuildRunner.ts +1 -1
- package/src/pkg-builders/lib/SdTsLibBuildRunner.ts +4 -4
- package/src/pkg-builders/lib/SdTsLibBuilder.ts +1 -1
- package/src/pkg-builders/server/SdServerBuildRunner.ts +1 -1
- package/src/ts-builder/SdTsCompileWorker.ts +1 -1
- package/src/ts-builder/SdTsCompiler.ts +70 -53
- package/src/types/workers.type.ts +1 -1
- package/src/workers/compile-worker.ts +1 -1
- package/lib/dev-worker.cjs +0 -5
|
@@ -159,7 +159,7 @@ export class SdTsCompiler {
|
|
|
159
159
|
};
|
|
160
160
|
|
|
161
161
|
(this.#compilerHost as AngularCompilerHost).getModifiedResourceFiles = () => {
|
|
162
|
-
return this.#modifiedFileSet;
|
|
162
|
+
return new Set(Array.from(this.#modifiedFileSet).map((item) => PathUtil.posix(item)));
|
|
163
163
|
};
|
|
164
164
|
}
|
|
165
165
|
}
|
|
@@ -200,38 +200,40 @@ export class SdTsCompiler {
|
|
|
200
200
|
return stylesheetResult.contents;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
async compileAsync(modifiedFileSet
|
|
203
|
+
async compileAsync(modifiedFileSet: Set<TNormPath>): Promise<ISdTsCompilerResult> {
|
|
204
204
|
let perf = new SdCliPerformanceTimer("esbuild compile");
|
|
205
205
|
|
|
206
|
-
this.#modifiedFileSet =
|
|
206
|
+
this.#modifiedFileSet = new Set(modifiedFileSet);
|
|
207
207
|
this.#affectedFileSet = new Set<TNormPath>();
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
if (modifiedFileSet.size !== 0) {
|
|
210
|
+
this.#debug(`get affected (old deps & old res deps)...`);
|
|
210
211
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
212
|
+
perf.run("get affected", () => {
|
|
213
|
+
for (const modifiedFile of modifiedFileSet) {
|
|
214
|
+
this.#affectedFileSet.add(modifiedFile);
|
|
215
|
+
this.#affectedFileSet.adds(...(this.#revDependencyCacheMap.get(modifiedFile) ?? []));
|
|
216
|
+
this.#affectedFileSet.adds(...(this.#resourceDependencyCacheMap.get(modifiedFile) ?? []));
|
|
216
217
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
this.#emittedFilesCacheMap.delete(modifiedFile);
|
|
219
|
+
}
|
|
220
|
+
});
|
|
220
221
|
|
|
221
|
-
|
|
222
|
+
this.#debug(`invalidate & clear cache...`);
|
|
222
223
|
|
|
223
|
-
|
|
224
|
-
|
|
224
|
+
perf.run("invalidate & clear cache", () => {
|
|
225
|
+
this.#stylesheetBundler?.invalidate(modifiedFileSet);
|
|
225
226
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
227
|
+
for (const affectedFile of this.#affectedFileSet) {
|
|
228
|
+
this.#sourceFileCacheMap.delete(affectedFile);
|
|
229
|
+
this.#stylesheetBundlingResultMap.delete(affectedFile);
|
|
230
|
+
this.#watchFileSet.delete(affectedFile);
|
|
231
|
+
}
|
|
231
232
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
this.#revDependencyCacheMap.clear();
|
|
234
|
+
this.#resourceDependencyCacheMap.clear();
|
|
235
|
+
});
|
|
236
|
+
}
|
|
235
237
|
|
|
236
238
|
this.#debug(`create program...`);
|
|
237
239
|
|
|
@@ -269,17 +271,17 @@ export class SdTsCompiler {
|
|
|
269
271
|
return sf;
|
|
270
272
|
};
|
|
271
273
|
|
|
272
|
-
|
|
274
|
+
const sourceFileSet = new Set(
|
|
275
|
+
this.#program!.getSourceFiles()
|
|
276
|
+
.map((sf) => getOrgSourceFile(sf))
|
|
277
|
+
.filterExists(),
|
|
278
|
+
);
|
|
273
279
|
|
|
274
|
-
|
|
280
|
+
this.#debug(`get new deps...`);
|
|
275
281
|
|
|
276
|
-
|
|
277
|
-
const sourceFileSet = new Set(
|
|
278
|
-
this.#program!.getSourceFiles()
|
|
279
|
-
.map((sf) => getOrgSourceFile(sf))
|
|
280
|
-
.filterExists(),
|
|
281
|
-
);
|
|
282
|
+
const messages: ISdBuildMessage[] = [];
|
|
282
283
|
|
|
284
|
+
perf.run("get new deps", () => {
|
|
283
285
|
const depMap = new Map<
|
|
284
286
|
TNormPath,
|
|
285
287
|
{
|
|
@@ -346,14 +348,6 @@ export class SdTsCompiler {
|
|
|
346
348
|
for (const dep of getAllDeps(PathUtil.norm(sf.fileName))) {
|
|
347
349
|
const depCache = this.#revDependencyCacheMap.getOrCreate(dep, new Set<TNormPath>());
|
|
348
350
|
depCache.add(PathUtil.norm(sf.fileName));
|
|
349
|
-
if (this.#modifiedFileSet.has(dep)) {
|
|
350
|
-
this.#affectedFileSet.add(PathUtil.norm(sf.fileName));
|
|
351
|
-
}
|
|
352
|
-
// dep이 emit된적이 없으면 affected에 추가해야함.
|
|
353
|
-
// dep파일이 추가된후 기존 파일에서 import하면 dep파일이 affected에 포함이 안되는 현상 때문
|
|
354
|
-
if (!this.#emittedFilesCacheMap.has(dep)) {
|
|
355
|
-
this.#affectedFileSet.add(dep);
|
|
356
|
-
}
|
|
357
351
|
}
|
|
358
352
|
|
|
359
353
|
if (this.#ngProgram) {
|
|
@@ -364,36 +358,59 @@ export class SdTsCompiler {
|
|
|
364
358
|
for (const dep of this.#ngProgram.compiler.getResourceDependencies(sf)) {
|
|
365
359
|
const ref = this.#resourceDependencyCacheMap.getOrCreate(PathUtil.norm(dep), new Set<TNormPath>());
|
|
366
360
|
ref.add(PathUtil.norm(sf.fileName));
|
|
367
|
-
if (this.#modifiedFileSet.has(PathUtil.norm(dep))) {
|
|
368
|
-
this.#affectedFileSet.add(PathUtil.norm(sf.fileName));
|
|
369
|
-
}
|
|
370
|
-
// dep이 emit된적이 없으면 affected에 추가해야함.
|
|
371
|
-
// dep파일이 추가된후 기존 파일에서 import하면 dep파일이 affected에 포함이 안되는 현상 때문
|
|
372
|
-
if (!this.#emittedFilesCacheMap.has(PathUtil.norm(dep))) {
|
|
373
|
-
this.#affectedFileSet.add(PathUtil.norm(dep));
|
|
374
|
-
}
|
|
375
361
|
}
|
|
376
362
|
}
|
|
377
363
|
}
|
|
378
364
|
});
|
|
379
365
|
|
|
380
|
-
if (
|
|
366
|
+
if (modifiedFileSet.size === 0) {
|
|
381
367
|
this.#debug(`get affected (init)...`);
|
|
382
368
|
|
|
383
369
|
perf.run("get affected (init)", () => {
|
|
384
|
-
for (const sf of
|
|
370
|
+
for (const sf of sourceFileSet) {
|
|
385
371
|
if (!this.#watchScopePaths.some((scopePath) => PathUtil.isChildPath(sf.fileName, scopePath))) {
|
|
386
372
|
continue;
|
|
387
373
|
}
|
|
388
374
|
|
|
389
|
-
|
|
390
|
-
if (!orgSf) continue;
|
|
391
|
-
|
|
392
|
-
this.#affectedFileSet.add(PathUtil.norm(orgSf.fileName));
|
|
375
|
+
this.#affectedFileSet.add(PathUtil.norm(sf.fileName));
|
|
393
376
|
}
|
|
394
377
|
});
|
|
395
378
|
}
|
|
396
379
|
|
|
380
|
+
for (const dep of this.#revDependencyCacheMap.keys()) {
|
|
381
|
+
if (this.#modifiedFileSet.has(dep)) {
|
|
382
|
+
this.#affectedFileSet.adds(
|
|
383
|
+
...Array.from(this.#revDependencyCacheMap.get(dep)!).mapMany((item) =>
|
|
384
|
+
[
|
|
385
|
+
item,
|
|
386
|
+
// .d.ts면 .js파일도 affected에 추가
|
|
387
|
+
item.endsWith(".d.ts") ? PathUtil.norm(item.replace(/\.d\.ts$/, ".js")) : undefined,
|
|
388
|
+
].filterExists(),
|
|
389
|
+
),
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// dep이 emit된적이 없으면 affected에 추가해야함.
|
|
394
|
+
// dep파일이 추가된후 기존 파일에서 import하면 dep파일이 affected에 포함이 안되는 현상 때문
|
|
395
|
+
if (!this.#emittedFilesCacheMap.has(dep)) {
|
|
396
|
+
this.#affectedFileSet.add(dep);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if (this.#ngProgram) {
|
|
401
|
+
for (const dep of this.#resourceDependencyCacheMap.keys()) {
|
|
402
|
+
if (this.#modifiedFileSet.has(dep)) {
|
|
403
|
+
this.#affectedFileSet.adds(...this.#resourceDependencyCacheMap.get(dep)!);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
// dep이 emit된적이 없으면 affected에 추가해야함.
|
|
407
|
+
// dep파일이 추가된후 기존 파일에서 import하면 dep파일이 affected에 포함이 안되는 현상 때문
|
|
408
|
+
if (!this.#emittedFilesCacheMap.has(dep)) {
|
|
409
|
+
this.#affectedFileSet.add(dep);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
397
414
|
const emitFileSet = new Set<TNormPath>();
|
|
398
415
|
|
|
399
416
|
const [lintResults] = await Promise.all([
|
|
@@ -21,7 +21,7 @@ export interface TSdLintWorkerType {
|
|
|
21
21
|
export interface TSdTsCompileWorkerType {
|
|
22
22
|
methods: {
|
|
23
23
|
initialize: { params: [SdTsCompilerOptions]; returnType: void };
|
|
24
|
-
compile: { params: [Set<TNormPath
|
|
24
|
+
compile: { params: [Set<TNormPath>]; returnType: ISdTsCompilerResult };
|
|
25
25
|
};
|
|
26
26
|
events: {};
|
|
27
27
|
}
|
|
@@ -25,7 +25,7 @@ createSdWorker<TSdTsCompileWorkerType>({
|
|
|
25
25
|
initialize(opt: SdTsCompilerOptions) {
|
|
26
26
|
compiler = new SdTsCompiler(opt);
|
|
27
27
|
},
|
|
28
|
-
async compile(modifiedFileSet
|
|
28
|
+
async compile(modifiedFileSet: Set<TNormPath>) {
|
|
29
29
|
return await compiler.compileAsync(modifiedFileSet);
|
|
30
30
|
},
|
|
31
31
|
});
|