@simplysm/sd-cli 12.12.10 → 12.12.12

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.
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "events";
2
- import { FsUtils, PathUtils, SdFsWatcher, } from "@simplysm/sd-core-node";
2
+ import { FsUtils, PathUtils, SdFsWatcher } from "@simplysm/sd-core-node";
3
3
  import path from "path";
4
4
  import { ScopePathSet } from "./scope-path";
5
5
  export class BuildRunnerBase extends EventEmitter {
@@ -47,7 +47,19 @@ export class BuildRunnerBase extends EventEmitter {
47
47
  this.emit("complete", res);
48
48
  this._debug("WATCH...");
49
49
  let lastWatchFileSet = result.watchFileSet;
50
- SdFsWatcher.watch(this._watchScopePathSet.toArray()).onChange({ delay: 100 }, async (changeInfos) => {
50
+ SdFsWatcher.watch(this._watchScopePathSet.toArray(), {
51
+ ignore: (filePath) => filePath === path.resolve(this._pkgPath, ".cache") ||
52
+ filePath === path.resolve(this._pkgPath, ".cordova") ||
53
+ filePath === path.resolve(this._pkgPath, ".electron") ||
54
+ filePath === path.resolve(this._pkgPath, "dist") ||
55
+ (this._pkgConf.type === "client" && filePath === path.resolve(this._pkgPath, "src", "routes.ts")) ||
56
+ ("dbContext" in this._pkgConf &&
57
+ this._pkgConf.dbContext != null &&
58
+ filePath === path.resolve(this._pkgPath, "src", `${this._pkgConf.dbContext}.ts`)) ||
59
+ ("noGenIndex" in this._pkgConf &&
60
+ !this._pkgConf.noGenIndex &&
61
+ filePath === path.resolve(this._pkgPath, "src", "index.ts")),
62
+ }).onChange({ delay: 100 }, async (changeInfos) => {
51
63
  const modifiedFileSet = this._getModifiedFileSet(changeInfos, lastWatchFileSet);
52
64
  if (modifiedFileSet.size < 1)
53
65
  return;
@@ -72,7 +84,6 @@ export class BuildRunnerBase extends EventEmitter {
72
84
  },
73
85
  ],
74
86
  emitFileSet: new Set(),
75
- watchFileSet: lastWatchFileSet,
76
87
  };
77
88
  }
78
89
  this.emit("complete", {
@@ -84,7 +95,7 @@ export class BuildRunnerBase extends EventEmitter {
84
95
  }
85
96
  _getModifiedFileSet(changeInfos, lastWatchFileSet) {
86
97
  return new Set((lastWatchFileSet
87
- ? changeInfos.filter((item) => lastWatchFileSet.has(item.path))
98
+ ? changeInfos.filter((item) => Array.from(lastWatchFileSet).some((item1) => item.path.startsWith(path.dirname(item1))))
88
99
  : changeInfos).map((item) => item.path));
89
100
  }
90
101
  _debug(msg) {
@@ -1 +1 @@
1
- {"version":3,"file":"build-runner.base.js","sourceRoot":"","sources":["../../../src/pkg-builders/commons/build-runner.base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-runner.base.js","sourceRoot":"","sources":["../../../src/pkg-builders/commons/build-runner.base.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export declare class SdDependencyCache {
60
60
  /**
61
61
  * 변경된 파일 경로 집합으로부터 영향을 받는 전체 파일 집합을 계산
62
62
  */
63
- getAffectedFileSet(modifiedNPathSet: Set<TNormPath>): Set<TNormPath>;
63
+ getAffectedFileMap(modifiedNPathSet: Set<TNormPath>): Map<TNormPath, Set<TNormPath>>;
64
64
  /**
65
65
  * 주어진 파일들 및 그 영향 범위에 해당하는 모든 캐시를 무효화
66
66
  */
@@ -139,18 +139,72 @@ export class SdDependencyCache {
139
139
  /**
140
140
  * 변경된 파일 경로 집합으로부터 영향을 받는 전체 파일 집합을 계산
141
141
  */
142
- getAffectedFileSet(modifiedNPathSet) {
143
- const visited = new Set();
144
- const result = new Set();
145
- const queue = [];
146
- const enqueue = (fileNPath, exportSymbol) => {
147
- const key = `${fileNPath}#${exportSymbol}`;
148
- if (!visited.has(key)) {
149
- visited.add(key);
150
- queue.push({ fileNPath, exportSymbol });
142
+ /*getAffectedFileSet(modifiedNPathSet: Set<TNormPath>): Set<TNormPath> {
143
+ const visited = new Set<string>();
144
+ const result = new Set<TNormPath>();
145
+
146
+ const queue: { fileNPath: TNormPath; exportSymbol: string | undefined }[] = [];
147
+
148
+ const enqueue = (fileNPath: TNormPath, exportSymbol: string | undefined) => {
149
+ const key = `${fileNPath}#${exportSymbol}`;
150
+ if (!visited.has(key)) {
151
+ visited.add(key);
152
+ queue.push({ fileNPath, exportSymbol });
153
+ }
154
+ };
155
+
156
+ for (const modifiedNPath of modifiedNPathSet) {
157
+ for (const path of this.#getRelatedNPaths(modifiedNPath)) {
158
+ result.add(path);
159
+ const exportSymbols = this.#getExportSymbols(path);
160
+ if (exportSymbols.size === 0) {
161
+ enqueue(path, undefined);
162
+ } else {
163
+ for (const symbol of exportSymbols) {
164
+ enqueue(path, symbol);
151
165
  }
152
- };
166
+ }
167
+ }
168
+ }
169
+
170
+ while (queue.length > 0) {
171
+ const curr = queue.shift()!;
172
+ const revDepInfoMap = this._revDepCache.get(curr.fileNPath);
173
+ if (!revDepInfoMap) continue;
174
+
175
+ for (const [revDepFileNPath, revDepInfo] of revDepInfoMap) {
176
+ if (curr.exportSymbol != null) {
177
+ const hasImportSymbol = revDepInfo === 0 || revDepInfo.has(curr.exportSymbol);
178
+ if (hasImportSymbol) {
179
+ result.add(revDepFileNPath);
180
+ const exportSymbol = this.#convertImportSymbolToExportSymbol(
181
+ revDepFileNPath,
182
+ curr.fileNPath,
183
+ curr.exportSymbol,
184
+ );
185
+ enqueue(revDepFileNPath, exportSymbol);
186
+ }
187
+ } else {
188
+ result.add(revDepFileNPath);
189
+ }
190
+ }
191
+ }
192
+
193
+ return result;
194
+ }*/
195
+ getAffectedFileMap(modifiedNPathSet) {
196
+ const resultMap = new Map();
153
197
  for (const modifiedNPath of modifiedNPathSet) {
198
+ const visited = new Set();
199
+ const result = new Set();
200
+ const queue = [];
201
+ const enqueue = (fileNPath, exportSymbol) => {
202
+ const key = `${fileNPath}#${exportSymbol}`;
203
+ if (!visited.has(key)) {
204
+ visited.add(key);
205
+ queue.push({ fileNPath, exportSymbol });
206
+ }
207
+ };
154
208
  for (const path of this.#getRelatedNPaths(modifiedNPath)) {
155
209
  result.add(path);
156
210
  const exportSymbols = this.#getExportSymbols(path);
@@ -163,34 +217,35 @@ export class SdDependencyCache {
163
217
  }
164
218
  }
165
219
  }
166
- }
167
- while (queue.length > 0) {
168
- const curr = queue.shift();
169
- const revDepInfoMap = this._revDepCache.get(curr.fileNPath);
170
- if (!revDepInfoMap)
171
- continue;
172
- for (const [revDepFileNPath, revDepInfo] of revDepInfoMap) {
173
- if (curr.exportSymbol != null) {
174
- const hasImportSymbol = revDepInfo === 0 || revDepInfo.has(curr.exportSymbol);
175
- if (hasImportSymbol) {
220
+ while (queue.length > 0) {
221
+ const curr = queue.shift();
222
+ const revDepInfoMap = this._revDepCache.get(curr.fileNPath);
223
+ if (!revDepInfoMap)
224
+ continue;
225
+ for (const [revDepFileNPath, revDepInfo] of revDepInfoMap) {
226
+ if (curr.exportSymbol != null) {
227
+ const hasImportSymbol = revDepInfo === 0 || revDepInfo.has(curr.exportSymbol);
228
+ if (hasImportSymbol) {
229
+ result.add(revDepFileNPath);
230
+ const exportSymbol = this.#convertImportSymbolToExportSymbol(revDepFileNPath, curr.fileNPath, curr.exportSymbol);
231
+ enqueue(revDepFileNPath, exportSymbol);
232
+ }
233
+ }
234
+ else {
176
235
  result.add(revDepFileNPath);
177
- const exportSymbol = this.#convertImportSymbolToExportSymbol(revDepFileNPath, curr.fileNPath, curr.exportSymbol);
178
- enqueue(revDepFileNPath, exportSymbol);
179
236
  }
180
237
  }
181
- else {
182
- result.add(revDepFileNPath);
183
- }
184
238
  }
239
+ resultMap.set(modifiedNPath, result);
185
240
  }
186
- return result;
241
+ return resultMap;
187
242
  }
188
243
  /**
189
244
  * 주어진 파일들 및 그 영향 범위에 해당하는 모든 캐시를 무효화
190
245
  */
191
246
  invalidates(fileNPathSet) {
192
- const affectedFiles = this.getAffectedFileSet(fileNPathSet);
193
- for (const fileNPath of affectedFiles) {
247
+ // const affectedFileMap = this.getAffectedFileMap(fileNPathSet);
248
+ for (const fileNPath of fileNPathSet) {
194
249
  this._exportCache.delete(fileNPath);
195
250
  this._importCache.delete(fileNPath);
196
251
  this._reexportCache.delete(fileNPath);
@@ -199,7 +254,7 @@ export class SdDependencyCache {
199
254
  this._exportSymbolCache.delete(fileNPath);
200
255
  }
201
256
  for (const [targetNPath, infoMap] of this._revDepCache) {
202
- for (const fileNPath of affectedFiles) {
257
+ for (const fileNPath of fileNPathSet) {
203
258
  infoMap.delete(fileNPath);
204
259
  }
205
260
  if (infoMap.size === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"sd-dependency-cache.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-dependency-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-dependency-cache.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-dependency-cache.ts"],"names":[],"mappings":"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"}
@@ -204,11 +204,12 @@ export class SdTsCompiler {
204
204
  const tsconfig = this.#parseTsConfig();
205
205
  if (modifiedFileSet.size !== 0) {
206
206
  this.#debug(`캐시 무효화 및 초기화 중...`);
207
- await Wait.time(300);
207
+ await Wait.time(100);
208
208
  // this._perf.run("캐시 무효화 및 초기화", () => {
209
209
  this.#perf.run("캐시 무효화 및 초기화", () => {
210
210
  // 기존 의존성에 의해 영향받는 파일들 계산
211
- const affectedFileSet = this.#depCache.getAffectedFileSet(modifiedFileSet);
211
+ const affectedFileMap = this.#depCache.getAffectedFileMap(modifiedFileSet);
212
+ const affectedFiles = Array.from(affectedFileMap.values()).mapMany((item) => Array.from(item));
212
213
  const getTreeText = (node, indent = "") => {
213
214
  let result = indent + node.fileNPath + "\n";
214
215
  for (const child of node.children) {
@@ -218,17 +219,25 @@ export class SdTsCompiler {
218
219
  };
219
220
  const affectedFileTree = this.#depCache.getAffectedFileTree(modifiedFileSet);
220
221
  this.#debug(`영향받은 기존파일: ${affectedFileTree.map((item) => getTreeText(item)).join("\n")}`.trim());
221
- // 스타일 번들러에서 영향받은 파일 관련 항목 무효화
222
- this.#stylesheetBundler.invalidate(new Set([...modifiedFileSet, ...Array.from(affectedFileSet).filter((item) => item.endsWith(".scss"))]));
222
+ // 스타일 번들러에서 영향받은 파일 관련 항목 무효화 (.scss만 해당)
223
+ this.#stylesheetBundler.invalidate(new Set([...modifiedFileSet, ...affectedFiles.filter((item) => item.endsWith(".scss"))]));
223
224
  // await worker.run("invalidate", [affectedFileSet]);
224
- // 소스파일은 변경된 파일들로 무효화
225
+ // 소스파일은 변경된 파일들로 무효화 (스타일 변화시 타고들어가야됨)
225
226
  for (const modifiedFile of modifiedFileSet) {
226
- this.#sourceFileCacheMap.delete(modifiedFile);
227
+ if (modifiedFile.endsWith(".scss")) {
228
+ for (const fileNPath of affectedFileMap.get(modifiedFile) ?? []) {
229
+ this.#sourceFileCacheMap.delete(fileNPath);
230
+ }
231
+ }
232
+ else {
233
+ this.#sourceFileCacheMap.delete(modifiedFile);
234
+ }
227
235
  }
228
236
  // 의존성 캐시에서 영향받은 파일 관련 항목 무효화 (Affected더라도 SF는 동일하므로, modifiedFileSet만 넣어도될듯?)
229
- this.#depCache.invalidates(modifiedFileSet);
237
+ // 250715: sourceFile 타입체크를 다시 해야해서 affected로 넣는게 맞는듯.
238
+ this.#depCache.invalidates(new Set(affectedFiles));
230
239
  // 내부 캐시에서 영향받은 파일 관련 항목 무효화
231
- for (const affectedFile of affectedFileSet) {
240
+ for (const affectedFile of affectedFiles) {
232
241
  this.#emittedFilesCacheMap.delete(affectedFile);
233
242
  this.#stylesheetBundlingResultMap.delete(affectedFile);
234
243
  }
@@ -264,7 +273,9 @@ export class SdTsCompiler {
264
273
  SdDependencyAnalyzer.analyzeAngularResources(this.#ngProgram, this._opt.watchScopePathSet, this.#depCache);
265
274
  }
266
275
  });
267
- const affectedFileSet = modifiedFileSet.size === 0 ? this.#depCache.getFiles() : this.#depCache.getAffectedFileSet(modifiedFileSet);
276
+ const affectedFileSet = modifiedFileSet.size === 0
277
+ ? this.#depCache.getFiles()
278
+ : new Set(Array.from(this.#depCache.getAffectedFileMap(modifiedFileSet).values()).mapMany((item) => Array.from(item)));
268
279
  const watchFileSet = this.#depCache.getFiles();
269
280
  return {
270
281
  tsconfig,
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-cli",
3
- "version": "12.12.10",
3
+ "version": "12.12.12",
4
4
  "description": "심플리즘 패키지 - CLI",
5
5
  "author": "김석래",
6
6
  "repository": {
@@ -12,19 +12,19 @@
12
12
  "bin": "./dist/sd-cli.js",
13
13
  "type": "module",
14
14
  "dependencies": {
15
- "@angular/build": "^20.1.0",
16
- "@angular/compiler": "^20.1.0",
17
- "@angular/compiler-cli": "^20.1.0",
15
+ "@angular/build": "^20.1.1",
16
+ "@angular/compiler": "^20.1.1",
17
+ "@angular/compiler-cli": "^20.1.1",
18
18
  "@anthropic-ai/sdk": "^0.56.0",
19
19
  "@electron/rebuild": "^4.0.1",
20
- "@simplysm/sd-core-common": "12.12.10",
21
- "@simplysm/sd-core-node": "12.12.10",
22
- "@simplysm/sd-service-server": "12.12.10",
23
- "@simplysm/sd-storage": "12.12.10",
20
+ "@simplysm/sd-core-common": "12.12.12",
21
+ "@simplysm/sd-core-node": "12.12.12",
22
+ "@simplysm/sd-service-server": "12.12.12",
23
+ "@simplysm/sd-storage": "12.12.12",
24
24
  "browserslist": "^4.25.1",
25
25
  "cordova": "^12.0.0",
26
26
  "css-has-pseudo": "^7.0.2",
27
- "electron": "^37.2.1",
27
+ "electron": "^37.2.3",
28
28
  "electron-builder": "26.0.12",
29
29
  "esbuild": "0.25.5",
30
30
  "eslint": "^9.31.0",
@@ -1,20 +1,11 @@
1
1
  import { EventEmitter } from "events";
2
- import {
3
- FsUtils,
4
- ISdFsWatcherChangeInfo,
5
- PathUtils,
6
- SdFsWatcher,
7
- SdLogger,
8
- TNormPath,
9
- } from "@simplysm/sd-core-node";
2
+ import { FsUtils, ISdFsWatcherChangeInfo, PathUtils, SdFsWatcher, SdLogger, TNormPath } from "@simplysm/sd-core-node";
10
3
  import { ISdProjectConfig, TSdPackageConfig } from "../../types/config.types";
11
4
  import { ISdBuildMessage, ISdBuildRunnerResult } from "../../types/build.types";
12
5
  import path from "path";
13
6
  import { ScopePathSet } from "./scope-path";
14
7
 
15
- export abstract class BuildRunnerBase<
16
- T extends "server" | "library" | "client",
17
- > extends EventEmitter {
8
+ export abstract class BuildRunnerBase<T extends "server" | "library" | "client"> extends EventEmitter {
18
9
  protected abstract _logger: SdLogger;
19
10
 
20
11
  protected _pkgName: string;
@@ -83,65 +74,70 @@ export abstract class BuildRunnerBase<
83
74
  this.emit("complete", res);
84
75
 
85
76
  this._debug("WATCH...");
86
- let lastWatchFileSet = result.watchFileSet!;
87
- SdFsWatcher.watch(this._watchScopePathSet.toArray()).onChange(
88
- { delay: 100 },
89
- async (changeInfos) => {
90
- const modifiedFileSet = this._getModifiedFileSet(changeInfos, lastWatchFileSet);
91
-
92
- if (modifiedFileSet.size < 1) return;
93
-
94
- this.emit("change");
95
-
96
- let watchResult: IBuildRunnerRunResult;
97
- try {
98
- watchResult = await this._runAsync(!this._pkgConf.forceProductionMode, modifiedFileSet);
99
-
100
- lastWatchFileSet = watchResult.watchFileSet!;
101
- } catch (err) {
102
- watchResult = {
103
- affectedFileSet: modifiedFileSet,
104
- buildMessages: [
105
- {
106
- filePath: undefined,
107
- line: undefined,
108
- char: undefined,
109
- code: undefined,
110
- severity: "error",
111
- message: `파일 변경 처리 중 오류 발생: ${err}`,
112
- type: "watch",
113
- },
114
- ],
115
- emitFileSet: new Set(),
116
- watchFileSet: lastWatchFileSet,
117
- };
118
- }
119
-
120
- this.emit("complete", {
121
- affectedFilePathSet: watchResult.affectedFileSet,
122
- buildMessages: watchResult.buildMessages,
123
- emitFileSet: watchResult.emitFileSet,
124
- });
125
- },
126
- );
77
+ let lastWatchFileSet = result.watchFileSet;
78
+ SdFsWatcher.watch(this._watchScopePathSet.toArray(), {
79
+ ignore: (filePath) =>
80
+ filePath === path.resolve(this._pkgPath, ".cache") ||
81
+ filePath === path.resolve(this._pkgPath, ".cordova") ||
82
+ filePath === path.resolve(this._pkgPath, ".electron") ||
83
+ filePath === path.resolve(this._pkgPath, "dist") ||
84
+ (this._pkgConf.type === "client" && filePath === path.resolve(this._pkgPath, "src", "routes.ts")) ||
85
+ ("dbContext" in this._pkgConf &&
86
+ this._pkgConf.dbContext != null &&
87
+ filePath === path.resolve(this._pkgPath, "src", `${this._pkgConf.dbContext}.ts`)) ||
88
+ ("noGenIndex" in this._pkgConf &&
89
+ !this._pkgConf.noGenIndex &&
90
+ filePath === path.resolve(this._pkgPath, "src", "index.ts")),
91
+ }).onChange({ delay: 100 }, async (changeInfos) => {
92
+ const modifiedFileSet = this._getModifiedFileSet(changeInfos, lastWatchFileSet);
93
+
94
+ if (modifiedFileSet.size < 1) return;
95
+
96
+ this.emit("change");
97
+
98
+ let watchResult: IBuildRunnerRunResult;
99
+ try {
100
+ watchResult = await this._runAsync(!this._pkgConf.forceProductionMode, modifiedFileSet);
101
+
102
+ lastWatchFileSet = watchResult.watchFileSet;
103
+ } catch (err) {
104
+ watchResult = {
105
+ affectedFileSet: modifiedFileSet,
106
+ buildMessages: [
107
+ {
108
+ filePath: undefined,
109
+ line: undefined,
110
+ char: undefined,
111
+ code: undefined,
112
+ severity: "error",
113
+ message: `파일 변경 처리 중 오류 발생: ${err}`,
114
+ type: "watch",
115
+ },
116
+ ],
117
+ emitFileSet: new Set(),
118
+ };
119
+ }
120
+
121
+ this.emit("complete", {
122
+ affectedFilePathSet: watchResult.affectedFileSet,
123
+ buildMessages: watchResult.buildMessages,
124
+ emitFileSet: watchResult.emitFileSet,
125
+ });
126
+ });
127
127
  }
128
128
 
129
- protected _getModifiedFileSet(
130
- changeInfos: ISdFsWatcherChangeInfo[],
131
- lastWatchFileSet?: Set<TNormPath>,
132
- ) {
129
+ protected _getModifiedFileSet(changeInfos: ISdFsWatcherChangeInfo[], lastWatchFileSet?: Set<TNormPath>) {
133
130
  return new Set(
134
131
  (lastWatchFileSet
135
- ? changeInfos.filter((item) => lastWatchFileSet.has(item.path))
132
+ ? changeInfos.filter((item) =>
133
+ Array.from(lastWatchFileSet).some((item1) => item.path.startsWith(path.dirname(item1))),
134
+ )
136
135
  : changeInfos
137
136
  ).map((item) => item.path),
138
137
  );
139
138
  }
140
139
 
141
- protected abstract _runAsync(
142
- dev: boolean,
143
- modifiedFileSet?: Set<TNormPath>,
144
- ): Promise<IBuildRunnerRunResult>;
140
+ protected abstract _runAsync(dev: boolean, modifiedFileSet?: Set<TNormPath>): Promise<IBuildRunnerRunResult>;
145
141
 
146
142
  protected _debug(msg: string): void {
147
143
  this._logger.debug(`[${path.basename(this._pkgPath)}] ${msg}`);
@@ -176,7 +176,7 @@ export class SdDependencyCache {
176
176
  /**
177
177
  * 변경된 파일 경로 집합으로부터 영향을 받는 전체 파일 집합을 계산
178
178
  */
179
- getAffectedFileSet(modifiedNPathSet: Set<TNormPath>): Set<TNormPath> {
179
+ /*getAffectedFileSet(modifiedNPathSet: Set<TNormPath>): Set<TNormPath> {
180
180
  const visited = new Set<string>();
181
181
  const result = new Set<TNormPath>();
182
182
 
@@ -228,15 +228,71 @@ export class SdDependencyCache {
228
228
  }
229
229
 
230
230
  return result;
231
+ }*/
232
+ getAffectedFileMap(modifiedNPathSet: Set<TNormPath>): Map<TNormPath, Set<TNormPath>> {
233
+ const resultMap = new Map<TNormPath, Set<TNormPath>>();
234
+
235
+ for (const modifiedNPath of modifiedNPathSet) {
236
+ const visited = new Set<string>();
237
+ const result = new Set<TNormPath>();
238
+ const queue: { fileNPath: TNormPath; exportSymbol: string | undefined }[] = [];
239
+
240
+ const enqueue = (fileNPath: TNormPath, exportSymbol: string | undefined) => {
241
+ const key = `${fileNPath}#${exportSymbol}`;
242
+ if (!visited.has(key)) {
243
+ visited.add(key);
244
+ queue.push({ fileNPath, exportSymbol });
245
+ }
246
+ };
247
+
248
+ for (const path of this.#getRelatedNPaths(modifiedNPath)) {
249
+ result.add(path);
250
+ const exportSymbols = this.#getExportSymbols(path);
251
+ if (exportSymbols.size === 0) {
252
+ enqueue(path, undefined);
253
+ } else {
254
+ for (const symbol of exportSymbols) {
255
+ enqueue(path, symbol);
256
+ }
257
+ }
258
+ }
259
+
260
+ while (queue.length > 0) {
261
+ const curr = queue.shift()!;
262
+ const revDepInfoMap = this._revDepCache.get(curr.fileNPath);
263
+ if (!revDepInfoMap) continue;
264
+
265
+ for (const [revDepFileNPath, revDepInfo] of revDepInfoMap) {
266
+ if (curr.exportSymbol != null) {
267
+ const hasImportSymbol = revDepInfo === 0 || revDepInfo.has(curr.exportSymbol);
268
+ if (hasImportSymbol) {
269
+ result.add(revDepFileNPath);
270
+ const exportSymbol = this.#convertImportSymbolToExportSymbol(
271
+ revDepFileNPath,
272
+ curr.fileNPath,
273
+ curr.exportSymbol,
274
+ );
275
+ enqueue(revDepFileNPath, exportSymbol);
276
+ }
277
+ } else {
278
+ result.add(revDepFileNPath);
279
+ }
280
+ }
281
+ }
282
+
283
+ resultMap.set(modifiedNPath, result);
284
+ }
285
+
286
+ return resultMap;
231
287
  }
232
288
 
233
289
  /**
234
290
  * 주어진 파일들 및 그 영향 범위에 해당하는 모든 캐시를 무효화
235
291
  */
236
292
  invalidates(fileNPathSet: Set<TNormPath>) {
237
- const affectedFiles = this.getAffectedFileSet(fileNPathSet);
293
+ // const affectedFileMap = this.getAffectedFileMap(fileNPathSet);
238
294
 
239
- for (const fileNPath of affectedFiles) {
295
+ for (const fileNPath of fileNPathSet) {
240
296
  this._exportCache.delete(fileNPath);
241
297
  this._importCache.delete(fileNPath);
242
298
  this._reexportCache.delete(fileNPath);
@@ -246,7 +302,7 @@ export class SdDependencyCache {
246
302
  }
247
303
 
248
304
  for (const [targetNPath, infoMap] of this._revDepCache) {
249
- for (const fileNPath of affectedFiles) {
305
+ for (const fileNPath of fileNPathSet) {
250
306
  infoMap.delete(fileNPath);
251
307
  }
252
308
  if (infoMap.size === 0) {
@@ -288,12 +288,13 @@ export class SdTsCompiler {
288
288
 
289
289
  if (modifiedFileSet.size !== 0) {
290
290
  this.#debug(`캐시 무효화 및 초기화 중...`);
291
- await Wait.time(300);
291
+ await Wait.time(100);
292
292
 
293
293
  // this._perf.run("캐시 무효화 및 초기화", () => {
294
294
  this.#perf.run("캐시 무효화 및 초기화", () => {
295
295
  // 기존 의존성에 의해 영향받는 파일들 계산
296
- const affectedFileSet = this.#depCache.getAffectedFileSet(modifiedFileSet);
296
+ const affectedFileMap = this.#depCache.getAffectedFileMap(modifiedFileSet);
297
+ const affectedFiles = Array.from(affectedFileMap.values()).mapMany((item) => Array.from(item));
297
298
 
298
299
  const getTreeText = (node: ISdAffectedFileTreeNode, indent = "") => {
299
300
  let result = indent + node.fileNPath + "\n";
@@ -307,22 +308,29 @@ export class SdTsCompiler {
307
308
  const affectedFileTree = this.#depCache.getAffectedFileTree(modifiedFileSet);
308
309
  this.#debug(`영향받은 기존파일: ${affectedFileTree.map((item) => getTreeText(item)).join("\n")}`.trim());
309
310
 
310
- // 스타일 번들러에서 영향받은 파일 관련 항목 무효화
311
+ // 스타일 번들러에서 영향받은 파일 관련 항목 무효화 (.scss만 해당)
311
312
  this.#stylesheetBundler.invalidate(
312
- new Set([...modifiedFileSet, ...Array.from(affectedFileSet).filter((item) => item.endsWith(".scss"))]),
313
+ new Set([...modifiedFileSet, ...affectedFiles.filter((item) => item.endsWith(".scss"))]),
313
314
  );
314
315
  // await worker.run("invalidate", [affectedFileSet]);
315
316
 
316
- // 소스파일은 변경된 파일들로 무효화
317
+ // 소스파일은 변경된 파일들로 무효화 (스타일 변화시 타고들어가야됨)
317
318
  for (const modifiedFile of modifiedFileSet) {
318
- this.#sourceFileCacheMap.delete(modifiedFile);
319
+ if (modifiedFile.endsWith(".scss")) {
320
+ for (const fileNPath of affectedFileMap.get(modifiedFile) ?? []) {
321
+ this.#sourceFileCacheMap.delete(fileNPath);
322
+ }
323
+ } else {
324
+ this.#sourceFileCacheMap.delete(modifiedFile);
325
+ }
319
326
  }
320
327
 
321
328
  // 의존성 캐시에서 영향받은 파일 관련 항목 무효화 (Affected더라도 SF는 동일하므로, modifiedFileSet만 넣어도될듯?)
322
- this.#depCache.invalidates(modifiedFileSet);
329
+ // 250715: sourceFile 타입체크를 다시 해야해서 affected로 넣는게 맞는듯.
330
+ this.#depCache.invalidates(new Set(affectedFiles));
323
331
 
324
332
  // 내부 캐시에서 영향받은 파일 관련 항목 무효화
325
- for (const affectedFile of affectedFileSet) {
333
+ for (const affectedFile of affectedFiles) {
326
334
  this.#emittedFilesCacheMap.delete(affectedFile);
327
335
  this.#stylesheetBundlingResultMap.delete(affectedFile);
328
336
  }
@@ -366,7 +374,11 @@ export class SdTsCompiler {
366
374
  });
367
375
 
368
376
  const affectedFileSet =
369
- modifiedFileSet.size === 0 ? this.#depCache.getFiles() : this.#depCache.getAffectedFileSet(modifiedFileSet);
377
+ modifiedFileSet.size === 0
378
+ ? this.#depCache.getFiles()
379
+ : new Set(
380
+ Array.from(this.#depCache.getAffectedFileMap(modifiedFileSet).values()).mapMany((item) => Array.from(item)),
381
+ );
370
382
  const watchFileSet = this.#depCache.getFiles();
371
383
 
372
384
  return {