@simplysm/sd-cli 12.13.37 → 12.13.39

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 (121) hide show
  1. package/dist/pkg-builders/SdBuildRunnerBase.d.ts +14 -0
  2. package/dist/pkg-builders/SdBuildRunnerBase.js +23 -0
  3. package/dist/pkg-builders/SdBuildRunnerBase.js.map +1 -0
  4. package/dist/pkg-builders/SdProjectBuildRunner.js +18 -14
  5. package/dist/pkg-builders/SdProjectBuildRunner.js.map +1 -1
  6. package/dist/pkg-builders/client/SdClientBuildRunner.d.ts +1 -1
  7. package/dist/pkg-builders/client/SdClientBuildRunner.js +17 -36
  8. package/dist/pkg-builders/client/SdClientBuildRunner.js.map +1 -1
  9. package/dist/pkg-builders/client/SdNgBundler.d.ts +10 -16
  10. package/dist/pkg-builders/client/SdNgBundler.js +59 -54
  11. package/dist/pkg-builders/client/SdNgBundler.js.map +1 -1
  12. package/dist/pkg-builders/client/createSdNgPlugin.d.ts +2 -11
  13. package/dist/pkg-builders/client/createSdNgPlugin.js +16 -25
  14. package/dist/pkg-builders/client/createSdNgPlugin.js.map +1 -1
  15. package/dist/pkg-builders/lib/SdJsLibBuildRunner.d.ts +1 -1
  16. package/dist/pkg-builders/lib/SdJsLibBuildRunner.js +5 -5
  17. package/dist/pkg-builders/lib/SdJsLibBuildRunner.js.map +1 -1
  18. package/dist/pkg-builders/lib/SdTsLibBuildRunner.d.ts +1 -1
  19. package/dist/pkg-builders/lib/SdTsLibBuildRunner.js +6 -6
  20. package/dist/pkg-builders/lib/SdTsLibBuildRunner.js.map +1 -1
  21. package/dist/pkg-builders/lib/SdTsLibBuilder.d.ts +3 -3
  22. package/dist/pkg-builders/lib/SdTsLibBuilder.js +6 -15
  23. package/dist/pkg-builders/lib/SdTsLibBuilder.js.map +1 -1
  24. package/dist/pkg-builders/server/SdServerBuildRunner.d.ts +1 -1
  25. package/dist/pkg-builders/server/SdServerBuildRunner.js +25 -42
  26. package/dist/pkg-builders/server/SdServerBuildRunner.js.map +1 -1
  27. package/dist/pkg-builders/server/SdServerBundler.d.ts +4 -10
  28. package/dist/pkg-builders/server/SdServerBundler.js +15 -22
  29. package/dist/pkg-builders/server/SdServerBundler.js.map +1 -1
  30. package/dist/pkg-builders/server/createSdServerPlugin.d.ts +2 -11
  31. package/dist/pkg-builders/server/createSdServerPlugin.js +10 -19
  32. package/dist/pkg-builders/server/createSdServerPlugin.js.map +1 -1
  33. package/dist/sd-cli-entry.js +1 -1
  34. package/dist/sd-cli-entry.js.map +1 -1
  35. package/dist/ts-compiler/ScopePathSet.js.map +1 -0
  36. package/dist/ts-compiler/SdDepAnalyzer.d.ts +1 -1
  37. package/dist/ts-compiler/SdStyleBundler.d.ts +8 -5
  38. package/dist/ts-compiler/SdStyleBundler.js +30 -15
  39. package/dist/ts-compiler/SdStyleBundler.js.map +1 -1
  40. package/dist/ts-compiler/SdTsCompiler.d.ts +2 -1
  41. package/dist/ts-compiler/SdTsCompiler.js +68 -53
  42. package/dist/ts-compiler/SdTsCompiler.js.map +1 -1
  43. package/dist/types/build/ISdTsCompilerOptions.d.ts +6 -9
  44. package/dist/types/worker/ISdBuildRunnerWorkerType.d.ts +4 -7
  45. package/dist/workers/build-runner.worker.js +4 -5
  46. package/dist/workers/build-runner.worker.js.map +1 -1
  47. package/package.json +5 -5
  48. package/src/pkg-builders/SdBuildRunnerBase.ts +36 -0
  49. package/src/pkg-builders/SdProjectBuildRunner.ts +24 -16
  50. package/src/pkg-builders/client/SdClientBuildRunner.ts +25 -46
  51. package/src/pkg-builders/client/SdNgBundler.ts +69 -73
  52. package/src/pkg-builders/client/createSdNgPlugin.ts +21 -35
  53. package/src/pkg-builders/lib/SdJsLibBuildRunner.ts +5 -5
  54. package/src/pkg-builders/lib/SdTsLibBuildRunner.ts +9 -13
  55. package/src/pkg-builders/lib/SdTsLibBuilder.ts +7 -23
  56. package/src/pkg-builders/server/SdServerBuildRunner.ts +32 -50
  57. package/src/pkg-builders/server/SdServerBundler.ts +16 -32
  58. package/src/pkg-builders/server/createSdServerPlugin.ts +15 -29
  59. package/src/sd-cli-entry.ts +1 -1
  60. package/src/ts-compiler/SdDepAnalyzer.ts +1 -1
  61. package/src/ts-compiler/SdStyleBundler.ts +34 -15
  62. package/src/ts-compiler/SdTsCompiler.ts +75 -63
  63. package/src/types/build/ISdTsCompilerOptions.ts +6 -9
  64. package/src/types/worker/ISdBuildRunnerWorkerType.ts +4 -9
  65. package/src/workers/build-runner.worker.ts +7 -16
  66. package/dist/fix/convert-extends-sd-modal-base-to-interface.d.ts +0 -1
  67. package/dist/fix/convert-extends-sd-modal-base-to-interface.js +0 -289
  68. package/dist/fix/convert-extends-sd-modal-base-to-interface.js.map +0 -1
  69. package/dist/fix/convert-extends-sd-print-template-base-to-interface.d.ts +0 -1
  70. package/dist/fix/convert-extends-sd-print-template-base-to-interface.js +0 -179
  71. package/dist/fix/convert-extends-sd-print-template-base-to-interface.js.map +0 -1
  72. package/dist/fix/convert-flat-pages-to-flat-menus.d.ts +0 -1
  73. package/dist/fix/convert-flat-pages-to-flat-menus.js +0 -68
  74. package/dist/fix/convert-flat-pages-to-flat-menus.js.map +0 -1
  75. package/dist/fix/convert-get-menus-to-usable-menus.d.ts +0 -1
  76. package/dist/fix/convert-get-menus-to-usable-menus.js +0 -48
  77. package/dist/fix/convert-get-menus-to-usable-menus.js.map +0 -1
  78. package/dist/fix/convert-modal-show-params.d.ts +0 -1
  79. package/dist/fix/convert-modal-show-params.js +0 -29
  80. package/dist/fix/convert-modal-show-params.js.map +0 -1
  81. package/dist/fix/convert-print-params.d.ts +0 -1
  82. package/dist/fix/convert-print-params.js +0 -37
  83. package/dist/fix/convert-print-params.js.map +0 -1
  84. package/dist/fix/convert-sd-icon-to-fa-icon.d.ts +0 -1
  85. package/dist/fix/convert-sd-icon-to-fa-icon.js +0 -80
  86. package/dist/fix/convert-sd-icon-to-fa-icon.js.map +0 -1
  87. package/dist/fix/convert-sd-sheet-bindings-safety.d.ts +0 -1
  88. package/dist/fix/convert-sd-sheet-bindings-safety.js +0 -57
  89. package/dist/fix/convert-sd-sheet-bindings-safety.js.map +0 -1
  90. package/dist/fix/convert-select-modal-button-to-select-button.d.ts +0 -1
  91. package/dist/fix/convert-select-modal-button-to-select-button.js +0 -64
  92. package/dist/fix/convert-select-modal-button-to-select-button.js.map +0 -1
  93. package/dist/fix/convert-setup-cumulate-selected-keys-to-object-param.d.ts +0 -1
  94. package/dist/fix/convert-setup-cumulate-selected-keys-to-object-param.js +0 -38
  95. package/dist/fix/convert-setup-cumulate-selected-keys-to-object-param.js.map +0 -1
  96. package/dist/fix/convert-to-use-perms-signal.d.ts +0 -1
  97. package/dist/fix/convert-to-use-perms-signal.js +0 -99
  98. package/dist/fix/convert-to-use-perms-signal.js.map +0 -1
  99. package/dist/fix/core/remove-named-import.d.ts +0 -1
  100. package/dist/fix/core/remove-named-import.js +0 -14
  101. package/dist/fix/core/remove-named-import.js.map +0 -1
  102. package/dist/pkg-builders/commons/ScopePathSet.js.map +0 -1
  103. package/dist/pkg-builders/commons/SdBuildRunnerBase.d.ts +0 -20
  104. package/dist/pkg-builders/commons/SdBuildRunnerBase.js +0 -30
  105. package/dist/pkg-builders/commons/SdBuildRunnerBase.js.map +0 -1
  106. package/src/fix/convert-extends-sd-modal-base-to-interface.ts +0 -324
  107. package/src/fix/convert-extends-sd-print-template-base-to-interface.ts +0 -201
  108. package/src/fix/convert-flat-pages-to-flat-menus.ts +0 -83
  109. package/src/fix/convert-get-menus-to-usable-menus.ts +0 -60
  110. package/src/fix/convert-modal-show-params.ts +0 -37
  111. package/src/fix/convert-print-params.ts +0 -51
  112. package/src/fix/convert-sd-icon-to-fa-icon.ts +0 -95
  113. package/src/fix/convert-sd-sheet-bindings-safety.ts +0 -73
  114. package/src/fix/convert-select-modal-button-to-select-button.ts +0 -91
  115. package/src/fix/convert-setup-cumulate-selected-keys-to-object-param.ts +0 -44
  116. package/src/fix/convert-to-use-perms-signal.ts +0 -133
  117. package/src/fix/core/remove-named-import.ts +0 -14
  118. package/src/pkg-builders/commons/SdBuildRunnerBase.ts +0 -47
  119. /package/dist/{pkg-builders/commons → ts-compiler}/ScopePathSet.d.ts +0 -0
  120. /package/dist/{pkg-builders/commons → ts-compiler}/ScopePathSet.js +0 -0
  121. /package/src/{pkg-builders/commons → ts-compiler}/ScopePathSet.ts +0 -0
