@simplysm/sd-cli 11.1.46 → 11.1.51

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 (40) hide show
  1. package/dist/build-tools/SdLibBundler.d.ts +13 -0
  2. package/dist/build-tools/SdLibBundler.js +51 -0
  3. package/dist/build-tools/SdLibBundler.js.map +1 -0
  4. package/dist/build-tools/SdLinter.js +4 -4
  5. package/dist/build-tools/SdLinter.js.map +1 -1
  6. package/dist/build-tools/SdNgBundler.d.ts +10 -19
  7. package/dist/build-tools/SdNgBundler.js +103 -99
  8. package/dist/build-tools/SdNgBundler.js.map +1 -1
  9. package/dist/build-tools/SdTsCompiler.d.ts +23 -10
  10. package/dist/build-tools/SdTsCompiler.js +250 -220
  11. package/dist/build-tools/SdTsCompiler.js.map +1 -1
  12. package/dist/builders/SdCliTsLibBuilder.d.ts +2 -6
  13. package/dist/builders/SdCliTsLibBuilder.js +26 -21
  14. package/dist/builders/SdCliTsLibBuilder.js.map +1 -1
  15. package/dist/bundle-plugins/sdNgPlugin.js +2 -2
  16. package/dist/bundle-plugins/sdNgPlugin.js.map +1 -1
  17. package/dist/bundle-plugins/sdServerPlugin.js +2 -2
  18. package/dist/bundle-plugins/sdServerPlugin.js.map +1 -1
  19. package/dist/entry/SdCliProject.js +3 -1
  20. package/dist/entry/SdCliProject.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/sd-cli.d.ts +1 -1
  25. package/dist/sd-cli.js +1 -1
  26. package/package.json +5 -5
  27. package/src/build-tools/SdLibBundler.ts +70 -0
  28. package/src/build-tools/SdLinter.ts +4 -4
  29. package/src/build-tools/SdNgBundler.ts +114 -109
  30. package/src/build-tools/SdTsCompiler.ts +355 -214
  31. package/src/builders/SdCliTsLibBuilder.ts +29 -22
  32. package/src/bundle-plugins/sdNgPlugin.ts +2 -2
  33. package/src/bundle-plugins/sdServerPlugin.ts +2 -2
  34. package/src/entry/SdCliProject.ts +3 -1
  35. package/src/index.ts +1 -1
  36. package/src/sd-cli.ts +1 -1
  37. package/dist/build-tools2/SdTsCompiler2.d.ts +0 -26
  38. package/dist/build-tools2/SdTsCompiler2.js +0 -280
  39. package/dist/build-tools2/SdTsCompiler2.js.map +0 -1
  40. package/src/build-tools2/SdTsCompiler2.ts +0 -427
