@simplysm/sd-cli 12.5.12 → 12.5.14

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.
@@ -7,10 +7,10 @@ import browserslist from "browserslist";
7
7
  import { SdNgBundlerContext } from "./SdNgBundlerContext";
8
8
  import { sdNgPlugin } from "../bundle-plugins/sdNgPlugin";
9
9
  import { MemoryLoadResultCache } from "@angular/build/src/tools/esbuild/load-result-cache";
10
- import { convertOutputFile, createOutputFile, transformSupportedBrowsersToTargets } from "@angular/build/src/tools/esbuild/utils";
11
- import { BuildOutputFileType } from "@angular/build/src/tools/esbuild/bundler-context";
10
+ import { convertOutputFile, createOutputFile, transformSupportedBrowsersToTargets, } from "@angular/build/src/tools/esbuild/utils";
11
+ import { BuildOutputFileType, } from "@angular/build/src/tools/esbuild/bundler-context";
12
12
  import { extractLicenses } from "@angular/build/src/tools/esbuild/license-extractor";
13
- import { IndexHtmlGenerator } from "@angular/build/src/utils/index-file/index-html-generator";
13
+ import { IndexHtmlGenerator, } from "@angular/build/src/utils/index-file/index-html-generator";
14
14
  import { CrossOrigin } from "@angular/build/src/builders/application/schema";
15
15
  import { InlineCriticalCssProcessor } from "@angular/build/src/utils/index-file/inline-critical-css";
16
16
  import { augmentAppWithServiceWorkerEsbuild } from "@angular/build/src/utils/service-worker";
@@ -28,7 +28,7 @@ export class SdNgBundler {
28
28
  #modifiedFileSet = new Set();
29
29
  #ngResultCache = {
30
30
  affectedFileSet: new Set(),
31
- watchFileSet: new Set()
31
+ watchFileSet: new Set(),
32
32
  };
33
33
  #styleLoadResultCache = new MemoryLoadResultCache();
34
34
  #contexts;
@@ -52,7 +52,8 @@ export class SdNgBundler {
52
52
  this.#browserTarget = transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"]));
53
53
  this.#indexHtmlFilePath = path.resolve(opt.pkgPath, "src/index.html");
54
54
  this.#pkgName = path.basename(opt.pkgPath);
55
- this.#baseHref = opt.builderType === "web" ? `/${this.#pkgName}/` : opt.dev ? `/${this.#pkgName}/${opt.builderType}/` : ``;
55
+ this.#baseHref =
56
+ opt.builderType === "web" ? `/${this.#pkgName}/` : opt.dev ? `/${this.#pkgName}/${opt.builderType}/` : ``;
56
57
  }
