@simplysm/sd-cli 12.8.22 → 12.9.2
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-ai-command.js +2 -1
- package/dist/entry/sd-cli-ai-command.js.map +1 -1
- package/dist/entry/sd-cli-cordova.d.ts +1 -1
- package/dist/entry/sd-cli-cordova.js +1 -1
- package/dist/entry/sd-cli-cordova.js.map +1 -1
- package/dist/entry/sd-cli-electron.d.ts +6 -6
- package/dist/entry/sd-cli-electron.js +15 -9
- package/dist/entry/sd-cli-electron.js.map +1 -1
- package/dist/entry/sd-cli-local-update.d.ts +5 -5
- package/dist/entry/sd-cli-local-update.js +8 -12
- package/dist/entry/sd-cli-local-update.js.map +1 -1
- package/dist/entry/sd-cli-project.d.ts +11 -11
- package/dist/entry/sd-cli-project.js +11 -14
- package/dist/entry/sd-cli-project.js.map +1 -1
- package/dist/entry/utils/loadProjConfAsync.d.ts +5 -0
- package/dist/entry/utils/loadProjConfAsync.js +8 -0
- package/dist/entry/utils/loadProjConfAsync.js.map +1 -0
- package/dist/pkg-builders/client/sd-client.build-runner.js +1 -1
- package/dist/pkg-builders/client/sd-client.build-runner.js.map +1 -1
- package/dist/pkg-builders/client/sd-ng.bundler-context.d.ts +6 -5
- package/dist/pkg-builders/client/sd-ng.bundler-context.js +6 -6
- package/dist/pkg-builders/client/sd-ng.bundler-context.js.map +1 -1
- package/dist/pkg-builders/client/sd-ng.bundler.d.ts +14 -13
- package/dist/pkg-builders/client/sd-ng.bundler.js +4 -1
- package/dist/pkg-builders/client/sd-ng.bundler.js.map +1 -1
- package/dist/pkg-builders/client/sd-ng.plugin-creator.js +4 -88
- package/dist/pkg-builders/client/sd-ng.plugin-creator.js.map +1 -1
- 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.map +1 -1
- package/dist/pkg-builders/lib/sd-ts-lib.builder.js.map +1 -1
- package/dist/pkg-builders/sd-multi.build-runner.d.ts +4 -0
- package/dist/pkg-builders/sd-multi.build-runner.js +33 -25
- package/dist/pkg-builders/sd-multi.build-runner.js.map +1 -1
- package/dist/pkg-builders/server/sd-server.build-runner.js.map +1 -1
- package/dist/pkg-builders/server/sd-server.bundler.d.ts +6 -2
- package/dist/pkg-builders/server/sd-server.bundler.js +18 -19
- package/dist/pkg-builders/server/sd-server.bundler.js.map +1 -1
- package/dist/sd-cli/vitest.config.d.ts +2 -0
- package/dist/sd-cli/vitest.config.js +15 -0
- package/dist/sd-cli/vitest.config.js.map +1 -0
- package/dist/sd-cli.js +7 -36
- package/dist/sd-cli.js.map +1 -1
- package/dist/ts-compiler/sd-dependency-analyzer.d.ts +8 -0
- package/dist/ts-compiler/sd-dependency-analyzer.js +244 -0
- package/dist/ts-compiler/sd-dependency-analyzer.js.map +1 -0
- package/dist/ts-compiler/sd-dependency-cache.d.ts +27 -0
- package/dist/ts-compiler/sd-dependency-cache.js +232 -0
- package/dist/ts-compiler/sd-dependency-cache.js.map +1 -0
- package/dist/ts-compiler/sd-ts-compiler.d.ts +8 -10
- package/dist/ts-compiler/sd-ts-compiler.js +106 -229
- package/dist/ts-compiler/sd-ts-compiler.js.map +1 -1
- package/dist/types/worker.types.d.ts +19 -0
- package/dist/utils/sd-cli-performance-time.d.ts +2 -1
- package/dist/utils/sd-cli-performance-time.js +9 -9
- package/dist/utils/sd-cli-performance-time.js.map +1 -1
- package/dist/workers/style-bundler.worker.d.ts +1 -0
- package/dist/workers/style-bundler.worker.js +56 -0
- package/dist/workers/style-bundler.worker.js.map +1 -0
- package/package.json +10 -10
- package/src/entry/sd-cli-ai-command.ts +2 -1
- package/src/entry/sd-cli-cordova.ts +5 -5
- package/src/entry/sd-cli-electron.ts +54 -23
- package/src/entry/sd-cli-local-update.ts +14 -29
- package/src/entry/sd-cli-project.ts +24 -41
- package/src/entry/utils/loadProjConfAsync.ts +12 -0
- package/src/pkg-builders/client/sd-client.build-runner.ts +7 -7
- package/src/pkg-builders/client/sd-ng.bundler-context.ts +15 -12
- package/src/pkg-builders/client/sd-ng.bundler.ts +21 -17
- package/src/pkg-builders/client/sd-ng.plugin-creator.ts +4 -93
- package/src/pkg-builders/lib/sd-js-lib.build-runner.ts +6 -6
- package/src/pkg-builders/lib/sd-ts-lib.build-runner.ts +7 -7
- package/src/pkg-builders/lib/sd-ts-lib.builder.ts +1 -1
- package/src/pkg-builders/sd-multi.build-runner.ts +54 -39
- package/src/pkg-builders/server/sd-server.build-runner.ts +6 -6
- package/src/pkg-builders/server/sd-server.bundler.ts +26 -28
- package/src/sd-cli.ts +7 -36
- package/src/ts-compiler/sd-dependency-analyzer.ts +312 -0
- package/src/ts-compiler/sd-dependency-cache.ts +328 -0
- package/src/ts-compiler/sd-ts-compiler.ts +165 -303
- package/src/types/worker.types.ts +17 -0
- package/src/utils/sd-cli-performance-time.ts +9 -9
- package/src/workers/style-bundler.worker.ts +70 -0
- package/tests/deps/sd-dependency-analyzer.spec.ts +272 -0
- package/tests/deps/sd-dependency-cache.spec.ts +144 -0
- package/tsconfig.json +1 -1
- package/tsconfig.test.json +8 -0
- package/vitest.config.ts +15 -0
- package/dist/index.d.ts +0 -34
- package/dist/index.js +0 -35
- package/dist/index.js.map +0 -1
- package/dist/ts-compiler/sd-ts-dependency-analyzer.d.ts +0 -6
- package/dist/ts-compiler/sd-ts-dependency-analyzer.js +0 -141
- package/dist/ts-compiler/sd-ts-dependency-analyzer.js.map +0 -1
- package/src/index.ts +0 -34
- package/src/ts-compiler/sd-ts-dependency-analyzer.ts +0 -185
|
@@ -1,66 +1,31 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import { FsUtils, PathUtils, SdLogger } from "@simplysm/sd-core-node";
|
|
3
|
+
import { FsUtils, PathUtils, SdLogger, SdWorker } from "@simplysm/sd-core-node";
|
|
4
4
|
import { StringUtils } from "@simplysm/sd-core-common";
|
|
5
5
|
import { NgtscProgram, OptimizeFor } from "@angular/compiler-cli";
|
|
6
|
-
import { ComponentStylesheetBundler, } from "@angular/build/src/tools/esbuild/angular/component-stylesheets";
|
|
7
|
-
import { transformSupportedBrowsersToTargets } from "@angular/build/src/tools/esbuild/utils";
|
|
8
|
-
import browserslist from "browserslist";
|
|
9
6
|
import { replaceBootstrap, } from "@angular/build/src/tools/angular/transformers/jit-bootstrap-transformer";
|
|
10
7
|
import { SdCliPerformanceTimer } from "../utils/sd-cli-performance-time";
|
|
11
8
|
import { SdCliConvertMessageUtils } from "../utils/sd-cli-convert-message.utils";
|
|
12
9
|
import { createWorkerTransformer, } from "@angular/build/src/tools/angular/transformers/web-worker-transformer";
|
|
13
10
|
import { ESLint } from "eslint";
|
|
14
|
-
import {
|
|
11
|
+
import { SdDependencyCache } from "./sd-dependency-cache";
|
|
12
|
+
import { SdDependencyAnalyzer } from "./sd-dependency-analyzer";
|
|
15
13
|
export class SdTsCompiler {
|
|
16
14
|
constructor(_opt) {
|
|
17
15
|
this._opt = _opt;
|
|
18
16
|
this._logger = SdLogger.get(["simplysm", "sd-cli", "SdTsCompiler"]);
|
|
19
|
-
|
|
20
|
-
this.
|
|
17
|
+
// 빌드정보 캐싱
|
|
18
|
+
this._depCache = new SdDependencyCache();
|
|
21
19
|
this._sourceFileCacheMap = new Map();
|
|
22
20
|
this._emittedFilesCacheMap = new Map();
|
|
23
|
-
|
|
24
|
-
this._affectedFileSet = new Set();
|
|
25
|
-
this._watchFileSet = new Set();
|
|
21
|
+
// 빌드결과 캐싱
|
|
26
22
|
this._stylesheetBundlingResultMap = new Map();
|
|
27
23
|
this._debug("초기화 중...");
|
|
28
24
|
const tsconfigPath = path.resolve(this._opt.pkgPath, "tsconfig.json");
|
|
29
25
|
const tsconfig = FsUtils.readJson(tsconfigPath);
|
|
30
26
|
this._isForAngular = Boolean(tsconfig.angularCompilerOptions);
|
|
31
|
-
if (this._isForAngular) {
|
|
32
|
-
//-- stylesheetBundler
|
|
33
|
-
this._stylesheetBundler = new ComponentStylesheetBundler({
|
|
34
|
-
workspaceRoot: this._opt.pkgPath,
|
|
35
|
-
optimization: !this._opt.isDevMode,
|
|
36
|
-
inlineFonts: true,
|
|
37
|
-
preserveSymlinks: false,
|
|
38
|
-
sourcemap: this._opt.isDevMode ? "inline" : false,
|
|
39
|
-
outputNames: { bundles: "[name]", media: "media/[name]" },
|
|
40
|
-
includePaths: [],
|
|
41
|
-
externalDependencies: [],
|
|
42
|
-
target: transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"])),
|
|
43
|
-
postcssConfiguration: {
|
|
44
|
-
plugins: [["css-has-pseudo"]],
|
|
45
|
-
},
|
|
46
|
-
tailwindConfiguration: undefined,
|
|
47
|
-
cacheOptions: {
|
|
48
|
-
enabled: true,
|
|
49
|
-
path: ".cache/angular",
|
|
50
|
-
basePath: ".cache",
|
|
51
|
-
},
|
|
52
|
-
}, "scss", this._opt.isDevMode);
|
|
53
|
-
}
|
|
54
27
|
}
|
|
55
28
|
_parseTsConfig() {
|
|
56
|
-
const config = this._loadTsConfig();
|
|
57
|
-
const compilerHost = this._createCompilerHost(config.options);
|
|
58
|
-
return {
|
|
59
|
-
...config,
|
|
60
|
-
compilerHost,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
_loadTsConfig() {
|
|
64
29
|
const tsconfigPath = path.resolve(this._opt.pkgPath, "tsconfig.json");
|
|
65
30
|
const tsconfig = FsUtils.readJson(tsconfigPath);
|
|
66
31
|
const parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, this._opt.pkgPath, {
|
|
@@ -74,7 +39,7 @@ export class SdTsCompiler {
|
|
|
74
39
|
distPath: distPath,
|
|
75
40
|
};
|
|
76
41
|
}
|
|
77
|
-
_createCompilerHost(compilerOptions) {
|
|
42
|
+
_createCompilerHost(compilerOptions, modifiedFileSet) {
|
|
78
43
|
const compilerHost = ts.createCompilerHost(compilerOptions);
|
|
79
44
|
const baseGetSourceFile = compilerHost.getSourceFile;
|
|
80
45
|
compilerHost.getSourceFile = (fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile, ...args) => {
|
|
@@ -91,11 +56,6 @@ export class SdTsCompiler {
|
|
|
91
56
|
}
|
|
92
57
|
return sf;
|
|
93
58
|
};
|
|
94
|
-
const baseReadFile = compilerHost.readFile;
|
|
95
|
-
compilerHost.readFile = (fileName) => {
|
|
96
|
-
this._watchFileSet.add(PathUtils.norm(fileName));
|
|
97
|
-
return baseReadFile.call(compilerHost, fileName);
|
|
98
|
-
};
|
|
99
59
|
if (this._isForAngular) {
|
|
100
60
|
compilerHost.readResource = (fileName) => {
|
|
101
61
|
return compilerHost.readFile(fileName) ?? "";
|
|
@@ -110,11 +70,19 @@ export class SdTsCompiler {
|
|
|
110
70
|
: { content: stylesheetBundlingResult.contents };
|
|
111
71
|
};
|
|
112
72
|
compilerHost.getModifiedResourceFiles = () => {
|
|
113
|
-
return new Set(Array.from(
|
|
73
|
+
return new Set(Array.from(modifiedFileSet).map((item) => PathUtils.posix(item)));
|
|
114
74
|
};
|
|
115
75
|
}
|
|
116
76
|
return compilerHost;
|
|
117
77
|
}
|
|
78
|
+
async _getOrCreateStyleBundleWorkerAsync() {
|
|
79
|
+
if (this._stylesheetBundlingWorker) {
|
|
80
|
+
return this._stylesheetBundlingWorker;
|
|
81
|
+
}
|
|
82
|
+
this._stylesheetBundlingWorker = new SdWorker(import.meta.resolve("../workers/style-bundler.worker"));
|
|
83
|
+
await this._stylesheetBundlingWorker.run("prepare", [this._opt.pkgPath, this._opt.isDevMode]);
|
|
84
|
+
return this._stylesheetBundlingWorker;
|
|
85
|
+
}
|
|
118
86
|
async _bundleStylesheetAsync(data, containingFile, resourceFile = null) {
|
|
119
87
|
// containingFile: 포함된 파일 (.ts)
|
|
120
88
|
// resourceFile: 외부 리소스 파일 (styleUrls로 입력하지 않고 styles에 직접 입력한 경우 null)
|
|
@@ -126,16 +94,11 @@ export class SdTsCompiler {
|
|
|
126
94
|
return this._stylesheetBundlingResultMap.get(fileNPath);
|
|
127
95
|
}
|
|
128
96
|
try {
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const depCacheSet = this._revDepCacheMap.getOrCreate(PathUtils.norm(referencedFile), new Set());
|
|
135
|
-
depCacheSet.add(fileNPath);
|
|
136
|
-
}
|
|
137
|
-
this._watchFileSet.adds(...Array.from(result.referencedFiles.values())
|
|
138
|
-
.map((item) => PathUtils.norm(item)));
|
|
97
|
+
const worker = this._stylesheetBundlingWorker;
|
|
98
|
+
const result = await worker.run("bundle", [data, containingFile, resourceFile]);
|
|
99
|
+
for (const referencedFile of result.referencedFiles ?? []) {
|
|
100
|
+
// 참조하는 파일과 참조된 파일 사이의 의존성 관계 추가
|
|
101
|
+
this._depCache.addImport(fileNPath, PathUtils.norm(referencedFile), 0);
|
|
139
102
|
}
|
|
140
103
|
this._stylesheetBundlingResultMap.set(fileNPath, result);
|
|
141
104
|
return result;
|
|
@@ -157,93 +120,69 @@ export class SdTsCompiler {
|
|
|
157
120
|
}
|
|
158
121
|
async compileAsync(modifiedFileSet) {
|
|
159
122
|
this._perf = new SdCliPerformanceTimer("esbuild compile");
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
this.#modifiedFileSet.adds(...workerImporters);
|
|
166
|
-
} else {
|
|
167
|
-
this.#modifiedFileSet.add(mod);
|
|
168
|
-
}
|
|
169
|
-
}*/
|
|
170
|
-
const tsconf = this._parseTsConfig();
|
|
171
|
-
const prepareResult = await this._prepareAsync(tsconf);
|
|
172
|
-
const [buildResult, lintResults] = await Promise.all([
|
|
173
|
-
this._buildAsync(tsconf),
|
|
174
|
-
this._lintAsync(),
|
|
123
|
+
const prepareResult = await this._prepareAsync(modifiedFileSet);
|
|
124
|
+
const [globalStyleSheet, buildResult, lintResults] = await Promise.all([
|
|
125
|
+
this._buildGlobalStyleAsync(),
|
|
126
|
+
this._build(prepareResult),
|
|
127
|
+
this._lintAsync(prepareResult),
|
|
175
128
|
]);
|
|
176
|
-
this.
|
|
177
|
-
this._debug(`영향 받은 파일: ${
|
|
178
|
-
this._debug(`감시 중인 파일: ${
|
|
129
|
+
this._log(`빌드 완료됨`, this._perf.toString());
|
|
130
|
+
this._debug(`영향 받은 파일: ${prepareResult.affectedFileSet.size}개`);
|
|
131
|
+
this._debug(`감시 중인 파일: ${prepareResult.watchFileSet.size}개`);
|
|
179
132
|
return {
|
|
180
133
|
messages: [
|
|
181
|
-
...prepareResult.messages,
|
|
182
134
|
...SdCliConvertMessageUtils.convertToBuildMessagesFromTsDiag(buildResult.diagnostics),
|
|
183
135
|
...SdCliConvertMessageUtils.convertToBuildMessagesFromEslint(lintResults),
|
|
184
136
|
],
|
|
185
|
-
|
|
186
|
-
|
|
137
|
+
affectedFileSet: prepareResult.affectedFileSet,
|
|
138
|
+
watchFileSet: prepareResult.watchFileSet,
|
|
187
139
|
stylesheetBundlingResultMap: this._stylesheetBundlingResultMap,
|
|
188
140
|
emittedFilesCacheMap: this._emittedFilesCacheMap,
|
|
189
|
-
emitFileSet: buildResult.emitFileSet,
|
|
141
|
+
emitFileSet: new Set([...buildResult.emitFileSet, globalStyleSheet].filterExists()),
|
|
190
142
|
};
|
|
191
143
|
}
|
|
192
|
-
async _prepareAsync(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
for (const modifiedFile of this._modifiedFileSet) {
|
|
197
|
-
this._affectedFileSet.add(modifiedFile);
|
|
198
|
-
this._affectedFileSet.adds(...(this._revDepCacheMap.get(modifiedFile) ?? []));
|
|
199
|
-
// .d.ts → .js 대응
|
|
200
|
-
if (modifiedFile.endsWith(".d.ts")) {
|
|
201
|
-
const jsEquivalent = PathUtils.norm(modifiedFile.replace(/\.d\.ts$/, ".js"));
|
|
202
|
-
this._affectedFileSet.add(jsEquivalent);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
});
|
|
144
|
+
async _prepareAsync(modifiedFileSet) {
|
|
145
|
+
const worker = await this._getOrCreateStyleBundleWorkerAsync();
|
|
146
|
+
const tsconfig = this._parseTsConfig();
|
|
147
|
+
if (modifiedFileSet.size !== 0) {
|
|
206
148
|
this._debug(`캐시 무효화 및 초기화 중...`);
|
|
207
|
-
this._perf.run("캐시 무효화 및 초기화", () => {
|
|
208
|
-
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const dependents = this._revDepCacheMap.get(file);
|
|
215
|
-
if (dependents) {
|
|
216
|
-
for (const dep of dependents) {
|
|
217
|
-
toDeleteSet.add(dep);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
for (const toDeleteFile of toDeleteSet) {
|
|
222
|
-
this._emittedFilesCacheMap.delete(toDeleteFile);
|
|
223
|
-
this._sourceFileCacheMap.delete(toDeleteFile);
|
|
224
|
-
this._stylesheetBundlingResultMap.delete(toDeleteFile);
|
|
225
|
-
this._watchFileSet.delete(toDeleteFile);
|
|
226
|
-
this._allDepCacheMap.delete(toDeleteFile);
|
|
227
|
-
this._revDepCacheMap.delete(toDeleteFile);
|
|
228
|
-
}
|
|
229
|
-
for (const [key, deps] of this._revDepCacheMap) {
|
|
230
|
-
for (const file of toDeleteSet) {
|
|
231
|
-
deps.delete(file);
|
|
232
|
-
}
|
|
233
|
-
if (deps.size === 0) {
|
|
234
|
-
this._revDepCacheMap.delete(key);
|
|
149
|
+
await this._perf.run("캐시 무효화 및 초기화", async () => {
|
|
150
|
+
// 기존 의존성에 의해 영향받는 파일들 계산
|
|
151
|
+
const affectedFileSet = this._depCache.getAffectedFileSet(modifiedFileSet);
|
|
152
|
+
const getTreeText = (node, indent = "") => {
|
|
153
|
+
let result = indent + node.fileNPath + "\n";
|
|
154
|
+
for (const child of node.children) {
|
|
155
|
+
result += getTreeText(child, indent + " ");
|
|
235
156
|
}
|
|
157
|
+
return result;
|
|
158
|
+
};
|
|
159
|
+
const affectedFileTree = this._depCache.getAffectedFileTree(modifiedFileSet);
|
|
160
|
+
this._debug(`
|
|
161
|
+
영향받은 기존파일:
|
|
162
|
+
${affectedFileTree.map(item => getTreeText(item)).join("\n")}`.trim());
|
|
163
|
+
// 스타일 번들러에서 영향받은 파일 관련 항목 무효화
|
|
164
|
+
await worker.run("invalidate", [affectedFileSet]);
|
|
165
|
+
// 의존성 캐시에서 영향받은 파일 관련 항목 무효화
|
|
166
|
+
this._depCache.invalidates(affectedFileSet);
|
|
167
|
+
// 내부 캐시에서 영향받은 파일 관련 항목 무효화
|
|
168
|
+
for (const affectedFile of affectedFileSet) {
|
|
169
|
+
this._emittedFilesCacheMap.delete(affectedFile);
|
|
170
|
+
this._sourceFileCacheMap.delete(affectedFile);
|
|
171
|
+
this._stylesheetBundlingResultMap.delete(affectedFile);
|
|
236
172
|
}
|
|
237
173
|
});
|
|
238
174
|
}
|
|
239
175
|
this._debug(`ts.Program 생성 중...`);
|
|
176
|
+
const compilerHost = this._perf.run("ts.CompilerHost 생성", () => {
|
|
177
|
+
return this._createCompilerHost(tsconfig.options, modifiedFileSet);
|
|
178
|
+
});
|
|
240
179
|
this._perf.run("ts.Program 생성", () => {
|
|
241
180
|
if (this._isForAngular) {
|
|
242
|
-
this._ngProgram = new NgtscProgram(
|
|
181
|
+
this._ngProgram = new NgtscProgram(tsconfig.fileNames, tsconfig.options, compilerHost, this._ngProgram);
|
|
243
182
|
this._program = this._ngProgram.getTsProgram();
|
|
244
183
|
}
|
|
245
184
|
else {
|
|
246
|
-
this._program = ts.createProgram(
|
|
185
|
+
this._program = ts.createProgram(tsconfig.fileNames, tsconfig.options, compilerHost, this._program);
|
|
247
186
|
}
|
|
248
187
|
});
|
|
249
188
|
if (this._ngProgram) {
|
|
@@ -252,88 +191,27 @@ export class SdTsCompiler {
|
|
|
252
191
|
});
|
|
253
192
|
}
|
|
254
193
|
this._debug(`새 의존성 분석 중...`);
|
|
255
|
-
const messages = [];
|
|
256
194
|
this._perf.run("새 의존성 분석", () => {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
for (const dep of deps) {
|
|
263
|
-
const depCache = this._revDepCacheMap.getOrCreate(dep, new Set());
|
|
264
|
-
depCache.add(fileNPath);
|
|
265
|
-
}
|
|
266
|
-
if (this._ngProgram) {
|
|
267
|
-
const sf = this._program.getSourceFile(fileNPath);
|
|
268
|
-
if (this._ngProgram.compiler.ignoreForEmit.has(sf)) {
|
|
269
|
-
continue;
|
|
270
|
-
}
|
|
271
|
-
for (const dep of this._ngProgram.compiler.getResourceDependencies(sf)) {
|
|
272
|
-
const ref = this._revDepCacheMap.getOrCreate(PathUtils.norm(dep), new Set());
|
|
273
|
-
ref.add(fileNPath);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
195
|
+
// SdTsDependencyAnalyzer를 통해 의존성 분석 및 SdDepCache 업데이트
|
|
196
|
+
SdDependencyAnalyzer.analyze(this._program, compilerHost, this._opt.watchScopePaths, this._depCache);
|
|
197
|
+
// Angular 리소스 의존성 추가
|
|
198
|
+
if (this._ngProgram) {
|
|
199
|
+
SdDependencyAnalyzer.analyzeAngularResources(this._ngProgram, this._opt.watchScopePaths, this._depCache);
|
|
276
200
|
}
|
|
277
201
|
});
|
|
278
|
-
|
|
279
|
-
this.
|
|
280
|
-
this.
|
|
281
|
-
|
|
282
|
-
if (!this._opt.watchScopePaths.some((scopePath) => PathUtils.isChildPath(fileNPath, scopePath))) {
|
|
283
|
-
continue;
|
|
284
|
-
}
|
|
285
|
-
this._affectedFileSet.add(fileNPath);
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* AI가 넣으라고해서 넣었지만 이유는 잘 모르겠음.
|
|
291
|
-
* AI측의 설명은 아래와 같음:
|
|
292
|
-
*
|
|
293
|
-
* 변경된 파일이 .d.ts일 경우, 타입 정보만을 가져다 쓰는 다수의 .ts 파일들이
|
|
294
|
-
* 직접적으로 import하고 있어도 revDepMap에는 기록되지 않을 수 있음.
|
|
295
|
-
*
|
|
296
|
-
* 따라서 .d.ts 파일을 참조하는 모든 파일을 allDepCacheMap에서 역추적하여
|
|
297
|
-
* 간접 영향 파일들을 정확하게 affectedFileSet에 포함시켜야 함.
|
|
298
|
-
*
|
|
299
|
-
* 이 블록은 정확도 보완을 위한 보증 로직이며, 특히 초기 빌드 또는 watch 시 의존성 누락을 방지함.
|
|
300
|
-
*/
|
|
301
|
-
for (const modifiedFile of this._modifiedFileSet) {
|
|
302
|
-
// 신규 추가된 파일이 누락되지 않도록 추가하라고 하여 넣음
|
|
303
|
-
if (!this._revDepCacheMap.has(modifiedFile) &&
|
|
304
|
-
!this._allDepCacheMap.has(modifiedFile) &&
|
|
305
|
-
this._program.getSourceFile(modifiedFile)) {
|
|
306
|
-
this._affectedFileSet.add(modifiedFile);
|
|
307
|
-
}
|
|
308
|
-
// AI가 넣으라 한부분에 대한 설명은 여기서부터임
|
|
309
|
-
if (!modifiedFile.endsWith(".d.ts"))
|
|
310
|
-
continue;
|
|
311
|
-
for (const [importer, deps] of this._allDepCacheMap) {
|
|
312
|
-
if (deps.has(modifiedFile)) {
|
|
313
|
-
this._affectedFileSet.add(importer);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
for (const dep of this._revDepCacheMap.keys()) {
|
|
318
|
-
if (this._modifiedFileSet.has(dep)) {
|
|
319
|
-
this._affectedFileSet.adds(...Array.from(this._revDepCacheMap.get(dep)).mapMany((item) => [
|
|
320
|
-
item,
|
|
321
|
-
// .d.ts면 .js파일도 affected에 추가
|
|
322
|
-
item.endsWith(".d.ts") ? PathUtils.norm(item.replace(/\.d\.ts$/, ".js")) : undefined,
|
|
323
|
-
].filterExists()));
|
|
324
|
-
}
|
|
325
|
-
// dep이 emit된적이 없으면 affected에 추가해야함.
|
|
326
|
-
// dep파일이 추가된후 기존 파일에서 import하면 dep파일이 affected에 포함이 안되는 현상 때문
|
|
327
|
-
if (!this._emittedFilesCacheMap.has(dep)) {
|
|
328
|
-
this._affectedFileSet.add(dep);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
202
|
+
const affectedFileSet = modifiedFileSet.size === 0
|
|
203
|
+
? this._depCache.getFiles()
|
|
204
|
+
: this._depCache.getAffectedFileSet(modifiedFileSet);
|
|
205
|
+
const watchFileSet = this._depCache.getFiles();
|
|
331
206
|
return {
|
|
332
|
-
|
|
207
|
+
tsconfig,
|
|
208
|
+
compilerHost,
|
|
209
|
+
affectedFileSet,
|
|
210
|
+
watchFileSet,
|
|
333
211
|
};
|
|
334
212
|
}
|
|
335
|
-
async _lintAsync() {
|
|
336
|
-
const lintFilePaths = Array.from(
|
|
213
|
+
async _lintAsync(prepareResult) {
|
|
214
|
+
const lintFilePaths = Array.from(prepareResult.affectedFileSet)
|
|
337
215
|
.filter((item) => PathUtils.isChildPath(item, this._opt.pkgPath))
|
|
338
216
|
.filter((item) => ((!item.endsWith(".d.ts") && item.endsWith(".ts")) ||
|
|
339
217
|
item.endsWith(".js")))
|
|
@@ -347,7 +225,6 @@ export class SdTsCompiler {
|
|
|
347
225
|
overrideConfig: {
|
|
348
226
|
languageOptions: {
|
|
349
227
|
parserOptions: {
|
|
350
|
-
// parser: tseslint.parser,
|
|
351
228
|
project: null,
|
|
352
229
|
programs: [this._program],
|
|
353
230
|
},
|
|
@@ -355,14 +232,28 @@ export class SdTsCompiler {
|
|
|
355
232
|
},
|
|
356
233
|
});
|
|
357
234
|
return await linter.lintFiles(lintFilePaths);
|
|
358
|
-
// return await this.#lintWorker.run("lint", [
|
|
359
|
-
// {
|
|
360
|
-
// cwd: this.#pkgPath,
|
|
361
|
-
// fileSet: this.#affectedFileSet,
|
|
362
|
-
// },
|
|
363
|
-
// ]);
|
|
364
235
|
}
|
|
365
|
-
async
|
|
236
|
+
async _buildGlobalStyleAsync() {
|
|
237
|
+
//-- global style
|
|
238
|
+
if (this._opt.globalStyleFilePath != null &&
|
|
239
|
+
FsUtils.exists(this._opt.globalStyleFilePath) &&
|
|
240
|
+
!this._emittedFilesCacheMap.has(this._opt.globalStyleFilePath)) {
|
|
241
|
+
this._debug(`전역 스타일 번들링 중...`);
|
|
242
|
+
await this._perf.run("전역 스타일 번들링", async () => {
|
|
243
|
+
const data = await FsUtils.readFileAsync(this._opt.globalStyleFilePath);
|
|
244
|
+
const stylesheetBundlingResult = await this._bundleStylesheetAsync(data, this._opt.globalStyleFilePath, this._opt.globalStyleFilePath);
|
|
245
|
+
const emitFileInfos = this._emittedFilesCacheMap.getOrCreate(this._opt.globalStyleFilePath, []);
|
|
246
|
+
emitFileInfos.push({
|
|
247
|
+
outAbsPath: PathUtils.norm(this._opt.pkgPath, path.relative(path.resolve(this._opt.pkgPath, "src"), this._opt.globalStyleFilePath)
|
|
248
|
+
.replace(/\.scss$/, ".css")),
|
|
249
|
+
text: stylesheetBundlingResult.contents ?? "",
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
return this._opt.globalStyleFilePath;
|
|
253
|
+
}
|
|
254
|
+
return undefined;
|
|
255
|
+
}
|
|
256
|
+
_build(prepareResult) {
|
|
366
257
|
const emitFileSet = new Set();
|
|
367
258
|
const diagnostics = [];
|
|
368
259
|
this._debug(`프로그램 진단 수집 중...`);
|
|
@@ -373,7 +264,7 @@ export class SdTsCompiler {
|
|
|
373
264
|
}
|
|
374
265
|
});
|
|
375
266
|
this._debug(`개별 파일 진단 수집 중...`);
|
|
376
|
-
for (const affectedFile of
|
|
267
|
+
for (const affectedFile of prepareResult.affectedFileSet) {
|
|
377
268
|
if (!PathUtils.isChildPath(affectedFile, this._opt.pkgPath))
|
|
378
269
|
continue;
|
|
379
270
|
const affectedSourceFile = this._program.getSourceFile(affectedFile);
|
|
@@ -412,7 +303,7 @@ export class SdTsCompiler {
|
|
|
412
303
|
// affected에 새로 추가된 파일은 포함되지 않는 현상이 있어 sourceFileSet으로 바꿈
|
|
413
304
|
// 비교해보니, 딱히 getSourceFiles라서 더 느려지는것 같지는 않음
|
|
414
305
|
// 그래도 affected로 다시 테스트 (조금이라도 더 빠르게)
|
|
415
|
-
for (const affectedFile of
|
|
306
|
+
for (const affectedFile of prepareResult.affectedFileSet) {
|
|
416
307
|
if (this._emittedFilesCacheMap.has(affectedFile))
|
|
417
308
|
continue;
|
|
418
309
|
const sf = this._program.getSourceFile(affectedFile);
|
|
@@ -429,7 +320,7 @@ export class SdTsCompiler {
|
|
|
429
320
|
}
|
|
430
321
|
this._program.emit(sf, (fileName, text, writeByteOrderMark, onError, sourceFiles, data) => {
|
|
431
322
|
if (!sourceFiles || sourceFiles.length === 0) {
|
|
432
|
-
|
|
323
|
+
prepareResult.compilerHost.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data);
|
|
433
324
|
return;
|
|
434
325
|
}
|
|
435
326
|
const sourceFile = ts.getOriginalNode(sourceFiles[0], ts.isSourceFile);
|
|
@@ -440,7 +331,7 @@ export class SdTsCompiler {
|
|
|
440
331
|
}
|
|
441
332
|
const emitFileInfoCaches = this._emittedFilesCacheMap.getOrCreate(PathUtils.norm(sourceFile.fileName), []);
|
|
442
333
|
if (PathUtils.isChildPath(sourceFile.fileName, this._opt.pkgPath)) {
|
|
443
|
-
const real = this._convertOutputToReal(fileName,
|
|
334
|
+
const real = this._convertOutputToReal(fileName, prepareResult.tsconfig.distPath, text);
|
|
444
335
|
emitFileInfoCaches.push({
|
|
445
336
|
outAbsPath: real.filePath,
|
|
446
337
|
text: real.text,
|
|
@@ -453,23 +344,6 @@ export class SdTsCompiler {
|
|
|
453
344
|
}, undefined, undefined, transformers);
|
|
454
345
|
}
|
|
455
346
|
});
|
|
456
|
-
//-- global style
|
|
457
|
-
if (this._opt.globalStyleFilePath != null &&
|
|
458
|
-
FsUtils.exists(this._opt.globalStyleFilePath) &&
|
|
459
|
-
!this._emittedFilesCacheMap.has(this._opt.globalStyleFilePath)) {
|
|
460
|
-
this._debug(`전역 스타일 번들링 중...`);
|
|
461
|
-
await this._perf.run("전역 스타일 번들링", async () => {
|
|
462
|
-
const data = FsUtils.readFile(this._opt.globalStyleFilePath);
|
|
463
|
-
const stylesheetBundlingResult = await this._bundleStylesheetAsync(data, this._opt.globalStyleFilePath, this._opt.globalStyleFilePath);
|
|
464
|
-
const emitFileInfos = this._emittedFilesCacheMap.getOrCreate(this._opt.globalStyleFilePath, []);
|
|
465
|
-
emitFileInfos.push({
|
|
466
|
-
outAbsPath: PathUtils.norm(this._opt.pkgPath, path.relative(path.resolve(this._opt.pkgPath, "src"), this._opt.globalStyleFilePath)
|
|
467
|
-
.replace(/\.scss$/, ".css")),
|
|
468
|
-
text: stylesheetBundlingResult.contents ?? "",
|
|
469
|
-
});
|
|
470
|
-
emitFileSet.add(this._opt.globalStyleFilePath);
|
|
471
|
-
});
|
|
472
|
-
}
|
|
473
347
|
return {
|
|
474
348
|
emitFileSet,
|
|
475
349
|
diagnostics,
|
|
@@ -493,5 +367,8 @@ export class SdTsCompiler {
|
|
|
493
367
|
_debug(...msg) {
|
|
494
368
|
this._logger.debug(`[${path.basename(this._opt.pkgPath)}]`, ...msg);
|
|
495
369
|
}
|
|
370
|
+
_log(...msg) {
|
|
371
|
+
this._logger.log(`[${path.basename(this._opt.pkgPath)}]`, ...msg);
|
|
372
|
+
}
|
|
496
373
|
}
|
|
497
374
|
//# sourceMappingURL=sd-ts-compiler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sd-ts-compiler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sd-ts-compiler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ISdBuildRunnerWorkerRequest } from "./build-runner.types";
|
|
2
2
|
import { ISdBuildMessage, ISdBuildRunnerResult } from "./build.types";
|
|
3
3
|
import { ESLint } from "eslint";
|
|
4
|
+
import { TNormPath } from "@simplysm/sd-core-node";
|
|
5
|
+
import { ComponentStylesheetResult } from "@angular/build/src/tools/esbuild/angular/component-stylesheets";
|
|
4
6
|
export interface TServerWorkerType {
|
|
5
7
|
methods: {
|
|
6
8
|
listen: {
|
|
@@ -46,3 +48,20 @@ export interface TSdBuildRunnerWorkerType {
|
|
|
46
48
|
complete: ISdBuildRunnerResult;
|
|
47
49
|
};
|
|
48
50
|
}
|
|
51
|
+
export interface TStyleBundlerWorkerType {
|
|
52
|
+
methods: {
|
|
53
|
+
prepare: {
|
|
54
|
+
params: [string, boolean];
|
|
55
|
+
returnType: void;
|
|
56
|
+
};
|
|
57
|
+
bundle: {
|
|
58
|
+
params: [string, TNormPath, TNormPath | null];
|
|
59
|
+
returnType: ComponentStylesheetResult;
|
|
60
|
+
};
|
|
61
|
+
invalidate: {
|
|
62
|
+
params: [Set<TNormPath>];
|
|
63
|
+
returnType: void;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
events: {};
|
|
67
|
+
}
|