@simplysm/sd-cli 12.8.21 → 12.9.1

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.
Files changed (96) hide show
  1. package/dist/entry/sd-cli-ai-command.js +2 -1
  2. package/dist/entry/sd-cli-ai-command.js.map +1 -1
  3. package/dist/entry/sd-cli-cordova.d.ts +1 -1
  4. package/dist/entry/sd-cli-cordova.js +10 -9
  5. package/dist/entry/sd-cli-cordova.js.map +1 -1
  6. package/dist/entry/sd-cli-electron.d.ts +6 -6
  7. package/dist/entry/sd-cli-electron.js +15 -9
  8. package/dist/entry/sd-cli-electron.js.map +1 -1
  9. package/dist/entry/sd-cli-local-update.d.ts +5 -5
  10. package/dist/entry/sd-cli-local-update.js +8 -12
  11. package/dist/entry/sd-cli-local-update.js.map +1 -1
  12. package/dist/entry/sd-cli-project.d.ts +11 -11
  13. package/dist/entry/sd-cli-project.js +11 -14
  14. package/dist/entry/sd-cli-project.js.map +1 -1
  15. package/dist/entry/utils/loadProjConfAsync.d.ts +5 -0
  16. package/dist/entry/utils/loadProjConfAsync.js +8 -0
  17. package/dist/entry/utils/loadProjConfAsync.js.map +1 -0
  18. package/dist/pkg-builders/client/sd-client.build-runner.js +1 -1
  19. package/dist/pkg-builders/client/sd-client.build-runner.js.map +1 -1
  20. package/dist/pkg-builders/client/sd-ng.bundler-context.d.ts +6 -5
  21. package/dist/pkg-builders/client/sd-ng.bundler-context.js +6 -6
  22. package/dist/pkg-builders/client/sd-ng.bundler-context.js.map +1 -1
  23. package/dist/pkg-builders/client/sd-ng.bundler.d.ts +13 -13
  24. package/dist/pkg-builders/client/sd-ng.bundler.js +1 -1
  25. package/dist/pkg-builders/client/sd-ng.bundler.js.map +1 -1
  26. package/dist/pkg-builders/client/sd-ng.plugin-creator.js +4 -88
  27. package/dist/pkg-builders/client/sd-ng.plugin-creator.js.map +1 -1
  28. package/dist/pkg-builders/lib/sd-js-lib.build-runner.js.map +1 -1
  29. package/dist/pkg-builders/lib/sd-ts-lib.build-runner.d.ts +1 -1
  30. package/dist/pkg-builders/lib/sd-ts-lib.build-runner.js.map +1 -1
  31. package/dist/pkg-builders/lib/sd-ts-lib.builder.js.map +1 -1
  32. package/dist/pkg-builders/sd-multi.build-runner.d.ts +4 -0
  33. package/dist/pkg-builders/sd-multi.build-runner.js +33 -25
  34. package/dist/pkg-builders/sd-multi.build-runner.js.map +1 -1
  35. package/dist/pkg-builders/server/sd-server.build-runner.js.map +1 -1
  36. package/dist/pkg-builders/server/sd-server.bundler.d.ts +6 -2
  37. package/dist/pkg-builders/server/sd-server.bundler.js +24 -24
  38. package/dist/pkg-builders/server/sd-server.bundler.js.map +1 -1
  39. package/dist/sd-cli/vitest.config.d.ts +2 -0
  40. package/dist/sd-cli/vitest.config.js +15 -0
  41. package/dist/sd-cli/vitest.config.js.map +1 -0
  42. package/dist/sd-cli.js +7 -36
  43. package/dist/sd-cli.js.map +1 -1
  44. package/dist/ts-compiler/sd-dependency-analyzer.d.ts +8 -0
  45. package/dist/ts-compiler/sd-dependency-analyzer.js +244 -0
  46. package/dist/ts-compiler/sd-dependency-analyzer.js.map +1 -0
  47. package/dist/ts-compiler/sd-dependency-cache.d.ts +27 -0
  48. package/dist/ts-compiler/sd-dependency-cache.js +232 -0
  49. package/dist/ts-compiler/sd-dependency-cache.js.map +1 -0
  50. package/dist/ts-compiler/sd-ts-compiler.d.ts +7 -9
  51. package/dist/ts-compiler/sd-ts-compiler.js +101 -188
  52. package/dist/ts-compiler/sd-ts-compiler.js.map +1 -1
  53. package/dist/types/worker.types.d.ts +19 -0
  54. package/dist/utils/sd-cli-performance-time.d.ts +2 -1
  55. package/dist/utils/sd-cli-performance-time.js +9 -9
  56. package/dist/utils/sd-cli-performance-time.js.map +1 -1
  57. package/dist/workers/style-bundler.worker.d.ts +1 -0
  58. package/dist/workers/style-bundler.worker.js +56 -0
  59. package/dist/workers/style-bundler.worker.js.map +1 -0
  60. package/package.json +11 -11
  61. package/src/entry/sd-cli-ai-command.ts +2 -1
  62. package/src/entry/sd-cli-cordova.ts +20 -20
  63. package/src/entry/sd-cli-electron.ts +54 -23
  64. package/src/entry/sd-cli-local-update.ts +14 -29
  65. package/src/entry/sd-cli-project.ts +24 -41
  66. package/src/entry/utils/loadProjConfAsync.ts +12 -0
  67. package/src/pkg-builders/client/sd-client.build-runner.ts +7 -7
  68. package/src/pkg-builders/client/sd-ng.bundler-context.ts +15 -12
  69. package/src/pkg-builders/client/sd-ng.bundler.ts +17 -20
  70. package/src/pkg-builders/client/sd-ng.plugin-creator.ts +5 -94
  71. package/src/pkg-builders/lib/sd-js-lib.build-runner.ts +6 -6
  72. package/src/pkg-builders/lib/sd-ts-lib.build-runner.ts +7 -7
  73. package/src/pkg-builders/lib/sd-ts-lib.builder.ts +1 -1
  74. package/src/pkg-builders/sd-multi.build-runner.ts +54 -39
  75. package/src/pkg-builders/server/sd-server.build-runner.ts +6 -6
  76. package/src/pkg-builders/server/sd-server.bundler.ts +43 -35
  77. package/src/sd-cli.ts +7 -36
  78. package/src/ts-compiler/sd-dependency-analyzer.ts +312 -0
  79. package/src/ts-compiler/sd-dependency-cache.ts +328 -0
  80. package/src/ts-compiler/sd-ts-compiler.ts +161 -256
  81. package/src/types/worker.types.ts +17 -0
  82. package/src/utils/sd-cli-performance-time.ts +9 -9
  83. package/src/workers/style-bundler.worker.ts +70 -0
  84. package/tests/deps/sd-dependency-analyzer.spec.ts +272 -0
  85. package/tests/deps/sd-dependency-cache.spec.ts +144 -0
  86. package/tsconfig.json +1 -1
  87. package/tsconfig.test.json +8 -0
  88. package/vitest.config.ts +15 -0
  89. package/dist/index.d.ts +0 -34
  90. package/dist/index.js +0 -35
  91. package/dist/index.js.map +0 -1
  92. package/dist/ts-compiler/sd-ts-dependency-analyzer.d.ts +0 -10
  93. package/dist/ts-compiler/sd-ts-dependency-analyzer.js +0 -140
  94. package/dist/ts-compiler/sd-ts-dependency-analyzer.js.map +0 -1
  95. package/src/index.ts +0 -34
  96. package/src/ts-compiler/sd-ts-dependency-analyzer.ts +0 -176
