@simplysm/sd-cli 12.13.13 → 12.13.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entry/sd-cli-electron.js +1 -1
- package/dist/entry/sd-cli-electron.js.map +1 -1
- package/dist/entry/sd-cli-project.d.ts +2 -0
- package/dist/entry/sd-cli-project.js +11 -3
- package/dist/entry/sd-cli-project.js.map +1 -1
- package/dist/pkg-builders/client/sd-client.build-runner.d.ts +1 -1
- package/dist/pkg-builders/client/sd-client.build-runner.js +74 -50
- package/dist/pkg-builders/client/sd-client.build-runner.js.map +1 -1
- package/dist/pkg-builders/client/sd-ng.bundler.d.ts +2 -0
- package/dist/pkg-builders/client/sd-ng.bundler.js +19 -20
- package/dist/pkg-builders/client/sd-ng.bundler.js.map +1 -1
- package/dist/pkg-builders/client/sd-ng.plugin-creator.d.ts +2 -0
- package/dist/pkg-builders/client/sd-ng.plugin-creator.js +94 -33
- package/dist/pkg-builders/client/sd-ng.plugin-creator.js.map +1 -1
- package/dist/pkg-builders/commons/build-runner.base.d.ts +4 -2
- package/dist/pkg-builders/commons/build-runner.base.js +45 -25
- package/dist/pkg-builders/commons/build-runner.base.js.map +1 -1
- package/dist/pkg-builders/lib/sd-js-lib.build-runner.d.ts +1 -1
- package/dist/pkg-builders/lib/sd-js-lib.build-runner.js +14 -4
- package/dist/pkg-builders/lib/sd-js-lib.build-runner.js.map +1 -1
- package/dist/pkg-builders/lib/sd-ts-lib.build-runner.d.ts +1 -1
- package/dist/pkg-builders/lib/sd-ts-lib.build-runner.js +21 -40
- package/dist/pkg-builders/lib/sd-ts-lib.build-runner.js.map +1 -1
- package/dist/pkg-builders/lib/sd-ts-lib.builder.d.ts +1 -1
- package/dist/pkg-builders/lib/sd-ts-lib.builder.js +3 -1
- package/dist/pkg-builders/lib/sd-ts-lib.builder.js.map +1 -1
- package/dist/pkg-builders/sd-multi.build-runner.js +116 -86
- package/dist/pkg-builders/sd-multi.build-runner.js.map +1 -1
- package/dist/pkg-builders/server/sd-server.build-runner.d.ts +1 -1
- package/dist/pkg-builders/server/sd-server.build-runner.js +9 -5
- package/dist/pkg-builders/server/sd-server.build-runner.js.map +1 -1
- package/dist/pkg-builders/server/sd-server.bundler.d.ts +2 -0
- package/dist/pkg-builders/server/sd-server.bundler.js +3 -1
- package/dist/pkg-builders/server/sd-server.bundler.js.map +1 -1
- package/dist/pkg-builders/server/sd-server.plugin-creator.d.ts +2 -0
- package/dist/pkg-builders/server/sd-server.plugin-creator.js +4 -1
- package/dist/pkg-builders/server/sd-server.plugin-creator.js.map +1 -1
- package/dist/sd-cli-entry.js +10 -0
- package/dist/sd-cli-entry.js.map +1 -1
- package/dist/sd-cli.js +8 -6
- package/dist/sd-cli.js.map +1 -1
- package/dist/ts-compiler/sd-dependency-analyzer.d.ts +8 -1
- package/dist/ts-compiler/sd-dependency-analyzer.js +128 -63
- package/dist/ts-compiler/sd-dependency-analyzer.js.map +1 -1
- package/dist/ts-compiler/sd-dependency-cache.d.ts +0 -34
- package/dist/ts-compiler/sd-dependency-cache.js +73 -119
- package/dist/ts-compiler/sd-dependency-cache.js.map +1 -1
- package/dist/ts-compiler/sd-style-bundler.d.ts +16 -0
- package/dist/ts-compiler/sd-style-bundler.js +118 -0
- package/dist/ts-compiler/sd-style-bundler.js.map +1 -0
- package/dist/ts-compiler/sd-ts-compiler.js +418 -235
- package/dist/ts-compiler/sd-ts-compiler.js.map +1 -1
- package/dist/types/build-runner.types.d.ts +2 -0
- package/dist/types/config.types.d.ts +2 -0
- package/dist/types/ts-compiler.types.d.ts +2 -0
- package/dist/types/worker.types.d.ts +1 -1
- package/dist/workers/build-runner.worker.js +1 -1
- package/dist/workers/build-runner.worker.js.map +1 -1
- package/dist/workers/server.worker.js +2 -2
- package/dist/workers/server.worker.js.map +1 -1
- package/package.json +13 -12
- package/src/entry/sd-cli-electron.ts +2 -1
- package/src/entry/sd-cli-project.ts +13 -3
- package/src/pkg-builders/client/sd-client.build-runner.ts +93 -54
- package/src/pkg-builders/client/sd-ng.bundler.ts +79 -85
- package/src/pkg-builders/client/sd-ng.plugin-creator.ts +119 -39
- package/src/pkg-builders/commons/build-runner.base.ts +78 -33
- package/src/pkg-builders/lib/sd-js-lib.build-runner.ts +24 -7
- package/src/pkg-builders/lib/sd-ts-lib.build-runner.ts +36 -42
- package/src/pkg-builders/lib/sd-ts-lib.builder.ts +4 -0
- package/src/pkg-builders/sd-multi.build-runner.ts +137 -108
- package/src/pkg-builders/server/sd-server.build-runner.ts +10 -4
- package/src/pkg-builders/server/sd-server.bundler.ts +5 -1
- package/src/pkg-builders/server/sd-server.plugin-creator.ts +10 -5
- package/src/sd-cli-entry.ts +10 -0
- package/src/sd-cli.ts +8 -6
- package/src/ts-compiler/sd-dependency-analyzer.ts +161 -86
- package/src/ts-compiler/sd-dependency-cache.ts +118 -99
- package/src/ts-compiler/sd-style-bundler.ts +150 -0
- package/src/ts-compiler/sd-ts-compiler.ts +559 -296
- package/src/types/build-runner.types.ts +2 -0
- package/src/types/config.types.ts +3 -0
- package/src/types/ts-compiler.types.ts +15 -11
- package/src/types/worker.types.ts +7 -10
- package/src/workers/build-runner.worker.ts +9 -5
- package/src/workers/server.worker.ts +2 -2
- package/tests/deps/sd-dependency-cache.spec.ts +1 -1
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
export class SdDependencyCache {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this._exportSymbolCache = new Map();
|
|
31
|
-
}
|
|
2
|
+
/**
|
|
3
|
+
* 각 파일이 export한 심볼 집합 (예: export const A → "A")
|
|
4
|
+
*/
|
|
5
|
+
#exportCache = new Map();
|
|
6
|
+
/**
|
|
7
|
+
* import한 타겟과 그 심볼 정보
|
|
8
|
+
* - 값이 0이면 전체 import(import * 또는 리소스 import)
|
|
9
|
+
* - 값이 Set이면 선택적 심볼 import (예: import { A } ...)
|
|
10
|
+
*/
|
|
11
|
+
#importCache = new Map();
|
|
12
|
+
/**
|
|
13
|
+
* re-export한 타겟과 그 심볼 정보
|
|
14
|
+
* - export * from ...
|
|
15
|
+
* - export { A as B } from ...
|
|
16
|
+
* - 값이 0이면 전체 reexport(export * from ...)
|
|
17
|
+
*/
|
|
18
|
+
#reexportCache = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* 역의존 정보 (revDep)
|
|
21
|
+
* - 특정 파일이 어떤 파일에게 의존(참조)되는지
|
|
22
|
+
* - symbol 기반 추적
|
|
23
|
+
*/
|
|
24
|
+
#revDepCache = new Map();
|
|
25
|
+
/**
|
|
26
|
+
* 분석이 완료된 파일 경로
|
|
27
|
+
*/
|
|
28
|
+
#collectedCache = new Set();
|
|
29
|
+
#exportSymbolCache = new Map();
|
|
32
30
|
/**
|
|
33
31
|
* .d.ts 또는 .js가 입력되었을 때 쌍으로 존재하는 파일 경로를 반환
|
|
34
32
|
* 예: "/a.d.ts" → ["/a.d.ts", "/a.js"]
|
|
@@ -45,19 +43,19 @@ export class SdDependencyCache {
|
|
|
45
43
|
/**
|
|
46
44
|
* 전체 추적된 파일 경로를 반환
|
|
47
45
|
*/
|
|
48
|
-
getFiles() {
|
|
49
|
-
|
|
50
|
-
}
|
|
46
|
+
// getFiles(): Set<TNormPath> {
|
|
47
|
+
// return new Set<TNormPath>([...this.#collectedCache.keys(), ...this.revDepCache.keys()]);
|
|
48
|
+
// }
|
|
51
49
|
/**
|
|
52
50
|
* 분석이 완료된 파일로 표시
|
|
53
51
|
*/
|
|
54
52
|
addCollected(fileNPath) {
|
|
55
53
|
for (const path of this.#getRelatedNPaths(fileNPath)) {
|
|
56
|
-
this.
|
|
54
|
+
this.#collectedCache.add(path);
|
|
57
55
|
}
|
|
58
56
|
}
|
|
59
57
|
hasCollected(fileNPath) {
|
|
60
|
-
return this.
|
|
58
|
+
return this.#collectedCache.has(fileNPath);
|
|
61
59
|
}
|
|
62
60
|
/**
|
|
63
61
|
* export한 심볼 등록
|
|
@@ -65,7 +63,7 @@ export class SdDependencyCache {
|
|
|
65
63
|
*/
|
|
66
64
|
addExport(fileNPath, exportSymbol) {
|
|
67
65
|
for (const path of this.#getRelatedNPaths(fileNPath)) {
|
|
68
|
-
const exportSymbolSet = this.
|
|
66
|
+
const exportSymbolSet = this.#exportCache.getOrCreate(path, new Set());
|
|
69
67
|
exportSymbolSet.add(exportSymbol);
|
|
70
68
|
}
|
|
71
69
|
}
|
|
@@ -76,19 +74,19 @@ export class SdDependencyCache {
|
|
|
76
74
|
*/
|
|
77
75
|
addImport(fileNPath, targetNPath, targetSymbol) {
|
|
78
76
|
for (const filePath of this.#getRelatedNPaths(fileNPath)) {
|
|
77
|
+
const importTargetMap = this.#importCache.getOrCreate(filePath, new Map());
|
|
79
78
|
for (const targetPath of this.#getRelatedNPaths(targetNPath)) {
|
|
80
|
-
|
|
81
|
-
if (targetSymbol === 0) {
|
|
82
|
-
importTargetMap.set(targetPath, 0);
|
|
83
|
-
this.#addRevDep(targetPath, filePath, 0);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
79
|
+
if (typeof targetSymbol === "string") {
|
|
86
80
|
const importTargetSymbolSet = importTargetMap.getOrCreate(targetPath, new Set());
|
|
87
|
-
if (importTargetSymbolSet
|
|
88
|
-
|
|
81
|
+
if (!(importTargetSymbolSet instanceof Set))
|
|
82
|
+
continue;
|
|
89
83
|
importTargetSymbolSet.add(targetSymbol);
|
|
90
84
|
this.#addRevDep(targetPath, filePath, targetSymbol);
|
|
91
85
|
}
|
|
86
|
+
else {
|
|
87
|
+
importTargetMap.set(targetPath, targetSymbol);
|
|
88
|
+
this.#addRevDep(targetPath, filePath, targetSymbol);
|
|
89
|
+
}
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
}
|
|
@@ -98,8 +96,8 @@ export class SdDependencyCache {
|
|
|
98
96
|
*/
|
|
99
97
|
addReexport(fileNPath, targetNPath, targetSymbolInfo) {
|
|
100
98
|
for (const filePath of this.#getRelatedNPaths(fileNPath)) {
|
|
99
|
+
const reexportTargetMap = this.#reexportCache.getOrCreate(filePath, new Map());
|
|
101
100
|
for (const targetPath of this.#getRelatedNPaths(targetNPath)) {
|
|
102
|
-
const reexportTargetMap = this._reexportCache.getOrCreate(filePath, new Map());
|
|
103
101
|
if (targetSymbolInfo === 0) {
|
|
104
102
|
reexportTargetMap.set(targetPath, 0);
|
|
105
103
|
this.#addRevDep(targetPath, filePath, 0);
|
|
@@ -122,17 +120,17 @@ export class SdDependencyCache {
|
|
|
122
120
|
*/
|
|
123
121
|
#addRevDep(targetNPath, fileNPath, exportSymbol) {
|
|
124
122
|
for (const targetPath of this.#getRelatedNPaths(targetNPath)) {
|
|
123
|
+
const revDepInfoMap = this.#revDepCache.getOrCreate(targetPath, new Map());
|
|
125
124
|
for (const filePath of this.#getRelatedNPaths(fileNPath)) {
|
|
126
|
-
|
|
127
|
-
if (exportSymbol === 0) {
|
|
128
|
-
revDepInfoMap.set(filePath, 0);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
125
|
+
if (typeof exportSymbol === "string") {
|
|
131
126
|
const exportSymbolSet = revDepInfoMap.getOrCreate(filePath, new Set());
|
|
132
|
-
if (exportSymbolSet
|
|
133
|
-
|
|
127
|
+
if (!(exportSymbolSet instanceof Set))
|
|
128
|
+
continue;
|
|
134
129
|
exportSymbolSet.add(exportSymbol);
|
|
135
130
|
}
|
|
131
|
+
else {
|
|
132
|
+
revDepInfoMap.set(filePath, exportSymbol);
|
|
133
|
+
}
|
|
136
134
|
}
|
|
137
135
|
}
|
|
138
136
|
}
|
|
@@ -219,7 +217,7 @@ export class SdDependencyCache {
|
|
|
219
217
|
}
|
|
220
218
|
while (queue.length > 0) {
|
|
221
219
|
const curr = queue.shift();
|
|
222
|
-
const revDepInfoMap = this.
|
|
220
|
+
const revDepInfoMap = this.#revDepCache.get(curr.fileNPath);
|
|
223
221
|
if (!revDepInfoMap)
|
|
224
222
|
continue;
|
|
225
223
|
for (const [revDepFileNPath, revDepInfo] of revDepInfoMap) {
|
|
@@ -245,20 +243,27 @@ export class SdDependencyCache {
|
|
|
245
243
|
*/
|
|
246
244
|
invalidates(fileNPathSet) {
|
|
247
245
|
// const affectedFileMap = this.getAffectedFileMap(fileNPathSet);
|
|
246
|
+
const revDepCacheChanged = new Set();
|
|
248
247
|
for (const fileNPath of fileNPathSet) {
|
|
249
|
-
this.
|
|
250
|
-
this.
|
|
251
|
-
this.
|
|
252
|
-
this.
|
|
253
|
-
this.
|
|
254
|
-
this.
|
|
248
|
+
this.#exportCache.delete(fileNPath);
|
|
249
|
+
this.#importCache.delete(fileNPath);
|
|
250
|
+
this.#reexportCache.delete(fileNPath);
|
|
251
|
+
this.#exportSymbolCache.delete(fileNPath);
|
|
252
|
+
this.#collectedCache.delete(fileNPath);
|
|
253
|
+
if (this.#revDepCache.has(fileNPath)) {
|
|
254
|
+
this.#revDepCache.delete(fileNPath); // 자신이 key인 경우
|
|
255
|
+
revDepCacheChanged.add(fileNPath);
|
|
256
|
+
}
|
|
255
257
|
}
|
|
256
|
-
for (const [targetNPath, infoMap] of this
|
|
258
|
+
for (const [targetNPath, infoMap] of this.#revDepCache) {
|
|
257
259
|
for (const fileNPath of fileNPathSet) {
|
|
258
|
-
infoMap.
|
|
260
|
+
if (infoMap.has(fileNPath)) {
|
|
261
|
+
infoMap.delete(fileNPath);
|
|
262
|
+
revDepCacheChanged.add(targetNPath);
|
|
263
|
+
}
|
|
259
264
|
}
|
|
260
265
|
if (infoMap.size === 0) {
|
|
261
|
-
this.
|
|
266
|
+
this.#revDepCache.delete(targetNPath);
|
|
262
267
|
}
|
|
263
268
|
}
|
|
264
269
|
}
|
|
@@ -266,7 +271,7 @@ export class SdDependencyCache {
|
|
|
266
271
|
* reexport된 경우 importSymbol → exportSymbol로 변환
|
|
267
272
|
*/
|
|
268
273
|
#convertImportSymbolToExportSymbol(fileNPath, targetNPath, importSymbol) {
|
|
269
|
-
const symbolInfos = this.
|
|
274
|
+
const symbolInfos = this.#reexportCache.get(fileNPath)?.get(targetNPath);
|
|
270
275
|
if (symbolInfos != null && symbolInfos !== 0 && symbolInfos.length > 0) {
|
|
271
276
|
const symbolInfo = symbolInfos.single((item) => item.importSymbol === importSymbol);
|
|
272
277
|
if (symbolInfo)
|
|
@@ -278,15 +283,15 @@ export class SdDependencyCache {
|
|
|
278
283
|
* 해당 파일에서 export된 모든 심볼 (직접 + 재export 포함)
|
|
279
284
|
*/
|
|
280
285
|
#getExportSymbols(fileNPath) {
|
|
281
|
-
if (this.
|
|
282
|
-
return this.
|
|
286
|
+
if (this.#exportSymbolCache.has(fileNPath)) {
|
|
287
|
+
return this.#exportSymbolCache.get(fileNPath);
|
|
283
288
|
}
|
|
284
289
|
const result = new Set();
|
|
285
290
|
for (const path of this.#getRelatedNPaths(fileNPath)) {
|
|
286
|
-
const set = this.
|
|
291
|
+
const set = this.#exportCache.get(path);
|
|
287
292
|
if (set)
|
|
288
293
|
result.adds(...set);
|
|
289
|
-
const map = this.
|
|
294
|
+
const map = this.#reexportCache.get(path);
|
|
290
295
|
if (map) {
|
|
291
296
|
for (const [key, val] of map) {
|
|
292
297
|
if (val === 0) {
|
|
@@ -298,58 +303,7 @@ export class SdDependencyCache {
|
|
|
298
303
|
}
|
|
299
304
|
}
|
|
300
305
|
}
|
|
301
|
-
this.
|
|
302
|
-
return result;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* 변경된 파일로부터 영향을 받는 전체 트리를 반환
|
|
306
|
-
* - 의존 관계를 시각화 및 구조적으로 추적할 수 있도록 트리 형태로 구성
|
|
307
|
-
*/
|
|
308
|
-
getAffectedFileTree(modifiedNPathSet) {
|
|
309
|
-
const visited = new Set();
|
|
310
|
-
const nodeMap = new Map();
|
|
311
|
-
const buildTree = (fileNPath, exportSymbol) => {
|
|
312
|
-
const key = `${fileNPath}#${exportSymbol ?? "*"}`;
|
|
313
|
-
if (nodeMap.has(key))
|
|
314
|
-
return nodeMap.get(key);
|
|
315
|
-
visited.add(key);
|
|
316
|
-
const node = {
|
|
317
|
-
fileNPath,
|
|
318
|
-
children: [],
|
|
319
|
-
};
|
|
320
|
-
nodeMap.set(key, node);
|
|
321
|
-
const revDepInfoMap = this._revDepCache.get(fileNPath);
|
|
322
|
-
if (!revDepInfoMap)
|
|
323
|
-
return node;
|
|
324
|
-
for (const [revDepFileNPath, revDepInfo] of revDepInfoMap.entries()) {
|
|
325
|
-
const hasImportSymbol = exportSymbol == null || revDepInfo === 0 || revDepInfo.has(exportSymbol);
|
|
326
|
-
if (!hasImportSymbol)
|
|
327
|
-
continue;
|
|
328
|
-
const nextExportSymbol = exportSymbol != null
|
|
329
|
-
? this.#convertImportSymbolToExportSymbol(revDepFileNPath, fileNPath, exportSymbol)
|
|
330
|
-
: undefined;
|
|
331
|
-
const childKey = `${revDepFileNPath}#${nextExportSymbol ?? "*"}`;
|
|
332
|
-
if (visited.has(childKey))
|
|
333
|
-
continue;
|
|
334
|
-
const childNode = buildTree(revDepFileNPath, nextExportSymbol);
|
|
335
|
-
node.children.push(childNode);
|
|
336
|
-
}
|
|
337
|
-
return node;
|
|
338
|
-
};
|
|
339
|
-
const result = [];
|
|
340
|
-
for (const modifiedNPath of modifiedNPathSet) {
|
|
341
|
-
for (const path of this.#getRelatedNPaths(modifiedNPath)) {
|
|
342
|
-
result.push(buildTree(path, undefined)); // root는 symbol상관없이
|
|
343
|
-
/*const exportSymbols = this.#getExportSymbols(path);
|
|
344
|
-
if (exportSymbols.size === 0) {
|
|
345
|
-
result.push(buildTree(path, undefined));
|
|
346
|
-
} else {
|
|
347
|
-
for (const symbol of exportSymbols) {
|
|
348
|
-
result.push(buildTree(path, symbol));
|
|
349
|
-
}
|
|
350
|
-
}*/
|
|
351
|
-
}
|
|
352
|
-
}
|
|
306
|
+
this.#exportSymbolCache.set(fileNPath, result);
|
|
353
307
|
return result;
|
|
354
308
|
}
|
|
355
309
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-dependency-cache.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-dependency-cache.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"sd-dependency-cache.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-dependency-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TNormPath } from "@simplysm/sd-core-node";
|
|
2
|
+
import { TStylesheetBundlingResult } from "../types/ts-compiler.types";
|
|
3
|
+
import { ScopePathSet } from "../pkg-builders/commons/scope-path";
|
|
4
|
+
export declare class SdStyleBundler {
|
|
5
|
+
#private;
|
|
6
|
+
private readonly _pkgPath;
|
|
7
|
+
private readonly _isDevMode;
|
|
8
|
+
private readonly _watchScopePathSet;
|
|
9
|
+
constructor(_pkgPath: TNormPath, _isDevMode: boolean, _watchScopePathSet: ScopePathSet);
|
|
10
|
+
getResultCache(): Map<TNormPath, TStylesheetBundlingResult>;
|
|
11
|
+
bundleAsync(data: string, containingFile: TNormPath, resourceFile?: TNormPath | null): Promise<TStylesheetBundlingResult & {
|
|
12
|
+
cached: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
invalidate(modifiedNPathSet: Set<TNormPath>): Set<TNormPath>;
|
|
15
|
+
getAffectedFileSet(modifiedNPathSet: Set<TNormPath>): Set<TNormPath>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { PathUtils } from "@simplysm/sd-core-node";
|
|
2
|
+
import { ComponentStylesheetBundler } from "@angular/build/src/tools/esbuild/angular/component-stylesheets";
|
|
3
|
+
import { transformSupportedBrowsersToTargets } from "@angular/build/src/tools/esbuild/utils";
|
|
4
|
+
import browserslist from "browserslist";
|
|
5
|
+
export class SdStyleBundler {
|
|
6
|
+
#ngStyleBundler;
|
|
7
|
+
#resultCache = new Map();
|
|
8
|
+
#refCache = new Map();
|
|
9
|
+
#revRefCache = new Map();
|
|
10
|
+
constructor(_pkgPath, _isDevMode, _watchScopePathSet) {
|
|
11
|
+
this._pkgPath = _pkgPath;
|
|
12
|
+
this._isDevMode = _isDevMode;
|
|
13
|
+
this._watchScopePathSet = _watchScopePathSet;
|
|
14
|
+
this.#ngStyleBundler = new ComponentStylesheetBundler({
|
|
15
|
+
workspaceRoot: this._pkgPath,
|
|
16
|
+
optimization: !this._isDevMode,
|
|
17
|
+
inlineFonts: true,
|
|
18
|
+
preserveSymlinks: false,
|
|
19
|
+
sourcemap: this._isDevMode ? "inline" : false,
|
|
20
|
+
outputNames: { bundles: "[name]", media: "media/[name]" },
|
|
21
|
+
includePaths: [],
|
|
22
|
+
externalDependencies: [],
|
|
23
|
+
target: transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"])),
|
|
24
|
+
tailwindConfiguration: undefined,
|
|
25
|
+
cacheOptions: {
|
|
26
|
+
enabled: true,
|
|
27
|
+
path: ".cache/angular",
|
|
28
|
+
basePath: ".cache",
|
|
29
|
+
},
|
|
30
|
+
}, "scss", this._isDevMode);
|
|
31
|
+
}
|
|
32
|
+
getResultCache() {
|
|
33
|
+
return this.#resultCache;
|
|
34
|
+
}
|
|
35
|
+
async bundleAsync(data, containingFile, resourceFile = null) {
|
|
36
|
+
// containingFile: 포함된 파일 (.ts 혹은 global style.scss)
|
|
37
|
+
// resourceFile: 외부 리소스 파일 (styleUrls로 입력하지 않고 styles에 직접 입력한 경우 null)
|
|
38
|
+
// referencedFiles: import한 외부 scss 파일 혹은 woff파일등 외부 파일
|
|
39
|
+
const fileNPath = PathUtils.norm(resourceFile ?? containingFile);
|
|
40
|
+
if (this.#resultCache.has(fileNPath)) {
|
|
41
|
+
return {
|
|
42
|
+
...this.#resultCache.get(fileNPath),
|
|
43
|
+
cached: true,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const result = resourceFile != null
|
|
48
|
+
? await this.#ngStyleBundler.bundleFile(resourceFile)
|
|
49
|
+
: await this.#ngStyleBundler.bundleInline(data, containingFile, "scss");
|
|
50
|
+
for (const referencedFile of result.referencedFiles ?? []) {
|
|
51
|
+
if (!this._watchScopePathSet.inScope(fileNPath) ||
|
|
52
|
+
!this._watchScopePathSet.inScope(PathUtils.norm(referencedFile)))
|
|
53
|
+
continue;
|
|
54
|
+
// 참조하는 파일과 참조된 파일 사이의 의존성 관계 추가
|
|
55
|
+
this.#addReference(fileNPath, PathUtils.norm(referencedFile));
|
|
56
|
+
}
|
|
57
|
+
this.#resultCache.set(fileNPath, result);
|
|
58
|
+
return { ...result, cached: false };
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
const result = {
|
|
62
|
+
errors: [
|
|
63
|
+
{
|
|
64
|
+
text: `스타일 번들링 실패: ${err.message ?? "알 수 없는 오류"}`,
|
|
65
|
+
location: { file: containingFile },
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
warnings: [],
|
|
69
|
+
};
|
|
70
|
+
this.#resultCache.set(fileNPath, result);
|
|
71
|
+
return { ...result, cached: false };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
invalidate(modifiedNPathSet) {
|
|
75
|
+
const affectedFileSet = this.getAffectedFileSet(modifiedNPathSet);
|
|
76
|
+
this.#ngStyleBundler.invalidate(affectedFileSet);
|
|
77
|
+
for (const fileNPath of affectedFileSet) {
|
|
78
|
+
this.#resultCache.delete(fileNPath);
|
|
79
|
+
}
|
|
80
|
+
// revRefCache/refCache
|
|
81
|
+
const targetSet = new Set();
|
|
82
|
+
for (const fileNPath of affectedFileSet) {
|
|
83
|
+
targetSet.adds(...(this.#refCache.get(fileNPath) ?? []));
|
|
84
|
+
}
|
|
85
|
+
for (const target of [...targetSet]) {
|
|
86
|
+
const source = this.#revRefCache.get(target);
|
|
87
|
+
if (source == null)
|
|
88
|
+
continue;
|
|
89
|
+
for (const affectedFile of affectedFileSet) {
|
|
90
|
+
source.delete(affectedFile);
|
|
91
|
+
}
|
|
92
|
+
if (source.size === 0) {
|
|
93
|
+
this.#revRefCache.delete(target);
|
|
94
|
+
}
|
|
95
|
+
this.#refCache.delete(target);
|
|
96
|
+
}
|
|
97
|
+
return affectedFileSet;
|
|
98
|
+
}
|
|
99
|
+
#addReference(fileNPath, referencedFile) {
|
|
100
|
+
this.#refCache.getOrCreate(fileNPath, new Set()).add(referencedFile);
|
|
101
|
+
this.#revRefCache.getOrCreate(referencedFile, new Set()).add(fileNPath);
|
|
102
|
+
}
|
|
103
|
+
getAffectedFileSet(modifiedNPathSet) {
|
|
104
|
+
const affectedFileSet = new Set();
|
|
105
|
+
// 수정파일중 Result에 있는것
|
|
106
|
+
const modifiedResultFiles = Array.from(modifiedNPathSet)
|
|
107
|
+
// .filter((item) => item.endsWith(".scss"))
|
|
108
|
+
.filter((item) => this.#resultCache.has(item));
|
|
109
|
+
affectedFileSet.adds(...modifiedResultFiles);
|
|
110
|
+
// 수정파일을 사용하는 파일
|
|
111
|
+
const modifiedScssFiles = Array.from(modifiedNPathSet).filter((item) => item.endsWith(".scss"));
|
|
112
|
+
for (const modifiedScss of modifiedScssFiles) {
|
|
113
|
+
affectedFileSet.adds(...(this.#revRefCache.get(modifiedScss) ?? []));
|
|
114
|
+
}
|
|
115
|
+
return affectedFileSet;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=sd-style-bundler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sd-style-bundler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-style-bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAC;AAC5G,OAAO,EAAE,mCAAmC,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,YAAY,MAAM,cAAc,CAAC;AAGxC,MAAM,OAAO,cAAc;IACzB,eAAe,CAA6B;IAC5C,YAAY,GAAG,IAAI,GAAG,EAAwC,CAAC;IAC/D,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEpD,YACmB,QAAmB,EACnB,UAAmB,EACnB,kBAAgC;QAFhC,aAAQ,GAAR,QAAQ,CAAW;QACnB,eAAU,GAAV,UAAU,CAAS;QACnB,uBAAkB,GAAlB,kBAAkB,CAAc;QAEjD,IAAI,CAAC,eAAe,GAAG,IAAI,0BAA0B,CACnD;YACE,aAAa,EAAE,IAAI,CAAC,QAAQ;YAC5B,YAAY,EAAE,CAAC,IAAI,CAAC,UAAU;YAC9B,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,KAAK;YACvB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YAC7C,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;YACzD,YAAY,EAAE,EAAE;YAChB,oBAAoB,EAAE,EAAE;YACxB,MAAM,EAAE,mCAAmC,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1E,qBAAqB,EAAE,SAAS;YAChC,YAAY,EAAE;gBACZ,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,QAAQ;aACnB;SACF,EACD,MAAM,EACN,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,cAAyB,EACzB,eAAiC,IAAI;QAErC,oDAAoD;QACpD,sEAAsE;QACtE,uDAAuD;QAEvD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAE;gBACpC,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GACV,YAAY,IAAI,IAAI;gBAClB,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;gBACrD,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAE5E,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;gBAC1D,IACE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC3C,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAEhE,SAAS;gBAEX,gCAAgC;gBAChC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEzC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,eAAe,GAAG,CAAC,OAAO,IAAI,WAAW,EAAE;wBACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;qBACnC;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED,UAAU,CAAC,gBAAgC;QACzC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAElE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;QACvC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,IAAI;gBAAE,SAAS;YAE7B,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,SAAoB,EAAE,cAAyB;QAC3D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB,CAAC,gBAAgC;QACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAa,CAAC;QAC7C,oBAAoB;QACpB,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACtD,4CAA4C;aAC3C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;QAE7C,gBAAgB;QAChB,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAChG,KAAK,MAAM,YAAY,IAAI,iBAAiB,EAAE,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
|