@simplysm/sd-cli 11.1.45 → 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 (53) hide show
  1. package/dist/build-cluster.js +16 -3
  2. package/dist/build-cluster.js.map +1 -1
  3. package/dist/build-tools/SdLibBundler.d.ts +13 -0
  4. package/dist/build-tools/SdLibBundler.js +51 -0
  5. package/dist/build-tools/SdLibBundler.js.map +1 -0
  6. package/dist/build-tools/SdLinter.js +4 -4
  7. package/dist/build-tools/SdLinter.js.map +1 -1
  8. package/dist/build-tools/SdNgBundler.d.ts +11 -20
  9. package/dist/build-tools/SdNgBundler.js +103 -96
  10. package/dist/build-tools/SdNgBundler.js.map +1 -1
  11. package/dist/build-tools/SdServerBundler.js.map +1 -1
  12. package/dist/build-tools/SdTsCompiler.d.ts +24 -27
  13. package/dist/build-tools/SdTsCompiler.js +237 -184
  14. package/dist/build-tools/SdTsCompiler.js.map +1 -1
  15. package/dist/builders/SdCliTsLibBuilder.d.ts +2 -6
  16. package/dist/builders/SdCliTsLibBuilder.js +30 -30
  17. package/dist/builders/SdCliTsLibBuilder.js.map +1 -1
  18. package/dist/bundle-plugins/sdNgPlugin.d.ts +3 -3
  19. package/dist/bundle-plugins/sdNgPlugin.js +22 -212
  20. package/dist/bundle-plugins/sdNgPlugin.js.map +1 -1
  21. package/dist/bundle-plugins/sdServerPlugin.d.ts +2 -2
  22. package/dist/bundle-plugins/sdServerPlugin.js +17 -110
  23. package/dist/bundle-plugins/sdServerPlugin.js.map +1 -1
  24. package/dist/commons.d.ts +1 -0
  25. package/dist/entry/SdCliProject.d.ts +1 -0
  26. package/dist/entry/SdCliProject.js +14 -30
  27. package/dist/entry/SdCliProject.js.map +1 -1
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/sd-cli.d.ts +1 -1
  32. package/dist/sd-cli.js +8 -2
  33. package/dist/sd-cli.js.map +1 -1
  34. package/dist/server-worker.js.map +1 -1
  35. package/dist/utils/SdCliBuildResultUtil.d.ts +10 -0
  36. package/dist/utils/SdCliBuildResultUtil.js +17 -1
  37. package/dist/utils/SdCliBuildResultUtil.js.map +1 -1
  38. package/package.json +15 -15
  39. package/src/build-cluster.ts +18 -4
  40. package/src/build-tools/SdLibBundler.ts +70 -0
  41. package/src/build-tools/SdLinter.ts +4 -4
  42. package/src/build-tools/SdNgBundler.ts +120 -112
  43. package/src/build-tools/SdServerBundler.ts +2 -2
  44. package/src/build-tools/SdTsCompiler.ts +352 -241
  45. package/src/builders/SdCliTsLibBuilder.ts +33 -31
  46. package/src/bundle-plugins/sdNgPlugin.ts +26 -320
  47. package/src/bundle-plugins/sdServerPlugin.ts +20 -168
  48. package/src/commons.ts +1 -0
  49. package/src/entry/SdCliProject.ts +15 -31
  50. package/src/index.ts +1 -0
  51. package/src/sd-cli.ts +8 -2
  52. package/src/server-worker.ts +3 -3
  53. package/src/utils/SdCliBuildResultUtil.ts +22 -3
@@ -1,17 +1,21 @@
1
1
  import { FsUtil, Logger, PathUtil, SdFsWatcher } from "@simplysm/sd-core-node";
2
2
  import path from "path";
3
3
  import { EventEmitter } from "events";
4
- import { SdTsCompiler } from "../build-tools/SdTsCompiler";
4
+ import { SdLibBundler } from "../build-tools/SdLibBundler";
5
5
  import { SdLinter } from "../build-tools/SdLinter";
