@simplysm/sd-cli 12.5.13 → 12.5.15

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,96 +237,107 @@ 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
  }
251
250
  //TODO: index.html 파일에 manifest.json 정보 추가? manifest.webmanifest ? PWA?
252
251
  async _copyAssetsAsync() {
253
252
  return await resolveAssets([
254
- { input: 'src', glob: 'favicon.ico', output: '' },
255
- { input: 'src', glob: 'manifest.webmanifest', output: '' },
256
- { input: 'src', glob: 'manifest.json', output: '' },
257
- { input: 'src/assets', glob: '**/*', output: 'assets' },
258
- ...this.#opt.dev && this.#opt.builderType === "cordova" ? 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
- ]) : []
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 ? [{ input: "src/assets-dev", glob: "**/*", output: "assets-dev" }] : []),
258
+ ...(this.#opt.dev && this.#opt.builderType === "cordova"
259
+ ? Object.keys(this.#opt.cordovaConfig?.platform ?? { browser: {} }).mapMany((platform) => [
260
+ {
261
+ input: `.cordova/platforms/${platform}/platform_www/plugins`,
262
+ glob: "**/*",
263
+ output: `cordova-${platform}/plugins`,
264
+ },
265
+ {
266
+ input: `.cordova/platforms/${platform}/platform_www`,
267
+ glob: "cordova.js",
268
+ output: `cordova-${platform}`,
269
+ },
270
+ {
271
+ input: `.cordova/platforms/${platform}/platform_www`,
272
+ glob: "cordova_plugins.js",
273
+ output: `cordova-${platform}`,
274
+ },
275
+ {
276
+ input: `.cordova/platforms/${platform}/www`,
277
+ glob: "config.xml",
278
+ output: `cordova-${platform}`,
279
+ },
280
+ ])
281
+ : []),
280
282
  ], this.#opt.pkgPath);
281
283
  }
