@analogjs/vite-plugin-angular 2.0.0-alpha.2 → 2.0.0-alpha.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/vite-plugin-angular",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.4",
4
4
  "description": "Vite Plugin for Angular",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,4 +1,4 @@
1
- import { angularMajor, angularPatch } from './utils/devkit.js';
1
+ import { angularMajor, angularMinor, angularPatch } from './utils/devkit.js';
2
2
  /**
3
3
  * This plugin is a workaround for the ɵPendingTasks symbol being renamed
4
4
  * to ɵPendingTasksInternal in Angular v19.0.4. The symbol is renamed to support previous versions of
@@ -10,7 +10,7 @@ export function pendingTasksPlugin() {
10
10
  return {
11
11
  name: 'analogjs-pending-tasks-plugin',
12
12
  transform(code, id) {
13
- if (Number(`${angularMajor}.${angularPatch}`) < 19.4 &&
13
+ if (Number(`${angularMajor}${angularMinor}${angularPatch}`) < 1904 &&
14
14
  id.includes('analogjs-content.mjs')) {
15
15
  return {
16
16
  code: code.replace('ɵPendingTasksInternal', 'ɵPendingTasks'),
@@ -1 +1 @@
1
- {"version":3,"file":"angular-pending-tasks.plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-pending-tasks.plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,SAAS,CAAC,IAAI,EAAE,EAAE;YAChB,IACE,MAAM,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC,GAAG,IAAI;gBAChD,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EACnC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC;iBAC7D,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"angular-pending-tasks.plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-pending-tasks.plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,SAAS,CAAC,IAAI,EAAE,EAAE;YAChB,IACE,MAAM,CAAC,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC,GAAG,IAAI;gBAC9D,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EACnC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC;iBAC7D,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -30,17 +30,19 @@ export interface PluginOptions {
30
30
  include?: string[];
31
31
  additionalContentDirs?: string[];
32
32
  liveReload?: boolean;
33
+ disableTypeChecking?: boolean;
33
34
  }
34
35
  interface EmitFileResult {
35
36
  content?: string;
36
37
  map?: string;
37
38
  dependencies: readonly string[];
38
39
  hash?: Uint8Array;
39
- errors: (string | ts.DiagnosticMessageChain)[];
40
- warnings: (string | ts.DiagnosticMessageChain)[];
40
+ errors?: (string | ts.DiagnosticMessageChain)[];
41
+ warnings?: (string | ts.DiagnosticMessageChain)[];
41
42
  hmrUpdateCode?: string | null;
43
+ hmrEligible?: boolean;
42
44
  }
43
- type FileEmitter = (file: string) => Promise<EmitFileResult | undefined>;
45
+ type FileEmitter = (file: string, source?: ts.SourceFile) => Promise<EmitFileResult | undefined>;
44
46
  export declare function angular(options?: PluginOptions): Plugin[];
45
- export declare function createFileEmitter(program: ts.BuilderProgram, transformers?: ts.CustomTransformers, onAfterEmit?: (sourceFile: ts.SourceFile) => void, angularCompiler?: NgtscProgram['compiler'], liveReload?: boolean): FileEmitter;
47
+ export declare function createFileEmitter(program: ts.BuilderProgram, transformers?: ts.CustomTransformers, onAfterEmit?: (sourceFile: ts.SourceFile) => void, angularCompiler?: NgtscProgram['compiler'], liveReload?: boolean, disableTypeChecking?: boolean): FileEmitter;
46
48
  export {};
@@ -3,6 +3,7 @@ import * as compilerCli from '@angular/compiler-cli';
3
3
  import * as ts from 'typescript';
4
4
  import { createRequire } from 'node:module';
5
5
  import { normalizePath, preprocessCSS, } from 'vite';
6
+ import * as ngCompiler from '@angular/compiler';
6
7
  import { createCompilerPlugin } from './compiler-plugin.js';
7
8
  import { StyleUrlsResolver, TemplateUrlsResolver, } from './component-resolvers.js';
8
9
  import { augmentHostWithCaching, augmentHostWithResources, augmentProgramWithVersioning, mergeTransformers, } from './host.js';
@@ -16,6 +17,7 @@ import { getFrontmatterMetadata } from './authoring/frontmatter.js';
16
17
  import { defaultMarkdownTemplateTransforms, } from './authoring/markdown-transform.js';
17
18
  import { routerPlugin } from './router-plugin.js';
18
19
  import { pendingTasksPlugin } from './angular-pending-tasks.plugin.js';
20
+ import { analyzeFileUpdates } from './utils/hmr-candidates.js';
19
21
  /**
20
22
  * TypeScript file extension regex
21
23
  * Match .(c or m)ts, .ts extensions with an optional ? for query params
@@ -53,6 +55,7 @@ export function angular(options) {
53
55
  include: options?.include ?? [],
54
56
  additionalContentDirs: options?.additionalContentDirs ?? [],
55
57
  liveReload: options?.liveReload ?? false,
58
+ disableTypeChecking: options?.disableTypeChecking ?? true,
56
59
  };
57
60
  // The file emitter created during `onStart` that will be used during the build in `onLoad` callbacks for TS files
58
61
  let fileEmitter;
@@ -65,6 +68,8 @@ export function angular(options) {
65
68
  let builderProgram;
66
69
  let watchMode = false;
67
70
  let testWatchMode = false;
71
+ let inlineComponentStyles;
72
+ let externalComponentStyles;
68
73
  const sourceFileCache = new SourceFileCache();
69
74
  const isTest = process.env['NODE_ENV'] === 'test' || !!process.env['VITEST'];
70
75
  const isStackBlitz = !!process.versions['webcontainer'];
@@ -152,7 +157,7 @@ export function angular(options) {
152
157
  if (req.url === undefined || res.writableEnded) {
153
158
  return;
154
159
  }
155
- if (!req.url.startsWith(ANGULAR_COMPONENT_PREFIX)) {
160
+ if (!req.url.includes(ANGULAR_COMPONENT_PREFIX)) {
156
161
  next();
157
162
  return;
158
163
  }
@@ -164,7 +169,17 @@ export function angular(options) {
164
169
  return;
165
170
  }
166
171
  const [fileId] = decodeURIComponent(componentId).split('@');
167
- const result = await fileEmitter?.(resolve(process.cwd(), fileId));
172
+ const resolvedId = resolve(process.cwd(), fileId);
173
+ const invalidated = !!server.moduleGraph.getModuleById(resolvedId)
174
+ ?.lastInvalidationTimestamp && classNames.get(resolvedId);
175
+ // don't send an HMR update until the file has been invalidated
176
+ if (!invalidated) {
177
+ res.setHeader('Content-Type', 'text/javascript');
178
+ res.setHeader('Cache-Control', 'no-cache');
179
+ res.end('');
180
+ return;
181
+ }
182
+ const result = await fileEmitter?.(resolvedId);
168
183
  res.setHeader('Content-Type', 'text/javascript');
169
184
  res.setHeader('Cache-Control', 'no-cache');
170
185
  res.end(`${result?.hmrUpdateCode || ''}`);
@@ -189,14 +204,26 @@ export function angular(options) {
189
204
  return;
190
205
  }
191
206
  if (TS_EXT_REGEX.test(ctx.file)) {
192
- const fileId = ctx.file.split('?')[0] +
193
- (pluginOptions.supportAnalogFormat ? '.ts' : '');
207
+ let [fileId] = ctx.file.split('?');
208
+ if (pluginOptions.supportAnalogFormat &&
209
+ ['ag', 'analog', 'agx'].some((ext) => fileId.endsWith(ext))) {
210
+ fileId += '.ts';
211
+ }
212
+ const stale = sourceFileCache.get(fileId);
194
213
  sourceFileCache.invalidate([fileId]);
195
214
  await buildAndAnalyze();
196
- if (pluginOptions.liveReload && classNames.get(fileId)) {
215
+ const result = await fileEmitter?.(fileId, stale);
216
+ if (pluginOptions.liveReload &&
217
+ !!result?.hmrEligible &&
218
+ classNames.get(fileId)) {
197
219
  const relativeFileId = `${relative(process.cwd(), fileId)}@${classNames.get(fileId)}`;
198
220
  sendHMRComponentUpdate(ctx.server, relativeFileId);
199
- return [];
221
+ return ctx.modules.map((mod) => {
222
+ if (mod.id === ctx.file) {
223
+ return markModuleSelfAccepting(mod);
224
+ }
225
+ return mod;
226
+ });
200
227
  }
201
228
  }
202
229
  if (/\.(html|htm|css|less|sass|scss)$/.test(ctx.file)) {
@@ -206,6 +233,40 @@ export function angular(options) {
206
233
  */