6
6
  import { FunctionQueue } from "@simplysm/sd-core-common";
7
7
  import { SdCliIndexFileGenerator } from "../build-tools/SdCliIndexFileGenerator";
8
8
  export class SdCliTsLibBuilder extends EventEmitter {
9
- constructor(_projConf, _pkgPath) {
9
+ #logger = Logger.get(["simplysm", "sd-cli", "SdCliTsLibBuilder"]);
10
+ #projConf;
11
+ #pkgPath;
12
+ #pkgConf;
13
+ #bundler;
14
+ constructor(projConf, pkgPath) {
10
15
  super();
11
- this._projConf = _projConf;
12
- this._pkgPath = _pkgPath;
13
- this._logger = Logger.get(["simplysm", "sd-cli", "SdCliTsLibBuilder"]);
14
- this._pkgConf = this._projConf.packages[path.basename(_pkgPath)];
16
+ this.#projConf = projConf;
17
+ this.#pkgPath = pkgPath;
18
+ this.#pkgConf = projConf.packages[path.basename(pkgPath)];
15
19
  }
16
20
  on(event, listener) {
17
21
  super.on(event, listener);
@@ -19,12 +23,12 @@ export class SdCliTsLibBuilder extends EventEmitter {
19
23
  }
20
24
  async buildAsync() {
21
25
  this._debug("dist 초기화...");
22
- await FsUtil.removeAsync(path.resolve(this._pkgPath, "dist"));
23
- if (!this._pkgConf.noGenIndex) {
26
+ await FsUtil.removeAsync(path.resolve(this.#pkgPath, "dist"));
27
+ if (!this.#pkgConf.noGenIndex) {
24
28
  this._debug("GEN index.ts...");
25
- await SdCliIndexFileGenerator.runAsync(this._pkgPath, this._pkgConf.polyfills);
29
+ await SdCliIndexFileGenerator.runAsync(this.#pkgPath, this.#pkgConf.polyfills);
26
30
  }
27
- const result = await this._runAsync();
31
+ const result = await this._runAsync(false);
28
32
  return {
29
33
  affectedFilePaths: Array.from(result.affectedFileSet),
30
34
  buildResults: result.buildResults
@@ -33,12 +37,12 @@ export class SdCliTsLibBuilder extends EventEmitter {
33
37
  async watchAsync() {
34
38
  this.emit("change");
35
39
  this._debug("dist 초기화...");
36
- await FsUtil.removeAsync(path.resolve(this._pkgPath, "dist"));
37
- if (!this._pkgConf.noGenIndex) {
40
+ await FsUtil.removeAsync(path.resolve(this.#pkgPath, "dist"));
41
+ if (!this.#pkgConf.noGenIndex) {
38
42
  this._debug("WATCH GEN index.ts...");
39
- await SdCliIndexFileGenerator.watchAsync(this._pkgPath, this._pkgConf.polyfills);
43
+ await SdCliIndexFileGenerator.watchAsync(this.#pkgPath, this.#pkgConf.polyfills);
40
44
  }
41
- const result = await this._runAsync();
45
+ const result = await this._runAsync(true);
42
46
  this.emit("complete", {
43
47
  affectedFilePaths: Array.from(result.affectedFileSet),
44
48
  buildResults: result.buildResults
@@ -48,10 +52,10 @@ export class SdCliTsLibBuilder extends EventEmitter {
48
52
  const watcher = SdFsWatcher
49
53
  .watch(Array.from(result.watchFileSet))
50
54
  .onChange({ delay: 100, }, (changeInfos) => {
51
- this._builder.markChanges(changeInfos.map((item) => item.path));
55
+ this.#bundler.markChanges(new Set(changeInfos.map((item) => item.path)));
52
56
  fnQ.runLast(async () => {
53
57
  this.emit("change");
54
- const watchResult = await this._runAsync();
58
+ const watchResult = await this._runAsync(true);
55
59
  this.emit("complete", {
56
60
  affectedFilePaths: Array.from(watchResult.affectedFileSet),
57
61
  buildResults: watchResult.buildResults
@@ -60,21 +64,17 @@ export class SdCliTsLibBuilder extends EventEmitter {
60
64
  });
61
65
  });
62
66
  }
63
- async _runAsync() {
64
- this._debug(`BUILD & CHECK...`);
65
- this._builder = this._builder ?? new SdTsCompiler({
66
- pkgPath: this._pkgPath,
67
- emit: true,
68
- emitDts: true,
69
- globalStyle: true
70
- });
71
- const buildResult = await this._builder.buildAsync();
67
+ async _runAsync(dev) {
68
+ this._debug(`BUILD...`);
69
+ this.#bundler = this.#bundler ?? new SdLibBundler(this.#pkgPath, dev);
70
+ const buildResult = await this.#bundler.buildAsync();
72
71
  this._debug("LINT...");
73
- const lintResults = await SdLinter.lintAsync(Array.from(buildResult.affectedFileSet).filter(item => PathUtil.isChildPath(item, this._pkgPath)), this._builder.program);
72
+ const lintFilePaths = Array.from(buildResult.affectedFileSet).filter(item => PathUtil.isChildPath(item, this.#pkgPath));
73
+ const lintResults = await SdLinter.lintAsync(lintFilePaths, buildResult.program);
74
74
  this._debug(`빌드 완료`);
75
- const localUpdatePaths = Object.keys(this._projConf.localUpdates ?? {})
76
- .mapMany((key) => FsUtil.glob(path.resolve(this._pkgPath, "../../node_modules", key)));
77
- const watchFileSet = new Set(Array.from(buildResult.watchFileSet).filter(item => PathUtil.isChildPath(item, path.resolve(this._pkgPath, "../")) ||
75
+ const localUpdatePaths = Object.keys(this.#projConf.localUpdates ?? {})
76
+ .mapMany((key) => FsUtil.glob(path.resolve(this.#pkgPath, "../../node_modules", key)));
77
+ const watchFileSet = new Set(Array.from(buildResult.watchFileSet).filter(item => PathUtil.isChildPath(item, path.resolve(this.#pkgPath, "../")) ||
78
78
  localUpdatePaths.some((lu) => PathUtil.isChildPath(item, lu))));
79
79
  return {
80
80
  watchFileSet,
@@ -83,7 +83,7 @@ export class SdCliTsLibBuilder extends EventEmitter {
83
83
  };
84
84
  }
85
85
  _debug(msg) {
86
- this._logger.debug(`[${path.basename(this._pkgPath)}] ${msg}`);
86
+ this.#logger.debug(`[${path.basename(this.#pkgPath)}] ${msg}`);
87
87
  }
88
88
  }
89
89
  //# sourceMappingURL=SdCliTsLibBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SdCliTsLibBuilder.js","sourceRoot":"","sources":["../../src/builders/SdCliTsLibBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdCliTsLibBuilder.js","sourceRoot":"","sources":["../../src/builders/SdCliTsLibBuilder.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@ export declare function sdNgPlugin(conf: {
4
4
  pkgPath: string;
5
5
  dev: boolean;
6
6
  modifiedFileSet: Set<string>;
7
- result: INgResultCache;
7
+ result: INgPluginResultCache;
8
8
  }): esbuild.Plugin;
9
- export interface INgResultCache {
9
+ export interface INgPluginResultCache {
10
10
  watchFileSet?: Set<string>;
11
11
  affectedFileSet?: Set<string>;
12
+ program?: ts.Program;
12
13
  outputFiles?: esbuild.OutputFile[];
13
14
  metafile?: esbuild.Metafile;
14
- program?: ts.Program;
15
15
  }
@@ -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 { SdTsCompiler } from "../build-tools/SdTsCompiler";
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 SdTsCompiler(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[];