282
284
  async _genServiceWorkerAsync(outputFiles, assetFiles) {
283
285
  return await augmentAppWithServiceWorkerEsbuild(this.#opt.pkgPath, this.#swConfFilePath, this.#baseHref, "index.html", outputFiles, assetFiles);
284
286
  }
285
287
  _getAppContext() {
288
+ const workerEntries = FsUtil.glob(path.resolve(this.#opt.pkgPath, "src/workers/*.ts")).toObject((p) => "worker/" + path.basename(p, path.extname(p)));
286
289
  return new SdNgBundlerContext(this.#opt.pkgPath, {
287
290
  absWorkingDir: this.#opt.pkgPath,
288
291
  bundle: true,
289
292
  keepNames: true,
290
- format: 'esm',
291
- assetNames: 'media/[name]',
292
- conditions: ['es2020', 'es2015', 'module'],
293
+ format: "esm",
294
+ assetNames: "media/[name]",
295
+ conditions: ["es2020", "es2015", "module"],
293
296
  resolveExtensions: [".js", ".mjs", ".cjs", ".ts"],
294
297
  metafile: true,
295
- legalComments: this.#opt.dev ? 'eof' : 'none',
296
- logLevel: 'silent',
298
+ legalComments: this.#opt.dev ? "eof" : "none",
299
+ logLevel: "silent",
297
300
  minifyIdentifiers: !this.#opt.dev,
298
301
  minifySyntax: !this.#opt.dev,
299
302
  minifyWhitespace: !this.#opt.dev,
300
- pure: ['forwardRef'],
303
+ pure: ["forwardRef"],
301
304
  outdir: this.#opt.pkgPath,
302
305
  outExtension: undefined,
303
306
  sourcemap: true, //this.#opt.dev,
304
307
  splitting: true,
305
- chunkNames: '[name]-[hash]',
308
+ chunkNames: "[name]-[hash]",
306
309
  tsconfig: this.#tsConfigFilePath,
307
310
  write: false,
308
311
  preserveSymlinks: false,
309
312
  define: {
310
- ...!this.#opt.dev ? { ngDevMode: "false" } : {},
311
- ngJitMode: 'false',
312
- global: 'global',
313
- process: 'process',
314
- Buffer: 'Buffer',
315
- 'process.env.SD_VERSION': JSON.stringify(this.#pkgNpmConf.version),
313
+ ...(!this.#opt.dev ? { ngDevMode: "false" } : {}),
314
+ "ngJitMode": "false",
315
+ "global": "global",
316
+ "process": "process",
317
+ "Buffer": "Buffer",
318
+ "process.env.SD_VERSION": JSON.stringify(this.#pkgNpmConf.version),
316
319
  "process.env.NODE_ENV": JSON.stringify(this.#opt.dev ? "development" : "production"),
317
- ...this.#opt.env ? Object.keys(this.#opt.env).toObject(key => `process.env.${key}`, key => JSON.stringify(this.#opt.env[key])) : {}
320
+ ...(this.#opt.env
321
+ ? Object.keys(this.#opt.env).toObject((key) => `process.env.${key}`, (key) => JSON.stringify(this.#opt.env[key]))
322
+ : {}),
318
323
  },
319
- platform: 'browser',
320
- mainFields: ['es2020', 'es2015', 'browser', 'module', 'main'],
321
- entryNames: '[name]',
324
+ platform: "browser",
325
+ mainFields: ["es2020", "es2015", "browser", "module", "main"],
326
+ entryNames: "[name]",
322
327
  entryPoints: {
323
328
  main: this.#mainFilePath,
324
329
  // polyfills: 'angular:polyfills',
325
330
  polyfills: path.resolve(this.#opt.pkgPath, "src/polyfills.ts"),
326
- ...this.#opt.builderType === "cordova" ? {
327
- "cordova-entry": path.resolve(path.dirname(fileURLToPath(import.meta.url)), `../../lib/cordova-entry.js`)
328
- } : {}
331
+ ...(this.#opt.builderType === "cordova"
332
+ ? {
333
+ "cordova-entry": path.resolve(path.dirname(fileURLToPath(import.meta.url)), `../../lib/cordova-entry.js`),
334
+ }
335
+ : {}),
336
+ ...workerEntries,
329
337
  },
330
338
  external: ["electron"],
331
339
  target: this.#browserTarget,
332
- supported: { 'async-await': false, 'object-rest-spread': false },
340
+ supported: { "async-await": false, "object-rest-spread": false },
333
341
  loader: {
334
342
  ".png": "file",
335
343
  ".jpeg": "file",
@@ -355,21 +363,25 @@ export class SdNgBundler {
355
363
  ".pfx": "file",
356
364
  ".pkl": "file",
357
365
  ".mp3": "file",
358
- ".ogg": "file"
366
+ ".ogg": "file",
359
367
  },
360
368
  inject: [PathUtil.posix(fileURLToPath(import.meta.resolve("node-stdlib-browser/helpers/esbuild/shim")))],
361
369
  plugins: [
362
- ...this.#opt.builderType === "cordova" && this.#opt.cordovaConfig?.plugins ? [{
363
- name: "cordova:plugin-empty",
364
- setup: ({ onResolve }) => {
365
- onResolve({ filter: new RegExp("(" + this.#opt.cordovaConfig.plugins.join("|") + ")") }, () => {
366
- return {
367
- path: `./cordova-empty.js`,
368
- external: true
369
- };
370
- });
371
- }
372
- }] : [],
370
+ ...(this.#opt.builderType === "cordova" && this.#opt.cordovaConfig?.plugins
371
+ ? [
372
+ {
373
+ name: "cordova:plugin-empty",
374
+ setup: ({ onResolve }) => {
375
+ onResolve({ filter: new RegExp("(" + this.#opt.cordovaConfig.plugins.join("|") + ")") }, () => {
376
+ return {
377
+ path: `./cordova-empty.js`,
378
+ external: true,
379
+ };
380
+ });
381
+ },
382
+ },
383
+ ]
384
+ : []),
373
385
  // createVirtualModulePlugin({
374
386
  // namespace: "angular:polyfills",
375
387
  // loadContent: () => ({
@@ -383,7 +395,7 @@ export class SdNgBundler {
383
395
  modifiedFileSet: this.#modifiedFileSet,
384
396
  dev: this.#opt.dev,
385
397
  pkgPath: this.#opt.pkgPath,
386
- result: this.#ngResultCache
398
+ result: this.#ngResultCache,
387
399
  }),
388
400
  // createCompilerPlugin({
389
401
  // sourcemap: this.#opt.dev,
@@ -407,7 +419,7 @@ export class SdNgBundler {
407
419
  // preserveSymlinks: false,
408
420
  // tailwindConfiguration: undefined
409
421
  // }) as esbuild.Plugin,
410
- nodeStdLibBrowserPlugin(nodeStdLibBrowser)
422
+ nodeStdLibBrowserPlugin(nodeStdLibBrowser),
411
423
  // {
412
424
  // name: "sd-load-file",
413
425
  // setup: ({onLoad}) => {
@@ -417,35 +429,35 @@ export class SdNgBundler {
417
429
  // });
418
430
  // }
419
431
  // }
420
- ]
432
+ ],
421
433
  });
422
434
  }
423
435
  _getStyleContext() {
424
436
  const pluginFactory = new StylesheetPluginFactory({
425
437
  sourcemap: true, //this.#opt.dev,
426
- includePaths: []
438
+ includePaths: [],
427
439
  }, this.#styleLoadResultCache);
428
440
  return new SdNgBundlerContext(this.#opt.pkgPath, {
429
441
  absWorkingDir: this.#opt.pkgPath,
430
442
  bundle: true,
431
- entryNames: '[name]',
432
- assetNames: 'media/[name]',
433
- logLevel: 'silent',
443
+ entryNames: "[name]",
444
+ assetNames: "media/[name]",
445
+ logLevel: "silent",
434
446
  minify: !this.#opt.dev,
435
447
  metafile: true,
436
448
  sourcemap: true, //this.#opt.dev,
437
449
  outdir: this.#opt.pkgPath,
438
450
  write: false,
439
- platform: 'browser',
451
+ platform: "browser",
440
452
  target: this.#browserTarget,
441
453
  preserveSymlinks: false,
442
454
  external: [],
443
- conditions: ['style', 'sass'],
444
- mainFields: ['style', 'sass'],
455
+ conditions: ["style", "sass"],
456
+ mainFields: ["style", "sass"],
445
457
  legalComments: !this.#opt.dev ? "none" : "eof",
446
458
  entryPoints: {
447
459
  // styles: 'angular:styles/global;styles'
448
- styles: path.resolve(this.#opt.pkgPath, "src/styles.scss")
460
+ styles: path.resolve(this.#opt.pkgPath, "src/styles.scss"),
449
461
  },
450
462
  plugins: [
451
463
  // createVirtualModulePlugin({
@@ -467,13 +479,13 @@ export class SdNgBundler {
467
479
  return new SdNgBundlerContext(this.#opt.pkgPath, {
468
480
  absWorkingDir: this.#opt.pkgPath,
469
481
  bundle: true,
470
- entryNames: '[name]',
471
- assetNames: 'media/[name]',
472
- conditions: ['es2020', 'es2015', 'module'],
482
+ entryNames: "[name]",
483
+ assetNames: "media/[name]",
484
+ conditions: ["es2020", "es2015", "module"],
473
485
  resolveExtensions: [".js", ".mjs", ".cjs", ".ts"],
474
486
  metafile: true,
475
- legalComments: this.#opt.dev ? 'eof' : 'none',
476
- logLevel: 'silent',
487
+ legalComments: this.#opt.dev ? "eof" : "none",
488
+ logLevel: "silent",
477
489
  minify: !this.#opt.dev,
478
490
  outdir: this.#opt.pkgPath,
479
491
  sourcemap: true, //this.#opt.dev,
@@ -482,15 +494,17 @@ export class SdNgBundler {
482
494
  preserveSymlinks: false,
483
495
  external: ["electron"],
484
496
  define: {
485
- ...!this.#opt.dev ? { ngDevMode: 'false' } : {},
486
- 'process.env.SD_VERSION': JSON.stringify(this.#pkgNpmConf.version),
497
+ ...(!this.#opt.dev ? { ngDevMode: "false" } : {}),
498
+ "process.env.SD_VERSION": JSON.stringify(this.#pkgNpmConf.version),
487
499
  "process.env.NODE_ENV": JSON.stringify(this.#opt.dev ? "development" : "production"),
488
- ...this.#opt.env ? Object.keys(this.#opt.env).toObject(key => `process.env.${key}`, key => JSON.stringify(this.#opt.env[key])) : {}
500
+ ...(this.#opt.env
501
+ ? Object.keys(this.#opt.env).toObject((key) => `process.env.${key}`, (key) => JSON.stringify(this.#opt.env[key]))
502
+ : {}),
489
503
  },
490
- platform: 'node',
504
+ platform: "node",
491
505
  entryPoints: {
492
506
  "electron-main": path.resolve(this.#opt.pkgPath, "src/electron-main.ts"),
493
- }
507
+ },
494
508
  });
495
509
  }
496
510
  #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 &&