207
234
  const isDirect = ctx.modules.find((mod) => ctx.file === mod.file && mod.id?.includes('?direct'));
208
235
  if (isDirect) {
236
+ if (pluginOptions.liveReload && isDirect?.id && isDirect.file) {
237
+ const isComponentStyle = isDirect.type === 'css' && isComponentStyleSheet(isDirect.id);
238
+ if (isComponentStyle) {
239
+ const { encapsulation } = getComponentStyleSheetMeta(isDirect.id);
240
+ // Track if the component uses ShadowDOM encapsulation
241
+ // Shadow DOM components currently require a full reload.
242
+ // Vite's CSS hot replacement does not support shadow root searching.
243
+ if (encapsulation !== 'shadow') {
244
+ ctx.server.ws.send({
245
+ type: 'update',
246
+ updates: [
247
+ {
248
+ type: 'css-update',
249
+ timestamp: Date.now(),
250
+ path: isDirect.url,
251
+ acceptedPath: isDirect.file,
252
+ },
253
+ ],
254
+ });
255
+ return ctx.modules
256
+ .filter((mod) => {
257
+ // Component stylesheets will have 2 modules (*.component.scss and *.component.scss?direct&ngcomp=xyz&e=x)
258
+ // We remove the module with the query params to prevent vite double logging the stylesheet name "hmr update *.component.scss, *.component.scss?direct&ngcomp=xyz&e=x"
259
+ return mod.file !== ctx.file || mod.id !== isDirect.id;
260
+ })
261
+ .map((mod) => {
262
+ if (mod.file === ctx.file) {
263
+ return markModuleSelfAccepting(mod);
264
+ }
265
+ return mod;
266
+ });
267
+ }
268
+ }
269
+ }
209
270
  return ctx.modules;
210
271
  }
211
272
  const mods = [];
@@ -228,10 +289,17 @@ export function angular(options) {
228
289
  const impRelativeFileId = `${relative(process.cwd(), updateId)}@${classNames.get(updateId)}`;
229
290
  sendHMRComponentUpdate(ctx.server, impRelativeFileId);
230
291
  });
