@analogjs/vite-plugin-angular 2.0.0-alpha.2 → 2.0.0-alpha.3
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 +1 -1
- package/src/lib/angular-vite-plugin.d.ts +6 -4
- package/src/lib/angular-vite-plugin.js +153 -15
- package/src/lib/angular-vite-plugin.js.map +1 -1
- package/src/lib/angular-vitest-plugin.js +1 -6
- package/src/lib/angular-vitest-plugin.js.map +1 -1
- package/src/lib/host.d.ts +3 -2
- package/src/lib/host.js +31 -21
- package/src/lib/host.js.map +1 -1
- package/src/lib/utils/hmr-candidates.d.ts +32 -0
- package/src/lib/utils/hmr-candidates.js +244 -0
- package/src/lib/utils/hmr-candidates.js.map +1 -0
package/package.json
CHANGED
|
@@ -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
|
|
40
|
-
warnings
|
|
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 ?? false,
|
|
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,7 @@ export function angular(options) {
|
|
|
65
68
|
let builderProgram;
|
|
66
69
|
let watchMode = false;
|
|
67
70
|
let testWatchMode = false;
|
|
71
|
+
let inlineComponentStyles;
|
|
68
72
|
const sourceFileCache = new SourceFileCache();
|
|
69
73
|
const isTest = process.env['NODE_ENV'] === 'test' || !!process.env['VITEST'];
|
|
70
74
|
const isStackBlitz = !!process.versions['webcontainer'];
|
|
@@ -164,7 +168,17 @@ export function angular(options) {
|
|
|
164
168
|
return;
|
|
165
169
|
}
|
|
166
170
|
const [fileId] = decodeURIComponent(componentId).split('@');
|
|
167
|
-
const
|
|
171
|
+
const resolvedId = resolve(process.cwd(), fileId);
|
|
172
|
+
const invalidated = !!server.moduleGraph.getModuleById(resolvedId)
|
|
173
|
+
?.lastInvalidationTimestamp;
|
|
174
|
+
// don't send an HMR update until the file has been invalidated
|
|
175
|
+
if (!invalidated) {
|
|
176
|
+
res.setHeader('Content-Type', 'text/javascript');
|
|
177
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
178
|
+
res.end('');
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const result = await fileEmitter?.(resolvedId);
|
|
168
182
|
res.setHeader('Content-Type', 'text/javascript');
|
|
169
183
|
res.setHeader('Cache-Control', 'no-cache');
|
|
170
184
|
res.end(`${result?.hmrUpdateCode || ''}`);
|
|
@@ -189,14 +203,26 @@ export function angular(options) {
|
|
|
189
203
|
return;
|
|
190
204
|
}
|
|
191
205
|
if (TS_EXT_REGEX.test(ctx.file)) {
|
|
192
|
-
|
|
193
|
-
|
|
206
|
+
let [fileId] = ctx.file.split('?');
|
|
207
|
+
if (pluginOptions.supportAnalogFormat &&
|
|
208
|
+
['ag', 'analog', 'agx'].some((ext) => fileId.endsWith(ext))) {
|
|
209
|
+
fileId += '.ts';
|
|
210
|
+
}
|
|
211
|
+
const stale = sourceFileCache.get(fileId);
|
|
194
212
|
sourceFileCache.invalidate([fileId]);
|
|
195
213
|
await buildAndAnalyze();
|
|
196
|
-
|
|
214
|
+
const result = await fileEmitter?.(fileId, stale);
|
|
215
|
+
if (pluginOptions.liveReload &&
|
|
216
|
+
!!result?.hmrEligible &&
|
|
217
|
+
classNames.get(fileId)) {
|
|
197
218
|
const relativeFileId = `${relative(process.cwd(), fileId)}@${classNames.get(fileId)}`;
|
|
198
219
|
sendHMRComponentUpdate(ctx.server, relativeFileId);
|
|
199
|
-
return
|
|
220
|
+
return ctx.modules.map((mod) => {
|
|
221
|
+
if (mod.id === ctx.file) {
|
|
222
|
+
return markModuleSelfAccepting(mod);
|
|
223
|
+
}
|
|
224
|
+
return mod;
|
|
225
|
+
});
|
|
200
226
|
}
|
|
201
227
|
}
|
|
202
228
|
if (/\.(html|htm|css|less|sass|scss)$/.test(ctx.file)) {
|
|
@@ -206,6 +232,40 @@ export function angular(options) {
|
|
|
206
232
|
*/
|
|
207
233
|
const isDirect = ctx.modules.find((mod) => ctx.file === mod.file && mod.id?.includes('?direct'));
|
|
208
234
|
if (isDirect) {
|
|
235
|
+
if (pluginOptions.liveReload && isDirect?.id && isDirect.file) {
|
|
236
|
+
const isComponentStyle = isDirect.type === 'css' && isComponentStyleSheet(isDirect.id);
|
|
237
|
+
if (isComponentStyle) {
|
|
238
|
+
const { encapsulation } = getComponentStyleSheetMeta(isDirect.id);
|
|
239
|
+
// Track if the component uses ShadowDOM encapsulation
|
|
240
|
+
// Shadow DOM components currently require a full reload.
|
|
241
|
+
// Vite's CSS hot replacement does not support shadow root searching.
|
|
242
|
+
if (encapsulation !== 'shadow') {
|
|
243
|
+
ctx.server.ws.send({
|
|
244
|
+
type: 'update',
|
|
245
|
+
updates: [
|
|
246
|
+
{
|
|
247
|
+
type: 'css-update',
|
|
248
|
+
timestamp: Date.now(),
|
|
249
|
+
path: isDirect.id,
|
|
250
|
+
acceptedPath: isDirect.file,
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
});
|
|
254
|
+
return ctx.modules
|
|
255
|
+
.filter((mod) => {
|
|
256
|
+
// Component stylesheets will have 2 modules (*.component.scss and *.component.scss?direct&ngcomp=xyz&e=x)
|
|
257
|
+
// 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"
|
|
258
|
+
return mod.file !== ctx.file || mod.id !== isDirect.id;
|
|
259
|
+
})
|
|
260
|
+
.map((mod) => {
|
|
261
|
+
if (mod.file === ctx.file) {
|
|
262
|
+
return markModuleSelfAccepting(mod);
|
|
263
|
+
}
|
|
264
|
+
return mod;
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
209
269
|
return ctx.modules;
|
|
210
270
|
}
|
|
211
271
|
const mods = [];
|
|
@@ -228,7 +288,12 @@ export function angular(options) {
|
|
|
228
288
|
const impRelativeFileId = `${relative(process.cwd(), updateId)}@${classNames.get(updateId)}`;
|
|
229
289
|
sendHMRComponentUpdate(ctx.server, impRelativeFileId);
|
|
230
290
|
});
|
|
231
|
-
return ctx.modules
|
|
291
|
+
return ctx.modules.map((mod) => {
|
|
292
|
+
if (mod.id === ctx.file) {
|
|
293
|
+
return markModuleSelfAccepting(mod);
|
|
294
|
+
}
|
|
295
|
+
return mod;
|
|
296
|
+
});
|
|
232
297
|
}
|
|
233
298
|
return mods;
|
|
234
299
|
}
|
|
@@ -242,6 +307,13 @@ export function angular(options) {
|
|
|
242
307
|
return undefined;
|
|
243
308
|
},
|
|
244
309
|
async load(id, options) {
|
|
310
|
+
if (isComponentStyleSheet(id)) {
|
|
311
|
+
const filename = new URL(id, 'http://localhost').pathname.replace(/^\//, '');
|
|
312
|
+
const componentStyles = inlineComponentStyles?.get(filename);
|
|
313
|
+
if (componentStyles) {
|
|
314
|
+
return componentStyles;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
245
317
|
if (pluginOptions.liveReload &&
|
|
246
318
|
options?.ssr &&
|
|
247
319
|
id.startsWith(ANGULAR_COMPONENT_PREFIX)) {
|
|
@@ -284,6 +356,19 @@ export function angular(options) {
|
|
|
284
356
|
if (id.includes('analog-content-')) {
|
|
285
357
|
return;
|
|
286
358
|
}
|
|
359
|
+
/**
|
|
360
|
+
* Encapsulate component stylesheets that use emulated encapsulation
|
|
361
|
+
*/
|
|
362
|
+
if (pluginOptions.liveReload && isComponentStyleSheet(id)) {
|
|
363
|
+
const { encapsulation, componentId } = getComponentStyleSheetMeta(id);
|
|
364
|
+
if (encapsulation === 'emulated' && componentId) {
|
|
365
|
+
const encapsulated = ngCompiler.encapsulateStyle(code, componentId);
|
|
366
|
+
return {
|
|
367
|
+
code: encapsulated,
|
|
368
|
+
map: null,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
}
|
|
287
372
|
if (TS_EXT_REGEX.test(id)) {
|
|
288
373
|
if (id.includes('.ts?')) {
|
|
289
374
|
// Strip the query string off the ID
|
|
@@ -297,8 +382,9 @@ export function angular(options) {
|
|
|
297
382
|
if (isTest) {
|
|
298
383
|
const tsMod = viteServer?.moduleGraph.getModuleById(id);
|
|
299
384
|
if (tsMod) {
|
|
300
|
-
|
|
301
|
-
if (testWatchMode) {
|
|
385
|
+
const invalidated = tsMod.lastInvalidationTimestamp;
|
|
386
|
+
if (testWatchMode && invalidated) {
|
|
387
|
+
sourceFileCache.invalidate([id]);
|
|
302
388
|
await buildAndAnalyze();
|
|
303
389
|
}
|
|
304
390
|
}
|
|
@@ -441,19 +527,27 @@ export function angular(options) {
|
|
|
441
527
|
// AOT and virtually compiled .analog files.
|
|
442
528
|
tsCompilerOptions.compilationMode = 'experimental-local';
|
|
443
529
|
}
|
|
444
|
-
if (pluginOptions.liveReload) {
|
|
530
|
+
if (pluginOptions.liveReload && watchMode) {
|
|
445
531
|
tsCompilerOptions['_enableHmr'] = true;
|
|
532
|
+
tsCompilerOptions['externalRuntimeStyles'] = true;
|
|
533
|
+
// Workaround for https://github.com/angular/angular/issues/59310
|
|
534
|
+
// Force extra instructions to be generated for HMR w/defer
|
|
535
|
+
tsCompilerOptions['supportTestBed'] = true;
|
|
446
536
|
}
|
|
447
537
|
rootNames = rn.concat(analogFiles, includeFiles);
|
|
448
538
|
compilerOptions = tsCompilerOptions;
|
|
449
539
|
host = ts.createIncrementalCompilerHost(compilerOptions);
|
|
450
540
|
styleTransform = (code, filename) => preprocessCSS(code, filename, config);
|
|
451
541
|
if (!jit) {
|
|
542
|
+
inlineComponentStyles = tsCompilerOptions['externalRuntimeStyles']
|
|
543
|
+
? new Map()
|
|
544
|
+
: undefined;
|
|
452
545
|
augmentHostWithResources(host, styleTransform, {
|
|
453
546
|
inlineStylesExtension: pluginOptions.inlineStylesExtension,
|
|
454
547
|
supportAnalogFormat: pluginOptions.supportAnalogFormat,
|
|
455
548
|
isProd,
|
|
456
549
|
markdownTemplateTransforms: pluginOptions.markdownTemplateTransforms,
|
|
550
|
+
inlineComponentStyles,
|
|
457
551
|
});
|
|
458
552
|
}
|
|
459
553
|
}
|
|
@@ -501,7 +595,7 @@ export function angular(options) {
|
|
|
501
595
|
],
|
|
502
596
|
after: pluginOptions.advanced.tsTransformers.after,
|
|
503
597
|
afterDeclarations: pluginOptions.advanced.tsTransformers.afterDeclarations,
|
|
504
|
-
}, jit ? {} : angularCompiler.prepareEmit().transformers), () => [], angularCompiler, pluginOptions.liveReload);
|
|
598
|
+
}, jit ? {} : angularCompiler.prepareEmit().transformers), () => [], angularCompiler, pluginOptions.liveReload, pluginOptions.disableTypeChecking);
|
|
505
599
|
}
|
|
506
600
|
}
|
|
507
601
|
function sendHMRComponentUpdate(server, id) {
|
|
@@ -511,15 +605,17 @@ function sendHMRComponentUpdate(server, id) {
|
|
|
511
605
|
});
|
|
512
606
|
classNames.delete(id);
|
|
513
607
|
}
|
|
514
|
-
export function createFileEmitter(program, transformers = {}, onAfterEmit, angularCompiler, liveReload) {
|
|
515
|
-
return async (file) => {
|
|
608
|
+
export function createFileEmitter(program, transformers = {}, onAfterEmit, angularCompiler, liveReload, disableTypeChecking) {
|
|
609
|
+
return async (file, stale) => {
|
|
516
610
|
const sourceFile = program.getSourceFile(file);
|
|
517
611
|
if (!sourceFile) {
|
|
518
612
|
return undefined;
|
|
519
613
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
: [];
|
|
614
|
+
if (stale) {
|
|
615
|
+
const hmrEligible = !!analyzeFileUpdates(stale, sourceFile, angularCompiler);
|
|
616
|
+
return { dependencies: [], hmrEligible };
|
|
617
|
+
}
|
|
618
|
+
const diagnostics = getDiagnosticsForSourceFile(sourceFile, !!disableTypeChecking, program, angularCompiler);
|
|
523
619
|
const errors = diagnostics
|
|
524
620
|
.filter((d) => d.category === ts.DiagnosticCategory?.Error)
|
|
525
621
|
.map((d) => d.messageText);
|
|
@@ -545,4 +641,46 @@ export function createFileEmitter(program, transformers = {}, onAfterEmit, angul
|
|
|
545
641
|
return { content, dependencies: [], errors, warnings, hmrUpdateCode };
|
|
546
642
|
};
|
|
547
643
|
}
|
|
644
|
+
function getDiagnosticsForSourceFile(sourceFile, disableTypeChecking, program, angularCompiler) {
|
|
645
|
+
const syntacticDiagnostics = program.getSyntacticDiagnostics(sourceFile);
|
|
646
|
+
if (disableTypeChecking) {
|
|
647
|
+
// Syntax errors are cheap to compute and the app will not run if there are any
|
|
648
|
+
// So always show these types of errors regardless if type checking is disabled
|
|
649
|
+
return syntacticDiagnostics;
|
|
650
|
+
}
|
|
651
|
+
const semanticDiagnostics = program.getSemanticDiagnostics(sourceFile);
|
|
652
|
+
const angularDiagnostics = angularCompiler
|
|
653
|
+
? angularCompiler.getDiagnosticsForFile(sourceFile, 1)
|
|
654
|
+
: [];
|
|
655
|
+
return [
|
|
656
|
+
...syntacticDiagnostics,
|
|
657
|
+
...semanticDiagnostics,
|
|
658
|
+
...angularDiagnostics,
|
|
659
|
+
];
|
|
660
|
+
}
|
|
661
|
+
function markModuleSelfAccepting(mod) {
|
|
662
|
+
// support Vite 6
|
|
663
|
+
if ('_clientModule' in mod) {
|
|
664
|
+
mod['_clientModule'].isSelfAccepting = true;
|
|
665
|
+
}
|
|
666
|
+
return {
|
|
667
|
+
...mod,
|
|
668
|
+
isSelfAccepting: true,
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
function isComponentStyleSheet(id) {
|
|
672
|
+
return id.includes('ngcomp=');
|
|
673
|
+
}
|
|
674
|
+
function getComponentStyleSheetMeta(id) {
|
|
675
|
+
const params = new URL(id, 'http://localhost').searchParams;
|
|
676
|
+
const encapsulationMapping = {
|
|
677
|
+
'0': 'emulated',
|
|
678
|
+
'2': 'none',
|
|
679
|
+
'3': 'shadow',
|
|
680
|
+
};
|
|
681
|
+
return {
|
|
682
|
+
componentId: params.get('ngcomp'),
|
|
683
|
+
encapsulation: encapsulationMapping[params.get('e')],
|
|
684
|
+
};
|
|
685
|
+
}
|
|
548
686
|
//# 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;
|
|
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,14 @@ 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
|
|
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>;
|
|
12
13
|
}): void;
|
|
13
14
|
export declare function augmentProgramWithVersioning(program: ts.Program): void;
|
|
14
15
|
export declare function augmentHostWithCaching(host: ts.CompilerHost, cache: Map<string, ts.SourceFile>): void;
|
package/src/lib/host.js
CHANGED
|
@@ -5,10 +5,11 @@ 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
7
|
const require = createRequire(import.meta.url);
|
|
8
|
-
export function augmentHostWithResources(host, transform, options
|
|
8
|
+
export function augmentHostWithResources(host, transform, options) {
|
|
9
9
|
const ts = require('typescript');
|
|
10
10
|
const resourceHost = host;
|
|
11
11
|
const baseGetSourceFile = resourceHost.getSourceFile.bind(resourceHost);
|
|
12
|
+
const externalStylesheets = new Map();
|
|
12
13
|
if (options.supportAnalogFormat) {
|
|
13
14
|
resourceHost.getSourceFile = (fileName, languageVersionOrOptions, onError, ...parameters) => {
|
|
14
15
|
if (fileName.endsWith('.analog.ts') ||
|
|
@@ -70,27 +71,36 @@ export function augmentHostWithResources(host, transform, options = {}) {
|
|
|
70
71
|
if (context.type !== 'style') {
|
|
71
72
|
return null;
|
|
72
73
|
}
|
|
73
|
-
if (options.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
};
|
|
96
106
|
}
|
package/src/lib/host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,UAAU,wBAAwB,CACtC,IAAqB,EACrB,SAI2B,EAC3B,
|
|
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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"}
|