@@ -11,9 +11,11 @@ import { SdDepCache } from "./SdDepCache";
11
11
  import { SdDepAnalyzer } from "./SdDepAnalyzer";
12
12
  import { FlatESLint } from "eslint/use-at-your-own-risk";
13
13
  import { SdStyleBundler } from "./SdStyleBundler";
14
+ import { ScopePathSet } from "./ScopePathSet";
14
15
  export class SdTsCompiler {
15
16
  #logger = SdLogger.get(["simplysm", "sd-cli", "SdTsCompiler"]);
16
17
  #isForAngular;
18
+ #scopePathSet;
17
19
  #styleBundler;
18
20
  #ngProgram;
19
21
  #program;
@@ -28,14 +30,20 @@ export class SdTsCompiler {
28
30
  #sourceFileCacheMap = new Map();
29
31
  #emittedFilesCacheMap = new Map();
30
32
  #perf;
31
- constructor(_opt) {
33
+ constructor(_opt, _forBundle) {
32
34
  this._opt = _opt;
35
+ this._forBundle = _forBundle;
33
36
  this.#debug("초기화 중...");
34
37
  const tsconfigPath = path.resolve(this._opt.pkgPath, "tsconfig.json");
35
38
  const tsconfig = FsUtils.readJson(tsconfigPath);
36
39
  this.#isForAngular = Boolean(tsconfig.angularCompilerOptions);
37
- if (!this._opt.isNoEmit) {
38
- this.#styleBundler = new SdStyleBundler(this._opt.pkgPath, this._opt.isDevMode, this._opt.scopePathSet);
40
+ this.#scopePathSet = new ScopePathSet(this._opt.scopePathSet);
41
+ if (!this._opt.watch?.noEmit) {
42
+ this.#styleBundler = new SdStyleBundler({
43
+ pkgPath: this._opt.pkgPath,
44
+ scopePathSet: this.#scopePathSet,
45
+ dev: !!this._opt.watch?.dev,
46
+ });
39
47
  }
40
48
  }
41
49
  #parseTsConfig() {
@@ -43,8 +51,8 @@ export class SdTsCompiler {
43
51
  const tsconfig = FsUtils.readJson(tsconfigPath);
44
52
  const parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, this._opt.pkgPath, {
45
53
  ...tsconfig.angularCompilerOptions,
46
- ...this._opt.additionalOptions,
47
- ...(this._opt.isEmitOnly
54
+ ...(this._forBundle ? { declaration: false } : {}),
55
+ ...(this._opt.watch?.emitOnly
48
56
  ? {
49
57
  // typescript
50
58
  noEmitOnError: false,
@@ -102,7 +110,7 @@ export class SdTsCompiler {
102
110
  compilerHost.readResource = (fileName) => {
103
111
  return compilerHost.readFile(fileName) ?? "";
104
112
  };
105
- if (!this._opt.isNoEmit) {
113
+ if (!this._opt.watch?.noEmit) {
106
114
  compilerHost.transformResource = async (data, context) => {
107
115
  if (context.type !== "style") {
108
116
  return null;
@@ -123,33 +131,36 @@ export class SdTsCompiler {
123
131
  this.#perf = new SdCliPerformanceTimer("esbuild compile");
124
132
  const prepareResult = await this.#prepareAsync(modifiedFileSet);
125
133
  const [globalStyleSheet, buildResult, lintResults] = await Promise.all([
126
- this._opt.isNoEmit ? undefined : this.#buildGlobalStyleAsync(),
134
+ this._opt.watch?.noEmit ? undefined : this.#buildGlobalStyleAsync(),
127
135
  this.#build(prepareResult),
128
- this._opt.isEmitOnly ? [] : this.#lintAsync(prepareResult),
136
+ this._opt.watch?.emitOnly ? [] : this.#lintAsync(prepareResult),
129
137
  ]);
130
138
  const affectedFileSet = new Set([
131
139
  ...prepareResult.affectedFileSet,
132
- ...prepareResult.styleAffectedFileSet,
140
+ ...(this.#styleBundler?.getAffectedFileSet(modifiedFileSet) ?? []),
141
+ ]);
142
+ const watchFileSet = new Set([
143
+ ...prepareResult.watchFileSet,
144
+ ...(this.#styleBundler?.getAllStyleFileSet() ?? []),
133
145
  ]);
134
146
  this.#debug(`빌드 완료됨`, this.#perf.toString());
135
- this.#debug(`영향 받은 파일: ${affectedFileSet.size}개`);
136
- this.#debug(`감시 중인 파일: ${prepareResult.watchFileSet.size}개`);
147
+ this.#debug(`영향 받은 파일: ${affectedFileSet.size}개`, affectedFileSet);
148
+ this.#debug(`감시 중인 파일: ${watchFileSet.size}개`);
137
149
  return {
138
150
  messages: [
139
151
  ...SdCliConvertMessageUtils.convertToBuildMessagesFromTsDiag(buildResult.diagnostics),
140
152
  ...SdCliConvertMessageUtils.convertToBuildMessagesFromEslint(lintResults),
141
153
  ],
142
154
  affectedFileSet: affectedFileSet,
143
- watchFileSet: prepareResult.watchFileSet,
155
+ watchFileSet: watchFileSet,
144
156
  stylesheetBundlingResultMap: this.#styleBundler?.getResultCache() ?? new Map(),
145
157
  emittedFilesCacheMap: this.#emittedFilesCacheMap,
146
158
  emitFileSet: new Set([...buildResult.emitFileSet, globalStyleSheet].filterExists()),
147
159
  };
148
160
  }
149
161
  async #prepareAsync(modifiedFileSet) {
150
- // const worker = await this._getOrCreateStyleBundleWorkerAsync();
151
162
  const tsconfig = this.#parseTsConfig();
152
- if (modifiedFileSet.size !== 0 && this._opt.isWatchMode) {
163
+ if (modifiedFileSet.size !== 0 && this._opt.watch) {
153
164
  this.#debug(`캐시 무효화 및 초기화 중...`);
154
165
  // this._perf.run("캐시 무효화 및 초기화", () => {
155
166
  this.#perf.run("캐시 무효화 및 초기화", () => {
@@ -160,9 +171,10 @@ export class SdTsCompiler {
160
171
  // 스타일 번들러 무효화 (transformResource 재실행 땜에 필요할듯)
161
172
  if (this.#styleBundler) {
162
173
  const styleAffectedFileSet = this.#styleBundler.invalidate(modifiedFileSet);
163
- // 스타일 변경된 파일들로 소스파일 무효화
174
+ // 스타일 변경된 파일들로 무효화
164
175
  for (const styleAffectedFile of styleAffectedFileSet) {
165
176
  this.#sourceFileCacheMap.delete(styleAffectedFile);
177
+ this.#emittedFilesCacheMap.delete(styleAffectedFile);
166
178
  }
167
179
  }
168
180
  // angular origin 파일 매핑은 변경된 파일들로 무효화
@@ -170,11 +182,7 @@ export class SdTsCompiler {
170
182
  this.#cache.ngOrg.delete(modifiedFile);
171
183
  }
172
184
  // 기존 의존성에 의해 영향받는 파일들 계산
173
- const affectedFileMap = this.#cache.dep.getAffectedFileMap(modifiedFileSet);
174
- const affectedFileSet = new Set(Array.from(affectedFileMap.values()).mapMany((item) => Array.from(item)));
175
- // 의존성 캐시에서 영향받은 파일 관련 항목 무효화 (Affected더라도 SF는 동일하므로, modifiedFileSet만 넣어도될듯?)
176
- // 250715: sourceFile 타입체크를 다시 해야해서 affected로 넣는게 맞는듯.
177
- this.#cache.dep.invalidates(affectedFileSet);
185
+ this.#cache.dep.invalidates(modifiedFileSet);
178
186
  // 결과물이 바뀌어야 하는 캐시 모두 무효화 (modified만 다시쓰면될듯..)
179
187
  for (const modifiedFile of modifiedFileSet) {
180
188
  this.#emittedFilesCacheMap.delete(modifiedFile);
@@ -194,77 +202,81 @@ export class SdTsCompiler {
194
202
  this.#program = ts.createProgram(tsconfig.fileNames, tsconfig.options, compilerHost, this.#program);
195
203
  }
196
204
  });
197
- this.#debug(`ts.Program 생성`);
198
205
  if (this.#ngProgram) {
206
+ this.#debug(`Angular 템플릿 분석...`);
199
207
  await this.#perf.run("Angular 템플릿 분석", async () => {
200
208
  await this.#ngProgram.compiler.analyzeAsync();
201
209
  });
202
210
  }
203
- if (!this._opt.isEmitOnly && this._opt.isWatchMode) {
211
+ if (!this._opt.watch?.emitOnly && this._opt.watch) {
204
212
  this.#debug(`새 의존성 분석 중...`);
205
213
  this.#perf.run("새 의존성 분석", () => {
206
214
  // SdTsDependencyAnalyzer를 통해 의존성 분석 및 SdDepCache 업데이트
207
- SdDepAnalyzer.analyze(this.#program, compilerHost, this._opt.scopePathSet, this.#cache);
215
+ SdDepAnalyzer.analyze(this.#program, compilerHost, this.#scopePathSet, this.#cache);
208
216
  });
209
- this.#debug(`새 의존성 분석(Angular) 중...`);
210
217
  // Angular 리소스 의존성 추가
211
218
  if (this.#ngProgram) {
219
+ this.#debug(`새 의존성 분석(Angular) 중...`);
212
220
  this.#perf.run("새 의존성 분석(Angular)", () => {
213
- SdDepAnalyzer.analyzeAngularResources(this.#ngProgram, this._opt.scopePathSet, this.#cache.dep);
221
+ SdDepAnalyzer.analyzeAngularResources(this.#ngProgram, this.#scopePathSet, this.#cache.dep);
214
222
  });
215
223
  }
216
224
  }
217
- const allFiles = this.#program.getSourceFiles().mapMany((item) => [
225
+ const allTsFiles = this.#program.getSourceFiles().mapMany((item) => [
218
226
  PathUtils.norm(item.fileName),
219
227
  ...(item.fileName.endsWith(".d.ts")
220
228
  ? [PathUtils.norm(item.fileName.replace(/\.d\.ts$/, "") + ".js")]
221
229
  : []),
222
230
  ]);
223
- const watchFileSet = new Set(allFiles.filter((item) => this._opt.scopePathSet.inScope(item)));
231
+ const watchFileSet = new Set(allTsFiles.filter((item) => this.#scopePathSet.inScope(item)));
224
232
  let affectedFileSet;
225
233
  if (modifiedFileSet.size === 0) {
226
- affectedFileSet = new Set(allFiles.filter((item) => this._opt.scopePathSet.inScope(item)));
234
+ affectedFileSet = new Set(allTsFiles.filter((item) => this.#scopePathSet.inScope(item)));
227
235
  }
228
236
  else {
229
237
  const affectedFileMap = this.#cache.dep.getAffectedFileMap(modifiedFileSet);
230
- this.#debug("영향받은 파일:", affectedFileMap);
231
238
  affectedFileSet = new Set(Array.from(affectedFileMap.values()).mapMany((item) => Array.from(item)));
232
239
  }
233
240
  return {
234
241
  tsconfig,
235
242
  compilerHost,
236
- affectedFileSet,
237
- styleAffectedFileSet: this.#styleBundler?.getAffectedFileSet(affectedFileSet) ?? new Set(),
238
243
  watchFileSet,
244
+ affectedFileSet,
245
+ styleAffectedFileSet: this.#styleBundler?.getAffectedFileSet(modifiedFileSet) ?? new Set(),
239
246
  };
240
247
  }
241
248
  async #lintAsync(prepareResult) {
242
- const lintFilePaths = Array.from(prepareResult.affectedFileSet)
243
- .filter((item) => PathUtils.isChildPath(item, this._opt.pkgPath))
244
- .filter((item) => (!item.endsWith(".d.ts") && item.endsWith(".ts")) || item.endsWith(".js"))
245
- .filter((item) => FsUtils.exists(item));
246
- if (lintFilePaths.length === 0) {
247
- return [];
248
- }
249
- const linter = new FlatESLint({
250
- cwd: this._opt.pkgPath,
251
- cache: false,
252
- overrideConfig: {
253
- languageOptions: {
254
- parserOptions: {
255
- project: null,
256
- programs: [this.#program],
249
+ return await this.#perf.run("Linting", async () => {
250
+ this.#debug(`Linting...`);
251
+ const lintFilePaths = Array.from(prepareResult.affectedFileSet)
252
+ .filter((item) => PathUtils.isChildPath(item, this._opt.pkgPath))
253
+ .filter((item) => (!item.endsWith(".d.ts") && item.endsWith(".ts")) || item.endsWith(".js"))
254
+ .filter((item) => FsUtils.exists(item));
255
+ if (lintFilePaths.length === 0) {
256
+ return [];
257
+ }
258
+ const linter = new FlatESLint({
259
+ cwd: this._opt.pkgPath,
260
+ cache: false,
261
+ overrideConfig: {
262
+ languageOptions: {
263
+ parserOptions: {
264
+ project: null,
265
+ programs: [this.#program],
266
+ },
257
267
  },
258
268
  },
259
- },
269
+ });
270
+ const result = await linter.lintFiles(lintFilePaths);
271
+ this.#debug(`Linting 완료`);
272
+ return result;
260
273
  });
261
- return await linter.lintFiles(lintFilePaths);
262
274
  }
263
275
  async #buildGlobalStyleAsync() {
264
276
  if (!this.#isForAngular)
265
277
  return;
266
278
  //-- global style
267
- const globalStyleFilePath = PathUtils.norm(this._opt.pkgPath, "src/styles.scss");
279
+ const globalStyleFilePath = PathUtils.norm(this._opt.pkgPath, "scss/styles.scss");
268
280
  if (this.#emittedFilesCacheMap.has(globalStyleFilePath))
269
281
  return;
270
282
  if (!FsUtils.exists(globalStyleFilePath))
@@ -276,7 +288,7 @@ export class SdTsCompiler {
276
288
  const emitFileInfos = this.#emittedFilesCacheMap.getOrCreate(globalStyleFilePath, []);
277
289
  emitFileInfos.push({
278
290
  outAbsPath: PathUtils.norm(this._opt.pkgPath, path
279
- .relative(path.resolve(this._opt.pkgPath, "src"), globalStyleFilePath)
291
+ .relative(path.resolve(this._opt.pkgPath, "scss"), globalStyleFilePath)
280
292
  .replace(/\.scss$/, ".css")),
281
293
  text: stylesheetBundlingResult.contents ?? "",
282
294
  });
@@ -286,7 +298,7 @@ export class SdTsCompiler {
286
298
  #build(prepareResult) {
287
299
  const emitFileSet = new Set();
288
300
  const diagnostics = [];
289
- if (!this._opt.isEmitOnly) {
301
+ if (!this._opt.watch?.emitOnly) {
290
302
  this.#debug(`프로그램 진단 수집 중...`);
291
303
  this.#perf.run("프로그램 진단 수집", () => {
292
304
  diagnostics.push(...this.#program.getConfigFileParsingDiagnostics(), ...this.#program.getOptionsDiagnostics(), ...this.#program.getGlobalDiagnostics());
@@ -315,7 +327,7 @@ export class SdTsCompiler {
315
327
  }
316
328
  }
317
329
  }
318
- if (!this._opt.isNoEmit) {
330
+ if (!this._opt.watch?.noEmit) {
319
331
  this.#perf.run("파일 출력 (emit)", () => {
320
332
  this.#debug(`파일 출력 준비 중...`);
321
333
  let transformers = {};
@@ -339,6 +351,8 @@ export class SdTsCompiler {
339
351
  ...prepareResult.affectedFileSet,
340
352
  ...prepareResult.styleAffectedFileSet,
341
353
  ]) {
354
+ if (affectedFile.endsWith(".scss"))
355
+ continue;
342
356
  if (this.#emittedFilesCacheMap
343
357
  .get(affectedFile)
344
358
  ?.some((item) => !item.outAbsPath?.endsWith(".css")))
@@ -352,7 +366,7 @@ export class SdTsCompiler {
352
366
  continue;
353
367
  // 번들이 아닌 외부패키지는 보통 emit안해도 됨
354
368
  // but esbuild를 통해 bundle로 묶어야 하는놈들은 모든 output이 있어야 함.
355
- if (!this._opt.isForBundle && !PathUtils.isChildPath(sf.fileName, this._opt.pkgPath)) {
369
+ if (!this._forBundle && !PathUtils.isChildPath(sf.fileName, this._opt.pkgPath)) {
356
370
  continue;
357
371
  }
358
372
  this.#program.emit(sf, (fileName, text, writeByteOrderMark, onError, sourceFiles, data) => {
@@ -380,6 +394,7 @@ export class SdTsCompiler {
380
394
  emitFileSet.add(PathUtils.norm(sourceFile.fileName));
381
395
  }, undefined, undefined, transformers);
382
396
  }
397
+ this.#debug(`파일 출력 완료`);
383
398
  });
384
399
  }
385
400
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"SdTsCompiler.js","sourceRoot":"","sources":["../../src/ts-compiler/SdTsCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdTsCompiler.js","sourceRoot":"","sources":["../../src/ts-compiler/SdTsCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAa,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yEAAyE,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,OAAO,YAAY;IACvB,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/D,aAAa,CAAU;IACvB,aAAa,CAAe;IAE5B,aAAa,CAA6B;IAE1C,UAAU,CAA2B;IACrC,QAAQ,CAAyB;IAEjC,UAAU;IACV,MAAM,GAAG;QACP,GAAG,EAAE,IAAI,UAAU,EAAE;QACrB,IAAI,EAAE,IAAI,OAAO,EAAgC;QACjD,IAAI,EAAE,IAAI,OAAO,EAA+C;QAChE,SAAS,EAAE,IAAI,OAAO,EAA0B;QAChD,KAAK,EAAE,IAAI,GAAG,EAA4B;KAC3C,CAAC;IACF,mBAAmB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,qBAAqB,GAAG,IAAI,GAAG,EAM5B,CAAC;IAEJ,KAAK,CAAyB;IAE9B,YACmB,IAA0B,EAC1B,UAAmB;QADnB,SAAI,GAAJ,IAAI,CAAsB;QAC1B,eAAU,GAAV,UAAU,CAAS;QAEpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAE9D,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC;gBACtC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAC1B,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG;aAC5B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,cAAc;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACxF,GAAG,QAAQ,CAAC,sBAAsB;YAClC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ;gBAC3B,CAAC,CAAC;oBACE,aAAa;oBACb,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,KAAK;oBACb,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK;oBACrB,gBAAgB,EAAE,IAAI;oBACtB,mBAAmB,EAAE,KAAK;oBAC1B,mBAAmB,EAAE,KAAK;oBAC1B,4BAA4B,EAAE,KAAK;oBACnC,0BAA0B,EAAE,KAAK;oBACjC,0BAA0B,EAAE,KAAK;oBACjC,wBAAwB,EAAE,KAAK;oBAC/B,cAAc,EAAE,KAAK;oBACrB,kBAAkB,EAAE,KAAK;oBACzB,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,KAAK;oBAEnB,UAAU;oBACV,eAAe,EAAE,KAAK;oBACtB,yBAAyB,EAAE,KAAK;oBAChC,0BAA0B,EAAE,KAAK;oBACjC,gBAAgB,EAAE,KAAK;iBACxB;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAC7B,cAAc,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CACzE,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,eAAmC,EAAE,eAA+B;QACtF,sEAAsE;QAEtE,MAAM,YAAY,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAE5D,MAAM,iBAAiB,GAAG,YAAY,CAAC,aAAa,CAAC;QACrD,YAAY,CAAC,aAAa,GAAG,CAC3B,QAAgB,EAChB,wBAAsE,EACtE,OAAiD,EACjD,yBAAmC,EACnC,GAAG,IAAI,EACoB,EAAE;YAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C;;eAEG;YAEH,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,EAAE,GAA8B,iBAAiB,CAAC,IAAI,CAC1D,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,KAAK,EACL,GAAG,IAAI,CACR,CAAC;YAEF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3C,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAE5C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,YAAoC,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;gBACxE,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC5B,YAAoC,CAAC,iBAAiB,GAAG,KAAK,EAC7D,IAAY,EACZ,OAIC,EACD,EAAE;oBACF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC7B,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAc,CAAC,WAAW,CAC7D,IAAI,EACJ,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EACtC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAChF,CAAC;oBAEF,OAAO,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC1D,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAC9C,CAAC,CAAC;YACJ,CAAC;YAEA,YAAoC,CAAC,wBAAwB,GAAG,GAAG,EAAE;gBACpE,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,eAA+B;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAEhE,MAAM,CAAC,gBAAgB,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACnE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;SAChE,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;YAC9B,GAAG,aAAa,CAAC,eAAe;YAChC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;SACnE,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,GAAG,aAAa,CAAC,YAAY;YAC7B,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,eAAe,CAAC,IAAI,GAAG,EAAE,eAAe,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,aAAa,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;QAE/C,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,wBAAwB,CAAC,gCAAgC,CAAC,WAAW,CAAC,WAAW,CAAC;gBACrF,GAAG,wBAAwB,CAAC,gCAAgC,CAAC,WAAW,CAAC;aAC1E;YACD,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,YAAY;YAC1B,2BAA2B,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,IAAI,GAAG,EAAE;YAC9E,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;YAChD,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,YAAY,EAAE,CAAC;SACpF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,eAA+B;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEvC,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAEjC,yCAAyC;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE;gBAClC,qBAAqB;gBACrB,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBAC5E,mBAAmB;oBACnB,KAAK,MAAM,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;wBACrD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;wBACnD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAED,qCAAqC;gBACrC,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACzC,CAAC;gBAED,yBAAyB;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAE7C,8CAA8C;gBAC9C,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;oBAC3C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC7D,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAChC,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,OAAO,EAChB,YAAY,EACZ,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,CAC9B,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,OAAO,EAChB,YAAY,EACZ,IAAI,CAAC,QAAQ,CACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAEjC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAChD,MAAM,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAE7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;gBAC9B,sDAAsD;gBACtD,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAS,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YAEH,qBAAqB;YACrB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBAEtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,EAAE;oBACvC,aAAa,CAAC,uBAAuB,CACnC,IAAI,CAAC,UAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAChB,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAS,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACnE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBACjE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5F,IAAI,eAA+B,CAAC;QACpC,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,eAAe,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAC5E,eAAe,GAAG,IAAI,GAAG,CACvB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAAC,IAAI,IAAI,GAAG,EAAE;SAC3F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAA6B;QAC5C,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE1B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;iBAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC3F,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAE1C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;gBAC5B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK;gBACZ,cAAc,EAAE;oBACd,eAAe,EAAE;wBACf,aAAa,EAAE;4BACb,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;yBAC1B;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,iBAAiB;QACjB,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAAE,OAAO;QAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC;YAAE,OAAO;QAEjD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE/B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,aAAc,CAAC,WAAW,CACpE,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,CACpB,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACtF,aAAa,CAAC,IAAI,CAAC;gBACjB,UAAU,EAAE,SAAS,CAAC,IAAI,CACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI;qBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC;qBACtE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAC9B;gBACD,IAAI,EAAE,wBAAwB,CAAC,QAAQ,IAAI,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,aAA6B;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAa,CAAC;QACzC,MAAM,WAAW,GAAoB,EAAE,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE;gBAChC,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,QAAS,CAAC,+BAA+B,EAAE,EACnD,GAAG,IAAI,CAAC,QAAS,CAAC,qBAAqB,EAAE,EACzC,GAAG,IAAI,CAAC,QAAS,CAAC,oBAAoB,EAAE,CACzC,CAAC;gBAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAEhC,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAEtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACtE,IACE,CAAC,kBAAkB;oBACnB,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAC1F,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE;oBACjC,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,QAAS,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,EAC7D,GAAG,IAAI,CAAC,QAAS,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAC7D,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,EAAE;wBAC1C,IAAI,kBAAkB,CAAC,iBAAiB;4BAAE,OAAO;wBAEjD,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,qBAAqB,CAChD,kBAAkB,EAClB,WAAW,CAAC,YAAY,CACzB,CACF,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAE7B,IAAI,YAAY,GAA0B,EAAE,CAAC;gBAE7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC;oBAC/E,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxE,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtE,CAAC,YAAY,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAChD,CAAC;oBAEF,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAC/B,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,cAAc,EAAE,CAAC,CACxD,CAAC;oBACF,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAC/B,uBAAuB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;wBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;wBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;wBAChF,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;oBACpE,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAE1B,yDAAyD;gBACzD,4CAA4C;gBAC5C,qCAAqC;gBACrC,KAAK,MAAM,YAAY,IAAI;oBACzB,GAAG,aAAa,CAAC,eAAe;oBAChC,GAAG,aAAa,CAAC,oBAAoB;iBACtC,EAAE,CAAC;oBACF,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAAE,SAAS;oBAC7C,IACE,IAAI,CAAC,qBAAqB;yBACvB,GAAG,CAAC,YAAY,CAAC;wBAClB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAEtD,SAAS;oBAEX,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBACtD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,iBAAiB;wBAAE,SAAS;oBAC1C,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,SAAS;oBAC9D,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC;wBAAE,SAAS;oBAElF,6BAA6B;oBAC7B,sDAAsD;oBACtD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC/E,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,QAAS,CAAC,IAAI,CACjB,EAAE,EACF,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;wBACjE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7C,aAAa,CAAC,YAAY,CAAC,SAAS,CAClC,QAAQ,EACR,IAAI,EACJ,kBAAkB,EAClB,OAAO,EACP,WAAW,EACX,IAAI,CACL,CAAC;4BACF,OAAO;wBACT,CAAC;wBAED,MAAM,UAAU,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;wBACvE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;gCAAE,OAAO;4BACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;wBACnF,CAAC;wBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAC/D,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACnC,EAAE,CACH,CAAC;wBAEF,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClE,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CACpC,QAAQ,EACR,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAC/B,IAAI,CACL,CAAC;4BAEF,kBAAkB,CAAC,IAAI,CAAC;gCACtB,UAAU,EAAE,IAAI,CAAC,QAAQ;gCACzB,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;6BAC/C,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;wBACpC,CAAC;wBAED,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACvD,CAAC,EACD,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAY;QACnE,IAAI,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;QAEvF,IAAI,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;YACxD,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;YAErF,yBAAyB;YACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/C,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBACxF,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACpD,CAAC;IAED,wBAAwB,CAAC,GAAW;QAClC,OAAO,GAAG,CAAC,OAAO,CAChB,qKAAqK,EACrK,EAAE,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,GAAU;QAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -1,13 +1,10 @@
1
1
  import { TNormPath } from "@simplysm/sd-core-node";
2
- import ts from "typescript";
3
- import { ScopePathSet } from "../../pkg-builders/commons/ScopePathSet";
4
2
  export interface ISdTsCompilerOptions {
5
3
  pkgPath: TNormPath;
6
- additionalOptions: ts.CompilerOptions;
7
- isForBundle: boolean;
8
- isWatchMode: boolean;
9
- isDevMode: boolean;
10
- isEmitOnly: boolean;
11
- isNoEmit: boolean;
12
- scopePathSet: ScopePathSet;
4
+ scopePathSet: Set<TNormPath>;
5
+ watch?: {
6
+ dev: boolean;
7
+ emitOnly: boolean;
8
+ noEmit: boolean;
9
+ };
13
10
  }
@@ -1,6 +1,7 @@
1
1
  import { ISdBuildResult } from "../build/ISdBuildResult";
2
2
  import { ISdWorkerType, TNormPath } from "@simplysm/sd-core-node";
3
- import { ISdProjectConfig } from "../config/ISdProjectConfig";
3
+ import { TSdPackageConfig } from "../config/ISdProjectConfig";
4
+ import { ISdTsCompilerOptions } from "../build/ISdTsCompilerOptions";
4
5
  export interface ISdBuildRunnerWorkerType extends ISdWorkerType {
5
6
  methods: {
6
7
  initialize: {
@@ -14,10 +15,6 @@ export interface ISdBuildRunnerWorkerType extends ISdWorkerType {
14
15
  };
15
16
  }
16
17
  export interface ISdBuildRunnerInitializeRequest {
17
- pkgPath: TNormPath;
18
- projConf: ISdProjectConfig;
19
- scopePathSet: Set<TNormPath>;
20
- watch?: boolean;
21
- emitOnly?: boolean;
22
- noEmit?: boolean;
18
+ options: ISdTsCompilerOptions;
19
+ pkgConf: TSdPackageConfig<any>;
23
20
  }
@@ -22,15 +22,14 @@ else {
22
22
  let buildRunner;
23
23
  createSdWorker({
24
24
  initialize(req) {
25
- const pkgConf = req.projConf.packages[path.basename(req.pkgPath)];
26
- const buildRunnerType = pkgConf.type === "server"
25
+ const buildRunnerType = req.pkgConf.type === "server"
27
26
  ? SdServerBuildRunner
28
- : pkgConf.type === "client"
27
+ : req.pkgConf.type === "client"
29
28
  ? SdClientBuildRunner
30
- : FsUtils.exists(path.resolve(req.pkgPath, "tsconfig.json"))
29
+ : FsUtils.exists(path.resolve(req.options.pkgPath, "tsconfig.json"))
31
30
  ? SdTsLibBuildRunner
32
31
  : SdJsLibBuildRunner;
33
- buildRunner = new buildRunnerType(req.pkgPath, req.projConf, req.scopePathSet, req.watch ?? false, req.watch ? !pkgConf.forceProductionMode : false, req.emitOnly, req.noEmit);
32
+ buildRunner = new buildRunnerType(req.options, req.pkgConf);
34
33
  },
35
34
  async rebuild(modifiedFileSet) {
36
35
  return await buildRunner.rebuildAsync(modifiedFileSet);
@@ -1 +1 @@
1
- {"version":3,"file":"build-runner.worker.js","sourceRoot":"","sources":["../../src/workers/build-runner.worker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AAMxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AACjC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;AAErC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE;YACP,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B;KACF,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,QAAQ,CAAC,SAAS,CAAC;QACjB,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;AACL,CAAC;AAED,IAAI,WAAmC,CAAC;AAExC,cAAc,CAA2B;IACvC,UAAU,CAAC,GAAoC;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAE,CAAC;QAEnE,MAAM,eAAe,GACnB,OAAO,CAAC,IAAI,KAAK,QAAQ;YACvB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBACzB,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBAC1D,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,kBAAkB,CAAC;QAE7B,WAAW,GAAG,IAAI,eAAe,CAC/B,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,KAAK,IAAI,KAAK,EAClB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAChD,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,MAAM,CACX,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,eAAgC;QAC5C,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"build-runner.worker.js","sourceRoot":"","sources":["../../src/workers/build-runner.worker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,OAAO,EACP,QAAQ,EACR,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AAMxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAG5E,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;AACjC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;AAErC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE;YACP,KAAK,EAAE,gBAAgB,CAAC,KAAK;SAC9B;KACF,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,QAAQ,CAAC,SAAS,CAAC;QACjB,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;AACL,CAAC;AAED,IAAI,WAAmC,CAAC;AAExC,cAAc,CAA2B;IACvC,UAAU,CAAC,GAAoC;QAC7C,MAAM,eAAe,GACnB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAC3B,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;gBAC7B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBAClE,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,kBAAkB,CAAC;QAE7B,WAAW,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,eAAgC;QAC5C,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-cli",
3
- "version": "12.13.37",
3
+ "version": "12.13.39",
4
4
  "description": "심플리즘 패키지 - CLI",
5
5
  "author": "김석래",
6
6
  "repository": {
@@ -17,10 +17,10 @@
17
17
  "@angular/compiler-cli": "^20.2.4",
18
18
  "@anthropic-ai/sdk": "^0.61.0",
19
19
  "@electron/rebuild": "^4.0.1",
20
- "@simplysm/sd-core-common": "12.13.37",
21
- "@simplysm/sd-core-node": "12.13.37",
22
- "@simplysm/sd-service-server": "12.13.37",
23
- "@simplysm/sd-storage": "12.13.37",
20
+ "@simplysm/sd-core-common": "12.13.39",
21
+ "@simplysm/sd-core-node": "12.13.39",
22
+ "@simplysm/sd-service-server": "12.13.39",
23
+ "@simplysm/sd-storage": "12.13.39",
24
24
  "browserslist": "^4.25.4",
25
25
  "cordova": "^12.0.0",
26
26
  "electron": "^38.0.0",
@@ -0,0 +1,36 @@
1
+ import { FsUtils, SdLogger, TNormPath } from "@simplysm/sd-core-node";
2
+ import path from "path";
3
+ import { TSdPackageConfig } from "../types/config/ISdProjectConfig";
4
+ import { ISdBuildResult } from "../types/build/ISdBuildResult";
5
+ import { ISdTsCompilerOptions } from "../types/build/ISdTsCompilerOptions";
6
+
7
+ export abstract class SdBuildRunnerBase<T extends "server" | "library" | "client"> {
8
+ protected abstract _logger: SdLogger;
9
+
10
+ protected _pkgName: string;
11
+
12
+ constructor(
13
+ protected _opt: ISdTsCompilerOptions,
14
+ protected _pkgConf: TSdPackageConfig<T>,
15
+ ) {
16
+ this._pkgName = path.basename(_opt.pkgPath);
17
+ }
18
+
19
+ async rebuildAsync(modifiedFileSet?: Set<TNormPath>): Promise<ISdBuildResult> {
20
+ if (!modifiedFileSet && !this._opt.watch?.noEmit) {
21
+ const distPath = path.resolve(this._opt.pkgPath, "dist");
22
+ if (FsUtils.exists(distPath)) {
23
+ this._debug("dist 초기화...");
24
+ FsUtils.remove(distPath);
25
+ }
26
+ }
27
+
28
+ return await this._runAsync(modifiedFileSet);
29
+ }
30
+
31
+ protected abstract _runAsync(modifiedFileSet?: Set<TNormPath>): Promise<ISdBuildResult>;
32
+
33
+ protected _debug(msg: string): void {
34
+ this._logger.debug(`[${path.basename(this._opt.pkgPath)}] ${msg}`);
35
+ }
36
+ }
@@ -67,7 +67,11 @@ export class SdProjectBuildRunner {
67
67
  if (!buildInfo) return { pkgPath };
68
68
 
69
69
  const modifiedFileSet = new Set(
70
- changeFiles.filter((item) => buildInfo.watchFileSet.has(item)),
70
+ changeFiles.filter(
71
+ (item) =>
72
+ buildInfo.watchFileSet.has(item) ||
73
+ PathUtils.isChildPath(item, path.resolve(pkgPath, "src")),
74
+ ),
71
75
  );
72
76
 
73
77
  if (modifiedFileSet.size < 1) return;
@@ -82,18 +86,23 @@ export class SdProjectBuildRunner {
82
86
  const buildResults = await changedPkgInfos.parallelAsync(async (changedPkgInfo) => {
83
87
  // 처음
84
88
  if (!changedPkgInfo.buildInfo) {
89
+ const pkgConf = opt.projConf.packages[path.basename(changedPkgInfo.pkgPath)]!;
90
+
85
91
  const buildWorker = new SdWorker<ISdBuildRunnerWorkerType>(
86
92
  import.meta.resolve("../workers/build-runner.worker"),
87
93
  );
88
94
  await buildWorker.run("initialize", [
89
95
  {
90
- pkgPath: changedPkgInfo.pkgPath,
91
- projConf: opt.projConf,
92
- scopePathSet: scopePathSet,
93
-
94
- watch: true,
95
- emitOnly: opt.emitOnly,
96
- noEmit: opt.noEmit,
96
+ options: {
97
+ pkgPath: changedPkgInfo.pkgPath,
98
+ scopePathSet,
99
+ watch: {
100
+ dev: !pkgConf.forceProductionMode,
101
+ emitOnly: opt.emitOnly,
102
+ noEmit: opt.noEmit,
103
+ },
104
+ },
105
+ pkgConf,
97
106
  },
98
107
  ]);
99
108
 
@@ -280,15 +289,16 @@ export class SdProjectBuildRunner {
280
289
  );
281
290
 
282
291
  const buildResults = await opt.pkgPaths.parallelAsync(async (pkgPath) => {
292
+ const pkgConf = opt.projConf.packages[path.basename(pkgPath)]!;
293
+
283
294
  const worker = new SdWorker<ISdBuildRunnerWorkerType>(
284
295
  import.meta.resolve("../workers/build-runner.worker"),
285
296
  );
286
297
 
287
298
  await worker.run("initialize", [
288
299
  {
289
- pkgPath,
290
- projConf: opt.projConf,
291
- scopePathSet: scopePathSet,
300
+ options: { pkgPath, scopePathSet },
301
+ pkgConf,
292
302
  },
293
303
  ]);
294
304
 
@@ -307,15 +317,13 @@ export class SdProjectBuildRunner {
307
317
  path.resolve(item, "src"),
308
318
  path.resolve(item, "public"),
309
319
  path.resolve(item, "public-dev"),
320
+ path.resolve(item, "scss"),
310
321
  ]);
311
322
  const localUpdatePaths = (
312
323
  await localUpdateGlobs.mapManyAsync(
313
- async (key) => await FsUtils.globAsync(path.resolve(process.cwd(), "node_modules", key)),
324
+ async (glob) => await FsUtils.globAsync(path.resolve(process.cwd(), "node_modules", glob)),
314
325
  )
315
- ).mapMany((key) => [
316
- path.resolve(process.cwd(), "node_modules", key, "dist"),
317
- path.resolve(process.cwd(), "node_modules", key, "src/**/*.scss"),
318
- ]);
326
+ ).mapMany((dir) => [path.resolve(dir, "dist"), path.resolve(dir, "scss")]);
319
327
 
320
328
  return new Set([...workspacePaths, ...localUpdatePaths].map((item) => PathUtils.norm(item)));
321
329
  }