231
- return ctx.modules;
292
+ return ctx.modules.map((mod) => {
293
+ if (mod.id === ctx.file) {
294
+ return markModuleSelfAccepting(mod);
295
+ }
296
+ return mod;
297
+ });
232
298
  }
233
299
  return mods;
234
300
  }
301
+ // clear HMR updates with a full reload
302
+ classNames.clear();
235
303
  return ctx.modules;
236
304
  },
237
305
  resolveId(id, importer) {
@@ -239,12 +307,26 @@ export function angular(options) {
239
307
  const path = id.split(';')[1];
240
308
  return `${normalizePath(resolve(dirname(importer), path))}?raw`;
241
309
  }
310
+ // Map angular external styleUrls to the source file
311
+ if (isComponentStyleSheet(id)) {
312
+ const componentStyles = externalComponentStyles?.get(getFilenameFromPath(id));
313
+ if (componentStyles) {
314
+ return componentStyles + new URL(id, 'http://localhost').search;
315
+ }
316
+ }
242
317
  return undefined;
243
318
  },
244
319
  async load(id, options) {
320
+ // Map angular inline styles to the source text
321
+ if (isComponentStyleSheet(id)) {
322
+ const componentStyles = inlineComponentStyles?.get(getFilenameFromPath(id));
323
+ if (componentStyles) {
324
+ return componentStyles;
325
+ }
326
+ }
245
327
  if (pluginOptions.liveReload &&
246
328
  options?.ssr &&
247
- id.startsWith(ANGULAR_COMPONENT_PREFIX)) {
329
+ id.includes(ANGULAR_COMPONENT_PREFIX)) {
248
330
  const requestUrl = new URL(id.slice(1), 'http://localhost');
249
331
  const componentId = requestUrl.searchParams.get('c');
250
332
  if (!componentId) {
@@ -284,6 +366,19 @@ export function angular(options) {
284
366
  if (id.includes('analog-content-')) {
285
367
  return;
286
368
  }
369
+ /**
370
+ * Encapsulate component stylesheets that use emulated encapsulation
371
+ */
372
+ if (pluginOptions.liveReload && isComponentStyleSheet(id)) {
373
+ const { encapsulation, componentId } = getComponentStyleSheetMeta(id);
374
+ if (encapsulation === 'emulated' && componentId) {
375
+ const encapsulated = ngCompiler.encapsulateStyle(code, componentId);
376
+ return {
377
+ code: encapsulated,
378
+ map: null,
379
+ };
380
+ }
381
+ }
287
382
  if (TS_EXT_REGEX.test(id)) {
288
383
  if (id.includes('.ts?')) {
289
384
  // Strip the query string off the ID
@@ -297,8 +392,9 @@ export function angular(options) {
297
392
  if (isTest) {
298
393
  const tsMod = viteServer?.moduleGraph.getModuleById(id);
299
394
  if (tsMod) {
300
- sourceFileCache.invalidate([id]);
301
- if (testWatchMode) {
395
+ const invalidated = tsMod.lastInvalidationTimestamp;
396
+ if (testWatchMode && invalidated) {
397
+ sourceFileCache.invalidate([id]);
302
398
  await buildAndAnalyze();
303
399
  }
304
400
  }
@@ -441,19 +537,31 @@ export function angular(options) {
441
537
  // AOT and virtually compiled .analog files.
442
538
  tsCompilerOptions.compilationMode = 'experimental-local';
443
539
  }
444
- if (pluginOptions.liveReload) {
540
+ if (pluginOptions.liveReload && watchMode) {
445
541
  tsCompilerOptions['_enableHmr'] = true;
542
+ tsCompilerOptions['externalRuntimeStyles'] = true;
543
+ // Workaround for https://github.com/angular/angular/issues/59310
544
+ // Force extra instructions to be generated for HMR w/defer
545
+ tsCompilerOptions['supportTestBed'] = true;
446
546
  }
447
547
  rootNames = rn.concat(analogFiles, includeFiles);
448
548
  compilerOptions = tsCompilerOptions;
449
549
  host = ts.createIncrementalCompilerHost(compilerOptions);
450
550
  styleTransform = (code, filename) => preprocessCSS(code, filename, config);
451
551
  if (!jit) {
552
+ inlineComponentStyles = tsCompilerOptions['externalRuntimeStyles']
553
+ ? new Map()
554
+ : undefined;
555
+ externalComponentStyles = tsCompilerOptions['externalRuntimeStyles']
556
+ ? new Map()
557
+ : undefined;
452
558
  augmentHostWithResources(host, styleTransform, {
453
559
  inlineStylesExtension: pluginOptions.inlineStylesExtension,
454
560
  supportAnalogFormat: pluginOptions.supportAnalogFormat,
455
561
  isProd,
456
562
  markdownTemplateTransforms: pluginOptions.markdownTemplateTransforms,
563
+ inlineComponentStyles,
564
+ externalComponentStyles,
457
565
  });
458
566
  }
459
567
  }
@@ -501,7 +609,7 @@ export function angular(options) {
501
609
  ],
502
610
  after: pluginOptions.advanced.tsTransformers.after,
503
611
  afterDeclarations: pluginOptions.advanced.tsTransformers.afterDeclarations,
504
- }, jit ? {} : angularCompiler.prepareEmit().transformers), () => [], angularCompiler, pluginOptions.liveReload);
612
+ }, jit ? {} : angularCompiler.prepareEmit().transformers), () => [], angularCompiler, pluginOptions.liveReload, pluginOptions.disableTypeChecking);
505
613
  }
506
614
  }
507
615
  function sendHMRComponentUpdate(server, id) {
@@ -511,18 +619,22 @@ function sendHMRComponentUpdate(server, id) {
511
619
  });
512
620
  classNames.delete(id);
513
621
  }
