@simplysm/sd-cli 11.1.45 → 11.1.46

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 (48) hide show
  1. package/dist/build-cluster.js +16 -3
  2. package/dist/build-cluster.js.map +1 -1
  3. package/dist/build-tools/SdNgBundler.d.ts +1 -1
  4. package/dist/build-tools/SdNgBundler.js +4 -1
  5. package/dist/build-tools/SdNgBundler.js.map +1 -1
  6. package/dist/build-tools/SdServerBundler.js.map +1 -1
  7. package/dist/build-tools/SdTsCompiler.d.ts +5 -21
  8. package/dist/build-tools/SdTsCompiler.js +211 -188
  9. package/dist/build-tools/SdTsCompiler.js.map +1 -1
  10. package/dist/build-tools2/SdTsCompiler2.d.ts +26 -0
  11. package/dist/build-tools2/SdTsCompiler2.js +280 -0
  12. package/dist/build-tools2/SdTsCompiler2.js.map +1 -0
  13. package/dist/builders/SdCliTsLibBuilder.js +6 -11
  14. package/dist/builders/SdCliTsLibBuilder.js.map +1 -1
  15. package/dist/bundle-plugins/sdNgPlugin.d.ts +3 -3
  16. package/dist/bundle-plugins/sdNgPlugin.js +22 -212
  17. package/dist/bundle-plugins/sdNgPlugin.js.map +1 -1
  18. package/dist/bundle-plugins/sdServerPlugin.d.ts +2 -2
  19. package/dist/bundle-plugins/sdServerPlugin.js +17 -110
  20. package/dist/bundle-plugins/sdServerPlugin.js.map +1 -1
  21. package/dist/commons.d.ts +1 -0
  22. package/dist/entry/SdCliProject.d.ts +1 -0
  23. package/dist/entry/SdCliProject.js +11 -29
  24. package/dist/entry/SdCliProject.js.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/sd-cli.js +7 -1
  29. package/dist/sd-cli.js.map +1 -1
  30. package/dist/server-worker.js.map +1 -1
  31. package/dist/utils/SdCliBuildResultUtil.d.ts +10 -0
  32. package/dist/utils/SdCliBuildResultUtil.js +17 -1
  33. package/dist/utils/SdCliBuildResultUtil.js.map +1 -1
  34. package/package.json +15 -15
  35. package/src/build-cluster.ts +18 -4
  36. package/src/build-tools/SdNgBundler.ts +7 -4
  37. package/src/build-tools/SdServerBundler.ts +2 -2
  38. package/src/build-tools/SdTsCompiler.ts +64 -94
  39. package/src/build-tools2/SdTsCompiler2.ts +427 -0
  40. package/src/builders/SdCliTsLibBuilder.ts +6 -11
  41. package/src/bundle-plugins/sdNgPlugin.ts +26 -320
  42. package/src/bundle-plugins/sdServerPlugin.ts +20 -168
  43. package/src/commons.ts +1 -0
  44. package/src/entry/SdCliProject.ts +12 -30
  45. package/src/index.ts +1 -0
  46. package/src/sd-cli.ts +7 -1
  47. package/src/server-worker.ts +3 -3
  48. package/src/utils/SdCliBuildResultUtil.ts +22 -3
@@ -1,122 +1,16 @@
1
- import { FsUtil } from "@simplysm/sd-core-node";
2
1
  import ts from "typescript";
3
2
  import path from "path";
4
- import { convertTypeScriptDiagnostic } from "@angular-devkit/build-angular/src/tools/esbuild/angular/diagnostics";
5
- import { ComponentStylesheetBundler } from "@angular-devkit/build-angular/src/tools/esbuild/angular/component-stylesheets";
6
- import { transformSupportedBrowsersToTargets } from "@angular-devkit/build-angular/src/tools/esbuild/utils";
7
- import browserslist from "browserslist";
8
- import { StringUtil } from "@simplysm/sd-core-common";
9
- import { NgtscProgram, OptimizeFor } from "@angular/compiler-cli";
10
- import { createHash } from "crypto";
11
3
  import { JavaScriptTransformer } from "@angular-devkit/build-angular/src/tools/esbuild/javascript-transformer";
12
4
  import os from "os";