@@ -1 +1 @@
1
- {"version":3,"file":"SdNgBundler.js","sourceRoot":"","sources":["../../src/build-tools/SdNgBundler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdNgBundler.js","sourceRoot":"","sources":["../../src/build-tools/SdNgBundler.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
- import { ISdCliPackageBuildResult } from "../commons";
2
- import ts from "typescript";
1
+ import ts, { CompilerOptions } from "typescript";
2
+ import esbuild from "esbuild";
3
3
  export declare class SdTsCompiler {
4
4
  #private;
5
- program?: ts.Program;
6
- constructor(pkgPath: string, dev: boolean);
7
- markChanges(modifiedFileSet: Set<string>): void;
8
- buildAsync(): Promise<{
9
- watchFileSet: Set<string>;
10
- affectedFileSet: Set<string>;
11
- results: ISdCliPackageBuildResult[];
12
- }>;
5
+ constructor(pkgPath: string, additionalOptions: CompilerOptions, isDevMode: boolean, globalStyleFilePath?: string);
6
+ invalidate(modifiedFileSet: Set<string>): void;
7
+ buildAsync(): Promise<ISdTsCompiler2Result>;
13
8
  }
9
+ export interface ISdTsCompiler2Result {
10
+ program: ts.Program;
11
+ typescriptDiagnostics: ts.Diagnostic[];
12
+ stylesheetResultMap: Map<string, IStylesheetResult>;
13
+ emittedFilesCacheMap: Map<string, {
14
+ outRelPath?: string;
15
+ text: string;
16
+ }[]>;
17
+ watchFileSet: Set<string>;
18
+ affectedFileSet: Set<string>;
19
+ }
20
+ interface IStylesheetResult {
21
+ outputFiles: esbuild.OutputFile[];
22
+ metafile?: esbuild.Metafile;
23
+ errors?: esbuild.PartialMessage[];
24
+ warnings?: esbuild.PartialMessage[];
25
+ }
26
+ export {};
@@ -1,249 +1,279 @@
1
- import { SdCliBuildResultUtil } from "../utils/SdCliBuildResultUtil";
2
- import { SdTsCompiler2 } from "../build-tools2/SdTsCompiler2";
1
+ import ts from "typescript";
3
2
  import path from "path";
4
3
  import { FsUtil, PathUtil } from "@simplysm/sd-core-node";
4
+ import { transformSupportedBrowsersToTargets } from "@angular-devkit/build-angular/src/tools/esbuild/utils";
5
+ import browserslist from "browserslist";
6
+ import { ComponentStylesheetBundler } from "@angular-devkit/build-angular/src/tools/esbuild/angular/component-stylesheets";
7
+ import { StringUtil } from "@simplysm/sd-core-common";
8
+ import { NgtscProgram, OptimizeFor } from "@angular/compiler-cli";
9
+ import { createHash } from "crypto";
5
10
  export class SdTsCompiler {
6
- #compiler;
11
+ #parsedTsconfig;
12
+ #isForAngular;
13
+ #resourceDependencyCacheMap = new Map();
14
+ #sourceFileCacheMap = new Map();
15
+ #emittedFilesCacheMap = new Map();
16
+ #stylesheetBundler;
17
+ #compilerHost;
18
+ #ngProgram;
19
+ #program;
20
+ #builder;
21
+ #modifiedFileSet = new Set();
22
+ #watchFileSet = new Set();
23
+ #stylesheetResultMap = new Map();
24
+ #affectedFileSet = new Set();
7
25
  #pkgPath;
8
- /*public get program(): ts.Program {
9
- if (!this._program) {
10
- throw new Error("TS 프로그램 NULL");
11
- }
12
- return this._program;
13
- }*/
14
- constructor(pkgPath, dev) {
26
+ #distPath;
27
+ #globalStyleFilePath;
28
+ constructor(pkgPath, additionalOptions, isDevMode, globalStyleFilePath) {
15
29
  this.#pkgPath = pkgPath;
16
- this.#compiler = new SdTsCompiler2(pkgPath, { declaration: true }, dev, path.resolve(pkgPath, "src/styles.scss"));
17
- }
18
- markChanges(modifiedFileSet) {
19
- this.#compiler.invalidate(modifiedFileSet);
30
+ this.#globalStyleFilePath = globalStyleFilePath != null ? path.normalize(globalStyleFilePath) : undefined;
31
+ //-- isForAngular / parsedTsConfig
32
+ const tsconfigPath = path.resolve(pkgPath, "tsconfig.json");
33
+ const tsconfig = FsUtil.readJson(tsconfigPath);
34
+ this.#isForAngular = Boolean(tsconfig.angularCompilerOptions);
35
+ this.#parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, pkgPath, {
36
+ ...tsconfig.angularCompilerOptions,
37
+ ...additionalOptions
38
+ });
39
+ this.#distPath = this.#parsedTsconfig.options.outDir ?? path.resolve(pkgPath, "dist");
40
+ //-- compilerHost
41
+ this.#compilerHost = ts.createIncrementalCompilerHost(this.#parsedTsconfig.options);
42
+ const baseGetSourceFile = this.#compilerHost.getSourceFile;
43
+ this.#compilerHost.getSourceFile = (fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile, ...args) => {
44
+ if (!shouldCreateNewSourceFile && this.#sourceFileCacheMap.has(path.normalize(fileName))) {
45
+ return this.#sourceFileCacheMap.get(path.normalize(fileName));
46
+ }
47
+ const sf = baseGetSourceFile.call(this.#compilerHost, fileName, languageVersionOrOptions, onError, true, ...args);
48
+ if (sf) {
49
+ this.#sourceFileCacheMap.set(path.normalize(fileName), sf);
50
+ }
51
+ else {
52
+ this.#sourceFileCacheMap.delete(path.normalize(fileName));
53
+ }
54
+ return sf;
55
+ };
56
+ if (this.#isForAngular) {
57
+ //-- stylesheetBundler
58
+ const browserTarget = transformSupportedBrowsersToTargets(browserslist("defaults and fully supports es6-module"));
59
+ this.#stylesheetBundler = new ComponentStylesheetBundler({
60
+ workspaceRoot: pkgPath,
61
+ optimization: !isDevMode,
62
+ inlineFonts: true,
63
+ preserveSymlinks: false,
64
+ sourcemap: 'inline', //conf.dev ? 'inline' : false,
65
+ outputNames: { bundles: '[name]', media: 'media/[name]' },
66
+ includePaths: [],
67
+ externalDependencies: [],
68
+ target: browserTarget,
69
+ tailwindConfiguration: undefined,
70
+ cacheOptions: {
71
+ enabled: true,
72
+ path: ".cache/angular",
73
+ basePath: ".cache"
74
+ }
75
+ }, isDevMode);
76
+ //-- compilerHost
77
+ this.#compilerHost.readResource = (fileName) => {
78
+ return this.#compilerHost.readFile(fileName) ?? "";
79
+ };
80
+ this.#compilerHost.transformResource = async (data, context) => {
81
+ if (context.type !== "style") {
82
+ return null;
83
+ }
84
+ const contents = await this.#bundleStylesheetAsync(data, context.containingFile, context.resourceFile);
85
+ return StringUtil.isNullOrEmpty(contents) ? null : { content: contents };
86
+ };
87
+ this.#compilerHost.getModifiedResourceFiles = () => {
88
+ return this.#modifiedFileSet;
89
+ };
90
+ }
20
91
  }