514
- export function createFileEmitter(program, transformers = {}, onAfterEmit, angularCompiler, liveReload) {
515
- return async (file) => {
622
+ export function createFileEmitter(program, transformers = {}, onAfterEmit, angularCompiler, liveReload, disableTypeChecking) {
623
+ return async (file, stale) => {
516
624
  const sourceFile = program.getSourceFile(file);
517
625
  if (!sourceFile) {
518
626
  return undefined;
519
627
  }
520
- const diagnostics = angularCompiler
521
- ? angularCompiler.getDiagnosticsForFile(sourceFile, 1)
522
- : [];
628
+ if (stale) {
629
+ const hmrEligible = !!analyzeFileUpdates(stale, sourceFile, angularCompiler);
630
+ return { dependencies: [], hmrEligible };
631
+ }
632
+ const diagnostics = getDiagnosticsForSourceFile(sourceFile, !!disableTypeChecking, program, angularCompiler);
523
633
  const errors = diagnostics
524
634
  .filter((d) => d.category === ts.DiagnosticCategory?.Error)
525
- .map((d) => d.messageText);
635
+ .map((d) => typeof d.messageText === 'object'
636
+ ? d.messageText.messageText
637
+ : d.messageText);
526
638
  const warnings = diagnostics
527
639
  .filter((d) => d.category === ts.DiagnosticCategory?.Warning)
528
640
  .map((d) => d.messageText);
@@ -531,7 +643,7 @@ export function createFileEmitter(program, transformers = {}, onAfterEmit, angul
531
643
  for (const node of sourceFile.statements) {
532
644
  if (ts.isClassDeclaration(node) && node.name != null) {
533
645
  hmrUpdateCode = angularCompiler?.emitHmrUpdateModule(node);
534
- classNames.set(file, node.name.getText());
646
+ !!hmrUpdateCode && classNames.set(file, node.name.getText());
535
647
  }
536
648
  }
537
649
  }
@@ -545,4 +657,54 @@ export function createFileEmitter(program, transformers = {}, onAfterEmit, angul
545
657
  return { content, dependencies: [], errors, warnings, hmrUpdateCode };
546
658
  };
547
659
  }
660
+ function getDiagnosticsForSourceFile(sourceFile, disableTypeChecking, program, angularCompiler) {
661
+ const syntacticDiagnostics = program.getSyntacticDiagnostics(sourceFile);
662
+ if (disableTypeChecking) {
663
+ // Syntax errors are cheap to compute and the app will not run if there are any
664
+ // So always show these types of errors regardless if type checking is disabled
665
+ return syntacticDiagnostics;
666
+ }
667
+ const semanticDiagnostics = program.getSemanticDiagnostics(sourceFile);
668
+ const angularDiagnostics = angularCompiler
669
+ ? angularCompiler.getDiagnosticsForFile(sourceFile, 1)
670
+ : [];
671
+ return [
672
+ ...syntacticDiagnostics,
673
+ ...semanticDiagnostics,
674
+ ...angularDiagnostics,
675
+ ];
676
+ }
677
+ function markModuleSelfAccepting(mod) {
678
+ // support Vite 6
679
+ if ('_clientModule' in mod) {
680
+ mod['_clientModule'].isSelfAccepting = true;
681
+ }
682
+ return {
683
+ ...mod,
684
+ isSelfAccepting: true,
685
+ };
686
+ }
687
+ function isComponentStyleSheet(id) {
688
+ return id.includes('ngcomp=');
689
+ }
690
+ function getComponentStyleSheetMeta(id) {
691
+ const params = new URL(id, 'http://localhost').searchParams;
692
+ const encapsulationMapping = {
693
+ '0': 'emulated',
694
+ '2': 'none',
695
+ '3': 'shadow',
696
+ };
697
+ return {
698
+ componentId: params.get('ngcomp'),
699
+ encapsulation: encapsulationMapping[params.get('e')],
700
+ };
701
+ }
702
+ /**
703
+ * Removes leading / and query string from a url path
704
+ * e.g. /foo.scss?direct&ngcomp=ng-c3153525609&e=0 returns foo.scss
705
+ * @param id
706
+ */
707
+ function getFilenameFromPath(id) {
708
+ return new URL(id, 'http://localhost').pathname.replace(/^\//, '');
709
+ }
548
710
  //# sourceMappingURL=angular-vite-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts"],"names":[],"mappings":"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"}
@@ -17,15 +17,10 @@ export function angularVitestPlugin() {
17
17
  exclude: ['@angular/cdk/testing'],
18
18
  },
19
19
  ssr: {
20
- noExternal: [/cdk\/fesm2022/],
20
+ noExternal: [/cdk\/fesm2022/, /fesm2022(.*?)testing/, /fesm2015/],
21
21
  },
22
22
  test: {
23
23
  pool: userConfig.test?.pool ?? 'vmThreads',
24
- server: {
25
- deps: {
26
- inline: [/fesm2022(.*?)testing/],
27
- },
28
- },
29
24
  },
30
25
  };
31
26
  },
@@ -1 +1 @@
1
- {"version":3,"file":"angular-vitest-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vitest-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,oBAAoB,EAAc,MAAM,MAAM,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,IAAI,EAAE,qCAAqC;QAC3C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,MAAM;QACf,MAAM,CAAC,UAAU;YACf,OAAO;gBACL,YAAY,EAAE;oBACZ,OAAO,EAAE,CAAC,OAAO,EAAE,8BAA8B,CAAC;oBAClD,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC;gBACD,GAAG,EAAE;oBACH,UAAU,EAAE,CAAC,eAAe,CAAC;iBAC9B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAG,UAAkB,CAAC,IAAI,EAAE,IAAI,IAAI,WAAW;oBACnD,MAAM,EAAE;wBACN,IAAI,EAAE;4BACJ,MAAM,EAAE,CAAC,sBAAsB,CAAC;yBACjC;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE;YACvB,IACE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC9B,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE;oBAC1D,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,EAAE;iBACf,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI;oBACJ,GAAG;iBACJ,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE,KAAK;QACd,MAAM,CAAC,UAAsB;YAC3B,OAAO;gBACL,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,KAAK;aACrC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,IAAI,EAAE,2CAA2C;QACjD,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,EAAU;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE;gBAClD,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,mBAAmB,EAAE;QACrB,0BAA0B,EAAE;QAC5B,4BAA4B,EAAE;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"angular-vitest-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-vitest-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,oBAAoB,EAAc,MAAM,MAAM,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,IAAI,EAAE,qCAAqC;QAC3C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,MAAM;QACf,MAAM,CAAC,UAAU;YACf,OAAO;gBACL,YAAY,EAAE;oBACZ,OAAO,EAAE,CAAC,OAAO,EAAE,8BAA8B,CAAC;oBAClD,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC;gBACD,GAAG,EAAE;oBACH,UAAU,EAAE,CAAC,eAAe,EAAE,sBAAsB,EAAE,UAAU,CAAC;iBAClE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAG,UAAkB,CAAC,IAAI,EAAE,IAAI,IAAI,WAAW;iBACpD;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE;YACvB,IACE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjD,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC9B,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE;oBAC1D,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,IAAI;oBACf,UAAU,EAAE,EAAE;iBACf,CAAC,CAAC;gBAEH,OAAO;oBACL,IAAI;oBACJ,GAAG;iBACJ,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE,KAAK;QACd,MAAM,CAAC,UAAsB;YAC3B,OAAO;gBACL,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,KAAK;aACrC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,IAAI,EAAE,2CAA2C;QACjD,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,EAAU;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE;gBAClD,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,mBAAmB,EAAE;QACrB,0BAA0B,EAAE;QAC5B,4BAA4B,EAAE;KAC/B,CAAC;AACJ,CAAC"}
package/src/lib/host.d.ts CHANGED
@@ -2,13 +2,15 @@ import * as ts from 'typescript';
2
2
  import { MarkdownTemplateTransform } from './authoring/markdown-transform.js';
3
3
  export declare function augmentHostWithResources(host: ts.CompilerHost, transform: (code: string, id: string, options?: {
4
4
  ssr?: boolean;
5
- }) => ReturnType<any> | null, options?: {
6
- inlineStylesExtension?: string;
5
+ }) => ReturnType<any> | null, options: {
6
+ inlineStylesExtension: string;
7
7
  supportAnalogFormat?: boolean | {
8
8
  include: string[];
9
9
  };
10
10
  isProd?: boolean;
11
11
  markdownTemplateTransforms?: MarkdownTemplateTransform[];
12
+ inlineComponentStyles?: Map<string, string>;
13
+ externalComponentStyles?: Map<string, string>;
12
14
  }): void;
13
15
  export declare function augmentProgramWithVersioning(program: ts.Program): void;
14
16
  export declare function augmentHostWithCaching(host: ts.CompilerHost, cache: Map<string, ts.SourceFile>): void;
package/src/lib/host.js CHANGED
@@ -4,8 +4,9 @@ import { compileAnalogFile } from './authoring/analog.js';
4
4
  import { FRONTMATTER_REGEX, TEMPLATE_TAG_REGEX, } from './authoring/constants.js';
5
5
  import { createRequire } from 'node:module';
6
6
  import { createHash } from 'node:crypto';
7
+ import path from 'node:path';
7
8
  const require = createRequire(import.meta.url);
8
- export function augmentHostWithResources(host, transform, options = {}) {
9
+ export function augmentHostWithResources(host, transform, options) {
9
10
  const ts = require('typescript');
10
11
  const resourceHost = host;
11
12
  const baseGetSourceFile = resourceHost.getSourceFile.bind(resourceHost);
@@ -70,29 +71,54 @@ export function augmentHostWithResources(host, transform, options = {}) {
70
71
  if (context.type !== 'style') {
71
72
  return null;
72
73
  }
73
- if (options.inlineStylesExtension) {
74
- // Resource file only exists for external stylesheets
75
- const filename = context.resourceFile ??
76
- `${context.containingFile.replace(/(\.analog|\.ag)?\.ts$/, (...args) => {
77
- // NOTE: if the original file name contains `.analog`, we turn that into `-analog.css`
78
- if (args.includes('.analog') ||
79
- args.includes('.ag') ||
80
- args.includes('.agx')) {
81
- return `-analog.${options?.inlineStylesExtension}`;
82
- }
83
- return `.${options?.inlineStylesExtension}`;
84
- })}`;
85
- let stylesheetResult;
86
- try {
87
- stylesheetResult = await transform(data, `${filename}?direct`);
88
- }
89
- catch (e) {
90
- console.error(`${e}`);
91
- }
92
- return { content: stylesheetResult?.code || '' };
74
+ if (options.inlineComponentStyles) {
75
+ const id = createHash('sha256')
76
+ .update(context.containingFile)
77
+ .update(context.className)
78
+ .update(String(context.order))
79
+ .update(data)
80
+ .digest('hex');
81
+ const filename = id + '.' + options.inlineStylesExtension;
82
+ options.inlineComponentStyles.set(filename, data);
83
+ return { content: filename };
84
+ }
85
+ // Resource file only exists for external stylesheets
86
+ const filename = context.resourceFile ??
87
+ `${context.containingFile.replace(/(\.analog|\.ag)?\.ts$/, (...args) => {
88
+ // NOTE: if the original file name contains `.analog`, we turn that into `-analog.css`
89
+ if (args.includes('.analog') ||
90
+ args.includes('.ag') ||
91
+ args.includes('.agx')) {
92
+ return `-analog.${options?.inlineStylesExtension}`;
93
+ }
94
+ return `.${options?.inlineStylesExtension}`;
95
+ })}`;
96
+ let stylesheetResult;
97
+ try {
98
+ stylesheetResult = await transform(data, `${filename}?direct`);
99
+ }
100
+ catch (e) {
101
+ console.error(`${e}`);
93
102
  }
103
+ return { content: stylesheetResult?.code || '' };
94
104
  return null;
95
105
  };
106
+ resourceHost.resourceNameToFileName = function (resourceName, containingFile) {
107
+ const resolvedPath = path.join(path.dirname(containingFile), resourceName);
108
+ // All resource names that have template file extensions are assumed to be templates
109
+ if (!options.externalComponentStyles ||
110
+ hasTemplateExtension(resolvedPath)) {
111
+ return resolvedPath;
112
+ }
113
+ // For external stylesheets, create a unique identifier and store the mapping
114
+ let externalId = options.externalComponentStyles.get(resolvedPath);
115
+ if (externalId === undefined) {
116
+ externalId = createHash('sha256').update(resolvedPath).digest('hex');
117
+ }
118
+ const filename = externalId + path.extname(resolvedPath);
119
+ options.externalComponentStyles.set(filename, resolvedPath);
120
+ return filename;
121
+ };
96
122
  }
97
123
  export function augmentProgramWithVersioning(program) {
98
124
  const baseGetSourceFiles = program.getSourceFiles;
@@ -135,4 +161,14 @@ export function mergeTransformers(first, second) {
135
161
  }
136
162
  return result;
137
163
  }
164
+ function hasTemplateExtension(file) {
165
+ const extension = path.extname(file).toLowerCase();
166
+ switch (extension) {
167
+ case '.htm':
168
+ case '.html':
169
+ case '.svg':
170
+ return true;
171
+ }
172
+ return false;
173
+ }
138
174
  //# sourceMappingURL=host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type ng from '@angular/compiler-cli';
9
+ import ts from 'typescript';
10
+ /**
11
+ * Analyzes one or more modified files for changes to determine if any
12
+ * class declarations for Angular components are candidates for hot
13
+ * module replacement (HMR). If any source files are also modified but
14
+ * are not candidates then all candidates become invalid. This invalidation
15
+ * ensures that a full rebuild occurs and the running application stays
16
+ * synchronized with the code.
17
+ * @param modifiedFiles A set of modified files to analyze.
18
+ * @param param1 An Angular compiler instance
19
+ * @param staleSourceFiles A map of paths to previous source file instances.
20
+ * @returns A set of HMR candidate component class declarations.
21
+ */
22
+ export declare function collectHmrCandidates(modifiedFiles: Set<string>, { compiler }: ng.NgtscProgram, staleSourceFiles: Map<string, ts.SourceFile> | undefined): Set<ts.ClassDeclaration>;
23
+ /**
24
+ * Analyzes the updates of a source file for potential HMR component class candidates.
25
+ * A source file can contain candidates if only the Angular component metadata of a class
26
+ * has been changed and the metadata changes are only of supported fields.
27
+ * @param stale The stale (previous) source file instance.
28
+ * @param updated The updated source file instance.
29
+ * @param compiler An Angular compiler instance.
30
+ * @returns An array of candidate class declarations; or `null` if unsupported changes are present.
31
+ */
32
+ export declare function analyzeFileUpdates(stale: ts.SourceFile, updated: ts.SourceFile, compiler: ng.NgtscProgram['compiler']): ts.ClassDeclaration[] | null;
@@ -0,0 +1,244 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import assert from 'node:assert';
9
+ import ts from 'typescript';
10
+ /**
11
+ * Analyzes one or more modified files for changes to determine if any
12
+ * class declarations for Angular components are candidates for hot
13
+ * module replacement (HMR). If any source files are also modified but
14
+ * are not candidates then all candidates become invalid. This invalidation
15
+ * ensures that a full rebuild occurs and the running application stays
16
+ * synchronized with the code.
17
+ * @param modifiedFiles A set of modified files to analyze.
18
+ * @param param1 An Angular compiler instance
19
+ * @param staleSourceFiles A map of paths to previous source file instances.
20
+ * @returns A set of HMR candidate component class declarations.
21
+ */
22
+ export function collectHmrCandidates(modifiedFiles, { compiler }, staleSourceFiles) {
23
+ const candidates = new Set();
24
+ for (const file of modifiedFiles) {
25
+ // If the file is a template for component(s), add component classes as candidates
26
+ const templateFileNodes = compiler.getComponentsWithTemplateFile(file);
27
+ if (templateFileNodes.size) {
28
+ templateFileNodes.forEach((node) => candidates.add(node));
29
+ continue;
30
+ }
31
+ // If the file is a style for component(s), add component classes as candidates
32
+ const styleFileNodes = compiler.getComponentsWithStyleFile(file);
33
+ if (styleFileNodes.size) {
34
+ styleFileNodes.forEach((node) => candidates.add(node));
35
+ continue;
36
+ }
37
+ const staleSource = staleSourceFiles?.get(file);
38
+ if (staleSource === undefined) {
39
+ // Unknown file requires a rebuild so clear out the candidates and stop collecting
40
+ candidates.clear();
41
+ break;
42
+ }
43
+ const updatedSource = compiler.getCurrentProgram().getSourceFile(file);
44
+ if (updatedSource === undefined) {
45
+ // No longer existing program file requires a rebuild so clear out the candidates and stop collecting
46
+ candidates.clear();
47
+ break;
48
+ }
49
+ // Analyze the stale and updated file for changes
50
+ const fileCandidates = analyzeFileUpdates(staleSource, updatedSource, compiler);
51
+ if (fileCandidates) {
52
+ fileCandidates.forEach((node) => candidates.add(node));
53
+ }
54
+ else {
55
+ // Unsupported HMR changes present
56
+ // Only template and style literal changes are allowed.
57
+ candidates.clear();
58
+ break;
59
+ }
60
+ }
61
+ return candidates;
62
+ }
63
+ /**
64
+ * Analyzes the updates of a source file for potential HMR component class candidates.
65
+ * A source file can contain candidates if only the Angular component metadata of a class
66
+ * has been changed and the metadata changes are only of supported fields.
67
+ * @param stale The stale (previous) source file instance.
68
+ * @param updated The updated source file instance.
69
+ * @param compiler An Angular compiler instance.
70
+ * @returns An array of candidate class declarations; or `null` if unsupported changes are present.
71
+ */
72
+ export function analyzeFileUpdates(stale, updated, compiler) {
73
+ if (stale.statements.length !== updated.statements.length) {
74
+ return null;
75
+ }
76
+ const candidates = [];
77
+ for (let i = 0; i < updated.statements.length; ++i) {
78
+ const updatedNode = updated.statements[i];
79
+ const staleNode = stale.statements[i];
80
+ if (ts.isClassDeclaration(updatedNode)) {
81
+ if (!ts.isClassDeclaration(staleNode)) {
82
+ return null;
83
+ }
84
+ // Check class declaration differences (name/heritage/modifiers)
85
+ if (updatedNode.name?.text !== staleNode.name?.text) {
86
+ return null;
87
+ }
88
+ if (!equalRangeText(updatedNode.heritageClauses, updated, staleNode.heritageClauses, stale)) {
89
+ return null;
90
+ }
91
+ const updatedModifiers = ts.getModifiers(updatedNode);
92
+ const staleModifiers = ts.getModifiers(staleNode);
93
+ if (updatedModifiers?.length !== staleModifiers?.length ||
94
+ !updatedModifiers?.every((updatedModifier) => staleModifiers?.some((staleModifier) => updatedModifier.kind === staleModifier.kind))) {
95
+ return null;
96
+ }
97
+ // Check for component class nodes
98
+ const meta = compiler.getMeta(updatedNode);
99
+ if (meta?.decorator &&
100
+ meta.isComponent === true) {
101
+ const updatedDecorators = ts.getDecorators(updatedNode);
102
+ const staleDecorators = ts.getDecorators(staleNode);
103
+ if (!staleDecorators ||
104
+ staleDecorators.length !== updatedDecorators?.length) {
105
+ return null;
106
+ }
107
+ // TODO: Check other decorators instead of assuming all multi-decorator components are unsupported
108
+ if (staleDecorators.length > 1) {
109
+ return null;
110
+ }
111
+ // Find index of component metadata decorator
112
+ const metaDecoratorIndex = updatedDecorators?.indexOf(meta.decorator);
113
+ assert(metaDecoratorIndex !== undefined, 'Component metadata decorator should always be present on component class.');
114
+ const updatedDecoratorExpression = meta.decorator.expression;
115
+ assert(ts.isCallExpression(updatedDecoratorExpression) &&
116
+ updatedDecoratorExpression.arguments.length === 1, 'Component metadata decorator should contain a call expression with a single argument.');
117
+ // Check the matching stale index for the component decorator
118
+ const staleDecoratorExpression = staleDecorators[metaDecoratorIndex]?.expression;
119
+ if (!staleDecoratorExpression ||
120
+ !ts.isCallExpression(staleDecoratorExpression) ||
121
+ staleDecoratorExpression.arguments.length !== 1) {
122
+ return null;
123
+ }
124
+ // Check decorator name/expression
125
+ // NOTE: This would typically be `Component` but can also be a property expression or some other alias.
126
+ // To avoid complex checks, this ensures the textual representation does not change. This has a low chance
127
+ // of a false positive if the expression is changed to still reference the `Component` type but has different
128
+ // text. However, it is rare for `Component` to not be used directly and additionally unlikely that it would
129
+ // be changed between edits. A false positive would also only lead to a difference of a full page reload versus
130
+ // an HMR update.
131
+ if (!equalRangeText(updatedDecoratorExpression.expression, updated, staleDecoratorExpression.expression, stale)) {
132
+ return null;
133
+ }
134
+ // Compare component meta decorator object literals
135
+ if (hasUnsupportedMetaUpdates(staleDecoratorExpression, stale, updatedDecoratorExpression, updated)) {
136
+ return null;
137
+ }
138
+ // Compare text of the member nodes to determine if any changes have occurred
139
+ if (!equalRangeText(updatedNode.members, updated, staleNode.members, stale)) {
140
+ // A change to a member outside a component's metadata is unsupported
141
+ return null;
142
+ }
143
+ // If all previous class checks passed, this class is supported for HMR updates
144
+ candidates.push(updatedNode);
145
+ continue;
146
+ }
147
+ }
148
+ // Compare text of the statement nodes to determine if any changes have occurred
149
+ // TODO: Consider expanding this to check semantic updates for each node kind
150
+ if (!equalRangeText(updatedNode, updated, staleNode, stale)) {
151
+ // A change to a statement outside a component's metadata is unsupported
152
+ return null;
153
+ }
154
+ }
155
+ return candidates;
156
+ }
157
+ /**
158
+ * The set of Angular component metadata fields that are supported by HMR updates.
159
+ */
160
+ const SUPPORTED_FIELDS = new Set([
161
+ 'template',
162
+ 'templateUrl',
163
+ 'styles',
164
+ 'styleUrl',
165
+ 'stylesUrl',
166
+ ]);
167
+ /**
168
+ * Analyzes the metadata fields of a decorator call expression for unsupported HMR updates.
169
+ * Only updates to supported fields can be present for HMR to be viable.
170
+ * @param staleCall A call expression instance.
171
+ * @param staleSource The source file instance containing the stale call instance.
172
+ * @param updatedCall A call expression instance.
173
+ * @param updatedSource The source file instance containing the updated call instance.
174
+ * @returns true, if unsupported metadata updates are present; false, otherwise.
175
+ */
176
+ function hasUnsupportedMetaUpdates(staleCall, staleSource, updatedCall, updatedSource) {
177
+ const staleObject = staleCall.arguments[0];
178
+ const updatedObject = updatedCall.arguments[0];
179
+ if (!ts.isObjectLiteralExpression(staleObject) ||
180
+ !ts.isObjectLiteralExpression(updatedObject)) {
181
+ return true;
182
+ }
183
+ const unsupportedFields = [];
184
+ for (const property of staleObject.properties) {
185
+ if (!ts.isPropertyAssignment(property) ||
186
+ ts.isComputedPropertyName(property.name)) {
187
+ // Unsupported object literal property
188
+ return true;
189
+ }
190
+ const name = property.name.text;
191
+ if (SUPPORTED_FIELDS.has(name)) {
192
+ continue;
193
+ }
194
+ unsupportedFields.push(property.initializer);
195
+ }
196
+ let i = 0;
197
+ for (const property of updatedObject.properties) {
198
+ if (!ts.isPropertyAssignment(property) ||
199
+ ts.isComputedPropertyName(property.name)) {
200
+ // Unsupported object literal property
201
+ return true;
202
+ }
203
+ const name = property.name.text;
204
+ if (SUPPORTED_FIELDS.has(name)) {
205
+ continue;
206
+ }
207
+ // Compare in order
208
+ if (!equalRangeText(property.initializer, updatedSource, unsupportedFields[i++], staleSource)) {
209
+ return true;
210
+ }
211
+ }
212
+ return i !== unsupportedFields.length;
213
+ }
214
+ /**
215
+ * Compares the text from a provided range in a source file to the text of a range in a second source file.
216
+ * The comparison avoids making any intermediate string copies.
217
+ * @param firstRange A text range within the first source file.
218
+ * @param firstSource A source file instance.
219
+ * @param secondRange A text range within the second source file.
220
+ * @param secondSource A source file instance.
221
+ * @returns true, if the text from both ranges is equal; false, otherwise.
222
+ */
223
+ function equalRangeText(firstRange, firstSource, secondRange, secondSource) {
224
+ // Check matching undefined values
225
+ if (!firstRange || !secondRange) {
226
+ return firstRange === secondRange;
227
+ }
228
+ // Ensure lengths are equal
229
+ const firstLength = firstRange.end - firstRange.pos;
230
+ const secondLength = secondRange.end - secondRange.pos;
231
+ if (firstLength !== secondLength) {
232
+ return false;
233
+ }
234
+ // Check each character
235
+ for (let i = 0; i < firstLength; ++i) {
236
+ const firstChar = firstSource.text.charCodeAt(i + firstRange.pos);
237
+ const secondChar = secondSource.text.charCodeAt(i + secondRange.pos);
238
+ if (firstChar !== secondChar) {
239
+ return false;
240
+ }
241
+ }
242
+ return true;
243
+ }
244
+ //# sourceMappingURL=hmr-candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr-candidates.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/utils/hmr-candidates.ts"],"names":[],"mappings":"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"}