@@ -1,65 +1,31 @@
1
1
  import ts from "typescript";
2
2
  import path from "path";
3
- import { FsUtils, PathUtils, SdLogger } from "@simplysm/sd-core-node";
3
+ import { FsUtils, PathUtils, SdLogger, SdWorker } from "@simplysm/sd-core-node";
4
4
  import { StringUtils } from "@simplysm/sd-core-common";
5
5
  import { NgtscProgram, OptimizeFor } from "@angular/compiler-cli";
6
- import { ComponentStylesheetBundler, } from "@angular/build/src/tools/esbuild/angular/component-stylesheets";
7
- import { transformSupportedBrowsersToTargets } from "@angular/build/src/tools/esbuild/utils";
8
- import browserslist from "browserslist";
9
6
  import { replaceBootstrap, } from "@angular/build/src/tools/angular/transformers/jit-bootstrap-transformer";
10
7
  import { SdCliPerformanceTimer } from "../utils/sd-cli-performance-time";
11
8
  import { SdCliConvertMessageUtils } from "../utils/sd-cli-convert-message.utils";
12
9
  import { createWorkerTransformer, } from "@angular/build/src/tools/angular/transformers/web-worker-transformer";
13
10
  import { ESLint } from "eslint";
14
- import { SdTsDependencyAnalyzer } from "./sd-ts-dependency-analyzer";
11
+ import { SdDependencyCache } from "./sd-dependency-cache";
12
+ import { SdDependencyAnalyzer } from "./sd-dependency-analyzer";
15
13
  export class SdTsCompiler {
16
14
  constructor(_opt) {
17
15
  this._opt = _opt;
18
16
  this._logger = SdLogger.get(["simplysm", "sd-cli", "SdTsCompiler"]);
19
- this._revDepCacheMap = new Map();
17
+ // 빌드정보 캐싱
18
+ this._depCache = new SdDependencyCache();
20
19
  this._sourceFileCacheMap = new Map();
21
20
  this._emittedFilesCacheMap = new Map();
22
- this._modifiedFileSet = new Set();
23
- this._affectedFileSet = new Set();
24
- this._watchFileSet = new Set();
21
+ // 빌드결과 캐싱
25
22
  this._stylesheetBundlingResultMap = new Map();
26
23
  this._debug("초기화 중...");
27
24
  const tsconfigPath = path.resolve(this._opt.pkgPath, "tsconfig.json");
28
25
  const tsconfig = FsUtils.readJson(tsconfigPath);
29
26
  this._isForAngular = Boolean(tsconfig.angularCompilerOptions);
30
- if (this._isForAngular) {
31
- //-- stylesheetBundler
32
- this._stylesheetBundler = new ComponentStylesheetBundler({
33
- workspaceRoot: this._opt.pkgPath,
34
- optimization: !this._opt.isDevMode,
35
- inlineFonts: true,
36
- preserveSymlinks: false,
37
- sourcemap: this._opt.isDevMode ? "inline" : false,
38
- outputNames: { bundles: "[name]", media: "media/[name]" },
39
- includePaths: [],
40
- externalDependencies: [],
41
- target: transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"])),
42
- postcssConfiguration: {
43
- plugins: [["css-has-pseudo"]],
44
- },
45
- tailwindConfiguration: undefined,
46
- cacheOptions: {
47
- enabled: true,
48
- path: ".cache/angular",
49
- basePath: ".cache",
50
- },
51
- }, "scss", this._opt.isDevMode);
52
- }
53
27
  }
54
28
  _parseTsConfig() {
55
- const config = this._loadTsConfig();
56
- const compilerHost = this._createCompilerHost(config.options);
57
- return {
58
- ...config,
59
- compilerHost,
60
- };
61
- }
62
- _loadTsConfig() {
63
29
  const tsconfigPath = path.resolve(this._opt.pkgPath, "tsconfig.json");
64
30
  const tsconfig = FsUtils.readJson(tsconfigPath);
65
31
  const parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, this._opt.pkgPath, {
@@ -73,7 +39,7 @@ export class SdTsCompiler {
73
39
  distPath: distPath,
74
40
  };
75
41
  }
76
- _createCompilerHost(compilerOptions) {
42
+ _createCompilerHost(compilerOptions, modifiedFileSet) {
77
43
  const compilerHost = ts.createCompilerHost(compilerOptions);
78
44
  const baseGetSourceFile = compilerHost.getSourceFile;
79
45
  compilerHost.getSourceFile = (fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile, ...args) => {
@@ -90,11 +56,6 @@ export class SdTsCompiler {
90
56
  }
91
57
  return sf;
92
58
  };
93
- const baseReadFile = compilerHost.readFile;
94
- compilerHost.readFile = (fileName) => {
95
- this._watchFileSet.add(PathUtils.norm(fileName));
96
- return baseReadFile.call(compilerHost, fileName);
97
- };
98
59
  if (this._isForAngular) {
99
60
  compilerHost.readResource = (fileName) => {
100
61
  return compilerHost.readFile(fileName) ?? "";
@@ -109,11 +70,19 @@ export class SdTsCompiler {
109
70
  : { content: stylesheetBundlingResult.contents };
110
71
  };
111
72
  compilerHost.getModifiedResourceFiles = () => {
112
- return new Set(Array.from(this._modifiedFileSet).map((item) => PathUtils.posix(item)));
73
+ return new Set(Array.from(modifiedFileSet).map((item) => PathUtils.posix(item)));
113
74
  };
114
75
  }
115
76
  return compilerHost;
116
77
  }
78
+ async _getOrCreateStyleBundleWorkerAsync() {
79
+ if (this._stylesheetBundlingWorker) {
80
+ return this._stylesheetBundlingWorker;
81
+ }
82
+ this._stylesheetBundlingWorker = new SdWorker(import.meta.resolve("../workers/style-bundler.worker"));
83
+ await this._stylesheetBundlingWorker.run("prepare", [this._opt.pkgPath, this._opt.isDevMode]);
84
+ return this._stylesheetBundlingWorker;
85
+ }
117
86
  async _bundleStylesheetAsync(data, containingFile, resourceFile = null) {
118
87
  // containingFile: 포함된 파일 (.ts)
119
88
  // resourceFile: 외부 리소스 파일 (styleUrls로 입력하지 않고 styles에 직접 입력한 경우 null)
@@ -125,16 +94,11 @@ export class SdTsCompiler {
125
94
  return this._stylesheetBundlingResultMap.get(fileNPath);
126
95
  }
127
96
  try {
128
- const result = resourceFile != null
129
- ? await this._stylesheetBundler.bundleFile(resourceFile)
130
- : await this._stylesheetBundler.bundleInline(data, containingFile, "scss");
131
- if (result.referencedFiles) {
132
- for (const referencedFile of result.referencedFiles) {
133
- const depCacheSet = this._revDepCacheMap.getOrCreate(PathUtils.norm(referencedFile), new Set());
134
- depCacheSet.add(fileNPath);
135
- }
136
- this._watchFileSet.adds(...Array.from(result.referencedFiles.values())
137
- .map((item) => PathUtils.norm(item)));
97
+ const worker = this._stylesheetBundlingWorker;
98
+ const result = await worker.run("bundle", [data, containingFile, resourceFile]);
99
+ for (const referencedFile of result.referencedFiles ?? []) {
100
+ // 참조하는 파일과 참조된 파일 사이의 의존성 관계 추가
101
+ this._depCache.addImport(fileNPath, PathUtils.norm(referencedFile), 0);
138
102
  }
139
103
  this._stylesheetBundlingResultMap.set(fileNPath, result);
140
104
  return result;
@@ -156,83 +120,69 @@ export class SdTsCompiler {
156
120
  }
157
121
  async compileAsync(modifiedFileSet) {
158
122
  this._perf = new SdCliPerformanceTimer("esbuild compile");
159
- this._modifiedFileSet = new Set(modifiedFileSet);
160
- this._affectedFileSet = new Set();
161
- /*for (const mod of modifiedFileSet) {
162
- const workerImporters = this.#workerRevDependencyCacheMap.get(mod);
163
- if (workerImporters) {
164
- this.#modifiedFileSet.adds(...workerImporters);
165
- } else {
166
- this.#modifiedFileSet.add(mod);
167
- }
168
- }*/
169
- const tsconf = this._parseTsConfig();
170
- const prepareResult = await this._prepareAsync(tsconf);
171
- const [buildResult, lintResults] = await Promise.all([
172
- this._buildAsync(tsconf),
173
- this._lintAsync(),
123
+ const prepareResult = await this._prepareAsync(modifiedFileSet);
124
+ const [globalStyleSheet, buildResult, lintResults] = await Promise.all([
125
+ this._buildGlobalStyleAsync(),
126
+ this._build(prepareResult),
127
+ this._lintAsync(prepareResult),
174
128
  ]);
175
129
  this._debug(`빌드 완료됨`, this._perf.toString());
176
- this._debug(`영향 받은 파일: ${this._affectedFileSet.size}개`);
177
- this._debug(`감시 중인 파일: ${this._watchFileSet.size}개`);
130
+ this._debug(`영향 받은 파일: ${prepareResult.affectedFileSet.size}개`);
131
+ this._debug(`감시 중인 파일: ${prepareResult.watchFileSet.size}개`);
178
132
  return {
179
133
  messages: [
180
- ...prepareResult.messages,
181
134
  ...SdCliConvertMessageUtils.convertToBuildMessagesFromTsDiag(buildResult.diagnostics),
182
135
  ...SdCliConvertMessageUtils.convertToBuildMessagesFromEslint(lintResults),
183
136
  ],
184
- watchFileSet: this._watchFileSet,
185
- affectedFileSet: this._affectedFileSet,
137
+ affectedFileSet: prepareResult.affectedFileSet,
138
+ watchFileSet: prepareResult.watchFileSet,
186
139
  stylesheetBundlingResultMap: this._stylesheetBundlingResultMap,
187
140
  emittedFilesCacheMap: this._emittedFilesCacheMap,
188
- emitFileSet: buildResult.emitFileSet,
141
+ emitFileSet: new Set([...buildResult.emitFileSet, globalStyleSheet].filterExists()),
189
142
  };
190
143
  }
191
- async _prepareAsync(tsconf) {
192
- if (this._modifiedFileSet.size !== 0) {
193
- this._debug(`영향 받은 파일 추적 중... (구 의존성)`);
194
- this._perf.run("영향 받은 파일 추적", () => {
195
- for (const modifiedFile of this._modifiedFileSet) {
196
- this._affectedFileSet.add(modifiedFile);
197
- this._affectedFileSet.adds(...(this._revDepCacheMap.get(modifiedFile) ?? []));
198
- // .d.ts → .js 대응
199
- if (modifiedFile.endsWith(".d.ts")) {
200
- const jsEquivalent = PathUtils.norm(modifiedFile.replace(/\.d\.ts$/, ".js"));
201
- this._affectedFileSet.add(jsEquivalent);
202
- }
203
- }
204
- });
144
+ async _prepareAsync(modifiedFileSet) {
145
+ const worker = await this._getOrCreateStyleBundleWorkerAsync();
146
+ const tsconfig = this._parseTsConfig();
147
+ if (modifiedFileSet.size !== 0) {
205
148
  this._debug(`캐시 무효화 및 초기화 중...`);
206
- this._perf.run("캐시 무효화 및 초기화", () => {
207
- this._stylesheetBundler?.invalidate(this._affectedFileSet);
208
- for (const affectedFile of this._affectedFileSet) {
149
+ await this._perf.run("캐시 무효화 및 초기화", async () => {
150
+ // 기존 의존성에 의해 영향받는 파일들 계산
151
+ const affectedFileSet = this._depCache.getAffectedFileSet(modifiedFileSet);
152
+ const getTreeText = (node, indent = "") => {
153
+ let result = indent + node.fileNPath + "\n";
154
+ for (const child of node.children) {
155
+ result += getTreeText(child, indent + " ");
156
+ }
157
+ return result;
158
+ };
159
+ const affectedFileTree = this._depCache.getAffectedFileTree(modifiedFileSet);
160
+ this._debug(`
161
+ 영향받은 기존파일:
162
+ ${affectedFileTree.map(item => getTreeText(item)).join("\n")}`.trim());
163
+ // 스타일 번들러에서 영향받은 파일 관련 항목 무효화
164
+ await worker.run("invalidate", [affectedFileSet]);
165
+ // 의존성 캐시에서 영향받은 파일 관련 항목 무효화
166
+ this._depCache.invalidates(affectedFileSet);
167
+ // 내부 캐시에서 영향받은 파일 관련 항목 무효화
168
+ for (const affectedFile of affectedFileSet) {
209
169
  this._emittedFilesCacheMap.delete(affectedFile);
210
170
  this._sourceFileCacheMap.delete(affectedFile);
211
171
  this._stylesheetBundlingResultMap.delete(affectedFile);
212
- this._watchFileSet.delete(affectedFile);
213
- for (const [key, deps] of this._revDepCacheMap.entries()) {
214
- if (key === affectedFile) {
215
- this._revDepCacheMap.delete(key);
216
- continue;
217
- }
218
- if (deps.has(affectedFile)) {
219
- deps.delete(affectedFile);
220
- if (deps.size === 0) {
221
- this._revDepCacheMap.delete(key);
222
- }
223
- }
224
- }
225
172
  }
226
173
  });
227
174
  }
228
175
  this._debug(`ts.Program 생성 중...`);
176
+ const compilerHost = this._perf.run("ts.CompilerHost 생성", () => {
177
+ return this._createCompilerHost(tsconfig.options, modifiedFileSet);
178
+ });
229
179
  this._perf.run("ts.Program 생성", () => {
230
180
  if (this._isForAngular) {
231
- this._ngProgram = new NgtscProgram(tsconf.fileNames, tsconf.options, tsconf.compilerHost, this._ngProgram);
181
+ this._ngProgram = new NgtscProgram(tsconfig.fileNames, tsconfig.options, compilerHost, this._ngProgram);
232
182
  this._program = this._ngProgram.getTsProgram();
233
183
  }
234
184
  else {
235
- this._program = ts.createProgram(tsconf.fileNames, tsconf.options, tsconf.compilerHost, this._program);
185
+ this._program = ts.createProgram(tsconfig.fileNames, tsconfig.options, compilerHost, this._program);
236
186
  }
237
187
  });
238
188
  if (this._ngProgram) {
@@ -241,60 +191,27 @@ export class SdTsCompiler {
241
191
  });
242
192
  }
243
193
  this._debug(`새 의존성 분석 중...`);
244
- const messages = [];
245
- const analysed1 = this._perf.run("새 의존성 분석", () => {
246
- const analysed = SdTsDependencyAnalyzer.analyze(this._program, tsconf.compilerHost, this._opt.watchScopePaths);
247
- messages.push(...analysed.messages);
248
- for (const sf of analysed.sourceFileSet) {
249
- const filePath = PathUtils.norm(sf.fileName);
250
- const deps = analysed.allDepMap.get(filePath) ?? new Set();
251
- for (const dep of deps) {
252
- const depCache = this._revDepCacheMap.getOrCreate(dep, new Set());
253
- depCache.add(filePath);
254
- }
255
- if (this._ngProgram) {
256
- if (this._ngProgram.compiler.ignoreForEmit.has(sf)) {
257
- continue;
258
- }
259
- for (const dep of this._ngProgram.compiler.getResourceDependencies(sf)) {
260
- const ref = this._revDepCacheMap.getOrCreate(PathUtils.norm(dep), new Set());
261
- ref.add(filePath);
262
- }
263
- }
194
+ this._perf.run("새 의존성 분석", () => {
195
+ // SdTsDependencyAnalyzer를 통해 의존성 분석 SdDepCache 업데이트
196
+ SdDependencyAnalyzer.analyze(this._program, compilerHost, this._opt.watchScopePaths, this._depCache);
197
+ // Angular 리소스 의존성 추가
198
+ if (this._ngProgram) {
199
+ SdDependencyAnalyzer.analyzeAngularResources(this._ngProgram, this._opt.watchScopePaths, this._depCache);
264
200
  }
265
- return analysed;
266
201
  });
267
- if (this._modifiedFileSet.size === 0) {
268
- this._debug(`영향 받은 파일 추가 중... (새 의존성)`);
269
- this._perf.run("영향 받은 파일 추가 중 (새 의존성)", () => {
270
- for (const sf of analysed1.sourceFileSet) {
271
- if (!this._opt.watchScopePaths.some((scopePath) => PathUtils.isChildPath(sf.fileName, scopePath))) {
272
- continue;
273
- }
274
- this._affectedFileSet.add(PathUtils.norm(sf.fileName));
275
- }
276
- });
277
- }
278
- for (const dep of this._revDepCacheMap.keys()) {
279
- if (this._modifiedFileSet.has(dep)) {
280
- this._affectedFileSet.adds(...Array.from(this._revDepCacheMap.get(dep)).mapMany((item) => [
281
- item,
282
- // .d.ts면 .js파일도 affected에 추가
283
- item.endsWith(".d.ts") ? PathUtils.norm(item.replace(/\.d\.ts$/, ".js")) : undefined,
284
- ].filterExists()));
285
- }
286
- // dep이 emit된적이 없으면 affected에 추가해야함.
287
- // dep파일이 추가된후 기존 파일에서 import하면 dep파일이 affected에 포함이 안되는 현상 때문
288
- if (!this._emittedFilesCacheMap.has(dep)) {
289
- this._affectedFileSet.add(dep);
290
- }
291
- }
202
+ const affectedFileSet = modifiedFileSet.size === 0
203
+ ? this._depCache.getFiles()
204
+ : this._depCache.getAffectedFileSet(modifiedFileSet);
205
+ const watchFileSet = this._depCache.getFiles();
292
206
  return {
293
- messages,
207
+ tsconfig,
208
+ compilerHost,
209
+ affectedFileSet,
210
+ watchFileSet,
294
211
  };
295
212
  }
296
- async _lintAsync() {
297
- const lintFilePaths = Array.from(this._affectedFileSet)
213
+ async _lintAsync(prepareResult) {
214
+ const lintFilePaths = Array.from(prepareResult.affectedFileSet)
298
215
  .filter((item) => PathUtils.isChildPath(item, this._opt.pkgPath))
299
216
  .filter((item) => ((!item.endsWith(".d.ts") && item.endsWith(".ts")) ||
300
217
  item.endsWith(".js")))
@@ -308,7 +225,6 @@ export class SdTsCompiler {
308
225
  overrideConfig: {
309
226
  languageOptions: {
310
227
  parserOptions: {
311
- // parser: tseslint.parser,
312
228
  project: null,
313
229
  programs: [this._program],
314
230
  },
@@ -316,14 +232,28 @@ export class SdTsCompiler {
316
232
  },
317
233
  });
318
234
  return await linter.lintFiles(lintFilePaths);
319
- // return await this.#lintWorker.run("lint", [
320
- // {
321
- // cwd: this.#pkgPath,
322
- // fileSet: this.#affectedFileSet,
323
- // },
324
- // ]);
325
235
  }
326
- async _buildAsync(tsconf) {
236
+ async _buildGlobalStyleAsync() {
237
+ //-- global style
238
+ if (this._opt.globalStyleFilePath != null &&
239
+ FsUtils.exists(this._opt.globalStyleFilePath) &&
240
+ !this._emittedFilesCacheMap.has(this._opt.globalStyleFilePath)) {
241
+ this._debug(`전역 스타일 번들링 중...`);
242
+ await this._perf.run("전역 스타일 번들링", async () => {
243
+ const data = await FsUtils.readFileAsync(this._opt.globalStyleFilePath);
244
+ const stylesheetBundlingResult = await this._bundleStylesheetAsync(data, this._opt.globalStyleFilePath, this._opt.globalStyleFilePath);
245
+ const emitFileInfos = this._emittedFilesCacheMap.getOrCreate(this._opt.globalStyleFilePath, []);
246
+ emitFileInfos.push({
247
+ outAbsPath: PathUtils.norm(this._opt.pkgPath, path.relative(path.resolve(this._opt.pkgPath, "src"), this._opt.globalStyleFilePath)
248
+ .replace(/\.scss$/, ".css")),
249
+ text: stylesheetBundlingResult.contents ?? "",
250
+ });
251
+ });
252
+ return this._opt.globalStyleFilePath;
253
+ }
254
+ return undefined;
255
+ }
256
+ _build(prepareResult) {
327
257
  const emitFileSet = new Set();
328
258
  const diagnostics = [];
329
259
  this._debug(`프로그램 진단 수집 중...`);
@@ -334,7 +264,7 @@ export class SdTsCompiler {
334
264
  }
335
265
  });
336
266
  this._debug(`개별 파일 진단 수집 중...`);
337
- for (const affectedFile of this._affectedFileSet) {
267
+ for (const affectedFile of prepareResult.affectedFileSet) {
338
268
  if (!PathUtils.isChildPath(affectedFile, this._opt.pkgPath))
339
269
  continue;
340
270
  const affectedSourceFile = this._program.getSourceFile(affectedFile);
@@ -373,7 +303,7 @@ export class SdTsCompiler {
373
303
  // affected에 새로 추가된 파일은 포함되지 않는 현상이 있어 sourceFileSet으로 바꿈
374
304
  // 비교해보니, 딱히 getSourceFiles라서 더 느려지는것 같지는 않음
375
305
  // 그래도 affected로 다시 테스트 (조금이라도 더 빠르게)
376
- for (const affectedFile of this._affectedFileSet) {
306
+ for (const affectedFile of prepareResult.affectedFileSet) {
377
307
  if (this._emittedFilesCacheMap.has(affectedFile))
378
308
  continue;
379
309
  const sf = this._program.getSourceFile(affectedFile);
@@ -390,7 +320,7 @@ export class SdTsCompiler {
390
320
  }
391
321
  this._program.emit(sf, (fileName, text, writeByteOrderMark, onError, sourceFiles, data) => {
392
322
  if (!sourceFiles || sourceFiles.length === 0) {
393
- tsconf.compilerHost.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data);
323
+ prepareResult.compilerHost.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data);
394
324
  return;
395
325
  }
396
326
  const sourceFile = ts.getOriginalNode(sourceFiles[0], ts.isSourceFile);
@@ -401,7 +331,7 @@ export class SdTsCompiler {
401
331
  }
402
332
  const emitFileInfoCaches = this._emittedFilesCacheMap.getOrCreate(PathUtils.norm(sourceFile.fileName), []);
403
333
  if (PathUtils.isChildPath(sourceFile.fileName, this._opt.pkgPath)) {
404
- const real = this._convertOutputToReal(fileName, tsconf.distPath, text);
334
+ const real = this._convertOutputToReal(fileName, prepareResult.tsconfig.distPath, text);
405
335
  emitFileInfoCaches.push({
406
336
  outAbsPath: real.filePath,
407
337
  text: real.text,
@@ -414,23 +344,6 @@ export class SdTsCompiler {
414
344
  }, undefined, undefined, transformers);
415
345
  }
416
346
  });
417
- //-- global style
418
- if (this._opt.globalStyleFilePath != null &&
419
- FsUtils.exists(this._opt.globalStyleFilePath) &&
420
- !this._emittedFilesCacheMap.has(this._opt.globalStyleFilePath)) {
421
- this._debug(`전역 스타일 번들링 중...`);
422
- await this._perf.run("전역 스타일 번들링", async () => {
423
- const data = FsUtils.readFile(this._opt.globalStyleFilePath);
424
- const stylesheetBundlingResult = await this._bundleStylesheetAsync(data, this._opt.globalStyleFilePath, this._opt.globalStyleFilePath);
425
- const emitFileInfos = this._emittedFilesCacheMap.getOrCreate(this._opt.globalStyleFilePath, []);
426
- emitFileInfos.push({
427
- outAbsPath: PathUtils.norm(this._opt.pkgPath, path.relative(path.resolve(this._opt.pkgPath, "src"), this._opt.globalStyleFilePath)
428
- .replace(/\.scss$/, ".css")),
429
- text: stylesheetBundlingResult.contents ?? "",
430
- });
431
- emitFileSet.add(this._opt.globalStyleFilePath);
432
- });
433
- }
434
347
  return {
435
348
  emitFileSet,
436
349
  diagnostics,
@@ -1 +1 @@
1
- {"version":3,"file":"sd-ts-compiler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-ts-compiler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { ISdBuildRunnerWorkerRequest } from "./build-runner.types";
2
2
  import { ISdBuildMessage, ISdBuildRunnerResult } from "./build.types";
3
3
  import { ESLint } from "eslint";
4
+ import { TNormPath } from "@simplysm/sd-core-node";
5
+ import { ComponentStylesheetResult } from "@angular/build/src/tools/esbuild/angular/component-stylesheets";
4
6
  export interface TServerWorkerType {
5
7
  methods: {
6
8
  listen: {
@@ -46,3 +48,20 @@ export interface TSdBuildRunnerWorkerType {
46
48
  complete: ISdBuildRunnerResult;
47
49
  };
48
50
  }
51
+ export interface TStyleBundlerWorkerType {
52
+ methods: {
53
+ prepare: {
54
+ params: [string, boolean];
55
+ returnType: void;
56
+ };
57
+ bundle: {
58
+ params: [string, TNormPath, TNormPath | null];
59
+ returnType: ComponentStylesheetResult;
60
+ };
61
+ invalidate: {
62
+ params: [Set<TNormPath>];
63
+ returnType: void;
64
+ };
65
+ };
66
+ events: {};
67
+ }
@@ -1,6 +1,7 @@
1
1
  export declare class SdCliPerformanceTimer {
2
- #private;
3
2
  private _name;
3
+ private _startingMap;
4
+ private _resultMap;
4
5
  constructor(_name: string);
5
6
  start(name: string): void;
6
7
  end(name: string): void;
@@ -1,18 +1,18 @@
1
1
  export class SdCliPerformanceTimer {
2
- #startingMap = new Map();
3
- #resultMap = new Map();
4
2
  constructor(_name) {
5
3
  this._name = _name;
4
+ this._startingMap = new Map();
5
+ this._resultMap = new Map();
6
6
  }
7
7
  start(name) {
8
- this.#startingMap.set(name, new Date().getTime());
8
+ this._startingMap.set(name, new Date().getTime());
9
9
  }
10
10
  end(name) {
11
- const val = this.#startingMap.get(name);
11
+ const val = this._startingMap.get(name);
12
12
  if (val == null)
13
13
  throw new Error();
14
- this.#resultMap.set(name, new Date().getTime() - val);
15
- this.#startingMap.delete(name);
14
+ this._resultMap.set(name, new Date().getTime() - val);
15
+ this._startingMap.delete(name);
16
16
  }
17
17
  run(name, fn) {
18
18
  const startTime = new Date().getTime();
@@ -20,18 +20,18 @@ export class SdCliPerformanceTimer {
20
20
  if (res instanceof Promise) {
21
21
  return res.then((realRes) => {
22
22
  const duration = new Date().getTime() - startTime;
23
- this.#resultMap.update(name, (v) => (v ?? 0) + duration);
23
+ this._resultMap.update(name, (v) => (v ?? 0) + duration);
24
24
  return realRes;
25
25
  });
26
26
  }
27
27
  const duration = new Date().getTime() - startTime;
28
- this.#resultMap.update(name, (v) => (v ?? 0) + duration);
28
+ this._resultMap.update(name, (v) => (v ?? 0) + duration);
29
29
  return res;
30
30
  }
31
31
  toString() {
32
32
  return `${this._name} 성능 보고서
33
33
  ------------------------------------
34
- ${Array.from(this.#resultMap.entries())
34
+ ${Array.from(this._resultMap.entries())
35
35
  .map((en) => `${en[0]}: ${en[1].toLocaleString()}ms`)
36
36
  .join("\n")}
37
37
  ------------------------------------`;
@@ -1 +1 @@
1
- {"version":3,"file":"sd-cli-performance-time.js","sourceRoot":"","sources":["../../src/utils/sd-cli-performance-time.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAChC,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEvC,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAErC,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAI,IAAY,EAAE,EAAW;QAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACzD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAM,CAAC;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK;;EAEtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aACpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC;qCACwB,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"sd-cli-performance-time.js","sourceRoot":"","sources":["../../src/utils/sd-cli-performance-time.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IAIhC,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAHzB,iBAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEX,CAAC;IAErC,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAI,IAAY,EAAE,EAAW;QAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACzD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAM,CAAC;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK;;EAEtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aACpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC;qCACwB,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export {};