21
- async buildAsync() {
22
- const buildResult = await this.#compiler.buildAsync();
23
- this.program = buildResult.program;
24
- for (const affectedFilePath of buildResult.affectedFileSet) {
25
- const emittedFiles = buildResult.emittedFilesCacheMap.get(affectedFilePath) ?? [];
26
- for (const emittedFile of emittedFiles) {
27
- if (emittedFile.outRelPath != null) {
28
- const distPath = path.resolve(this.#pkgPath, "dist", emittedFile.outRelPath);
29
- if (PathUtil.isChildPath(distPath, path.resolve(this.#pkgPath, "dist"))) {
30
- await FsUtil.writeFileAsync(distPath, emittedFile.text);
31
- }
92
+ async #bundleStylesheetAsync(data, containingFile, resourceFile = null) {
93
+ const stylesheetResult = resourceFile != null
94
+ ? await this.#stylesheetBundler.bundleFile(resourceFile)
95
+ : await this.#stylesheetBundler.bundleInline(data, containingFile, "scss");
96
+ this.#watchFileSet.add(path.normalize(containingFile));
97
+ if (resourceFile != null) {
98
+ this.#watchFileSet.add(path.normalize(resourceFile));
99
+ }
100
+ if (stylesheetResult.referencedFiles) {
101
+ for (const referencedFile of stylesheetResult.referencedFiles) {
102
+ const referencingMapValSet = this.#resourceDependencyCacheMap.getOrCreate(path.normalize(referencedFile), new Set());
103
+ referencingMapValSet.add(path.normalize(containingFile));
104
+ if (resourceFile != null) {
105
+ referencingMapValSet.add(path.normalize(resourceFile));
32
106
  }
33
107
  }
34
- const globalStylesheetResult = buildResult.stylesheetResultMap.get(affectedFilePath);
35
- if (globalStylesheetResult) {
36
- for (const outputFile of globalStylesheetResult.outputFiles) {
37
- const distPath = path.resolve(this.#pkgPath, "dist", path.relative(this.#pkgPath, outputFile.path));
38
- if (PathUtil.isChildPath(distPath, path.resolve(this.#pkgPath, "dist"))) {
39
- await FsUtil.writeFileAsync(distPath, outputFile.text);
40
- }
108
+ this.#watchFileSet.adds(...Array.from(stylesheetResult.referencedFiles.values()).map(item => path.normalize(item)));
109
+ }
110
+ this.#stylesheetResultMap.set(path.normalize(resourceFile ?? containingFile), {
111
+ outputFiles: stylesheetResult.outputFiles ?? [],
112
+ metafile: stylesheetResult.metafile,
113
+ errors: stylesheetResult.errors,
114
+ warnings: stylesheetResult.warnings
115
+ });
116
+ return stylesheetResult.contents;
117
+ }
118
+ invalidate(modifiedFileSet) {
119
+ this.#stylesheetBundler?.invalidate(modifiedFileSet);
120
+ for (const modifiedFile of modifiedFileSet) {
121
+ this.#stylesheetResultMap.delete(path.normalize(modifiedFile));
122
+ this.#sourceFileCacheMap.delete(path.normalize(modifiedFile));
123
+ this.#emittedFilesCacheMap.delete(path.normalize(modifiedFile));
124
+ if (this.#resourceDependencyCacheMap.has(path.normalize(modifiedFile))) {
125
+ for (const referencingFile of this.#resourceDependencyCacheMap.get(path.normalize(modifiedFile))) {
126
+ this.#stylesheetResultMap.delete(path.normalize(referencingFile));
127
+ this.#sourceFileCacheMap.delete(path.normalize(referencingFile));
128
+ this.#emittedFilesCacheMap.delete(path.normalize(referencingFile));
41
129
  }
42
130
  }
43
131
  }
44
- /*const markedChanges = this._markedChanges;
45
- this._markedChanges = [];
46
-
47
- const distPath = path.resolve(this._opt.pkgPath, "dist");
48
- const srcFilePaths = await FsUtil.globAsync(path.resolve(this._opt.pkgPath, "src/!**!/!*.{ts,tsx}"));
49
- const srcFilePathSet = new Set<string>(srcFilePaths);
50
-
51
- if (this._isForAngular) {
52
- this._ngProgram = new NgtscProgram(
53
- srcFilePaths,
54
- this._parsedTsConfig.options,
55
- this._compilerHost,
56
- this._ngProgram
57
- );
58
- this._program = this._ngProgram.getTsProgram();
59
-
60
- const baseGetSourceFiles = this._program.getSourceFiles;
61
- this._program.getSourceFiles = function (...parameters) {
62
- const files: readonly (ts.SourceFile & { version?: string })[] = baseGetSourceFiles(...parameters);
63
-
64
- for (const file of files) {
65
- if (file.version === undefined) {
66
- file.version = createHash("sha256").update(file.text).digest("hex");
67
- }
68
- }
69
-
70
- return files;
71
- };
72
-
73
- this._builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(
74
- this._program,
75
- this._compilerHost,
76
- this._builder
77
- );
132
+ this.#modifiedFileSet.adds(...modifiedFileSet);
133
+ }
134
+ async buildAsync() {
135
+ this.#resourceDependencyCacheMap.clear();
136
+ this.#watchFileSet.clear();
137
+ this.#stylesheetResultMap.clear();
138
+ this.#affectedFileSet.clear();
139
+ if (this.#isForAngular) {
140
+ this.#ngProgram = new NgtscProgram(this.#parsedTsconfig.fileNames, this.#parsedTsconfig.options, this.#compilerHost, this.#ngProgram);
141
+ this.#program = this.#ngProgram.getTsProgram();
78
142
  }
79
143
  else {
80
- /!*this._program = ts.createProgram(
81
- srcFilePaths,
82
- this._parsedTsConfig.options,
83
- this._compilerHost,
84
- this._program
85
- );*!/
86
-
87
- this._builder = ts.createIncrementalProgram({
88
- rootNames: srcFilePaths,
89
- host: this._compilerHost,
90
- options: this._parsedTsConfig.options,
91
- createProgram: ts.createEmitAndSemanticDiagnosticsBuilderProgram
92
- });
93
- this._program = this._builder.getProgram();
94
- }
95
-
96
- const diagnostics: ts.Diagnostic[] = [];
97
- const affectedFileSet = new Set<string>();
98
-
99
- if (this._ngProgram) {
100
- diagnostics.push(...this._ngProgram.compiler.getOptionDiagnostics());
144
+ // noinspection UnnecessaryLocalVariableJS
145
+ this.#program = ts.createProgram(this.#parsedTsconfig.fileNames, this.#parsedTsconfig.options, this.#compilerHost, this.#program);
101
146
  }
102
-
103
- diagnostics.push(
104
- ...this._builder.getOptionsDiagnostics(),
105
- ...this._builder.getGlobalDiagnostics()
106
- );
107
-
108
- if (this._ngProgram) {
109
- await this._ngProgram.compiler.analyzeAsync();
147
+ const baseGetSourceFiles = this.#program.getSourceFiles;
148
+ this.#program.getSourceFiles = function (...parameters) {
149
+ const files = baseGetSourceFiles(...parameters);
150
+ for (const file of files) {
151
+ if (file.version === undefined) {
152
+ file.version = createHash("sha256").update(file.text).digest("hex");
153
+ }
154
+ }
155
+ return files;
156
+ };
157
+ this.#builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(this.#program, this.#compilerHost, this.#builder);
158
+ if (this.#ngProgram) {
159
+ await this.#ngProgram.compiler.analyzeAsync();
110
160
  }
111
-
112
- this._logger.debug(`[${path.basename(this._opt.pkgPath)}] 영향받는 파일 확인중...`);
161
+ //-- affectedFilePathSet
113
162
  while (true) {
114
- let affectedSourceFile: ts.SourceFile | undefined;
115
-
116
- const semanticResult = this._builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => {
117
- //-- ngtypecheck의 org파일 포함 (ngtypecheck 파일는 무시)
118
- if (this._ngProgram?.compiler.ignoreForDiagnostics.has(sourceFile) && sourceFile.fileName.endsWith(".ngtypecheck.ts")) {
119
- const orgFileName = sourceFile.fileName.slice(0, -15) + ".ts";
120
- const orgSourceFile = this._builder!.getSourceFile(orgFileName);
121
- if (orgSourceFile) {
122
- affectedSourceFile = orgSourceFile;
123
- }
124
- return true;
125
- }
126
-
127
- //-- 소스폴더 파일 포함
128
- else if (srcFilePathSet.has(path.resolve(sourceFile.fileName))) {
129
- affectedSourceFile = sourceFile;
130
- return false;
131
- }
132
-
133
- //-- 나머지 무시
134
- else {
135
- return true;
163
+ const result = this.#builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => {
164
+ if (this.#ngProgram
165
+ && this.#ngProgram.compiler.ignoreForDiagnostics.has(sourceFile)
166
+ && sourceFile.fileName.endsWith('.ngtypecheck.ts')) {
167
+ const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts';
168
+ const originalSourceFile = this.#sourceFileCacheMap.get(originalFilename);
169
+ if (originalSourceFile) {
170
+ this.#affectedFileSet.add(path.normalize(originalSourceFile.fileName));
171
+ }
172
+ return true;
173
+ }
174
+ return false;
175
+ });
176
+ if (!result) {
177
+ break;
136
178
  }
137
- });
138
- if (!semanticResult || !affectedSourceFile) break;
139
- diagnostics.push(...semanticResult.result);
140
-
141
- if ("fileName" in affectedSourceFile) {
142
- affectedFileSet.add(path.normalize(affectedSourceFile.fileName));
143
- }
179
+ this.#affectedFileSet.add(path.normalize(result.affected.fileName));
144
180
  }
145
-
146
- if (this._isForAngular) {
147
- for (const markedChange of markedChanges) {
148
- const depsSet = this._styleDepsCache.get(markedChange);
149
- if (depsSet) {
150
- affectedFileSet.adds(...depsSet);
181
+ // Deps -> refMap
182
+ this.#builder.getSourceFiles().filter(sf => !this.#ngProgram || !this.#ngProgram.compiler.ignoreForEmit.has(sf))
183
+ .forEach(sf => {
184
+ this.#watchFileSet.add(path.normalize(sf.fileName));
185
+ if (this.#ngProgram) {
186
+ const deps = this.#ngProgram.compiler.getResourceDependencies(sf);
187
+ for (const dep of deps) {
188
+ const ref = this.#resourceDependencyCacheMap.getOrCreate(path.normalize(dep), new Set());
189
+ ref.add(path.normalize(sf.fileName));
190
+ this.#watchFileSet.add(path.normalize(dep));
191
+ }
151
192
  }
152
- }
193
+ });
194
+ //-- diagnostics
195
+ const diagnostics = [];
196
+ diagnostics.push(...this.#builder.getConfigFileParsingDiagnostics(), ...this.#builder.getOptionsDiagnostics(), ...this.#builder.getGlobalDiagnostics());
197
+ if (this.#ngProgram) {
198
+ diagnostics.push(...this.#ngProgram.compiler.getOptionDiagnostics());
153
199
  }
154
-
155
- const globalStyleFilePath = path.resolve(this._opt.pkgPath, "src/styles.scss");
156
- if (this._opt.globalStyle && FsUtil.exists(globalStyleFilePath) && markedChanges.includes(globalStyleFilePath)) {
157
- affectedFileSet.add(globalStyleFilePath);
158
- }
159
-
160
- this._logger.debug(`[${path.basename(this._opt.pkgPath)}] 영향받는 파일 ${this._opt.emit ? "EMIT" : "CHECK"}...`);
161
-
162
- for (const affectedFilePath of affectedFileSet) {
163
- if (this._opt.globalStyle && affectedFilePath === globalStyleFilePath) {
164
- try {
165
- const content = await FsUtil.readFileAsync(affectedFilePath);
166
- const scssResult = await sass.compileStringAsync(content, {
167
- url: new URL(affectedFilePath),
168
- importer: {
169
- findFileUrl: (url) => pathToFileURL(url)
170
- },
171
- logger: sass.Logger.silent
172
- });
173
-
174
- const deps = scssResult.loadedUrls.slice(1).map((item) => path.resolve(fileURLToPath(item.href)));
175
- for (const dep of deps) {
176
- const depCache = this._styleDepsCache.getOrCreate(dep, new Set<string>());
177
- depCache.add(affectedFilePath);
178
- }
179
-
180
- if (this._opt.emit) {
181
- const outFilePath = path.resolve(this._opt.pkgPath, path.basename(affectedFilePath, path.extname(affectedFilePath)) + ".css");
182
-
183
- this._writeFile(outFilePath, scssResult.css.toString());
184
- }
200
+ for (const affectedFile of this.#affectedFileSet) {
201
+ const affectedSourceFile = this.#sourceFileCacheMap.get(affectedFile);
202
+ if (!affectedSourceFile || (this.#ngProgram && this.#ngProgram.compiler.ignoreForDiagnostics.has(affectedSourceFile))) {
203
+ continue;
185
204
  }
186
- catch (err) {
187
- this._logger.error(err);
205
+ diagnostics.push(...this.#builder.getSyntacticDiagnostics(affectedSourceFile), ...this.#builder.getSemanticDiagnostics(affectedSourceFile));
206
+ if (this.#ngProgram) {
207
+ if (affectedSourceFile.isDeclarationFile) {
208
+ continue;
209
+ }
210
+ diagnostics.push(...this.#ngProgram.compiler.getDiagnosticsForFile(affectedSourceFile, OptimizeFor.WholeProgram));
188
211
  }
189
- }
190
- else {
191
- const affectedSourceFile = this._builder.getSourceFile(affectedFilePath);
192
- if (!affectedSourceFile) continue;
193
-
194
- const emitResult = this._builder.emit(affectedSourceFile,
195
- (filePath, data) => {
196
- let realFilePath = filePath;
197
- let realData = data;
198
- if (PathUtil.isChildPath(realFilePath, path.resolve(distPath, path.basename(this._opt.pkgPath), "src"))) {
199
- realFilePath = path.resolve(distPath, path.relative(path.resolve(distPath, path.basename(this._opt.pkgPath), "src"), realFilePath));
200
-
201
- if (filePath.endsWith(".js.map")) {
202
- const sourceMapContents = JSON.parse(realData);
203
- // remove "../../"
204
- sourceMapContents.sources[0] = sourceMapContents.sources[0].slice(6);
205
- realData = JSON.stringify(sourceMapContents);
206
- }
212
+ }
213
+ //-- prepare emit cache
214
+ while (true) {
215
+ const affectedFileResult = this.#builder.emitNextAffectedFile((fileName, text, writeByteOrderMark, onError, sourceFiles, data) => {
216
+ if (!sourceFiles || sourceFiles.length === 0) {
217
+ this.#compilerHost.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data);
218
+ return;
219
+ }
220
+ const sourceFile = ts.getOriginalNode(sourceFiles[0], ts.isSourceFile);
221
+ if (this.#ngProgram) {
222
+ if (this.#ngProgram.compiler.ignoreForEmit.has(sourceFile)) {
223
+ return;
224
+ }
225
+ this.#ngProgram.compiler.incrementalCompilation.recordSuccessfulEmit(sourceFile);
226
+ }
227
+ const emittedFiles = this.#emittedFilesCacheMap.getOrCreate(path.normalize(sourceFile.fileName), []);
228
+ if (PathUtil.isChildPath(sourceFile.fileName, this.#pkgPath)) {
229
+ let realFilePath = fileName;
230
+ let realText = text;
231
+ if (PathUtil.isChildPath(realFilePath, path.resolve(this.#distPath, path.basename(this.#pkgPath), "src"))) {
232
+ realFilePath = path.resolve(this.#distPath, path.relative(path.resolve(this.#distPath, path.basename(this.#pkgPath), "src"), realFilePath));
233
+ if (fileName.endsWith(".js.map")) {
234
+ const sourceMapContents = JSON.parse(realText);
235
+ // remove "../../"
236
+ sourceMapContents.sources[0] = sourceMapContents.sources[0].slice(6);
237
+ realText = JSON.stringify(sourceMapContents);
238
+ }
239
+ }
240
+ emittedFiles.push({
241
+ outRelPath: path.relative(this.#distPath, realFilePath),
242
+ text: realText
243
+ });
207
244
  }
208
-
209
- this._ngProgram?.compiler.incrementalCompilation.recordSuccessfulEmit(affectedSourceFile);
210
- this._writeFile(realFilePath, realData);
211
- },
212
- undefined,
213
- !this._opt.emit,
214
- {...this._ngProgram?.compiler.prepareEmit().transformers ?? {}}
215
- );
216
-
217
- diagnostics.push(...emitResult.diagnostics);
218
-
219
- diagnostics.push(...this._builder.getSyntacticDiagnostics(affectedSourceFile));
220
-
221
- if (
222
- this._ngProgram &&
223
- !affectedSourceFile.isDeclarationFile &&
224
- !this._ngProgram.compiler.ignoreForEmit.has(affectedSourceFile) &&
225
- !this._ngProgram.compiler.incrementalCompilation.safeToSkipEmit(affectedSourceFile)
226
- ) {
227
- diagnostics.push(
228
- ...this._ngProgram.compiler.getDiagnosticsForFile(affectedSourceFile, OptimizeFor.WholeProgram)
229
- );
245
+ else {
246
+ emittedFiles.push({ text });
247
+ }
248
+ }, undefined, undefined, this.#ngProgram?.compiler.prepareEmit().transformers);
249
+ if (!affectedFileResult) {
250
+ break;
230
251
  }
231
- }
252
+ diagnostics.push(...affectedFileResult.result.diagnostics);
253
+ }
254
+ //-- global style
255
+ if (this.#globalStyleFilePath != null
256
+ && !this.#stylesheetResultMap.has(this.#globalStyleFilePath)
257
+ && FsUtil.exists(this.#globalStyleFilePath)) {
258
+ const data = await FsUtil.readFileAsync(this.#globalStyleFilePath);
259
+ const contents = await this.#bundleStylesheetAsync(data, this.#globalStyleFilePath, this.#globalStyleFilePath);
260
+ const emittedFiles = this.#emittedFilesCacheMap.getOrCreate(path.normalize(this.#globalStyleFilePath), []);
261
+ emittedFiles.push({
262
+ outRelPath: path.relative(path.resolve(this.#pkgPath, "src"), this.#globalStyleFilePath).replace(/\.scss$/, ".css"),
263
+ text: contents
264
+ });
265
+ this.#affectedFileSet.add(this.#globalStyleFilePath);
232
266
  }
233
-
234
- this._logger.debug(`[${path.basename(this._opt.pkgPath)}] 영향받는 파일 ${this._opt.emit ? "EMIT" : "CHECK"} 완료`, affectedFileSet);
235
-
236
- const buildResults = diagnostics.map((item) => SdCliBuildResultUtil.convertFromTsDiag(item, this._opt.emit ? "build" : "check"));*/
267
+ //-- init
268
+ this.#modifiedFileSet.clear();
269
+ //-- result
237
270
  return {
238
- watchFileSet: buildResult.watchFileSet,
239
- affectedFileSet: buildResult.affectedFileSet,
240
- results: [
241
- ...buildResult.typescriptDiagnostics.map((item) => SdCliBuildResultUtil.convertFromTsDiag(item, "build")),
242
- ...Array.from(buildResult.stylesheetResultMap.values()).mapMany(item => item.errors)
243
- .map(err => SdCliBuildResultUtil.convertFromEsbuildResult(err, "build", "error")),
244
- /*...Array.from(buildResult.stylesheetResultMap.values()).mapMany(item => item.warnings!)
245
- .map(warn => SdCliBuildResultUtil.convertFromEsbuildResult(warn, "build", "warning"))*/
246
- ]
271
+ program: this.#program,
272
+ typescriptDiagnostics: diagnostics,
273
+ stylesheetResultMap: this.#stylesheetResultMap,
274
+ emittedFilesCacheMap: this.#emittedFilesCacheMap,
275
+ watchFileSet: this.#watchFileSet,
276
+ affectedFileSet: this.#affectedFileSet
247
277
  };
248
278
  }
249
279
  }