57
58
  markForChanges(filePaths) {
58
59
  for (const filePath of filePaths) {
@@ -67,21 +68,19 @@ export class SdNgBundler {
67
68
  this.#contexts = [
68
69
  this._getAppContext(),
69
70
  this._getStyleContext(),
70
- ...this.#opt.builderType === "electron" ? [
71
- this._getElectronMainContext()
72
- ] : []
71
+ ...(this.#opt.builderType === "electron" ? [this._getElectronMainContext()] : []),
73
72
  ];
74
73
  }
75
74
  this.#debug(`build...`);
76
75
  const bundlingResults = await this.#contexts.mapAsync(async (ctx, i) => await ctx.bundleAsync());
77
76
  //-- results
78
- const results = bundlingResults.mapMany(bundlingResult => bundlingResult.results);
77
+ const results = bundlingResults.mapMany((bundlingResult) => bundlingResult.results);
79
78
  this.#debug(`convert result...`);
80
- const outputFiles = bundlingResults.mapMany(item => item.outputFiles?.map(file => convertOutputFile(file, BuildOutputFileType.Root)) ?? []);
79
+ const outputFiles = bundlingResults.mapMany((item) => item.outputFiles?.map((file) => convertOutputFile(file, BuildOutputFileType.Root)) ?? []);
81
80
  const initialFiles = new Map();
82
81
  const metafile = {
83
82
  inputs: {},
84
- outputs: {}
83
+ outputs: {},
85
84
  };
86
85
  for (const bundlingResult of bundlingResults) {
87
86
  bundlingResult.initialFiles.forEach((v, k) => initialFiles.set(k, v));
@@ -122,14 +121,14 @@ export class SdNgBundler {
122
121
  assetFiles.push(...(await this._copyAssetsAsync()));
123
122
  //-- extract 3rdpartylicenses
124
123
  if (!this.#opt.dev) {
125
- outputFiles.push(createOutputFile('3rdpartylicenses.txt', await extractLicenses(metafile, this.#opt.pkgPath), BuildOutputFileType.Root));
124
+ outputFiles.push(createOutputFile("3rdpartylicenses.txt", await extractLicenses(metafile, this.#opt.pkgPath), BuildOutputFileType.Root));
126
125
  }
127
126
  //-- service worker
128
127
  if (FsUtil.exists(this.#swConfFilePath)) {
129
128
  this.#debug(`prepare service worker...`);
130
129
  try {
131
130
  const serviceWorkerResult = await this._genServiceWorkerAsync(outputFiles, assetFiles);
132
- outputFiles.push(createOutputFile('ngsw.json', serviceWorkerResult.manifest, BuildOutputFileType.Root));
131
+ outputFiles.push(createOutputFile("ngsw.json", serviceWorkerResult.manifest, BuildOutputFileType.Root));
133
132
  assetFiles.push(...serviceWorkerResult.assetFiles);
134
133
  }
135
134
  catch (err) {
@@ -168,10 +167,10 @@ export class SdNgBundler {
168
167
  watchFileSet: new Set([
169
168
  ...this.#ngResultCache.watchFileSet,
170
169
  ...this.#styleLoadResultCache.watchFiles,
171
- this.#indexHtmlFilePath
170
+ this.#indexHtmlFilePath,
172
171
  ]),
173
172
  affectedFileSet: this.#ngResultCache.affectedFileSet,
174
- results
173
+ results,
175
174
  };
176
175
  }
177
176
  async _genIndexHtmlAsync(outputFiles, initialFiles) {
@@ -186,21 +185,19 @@ export class SdNgBundler {
186
185
  const indexHtmlGenerator = new IndexHtmlGenerator({
187
186
  indexPath: this.#indexHtmlFilePath,
188
187
  entrypoints: [
189
- ['runtime', true],
190
- ['polyfills', true],
191
- ['styles', false],
192
- ['vendor', true],
193
- ['main', true],
194
- ...this.#opt.builderType === "cordova" ? [
195
- ["cordova-entry", true]
196
- ] : []
188
+ ["runtime", true],
189
+ ["polyfills", true],
190
+ ["styles", false],
191
+ ["vendor", true],
192
+ ["main", true],
193
+ ...(this.#opt.builderType === "cordova" ? [["cordova-entry", true]] : []),
197
194
  ],
198
195
  optimization: {
199
196
  scripts: !this.#opt.dev,
200
197
  fonts: { inline: !this.#opt.dev },
201
198
  styles: {
202
199
  minify: !this.#opt.dev,
203
- inlineCritical: false
200
+ inlineCritical: false,
204
201
  },
205
202
  },
206
203
  crossOrigin: CrossOrigin.None,
@@ -212,12 +209,12 @@ export class SdNgBundler {
212
209
  if (value.entrypoint) {
213
210
  continue;
214
211
  }
215
- if (value.type === 'script') {
216
- hints.push({ url: key, mode: 'modulepreload' });
212
+ if (value.type === "script") {
213
+ hints.push({ url: key, mode: "modulepreload" });
217
214
  }
218
215
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
219
- else if (value.type === 'style') {
220
- hints.push({ url: key, mode: 'preload', as: 'style' });
216
+ else if (value.type === "style") {
217
+ hints.push({ url: key, mode: "preload", as: "style" });
221
218
  }
222
219
  }
223
220
  }
@@ -226,7 +223,7 @@ export class SdNgBundler {
226
223
  lang: undefined,
227
224
  outputPath: "/",
228
225
  files: [...initialFiles].map(([file, record]) => ({
229
- name: record.name ?? '',
226
+ name: record.name ?? "",
230
227
  file,
231
228
  extension: path.extname(file),
232
229
  })),
@@ -240,94 +237,106 @@ export class SdNgBundler {
240
237
  minify: false,
241
238
  readAsset,
242
239
  });
243
- const { content, errors, warnings } = await inlineCriticalCssProcessor.process(transformResult.csrContent, { outputPath: "/", });
240
+ const { content, errors, warnings } = await inlineCriticalCssProcessor.process(transformResult.csrContent, {
241
+ outputPath: "/",
242
+ });
244
243
  return {
245
244
  warnings: [...transformResult.warnings, ...warnings],
246
245
  errors: [...transformResult.errors, ...errors],
247
- csrContent: content
246
+ csrContent: content,
248
247
  };
249
248
  }
250
249
  }
250
+ //TODO: index.html 파일에 manifest.json 정보 추가? manifest.webmanifest ? PWA?
251
251
  async _copyAssetsAsync() {
252
252
  return await resolveAssets([
253
- { input: 'src', glob: 'favicon.ico', output: '' },
254
- { input: 'src', glob: 'manifest.webmanifest', output: '' },
255
- { input: 'src/assets', glob: '**/*', output: 'assets' },
256
- ...this.#opt.dev && this.#opt.builderType === "cordova" ? Object.keys(this.#opt.cordovaConfig?.platform ?? { browser: {} }).mapMany((platform) => [
257
- {
258
- input: `.cordova/platforms/${platform}/platform_www/plugins`,
259
- glob: '**/*',
260
- output: `cordova-${platform}/plugins`
261
- },
262
- {
263
- input: `.cordova/platforms/${platform}/platform_www`,
264
- glob: 'cordova.js',
265
- output: `cordova-${platform}`
266
- },
267
- {
268
- input: `.cordova/platforms/${platform}/platform_www`,
269
- glob: 'cordova_plugins.js',
270
- output: `cordova-${platform}`
271
- },
272
- {
273
- input: `.cordova/platforms/${platform}/www`,
274
- glob: 'config.xml',
275
- output: `cordova-${platform}`
276
- },
277
- ]) : []
253
+ { input: "src", glob: "favicon.ico", output: "" },
254
+ { input: "src", glob: "manifest.webmanifest", output: "" },
255
+ { input: "src", glob: "manifest.json", output: "" },
256
+ { input: "src/assets", glob: "**/*", output: "assets" },
257
+ ...(this.#opt.dev && this.#opt.builderType === "cordova"
258
+ ? Object.keys(this.#opt.cordovaConfig?.platform ?? { browser: {} }).mapMany((platform) => [
259
+ {
260
+ input: `.cordova/platforms/${platform}/platform_www/plugins`,
261
+ glob: "**/*",
262
+ output: `cordova-${platform}/plugins`,
263
+ },
264
+ {
265
+ input: `.cordova/platforms/${platform}/platform_www`,
266
+ glob: "cordova.js",
267
+ output: `cordova-${platform}`,
268
+ },
269
+ {
270
+ input: `.cordova/platforms/${platform}/platform_www`,
271
+ glob: "cordova_plugins.js",
272
+ output: `cordova-${platform}`,
273
+ },
274
+ {
275
+ input: `.cordova/platforms/${platform}/www`,
276
+ glob: "config.xml",
277
+ output: `cordova-${platform}`,
278
+ },
279
+ ])
280
+ : []),
278
281
  ], this.#opt.pkgPath);
279
282
  }
280
283
  async _genServiceWorkerAsync(outputFiles, assetFiles) {
281
284
  return await augmentAppWithServiceWorkerEsbuild(this.#opt.pkgPath, this.#swConfFilePath, this.#baseHref, "index.html", outputFiles, assetFiles);
282
285
  }
283
286
  _getAppContext() {
287
+ const workerEntries = FsUtil.glob(path.resolve(this.#opt.pkgPath, "src/workers/*.ts")).toObject((p) => "worker/" + path.basename(p, path.extname(p)));
284
288
  return new SdNgBundlerContext(this.#opt.pkgPath, {
285
289
  absWorkingDir: this.#opt.pkgPath,
286
290
  bundle: true,
287
291
  keepNames: true,
288
- format: 'esm',
289
- assetNames: 'media/[name]',
290
- conditions: ['es2020', 'es2015', 'module'],
292
+ format: "esm",
293
+ assetNames: "media/[name]",
294
+ conditions: ["es2020", "es2015", "module"],
291
295
  resolveExtensions: [".js", ".mjs", ".cjs", ".ts"],
292
296
  metafile: true,
293
- legalComments: this.#opt.dev ? 'eof' : 'none',
294
- logLevel: 'silent',
297
+ legalComments: this.#opt.dev ? "eof" : "none",
298
+ logLevel: "silent",
295
299
  minifyIdentifiers: !this.#opt.dev,
296
300
  minifySyntax: !this.#opt.dev,
297
301
  minifyWhitespace: !this.#opt.dev,
298
- pure: ['forwardRef'],
302
+ pure: ["forwardRef"],
299
303
  outdir: this.#opt.pkgPath,
300
304
  outExtension: undefined,
301
305
  sourcemap: true, //this.#opt.dev,
302
306
  splitting: true,
303
- chunkNames: '[name]-[hash]',
307
+ chunkNames: "[name]-[hash]",
304
308
  tsconfig: this.#tsConfigFilePath,
305
309
  write: false,
306
310
  preserveSymlinks: false,
307
311
  define: {
308
- ...!this.#opt.dev ? { ngDevMode: "false" } : {},
309
- ngJitMode: 'false',
310
- global: 'global',
311
- process: 'process',
312
- Buffer: 'Buffer',
313
- 'process.env.SD_VERSION': JSON.stringify(this.#pkgNpmConf.version),
312
+ ...(!this.#opt.dev ? { ngDevMode: "false" } : {}),
313
+ "ngJitMode": "false",
314
+ "global": "global",
315
+ "process": "process",
316
+ "Buffer": "Buffer",
317
+ "process.env.SD_VERSION": JSON.stringify(this.#pkgNpmConf.version),
314
318
  "process.env.NODE_ENV": JSON.stringify(this.#opt.dev ? "development" : "production"),
315
- ...this.#opt.env ? Object.keys(this.#opt.env).toObject(key => `process.env.${key}`, key => JSON.stringify(this.#opt.env[key])) : {}
319
+ ...(this.#opt.env
320
+ ? Object.keys(this.#opt.env).toObject((key) => `process.env.${key}`, (key) => JSON.stringify(this.#opt.env[key]))
321
+ : {}),
316
322
  },
317
- platform: 'browser',
318
- mainFields: ['es2020', 'es2015', 'browser', 'module', 'main'],
319
- entryNames: '[name]',
323
+ platform: "browser",
324
+ mainFields: ["es2020", "es2015", "browser", "module", "main"],
325
+ entryNames: "[name]",
320
326
  entryPoints: {
321
327
  main: this.#mainFilePath,
322
328
  // polyfills: 'angular:polyfills',
323
329
  polyfills: path.resolve(this.#opt.pkgPath, "src/polyfills.ts"),
324
- ...this.#opt.builderType === "cordova" ? {
325
- "cordova-entry": path.resolve(path.dirname(fileURLToPath(import.meta.url)), `../../lib/cordova-entry.js`)
326
- } : {}
330
+ ...(this.#opt.builderType === "cordova"
331
+ ? {
332
+ "cordova-entry": path.resolve(path.dirname(fileURLToPath(import.meta.url)), `../../lib/cordova-entry.js`),
333
+ }
334
+ : {}),
335
+ ...workerEntries,
327
336
  },
328
337
  external: ["electron"],
329
338
  target: this.#browserTarget,
330
- supported: { 'async-await': false, 'object-rest-spread': false },
339
+ supported: { "async-await": false, "object-rest-spread": false },
331
340
  loader: {
332
341
  ".png": "file",
333
342
  ".jpeg": "file",
@@ -353,21 +362,25 @@ export class SdNgBundler {
353
362
  ".pfx": "file",
354
363
  ".pkl": "file",
355
364
  ".mp3": "file",
356
- ".ogg": "file"
365
+ ".ogg": "file",
357
366
  },
358
367
  inject: [PathUtil.posix(fileURLToPath(import.meta.resolve("node-stdlib-browser/helpers/esbuild/shim")))],
359
368
  plugins: [
360
- ...this.#opt.builderType === "cordova" && this.#opt.cordovaConfig?.plugins ? [{
361
- name: "cordova:plugin-empty",
362
- setup: ({ onResolve }) => {
363
- onResolve({ filter: new RegExp("(" + this.#opt.cordovaConfig.plugins.join("|") + ")") }, () => {
364
- return {
365
- path: `./cordova-empty.js`,
366
- external: true
367
- };
368
- });
369
- }
370
- }] : [],
369
+ ...(this.#opt.builderType === "cordova" && this.#opt.cordovaConfig?.plugins
370
+ ? [
371
+ {
372
+ name: "cordova:plugin-empty",
373
+ setup: ({ onResolve }) => {
374
+ onResolve({ filter: new RegExp("(" + this.#opt.cordovaConfig.plugins.join("|") + ")") }, () => {
375
+ return {
376
+ path: `./cordova-empty.js`,
377
+ external: true,
378
+ };
379
+ });
380
+ },
381
+ },
382
+ ]
383
+ : []),
371
384
  // createVirtualModulePlugin({
372
385
  // namespace: "angular:polyfills",
373
386
  // loadContent: () => ({
@@ -381,7 +394,7 @@ export class SdNgBundler {
381
394
  modifiedFileSet: this.#modifiedFileSet,
382
395
  dev: this.#opt.dev,
383
396
  pkgPath: this.#opt.pkgPath,
384
- result: this.#ngResultCache
397
+ result: this.#ngResultCache,
385
398
  }),
386
399
  // createCompilerPlugin({
387
400
  // sourcemap: this.#opt.dev,
@@ -405,7 +418,7 @@ export class SdNgBundler {
405
418
  // preserveSymlinks: false,
406
419
  // tailwindConfiguration: undefined
407
420
  // }) as esbuild.Plugin,
408
- nodeStdLibBrowserPlugin(nodeStdLibBrowser)
421
+ nodeStdLibBrowserPlugin(nodeStdLibBrowser),
409
422
  // {
410
423
  // name: "sd-load-file",
411
424
  // setup: ({onLoad}) => {
@@ -415,35 +428,35 @@ export class SdNgBundler {
415
428
  // });
416
429
  // }
417
430
  // }
418
- ]
431
+ ],
419
432
  });
420
433
  }
421
434
  _getStyleContext() {
422
435
  const pluginFactory = new StylesheetPluginFactory({
423
436
  sourcemap: true, //this.#opt.dev,
424
- includePaths: []
437
+ includePaths: [],
425
438
  }, this.#styleLoadResultCache);
426
439
  return new SdNgBundlerContext(this.#opt.pkgPath, {
427
440
  absWorkingDir: this.#opt.pkgPath,
428
441
  bundle: true,
429
- entryNames: '[name]',
430
- assetNames: 'media/[name]',
431
- logLevel: 'silent',
442
+ entryNames: "[name]",
443
+ assetNames: "media/[name]",
444
+ logLevel: "silent",
432
445
  minify: !this.#opt.dev,
433
446
  metafile: true,
434
447
  sourcemap: true, //this.#opt.dev,
435
448
  outdir: this.#opt.pkgPath,
436
449
  write: false,
437
- platform: 'browser',
450
+ platform: "browser",
438
451
  target: this.#browserTarget,
439
452
  preserveSymlinks: false,
440
453
  external: [],
441
- conditions: ['style', 'sass'],
442
- mainFields: ['style', 'sass'],
454
+ conditions: ["style", "sass"],
455
+ mainFields: ["style", "sass"],
443
456
  legalComments: !this.#opt.dev ? "none" : "eof",
444
457
  entryPoints: {
445
458
  // styles: 'angular:styles/global;styles'
446
- styles: path.resolve(this.#opt.pkgPath, "src/styles.scss")
459
+ styles: path.resolve(this.#opt.pkgPath, "src/styles.scss"),
447
460
  },
448
461
  plugins: [
449
462
  // createVirtualModulePlugin({
@@ -465,13 +478,13 @@ export class SdNgBundler {
465
478
  return new SdNgBundlerContext(this.#opt.pkgPath, {
466
479
  absWorkingDir: this.#opt.pkgPath,
467
480
  bundle: true,
468
- entryNames: '[name]',
469
- assetNames: 'media/[name]',
470
- conditions: ['es2020', 'es2015', 'module'],
481
+ entryNames: "[name]",
482
+ assetNames: "media/[name]",
483
+ conditions: ["es2020", "es2015", "module"],
471
484
  resolveExtensions: [".js", ".mjs", ".cjs", ".ts"],
472
485
  metafile: true,
473
- legalComments: this.#opt.dev ? 'eof' : 'none',
474
- logLevel: 'silent',
486
+ legalComments: this.#opt.dev ? "eof" : "none",
487
+ logLevel: "silent",
475
488
  minify: !this.#opt.dev,
476
489
  outdir: this.#opt.pkgPath,
477
490
  sourcemap: true, //this.#opt.dev,
@@ -480,15 +493,17 @@ export class SdNgBundler {
480
493
  preserveSymlinks: false,
481
494
  external: ["electron"],
482
495
  define: {
483
- ...!this.#opt.dev ? { ngDevMode: 'false' } : {},
484
- 'process.env.SD_VERSION': JSON.stringify(this.#pkgNpmConf.version),
496
+ ...(!this.#opt.dev ? { ngDevMode: "false" } : {}),
497
+ "process.env.SD_VERSION": JSON.stringify(this.#pkgNpmConf.version),
485
498
  "process.env.NODE_ENV": JSON.stringify(this.#opt.dev ? "development" : "production"),
486
- ...this.#opt.env ? Object.keys(this.#opt.env).toObject(key => `process.env.${key}`, key => JSON.stringify(this.#opt.env[key])) : {}
499
+ ...(this.#opt.env
500
+ ? Object.keys(this.#opt.env).toObject((key) => `process.env.${key}`, (key) => JSON.stringify(this.#opt.env[key]))
501
+ : {}),
487
502
  },
488
- platform: 'node',
503
+ platform: "node",
489
504
  entryPoints: {
490
505
  "electron-main": path.resolve(this.#opt.pkgPath, "src/electron-main.ts"),
491
- }
506
+ },
492
507
  });
493
508
  }
494
509
  #debug(...msg) {
@@ -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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"}
@@ -8,6 +8,7 @@ import { ComponentStylesheetBundler } from "@angular/build/src/tools/esbuild/ang
8
8
  import { transformSupportedBrowsersToTargets } from "@angular/build/src/tools/esbuild/utils";
9
9
  import browserslist from "browserslist";
10
10
  import transformKeys from "@simplysm/ts-transformer-keys/transformer";
11
+ import { replaceBootstrap } from "@angular/build/src/tools/angular/transformers/jit-bootstrap-transformer";
11
12
  export class SdTsCompiler {
12
13
  #logger = Logger.get(["simplysm", "sd-cli", "SdTsCompiler"]);
13
14
  #parsedTsconfig;
@@ -264,19 +265,26 @@ export class SdTsCompiler {
264
265
  }
265
266
  }
266
267
  this.#debug(`prepare emit...`);
267
- const ngTransformers = this.#ngProgram?.compiler.prepareEmit().transformers;
268
+ let transformers = {};
269
+ if (this.#ngProgram) {
270
+ transformers = {
271
+ ...transformers,
272
+ ...this.#ngProgram.compiler.prepareEmit().transformers,
273
+ };
274
+ (transformers.before ??= []).push(replaceBootstrap(() => this.#program.getTypeChecker()));
275
+ }
276
+ (transformers.before ??= []).push(transformKeys(this.#program));
268
277
  // affected에 새로 추가된 파일은 포함되지 않는 현상이 있어 getSourceFiles로 바꿈
269
278
  // -> 너무 느려져서 다시 돌림. 포함안되는 현상은 getAllDep 문제인가?
270
- // for (const affectedFile of affectedFileSet) {
271
- // if (this.#emittedFilesCacheMap.has(affectedFile)) {
272
- // continue;
273
- // }
274
- //
275
- // const sf = this.#program.getSourceFile(affectedFile);
276
- // if (!sf) {
277
- // continue;
278
- // }
279
- for (const sf of sourceFileSet) {
279
+ for (const affectedFile of affectedFileSet) {
280
+ if (this.#emittedFilesCacheMap.has(affectedFile)) {
281
+ continue;
282
+ }
283
+ const sf = this.#program.getSourceFile(affectedFile);
284
+ if (!sf) {
285
+ continue;
286
+ }
287
+ // for (const sf of sourceFileSet) {
280
288
  if (this.#emittedFilesCacheMap.has(path.normalize(sf.fileName))) {
281
289
  continue;
282
290
  }
@@ -321,10 +329,7 @@ export class SdTsCompiler {
321
329
  emitFileInfoCaches.push({ text });
322
330
  }
323
331
  emitFileSet.add(path.normalize(sourceFile.fileName));
324
- }, undefined, undefined, {
325
- ...(ngTransformers ?? {}),
326
- before: [...(ngTransformers?.before ?? []), transformKeys(this.#program)],
327
- });
332
+ }, undefined, undefined, transformers);
328
333
  }
329
334
  //-- global style
330
335
  if (this.#globalStyleFilePath != null &&