5
+ import { SdTsCompiler2 } from "../build-tools2/SdTsCompiler2";
6
+ import { convertTypeScriptDiagnostic } from "@angular-devkit/build-angular/src/tools/esbuild/angular/diagnostics";
13
7
  export function sdNgPlugin(conf) {
14
- const tsConfigPath = path.resolve(conf.pkgPath, "tsconfig.json");
15
- const tsConfig = FsUtil.readJson(tsConfigPath);
16
- const parsedTsConfig = ts.parseJsonConfigFileContent(tsConfig, ts.sys, conf.pkgPath, {
17
- ...tsConfig.angularCompilerOptions,
18
- declaration: false
19
- });
20
- const sourceFileCache = new Map();
21
- const referencingMap = new Map();
22
- let ngProgram;
23
- let builder;
24
- // const watchFileSet = new Set<string>();
25
- // const affectedFileSet = new Set<string>();
26
- const additionalResultMap = new Map();
27
- const tscPrepareMap = new Map();
28
- const outputCacheMap = new Map();
29
- let stylesheetBundler;
30
- function createCompilerHost() {
31
- const compilerHost = ts.createIncrementalCompilerHost(parsedTsConfig.options);
32
- compilerHost.readResource = (fileName) => {
33
- return compilerHost.readFile(fileName) ?? "";
34
- };
35
- compilerHost.transformResource = async (data, context) => {
36
- if (context.type !== "style") {
37
- return null;
38
- }
39
- const stylesheetResult = context.resourceFile != null
40
- ? await stylesheetBundler.bundleFile(context.resourceFile)
41
- : await stylesheetBundler.bundleInline(data, context.containingFile, "scss");
42
- conf.result.watchFileSet.add(path.normalize(context.containingFile));
43
- if (stylesheetResult.referencedFiles) {
44
- for (const referencedFile of stylesheetResult.referencedFiles) {
45
- const referencingMapValSet = referencingMap.getOrCreate(path.normalize(referencedFile), new Set());
46
- referencingMapValSet.add(path.normalize(context.containingFile));
47
- }
48
- conf.result.watchFileSet.adds(...Array.from(stylesheetResult.referencedFiles.values()).map(item => path.normalize(item)));
49
- }
50
- additionalResultMap.set(path.normalize(context.resourceFile ?? context.containingFile), {
51
- outputFiles: stylesheetResult.outputFiles ?? [],
52
- metafile: stylesheetResult.metafile,
53
- errors: stylesheetResult.errors,
54
- // warnings: stylesheetResult.warnings
55
- warnings: []
56
- });
57
- return StringUtil.isNullOrEmpty(stylesheetResult.contents) ? null : { content: stylesheetResult.contents };
58
- };
59
- compilerHost.getModifiedResourceFiles = () => {
60
- return conf.modifiedFileSet;
61
- };
62
- const baseGetSourceFile = compilerHost.getSourceFile;
63
- compilerHost.getSourceFile = (fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile, ...args) => {
64
- if (!shouldCreateNewSourceFile && sourceFileCache.has(path.normalize(fileName))) {
65
- return sourceFileCache.get(path.normalize(fileName));
66
- }
67
- const file = baseGetSourceFile.call(compilerHost, fileName, languageVersionOrOptions, onError, true, ...args);
68
- if (file) {
69
- sourceFileCache.set(path.normalize(fileName), file);
70
- }
71
- return file;
72
- };
73
- return compilerHost;
74
- }
75
- function findAffectedFileSet() {
76
- const affectedFileSet = new Set();
77
- while (true) {
78
- const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => {
79
- if (ngProgram?.compiler.ignoreForDiagnostics.has(sourceFile) && sourceFile.fileName.endsWith('.ngtypecheck.ts')) {
80
- const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts';
81
- const originalSourceFile = sourceFileCache.get(originalFilename);
82
- if (originalSourceFile) {
83
- affectedFileSet.add(path.normalize(originalSourceFile.fileName));
84
- }
85
- return true;
86
- }
87
- return false;
88
- });
89
- if (!result) {
90
- break;
91
- }
92
- affectedFileSet.add(path.normalize(result.affected.fileName));
93
- }
94
- return affectedFileSet;
95
- }
96
8
  return {
97
9
  name: "sd-ng-compiler",
98
10
  setup: (build) => {
99
- //-- stylesheetBundler
100
- const browserTarget = transformSupportedBrowsersToTargets(browserslist("defaults and fully supports es6-module"));
101
- stylesheetBundler = new ComponentStylesheetBundler({
102
- workspaceRoot: conf.pkgPath,
103
- optimization: !conf.dev,
104
- inlineFonts: true,
105
- preserveSymlinks: false,
106
- sourcemap: 'inline', //conf.dev ? 'inline' : false,
107
- outputNames: { bundles: '[name]', media: 'media/[name]' },
108
- includePaths: [],
109
- externalDependencies: [],
110
- target: browserTarget,
111
- tailwindConfiguration: undefined,
112
- cacheOptions: {
113
- enabled: true,
114
- path: ".cache/angular",
115
- basePath: ".cache"
116
- }
117
- }, conf.dev);
118
- //-- compilerHost
119
- const compilerHost = createCompilerHost();
11
+ const compiler = new SdTsCompiler2(conf.pkgPath, { declaration: false }, conf.dev);
12
+ let buildResult;
13
+ const outputContentsCacheMap = new Map();
120
14
  //-- js babel transformer
121
15
  const javascriptTransformer = new JavaScriptTransformer({
122
16
  thirdPartySourcemaps: conf.dev,
@@ -124,123 +18,42 @@ export function sdNgPlugin(conf) {
124
18
  jit: false,
125
19
  advancedOptimizations: true
126
20
  }, os.cpus().length);
127
- //-- vars
128
21
  //---------------------------
129
22
  build.onStart(async () => {
130
- //-- modified
131
- stylesheetBundler.invalidate(conf.modifiedFileSet);
132
- for (const modifiedFile of conf.modifiedFileSet) {
133
- sourceFileCache.delete(modifiedFile);
134
- outputCacheMap.delete(modifiedFile);
135
- if (referencingMap.has(modifiedFile)) {
136
- for (const referencingFile of referencingMap.get(modifiedFile)) {
137
- sourceFileCache.delete(referencingFile);
138
- outputCacheMap.delete(modifiedFile);
139
- }
140
- }
141
- }
142
- referencingMap.clear();
143
- //-- init resultCache
144
- conf.result.watchFileSet = new Set();
145
- conf.result.affectedFileSet = new Set();
146
- additionalResultMap.clear();
147
- //-- createBuilder
148
- ngProgram = new NgtscProgram(parsedTsConfig.fileNames, parsedTsConfig.options, compilerHost, ngProgram);
149
- const ngCompiler = ngProgram.compiler;
150
- const program = ngProgram.getTsProgram();
151
- conf.result.program = program;
152
- const baseGetSourceFiles = program.getSourceFiles;
153
- program.getSourceFiles = function (...parameters) {
154
- const files = baseGetSourceFiles(...parameters);
155
- for (const file of files) {
156
- if (file.version === undefined) {
157
- file.version = createHash("sha256").update(file.text).digest("hex");
158
- }
159
- }
160
- return files;
161
- };
162
- builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(program, compilerHost, builder);
163
- await ngCompiler.analyzeAsync();
164
- //-- affectedFilePathSet
165
- conf.result.affectedFileSet.adds(...findAffectedFileSet());
166
- // Deps -> refMap
167
- builder.getSourceFiles().filter(sf => !ngCompiler.ignoreForEmit.has(sf))
168
- .forEach(sf => {
169
- conf.result.watchFileSet.add(path.normalize(sf.fileName));
170
- const deps = ngCompiler.getResourceDependencies(sf);
171
- for (const dep of deps) {
172
- const ref = referencingMap.getOrCreate(dep, new Set());
173
- ref.add(dep);
174
- conf.result.watchFileSet.add(path.normalize(dep));
175
- }
176
- });
177
- // refMap, modFile -> affectedFileSet
178
- for (const modifiedFile of conf.modifiedFileSet) {
179
- conf.result.affectedFileSet.adds(...referencingMap.get(modifiedFile) ?? []);
180
- }
181
- //-- diagnostics / build
182
- const diagnostics = [];
183
- diagnostics.push(...builder.getConfigFileParsingDiagnostics(), ...ngCompiler.getOptionDiagnostics(), ...builder.getOptionsDiagnostics(), ...builder.getGlobalDiagnostics());
184
- for (const affectedFile of conf.result.affectedFileSet) {
185
- const affectedSourceFile = sourceFileCache.get(path.normalize(affectedFile));
186
- if (!affectedSourceFile || ngCompiler.ignoreForDiagnostics.has(affectedSourceFile)) {
187
- continue;
188
- }
189
- diagnostics.push(...builder.getSyntacticDiagnostics(affectedSourceFile), ...builder.getSemanticDiagnostics(affectedSourceFile));
190
- if (affectedSourceFile.isDeclarationFile) {
191
- continue;
192
- }
193
- diagnostics.push(...ngCompiler.getDiagnosticsForFile(affectedSourceFile, OptimizeFor.WholeProgram));
194
- }
195
- //-- prepare emit cache
196
- while (true) {
197
- const affectedFileResult = builder.emitNextAffectedFile((fileName, text, writeByteOrderMark, onError, sourceFiles, data) => {
198
- if (!sourceFiles || sourceFiles.length === 0) {
199
- compilerHost.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data);
200
- return;
201
- }
202
- const sourceFile = ts.getOriginalNode(sourceFiles[0], ts.isSourceFile);
203
- if (ngCompiler.ignoreForEmit.has(sourceFile)) {
204
- return;
205
- }
206
- ngCompiler.incrementalCompilation.recordSuccessfulEmit(sourceFile);
207
- tscPrepareMap.set(path.normalize(sourceFile.fileName), text);
208
- }, undefined, undefined, ngProgram.compiler.prepareEmit().transformers);
209
- if (!affectedFileResult) {
210
- break;
211
- }
212
- diagnostics.push(...affectedFileResult.result.diagnostics);
213
- }
23
+ compiler.invalidate(conf.modifiedFileSet);
24
+ buildResult = await compiler.buildAsync();
25
+ conf.result.watchFileSet = buildResult.watchFileSet;
26
+ conf.result.affectedFileSet = buildResult.affectedFileSet;
27
+ conf.result.program = buildResult.program;
214
28
  //-- return err/warn
215
29
  return {
216
30
  errors: [
217
- ...diagnostics.filter(item => item.category === ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
218
- ...Array.from(additionalResultMap.values()).flatMap(item => item.errors)
31
+ ...buildResult.typescriptDiagnostics.filter(item => item.category === ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
32
+ ...Array.from(buildResult.stylesheetResultMap.values()).flatMap(item => item.errors)
219
33
  ].filterExists(),
220
34
  warnings: [
221
- ...diagnostics.filter(item => item.category !== ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
222
- ...Array.from(additionalResultMap.values()).flatMap(item => item.warnings)
35
+ ...buildResult.typescriptDiagnostics.filter(item => item.category !== ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
36
+ // ...Array.from(buildResult.stylesheetResultMap.values()).flatMap(item => item.warnings)
223
37
  ],
224
38
  };
225
39
  });
226
40
  build.onLoad({ filter: /\.ts$/ }, async (args) => {
227
- conf.result.watchFileSet.add(path.normalize(args.path));
228
- const output = outputCacheMap.get(path.normalize(args.path));
41
+ const output = outputContentsCacheMap.get(path.normalize(args.path));
229
42
  if (output != null) {
230
43
  return { contents: output, loader: "js" };
231
44
  }
232
- const contents = tscPrepareMap.get(path.normalize(args.path));
45
+ const contents = buildResult.emittedFilesCacheMap.get(path.normalize(args.path)).last().text;
233
46
  const { sideEffects } = await build.resolve(args.path, {
234
47
  kind: 'import-statement',
235
48
  resolveDir: build.initialOptions.absWorkingDir ?? '',
236
49
  });
237
50
  const newContents = await javascriptTransformer.transformData(args.path, contents, true, sideEffects);
238
- outputCacheMap.set(path.normalize(args.path), newContents);
51
+ outputContentsCacheMap.set(path.normalize(args.path), newContents);
239
52
  return { contents: newContents, loader: "js" };
240
53
  });
241
54
  build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => {
242
55
  conf.result.watchFileSet.add(path.normalize(args.path));
243
- const output = outputCacheMap.get(path.normalize(args.path));
56
+ const output = outputContentsCacheMap.get(path.normalize(args.path));
244
57
  if (output != null) {
245
58
  return { contents: output, loader: "js" };
246
59
  }
@@ -248,9 +61,8 @@ export function sdNgPlugin(conf) {
248
61
  kind: 'import-statement',
249
62
  resolveDir: build.initialOptions.absWorkingDir ?? '',
250
63
  });
251
- // const contents = await FsUtil.readFileAsync(args.path);
252
64
  const newContents = await javascriptTransformer.transformFile(args.path, false, sideEffects);
253
- outputCacheMap.set(path.normalize(args.path), newContents);
65
+ outputContentsCacheMap.set(path.normalize(args.path), newContents);
254
66
  return {
255
67
  contents: newContents,
256
68
  loader: 'js',
@@ -261,16 +73,14 @@ export function sdNgPlugin(conf) {
261
73
  return null;
262
74
  });
263
75
  build.onEnd((result) => {
264
- for (const { outputFiles, metafile } of additionalResultMap.values()) {
265
- result.outputFiles?.push(...outputFiles);
76
+ for (const { outputFiles, metafile } of buildResult.stylesheetResultMap.values()) {
77
+ result.outputFiles = result.outputFiles ?? [];
78
+ result.outputFiles.push(...outputFiles);
266
79
  if (result.metafile && metafile) {
267
80
  result.metafile.inputs = { ...result.metafile.inputs, ...metafile.inputs };
268
81
  result.metafile.outputs = { ...result.metafile.outputs, ...metafile.outputs };
269
82
  }
270
83
  }
271
- // conf.result.watchFileSet = resultCache.watchFileSet;
272
- // conf.result.affectedFileSet = resultCache.affectedFileSet;
273
- // conf.result.program = ngProgram!.getTsProgram();
274
84
  conf.result.outputFiles = result.outputFiles;
275
85
  conf.result.metafile = result.metafile;
276
86
  conf.modifiedFileSet.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"sdNgPlugin.js","sourceRoot":"","sources":["../../src/bundle-plugins/sdNgPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdNgPlugin.js","sourceRoot":"","sources":["../../src/bundle-plugins/sdNgPlugin.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ export declare function sdServerPlugin(conf: {
4
4
  pkgPath: string;
5
5
  dev: boolean;
6
6
  modifiedFileSet: Set<string>;
7
- result: IServerBundlerResultCache;
7
+ result: IServerPluginResultCache;
8
8
  }): esbuild.Plugin;
9
- export interface IServerBundlerResultCache {
9
+ export interface IServerPluginResultCache {
10
10
  watchFileSet?: Set<string>;
11
11
  affectedFileSet?: Set<string>;
12
12
  outputFiles?: esbuild.OutputFile[];
@@ -1,133 +1,40 @@
1
- import { FsUtil } from "@simplysm/sd-core-node";
2
1
  import ts from "typescript";
3
2
  import path from "path";
4
3
  import { convertTypeScriptDiagnostic } from "@angular-devkit/build-angular/src/tools/esbuild/angular/diagnostics";
4
+ import { SdTsCompiler2 } from "../build-tools2/SdTsCompiler2";
5
5
  export function sdServerPlugin(conf) {
6
- const tsConfigPath = path.resolve(conf.pkgPath, "tsconfig.json");
7
- const tsConfig = FsUtil.readJson(tsConfigPath);
8
- const parsedTsConfig = ts.parseJsonConfigFileContent(tsConfig, ts.sys, conf.pkgPath, {
9
- declaration: false
10
- });
11
- const sourceFileCache = new Map();
12
- const referencingMap = new Map();
13
- let program;
14
- let builder;
15
- let resultCache = {
16
- watchFileSet: new Set(),
17
- affectedFileSet: new Set()
18
- };
19
- const tscPrepareMap = new Map();
20
- function createCompilerHost() {
21
- const compilerHost = ts.createIncrementalCompilerHost(parsedTsConfig.options);
22
- const baseGetSourceFile = compilerHost.getSourceFile;
23
- compilerHost.getSourceFile = (fileName, languageVersionOrOptions, onError, shouldCreateNewSourceFile, ...args) => {
24
- if (!shouldCreateNewSourceFile && sourceFileCache.has(path.normalize(fileName))) {
25
- return sourceFileCache.get(path.normalize(fileName));
26
- }
27
- const file = baseGetSourceFile.call(compilerHost, fileName, languageVersionOrOptions, onError, true, ...args);
28
- if (file) {
29
- sourceFileCache.set(path.normalize(fileName), file);
30
- }
31
- return file;
32
- };
33
- return compilerHost;
34
- }
35
- function findAffectedFileSet() {
36
- const affectedFileSet = new Set();
37
- while (true) {
38
- const result = builder.getSemanticDiagnosticsOfNextAffectedFile();
39
- if (!result) {
40
- break;
41
- }
42
- affectedFileSet.add(path.normalize(result.affected.fileName));
43
- }
44
- return affectedFileSet;
45
- }
46
6
  return {
47
7
  name: "sd-server-compiler",
48
8
  setup: (build) => {
49
- //-- compilerHost
50
- const compilerHost = createCompilerHost();
51
- build.onStart(() => {
52
- //-- modified
53
- for (const modifiedFile of conf.modifiedFileSet) {
54
- sourceFileCache.delete(modifiedFile);
55
- if (referencingMap.has(modifiedFile)) {
56
- for (const referencingFile of referencingMap.get(modifiedFile)) {
57
- sourceFileCache.delete(referencingFile);
58
- }
59
- }
60
- }
61
- referencingMap.clear();
62
- //-- init resultCache
63
- resultCache = {
64
- watchFileSet: new Set(),
65
- affectedFileSet: new Set(),
66
- };
67
- program = ts.createProgram(parsedTsConfig.fileNames, parsedTsConfig.options, compilerHost, program);
68
- builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(program, compilerHost, builder);
69
- //-- affectedFilePathSet
70
- resultCache.affectedFileSet.adds(...findAffectedFileSet());
71
- // Deps -> refMap
72
- builder.getSourceFiles().forEach(sf => {
73
- resultCache.watchFileSet.add(path.normalize(sf.fileName));
74
- const deps = builder.getAllDependencies(sf);
75
- for (const dep of deps) {
76
- const ref = referencingMap.getOrCreate(dep, new Set());
77
- ref.add(dep);
78
- resultCache.watchFileSet.add(path.normalize(dep));
79
- }
80
- });
81
- // refMap, modFile -> affectedFileSet
82
- for (const modifiedFile of conf.modifiedFileSet) {
83
- resultCache.affectedFileSet.adds(...referencingMap.get(modifiedFile) ?? []);
84
- }
85
- //-- diagnostics / build
86
- const diagnostics = [];
87
- diagnostics.push(...builder.getConfigFileParsingDiagnostics(), ...builder.getOptionsDiagnostics(), ...builder.getGlobalDiagnostics());
88
- for (const affectedFile of resultCache.affectedFileSet) {
89
- const affectedSourceFile = sourceFileCache.get(path.normalize(affectedFile));
90
- if (!affectedSourceFile) {
91
- continue;
92
- }
93
- diagnostics.push(...builder.getSyntacticDiagnostics(affectedSourceFile), ...builder.getSemanticDiagnostics(affectedSourceFile));
94
- }
95
- //-- prepare emit cache
96
- while (true) {
97
- const affectedFileResult = builder.emitNextAffectedFile((fileName, text, writeByteOrderMark, onError, sourceFiles, data) => {
98
- if (!sourceFiles || sourceFiles.length === 0) {
99
- compilerHost.writeFile(fileName, text, writeByteOrderMark, onError, sourceFiles, data);
100
- return;
101
- }
102
- const sourceFile = ts.getOriginalNode(sourceFiles[0], ts.isSourceFile);
103
- tscPrepareMap.set(path.normalize(sourceFile.fileName), text);
104
- });
105
- if (!affectedFileResult) {
106
- break;
107
- }
108
- diagnostics.push(...affectedFileResult.result.diagnostics);
109
- }
9
+ const compiler = new SdTsCompiler2(conf.pkgPath, { declaration: false }, conf.dev);
10
+ let buildResult;
11
+ build.onStart(async () => {
12
+ compiler.invalidate(conf.modifiedFileSet);
13
+ buildResult = await compiler.buildAsync();
14
+ conf.result.watchFileSet = buildResult.watchFileSet;
15
+ conf.result.affectedFileSet = buildResult.affectedFileSet;
16
+ conf.result.program = buildResult.program;
110
17
  //-- return err/warn
111
18
  return {
112
- errors: diagnostics.filter(item => item.category === ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
113
- warnings: diagnostics.filter(item => item.category !== ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
19
+ errors: buildResult.typescriptDiagnostics.filter(item => item.category === ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
20
+ warnings: buildResult.typescriptDiagnostics.filter(item => item.category !== ts.DiagnosticCategory.Error).map(item => convertTypeScriptDiagnostic(ts, item)),
114
21
  };
115
22
  });
116
23
  build.onLoad({ filter: /\.ts$/ }, (args) => {
117
- resultCache.watchFileSet.add(path.normalize(args.path));
118
- const contents = tscPrepareMap.get(path.normalize(args.path));
24
+ const contents = buildResult.emittedFilesCacheMap.get(path.normalize(args.path)).last().text;
119
25
  return { contents, loader: "js" };
120
26
  });
27
+ build.onLoad({ filter: /\.[cm]?js$/ }, (args) => {
28
+ conf.result.watchFileSet.add(path.normalize(args.path));
29
+ return null;
30
+ });
121
31
  build.onLoad({ filter: new RegExp("(" + Object.keys(build.initialOptions.loader).map(item => "\\" + item).join("|") + ")$") }, (args) => {
122
- resultCache.watchFileSet.add(path.normalize(args.path));
32
+ conf.result.watchFileSet.add(path.normalize(args.path));
123
33
  return null;
124
34
  });
125
35
  build.onEnd((result) => {
126
- conf.result.watchFileSet = resultCache.watchFileSet;
127
- conf.result.affectedFileSet = resultCache.affectedFileSet;
128
36
  conf.result.outputFiles = result.outputFiles;
129
37
  conf.result.metafile = result.metafile;
130
- conf.result.program = program;
131
38
  conf.modifiedFileSet.clear();
132
39
  });
133
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sdServerPlugin.js","sourceRoot":"","sources":["../../src/bundle-plugins/sdServerPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdServerPlugin.js","sourceRoot":"","sources":["../../src/bundle-plugins/sdServerPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,2BAA2B,EAAC,MAAM,qEAAqE,CAAC;AAChH,OAAO,EAAuB,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAElF,MAAM,UAAU,cAAc,CAAC,IAK9B;IACC,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,CAAC,KAA0B,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,WAAW,EAAE,KAAK,EAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjF,IAAI,WAAiC,CAAC;YAEtC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1C,WAAW,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAE1C,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;gBAE1C,oBAAoB;gBAEpB,OAAO;oBACL,MAAM,EAAE,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC1J,QAAQ,EAAE,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;iBAC7J,CAAC;YACJ,CAAC,CAAC,CAAC;YAGH,KAAK,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,IAAI,EAAG,CAAC,IAAI,CAAC;gBAC/F,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,YAAY,EAAC,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,YAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CACV,EAAC,MAAM,EAAE,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAC,EAC/G,CAAC,IAAI,EAAE,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,YAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;YAEF,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAEvC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/commons.d.ts CHANGED
@@ -24,6 +24,7 @@ export interface ISdCliBuildClusterReqMessage {
24
24
  cmd: "watch" | "build";
25
25
  projConf: ISdCliConfig;
26
26
  pkgPath: string;
27
+ execArgs?: string[];
27
28
  }
28
29
  export interface ISdCliBuildClusterResMessage {
29
30
  req: ISdCliBuildClusterReqMessage;
@@ -3,6 +3,7 @@ export declare class SdCliProject {
3
3
  confFileRelPath: string;
4
4
  optNames: string[];
5
5
  pkgNames: string[];
6
+ inspectNames: string[];
6
7
  }): Promise<void>;
7
8
  static buildAsync(opt: {
8
9
  confFileRelPath: string;
@@ -158,16 +158,7 @@ export class SdCliProject {
158
158
  busyReqCntMap.set("all", (busyReqCntMap.get("all") ?? 0) + 1);
159
159
  logger.log("빌드를 시작합니다...");
160
160
  await pkgPaths.parallelAsync(async (pkgPath) => {
161
- const pkgConf = projConf.packages[path.basename(pkgPath)];
162
- if (pkgConf.type === "client") {
163
- const builderKeys = Object.keys(pkgConf.builder ?? { web: {} });
164
- await builderKeys.parallelAsync(async (builderKey) => {
165
- await this._runCommandAsync(cluster, "watch", projConf, pkgPath, builderKey);
166
- });
167
- }
168
- else {
169
- await this._runCommandAsync(cluster, "watch", projConf, pkgPath);
170
- }
161
+ await this._runCommandAsync(cluster, "watch", projConf, pkgPath, opt.inspectNames.includes(path.basename(pkgPath)) ? ["--inspect"] : []);
171
162
  });
172
163
  busyReqCntMap.set("all", (busyReqCntMap.get("all") ?? 0) - 1);
173
164
  if (Array.from(busyReqCntMap.values()).every(v => v === 0)) {
@@ -196,16 +187,16 @@ export class SdCliProject {
196
187
  const cluster = await this._prepareClusterAsync();
197
188
  logger.debug("빌드 프로세스 명령 전달...");
198
189
  const results = (await pkgPaths.parallelAsync(async (pkgPath) => {
199
- const pkgConf = projConf.packages[path.basename(pkgPath)];
190
+ /*const pkgConf = projConf.packages[path.basename(pkgPath)]!;
200
191
  if (pkgConf.type === "client") {
201
- const builderKeys = Object.keys(pkgConf.builder ?? { web: {} });
202
- return (await builderKeys.parallelAsync(async (builderKey) => {
203
- return await this._runCommandAsync(cluster, "build", projConf, pkgPath, builderKey);
204
- })).mapMany();
192
+ const builderKeys = Object.keys(pkgConf.builder ?? {web: {}});
193
+ return (await builderKeys.parallelAsync(async (builderKey) => {
194
+ return await this._runCommandAsync(cluster, "build", projConf, pkgPath, builderKey);
195
+ })).mapMany();
205
196
  }
206
197
  else {
207
- return await this._runCommandAsync(cluster, "build", projConf, pkgPath);
208
- }
198
+ }*/
199
+ return await this._runCommandAsync(cluster, "build", projConf, pkgPath);
209
200
  })).mapMany();
210
201
  logger.debug("빌드 프로세스 닫기...");
211
202
  this._closeCluster(cluster);
@@ -246,16 +237,7 @@ export class SdCliProject {
246
237
  const cluster = await this._prepareClusterAsync();
247
238
  logger.debug("빌드 프로세스 명령 전달...");
248
239
  const results = (await pkgPaths.parallelAsync(async (pkgPath) => {
249
- const pkgConf = projConf.packages[path.basename(pkgPath)];
250
- if (pkgConf.type === "client") {
251
- const builderKeys = Object.keys(pkgConf.builder ?? { web: {} });
252
- return (await builderKeys.parallelAsync(async (builderKey) => {
253
- return await this._runCommandAsync(cluster, "build", projConf, pkgPath, builderKey);
254
- })).mapMany();
255
- }
256
- else {
257
- return await this._runCommandAsync(cluster, "build", projConf, pkgPath);
258
- }
240
+ return await this._runCommandAsync(cluster, "build", projConf, pkgPath);
259
241
  })).mapMany();
260
242
  logger.debug("빌드 프로세스 닫기...");
261
243
  this._closeCluster(cluster);
@@ -445,7 +427,7 @@ export class SdCliProject {
445
427
  });
446
428
  });
447
429
  }
448
- static async _runCommandAsync(cluster, cmd, projConf, pkgPath, builderKey) {
430
+ static async _runCommandAsync(cluster, cmd, projConf, pkgPath, execArgs) {
449
431
  return await new Promise((resolve) => {
450
432
  const cb = (message) => {
451
433
  if (cmd === "watch" && message.type === "ready" && message.req.cmd === cmd && message.req.pkgPath === pkgPath) {
@@ -462,7 +444,7 @@ export class SdCliProject {
462
444
  cmd,
463
445
  projConf,
464
446
  pkgPath,
465
- builderKey
447
+ execArgs
466
448
  });
467
449
  });
468
450
  }