@analogjs/vitest-angular 3.0.0-alpha.18 → 3.0.0-alpha.19

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/README.md CHANGED
@@ -101,6 +101,7 @@ Use the following setup:
101
101
  ```ts
102
102
  import '@angular/compiler';
103
103
  import '@analogjs/vitest-angular/setup-snapshots';
104
+ import '@analogjs/vitest-angular/setup-serializers';
104
105
  import { setupTestBed } from '@analogjs/vitest-angular/setup-testbed';
105
106
 
106
107
  setupTestBed();
@@ -194,6 +195,12 @@ pnpm test
194
195
  ## Snapshot Testing
195
196
 
196
197
  For snapshot testing you can use `toMatchSnapshot` from `expect` API.
198
+ The provided snapshot setup also removes Angular-specific `_ng*` attributes and `<!--container-->` comments from DOM snapshots, which keeps diffs focused on the actual template output.
199
+
200
+ The import of `setup-snapshots` and `setup-serializers` are complementary:
201
+
202
+ - Use `setup-snapshots` to serialize Angular fixtures and component refs so Vitest snapshots print component markup instead of Angular testing internals.
203
+ - Use `setup-serializers` to clean DOM snapshots by removing Angular runtime noise such as `_ngcontent-*`, `_nghost-*`, `ng-reflect-*`, generated ids and classes, and removes comments from DOM snapshots (e.g. `<!--container-->`).
197
204
 
198
205
  Below is a small example of how to write a snapshot test:
199
206
 
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.121.0/helpers/decorate.js
1
+ //#region \0@oxc-project+runtime@0.122.0/helpers/decorate.js
2
2
  function __decorate(decorators, target, key, desc) {
3
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/vitest-angular",
3
- "version": "3.0.0-alpha.18",
3
+ "version": "3.0.0-alpha.19",
4
4
  "description": "Vitest Builder for Angular",
5
5
  "type": "module",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -1,26 +1 @@
1
- declare const env: any;
2
- /**
3
- * Allows Vitest to handle Angular test fixtures
4
- *
5
- * Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html
6
- *
7
- * @returns customSnapshotSerializer for Angular Fixture Component
8
- */
9
- declare const customSnapshotSerializer: () => {
10
- serialize: (...args: any[]) => string;
11
- test: (val: any) => boolean;
12
- };
13
- /**
14
- * Check if is an Angular fixture
15
- *
16
- * @param val Angular fixture
17
- * @returns boolean who check if is an angular fixture
18
- */
19
- declare function isAngularFixture(val: any): boolean;
20
- /**
21
- * Serialize Angular fixture for Vitest
22
- *
23
- * @param fixture Angular Fixture Component
24
- * @returns HTML Child Node
25
- */
26
- declare function fixtureVitestSerializer(fixture: any): ChildNode;
1
+ export {};
@@ -1,79 +1,10 @@
1
+ import { createAngularFixtureSnapshotSerializer } from "./src/lib/snapshot-serializers/angular-fixture.js";
1
2
  //#region packages/vitest-angular/setup-snapshots.ts
2
3
  var env = globalThis;
3
- /**
4
- * Allows Vitest to handle Angular test fixtures
5
- *
6
- * Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html
7
- *
8
- * @returns customSnapshotSerializer for Angular Fixture Component
9
- */
10
- var customSnapshotSerializer = () => {
11
- function serialize(val, config, indentation, depth, refs, printer) {
12
- return `${printer(fixtureVitestSerializer(val), config, indentation, depth, refs)}`;
13
- }
14
- function test(val) {
15
- return val && isAngularFixture(val);
16
- }
17
- return {
18
- serialize,
19
- test
20
- };
21
- };
22
- /**
23
- * Check if is an Angular fixture
24
- *
25
- * @param val Angular fixture
26
- * @returns boolean who check if is an angular fixture
27
- */
28
- function isAngularFixture(val) {
29
- if (typeof val !== "object") return false;
30
- if (val["componentRef"] || val["componentInstance"]) return true;
31
- if (val["componentType"]) return true;
32
- return JSON.stringify(Object.keys(val)) === JSON.stringify([
33
- "componentRef",
34
- "ngZone",
35
- "effectRunner",
36
- "_autoDetect",
37
- "_isStable",
38
- "_isDestroyed",
39
- "_resolve",
40
- "_promise",
41
- "_onUnstableSubscription",
42
- "_onStableSubscription",
43
- "_onMicrotaskEmptySubscription",
44
- "_onErrorSubscription",
45
- "changeDetectorRef",
46
- "elementRef",
47
- "debugElement",
48
- "componentInstance",
49
- "nativeElement"
50
- ]) || JSON.stringify(Object.keys(val)) === JSON.stringify([
51
- "location",
52
- "_rootLView",
53
- "_tNode",
54
- "previousInputValues",
55
- "instance",
56
- "changeDetectorRef",
57
- "hostView",
58
- "componentType"
59
- ]);
60
- }
61
- /**
62
- * Serialize Angular fixture for Vitest
63
- *
64
- * @param fixture Angular Fixture Component
65
- * @returns HTML Child Node
66
- */
67
- function fixtureVitestSerializer(fixture) {
68
- const componentType = fixture && fixture.componentType ? fixture.componentType : fixture.componentRef.componentType;
69
- let inputsData = "";
70
- const selector = Reflect.getOwnPropertyDescriptor(componentType, "__annotations__")?.value[0].selector;
71
- if (componentType && componentType.propDecorators) inputsData = Object.entries(componentType.propDecorators).map(([key, value]) => `${key}="${value}"`).join("");
72
- const divElement = fixture && fixture.nativeElement ? fixture.nativeElement : fixture.location.nativeElement;
73
- return new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, "text/html").body.childNodes[0];
74
- }
75
4
  ["expect"].forEach((methodName) => {
76
- return env[methodName].addSnapshotSerializer(customSnapshotSerializer());
5
+ const originalVitestFn = env[methodName];
6
+ if (!originalVitestFn) return;
7
+ originalVitestFn.addSnapshotSerializer(createAngularFixtureSnapshotSerializer());
77
8
  });
78
9
  //#endregion
79
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"setup-snapshots.js","names":[],"sources":["../setup-snapshots.ts"],"sourcesContent":["const env = globalThis as any;\n\n/**\n * Allows Vitest to handle Angular test fixtures\n *\n * Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html\n *\n * @returns customSnapshotSerializer for Angular Fixture Component\n */\nconst customSnapshotSerializer = (): {\n serialize: (...args: any[]) => string;\n test: (val: any) => boolean;\n} => {\n function serialize(\n val: any,\n config: any,\n indentation: any,\n depth: any,\n refs: any,\n printer: any,\n ): string {\n // `printer` is a function that serializes a value using existing plugins.\n return `${printer(\n fixtureVitestSerializer(val),\n config,\n indentation,\n depth,\n refs,\n )}`;\n }\n function test(val: any): boolean {\n // * If it's a ComponentFixture we apply the transformation rules\n return val && isAngularFixture(val);\n }\n return {\n serialize: serialize,\n test: test,\n };\n};\n\n/**\n * Check if is an Angular fixture\n *\n * @param val Angular fixture\n * @returns boolean who check if is an angular fixture\n */\nfunction isAngularFixture(val: any): boolean {\n if (typeof val !== 'object') {\n return false;\n }\n\n if (val['componentRef'] || val['componentInstance']) {\n return true;\n }\n\n if (val['componentType']) {\n return true;\n }\n\n // * Angular fixture keys in Fixture component Object\n const fixtureKeys = [\n 'componentRef',\n 'ngZone',\n 'effectRunner',\n '_autoDetect',\n '_isStable',\n '_isDestroyed',\n '_resolve',\n '_promise',\n '_onUnstableSubscription',\n '_onStableSubscription',\n '_onMicrotaskEmptySubscription',\n '_onErrorSubscription',\n 'changeDetectorRef',\n 'elementRef',\n 'debugElement',\n 'componentInstance',\n 'nativeElement',\n ];\n\n // * Angular fixture keys in Fixture componentRef Object\n const fixtureComponentRefKeys = [\n 'location',\n '_rootLView',\n '_tNode',\n 'previousInputValues',\n 'instance',\n 'changeDetectorRef',\n 'hostView',\n 'componentType',\n ];\n\n return (\n JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureKeys) ||\n JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureComponentRefKeys)\n );\n}\n\n/**\n * Serialize Angular fixture for Vitest\n *\n * @param fixture Angular Fixture Component\n * @returns HTML Child Node\n */\nfunction fixtureVitestSerializer(fixture: any): ChildNode {\n // * Get Component meta data\n const componentType = (\n fixture && fixture.componentType\n ? fixture.componentType\n : fixture.componentRef.componentType\n ) as any;\n\n let inputsData = '';\n\n const selector = Reflect.getOwnPropertyDescriptor(\n componentType,\n '__annotations__',\n )?.value[0].selector;\n\n if (componentType && componentType.propDecorators) {\n inputsData = Object.entries(componentType.propDecorators)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('');\n }\n\n // * Get DOM Elements\n const divElement =\n fixture && fixture.nativeElement\n ? fixture.nativeElement\n : fixture.location.nativeElement;\n\n // * Convert string data to HTML data\n const doc = new DOMParser().parseFromString(\n `<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`,\n 'text/html',\n );\n\n return doc.body.childNodes[0];\n}\n\n['expect'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());\n});\n"],"mappings":";AAAA,IAAM,MAAM;;;;;;;;AASZ,IAAM,iCAGD;CACH,SAAS,UACP,KACA,QACA,aACA,OACA,MACA,SACQ;AAER,SAAO,GAAG,QACR,wBAAwB,IAAI,EAC5B,QACA,aACA,OACA,KACD;;CAEH,SAAS,KAAK,KAAmB;AAE/B,SAAO,OAAO,iBAAiB,IAAI;;AAErC,QAAO;EACM;EACL;EACP;;;;;;;;AASH,SAAS,iBAAiB,KAAmB;AAC3C,KAAI,OAAO,QAAQ,SACjB,QAAO;AAGT,KAAI,IAAI,mBAAmB,IAAI,qBAC7B,QAAO;AAGT,KAAI,IAAI,iBACN,QAAO;AAoCT,QACE,KAAK,UAAU,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,UAjCxB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAeiE,IAChE,KAAK,UAAU,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,UAbZ;EAC9B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAI6E;;;;;;;;AAUhF,SAAS,wBAAwB,SAAyB;CAExD,MAAM,gBACJ,WAAW,QAAQ,gBACf,QAAQ,gBACR,QAAQ,aAAa;CAG3B,IAAI,aAAa;CAEjB,MAAM,WAAW,QAAQ,yBACvB,eACA,kBACD,EAAE,MAAM,GAAG;AAEZ,KAAI,iBAAiB,cAAc,eACjC,cAAa,OAAO,QAAQ,cAAc,eAAe,CACtD,KAAK,CAAC,KAAK,WAAW,GAAG,IAAI,IAAI,MAAM,GAAG,CAC1C,KAAK,GAAG;CAIb,MAAM,aACJ,WAAW,QAAQ,gBACf,QAAQ,gBACR,QAAQ,SAAS;AAQvB,QALY,IAAI,WAAW,CAAC,gBAC1B,IAAI,SAAS,GAAG,WAAW,GAAG,WAAW,UAAU,IAAI,SAAS,IAChE,YACD,CAEU,KAAK,WAAW;;AAG7B,CAAC,SAAS,CAAC,SAAS,eAAe;AAEjC,QADyB,IAAI,YACL,sBAAsB,0BAA0B,CAAC;EACzE"}
1
+ {"version":3,"file":"setup-snapshots.js","names":[],"sources":["../setup-snapshots.ts"],"sourcesContent":["import { createAngularFixtureSnapshotSerializer } from './snapshot-serializers.js';\n\nconst env = globalThis as any;\n\n['expect'].forEach((methodName) => {\n const originalVitestFn = env[methodName];\n if (!originalVitestFn) {\n return;\n }\n originalVitestFn.addSnapshotSerializer(\n createAngularFixtureSnapshotSerializer(),\n );\n});\n"],"mappings":";;AAEA,IAAM,MAAM;AAEZ,CAAC,SAAS,CAAC,SAAS,eAAe;CACjC,MAAM,mBAAmB,IAAI;AAC7B,KAAI,CAAC,iBACH;AAEF,kBAAiB,sBACf,wCAAwC,CACzC;EACD"}
package/setup-testbed.js CHANGED
@@ -1,4 +1,4 @@
1
- import { __decorate } from "./_virtual/_@oxc-project_runtime@0.121.0/helpers/decorate.js";
1
+ import { __decorate } from "./_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
2
2
  import { NgModule, provideZonelessChangeDetection } from "@angular/core";
3
3
  import { getTestBed, ɵgetCleanupHook } from "@angular/core/testing";
4
4
  import { BrowserTestingModule, platformBrowserTesting } from "@angular/platform-browser/testing";
@@ -0,0 +1,2 @@
1
+ import type { SnapshotSerializer } from "vitest";
2
+ export declare function createAngularFixtureSnapshotSerializer(): SnapshotSerializer;
@@ -0,0 +1,68 @@
1
+ //#region packages/vitest-angular/src/lib/snapshot-serializers/angular-fixture.ts
2
+ /**
3
+ * Check if is an Angular fixture
4
+ *
5
+ * @param val Angular fixture
6
+ * @returns boolean who check if is an angular fixture
7
+ */
8
+ function isAngularFixture(val) {
9
+ if (typeof val !== "object") return false;
10
+ if (val["componentRef"] || val["componentInstance"]) return true;
11
+ if (val["componentType"]) return true;
12
+ return JSON.stringify(Object.keys(val)) === JSON.stringify([
13
+ "componentRef",
14
+ "ngZone",
15
+ "effectRunner",
16
+ "_autoDetect",
17
+ "_isStable",
18
+ "_isDestroyed",
19
+ "_resolve",
20
+ "_promise",
21
+ "_onUnstableSubscription",
22
+ "_onStableSubscription",
23
+ "_onMicrotaskEmptySubscription",
24
+ "_onErrorSubscription",
25
+ "changeDetectorRef",
26
+ "elementRef",
27
+ "debugElement",
28
+ "componentInstance",
29
+ "nativeElement"
30
+ ]) || JSON.stringify(Object.keys(val)) === JSON.stringify([
31
+ "location",
32
+ "_rootLView",
33
+ "_tNode",
34
+ "previousInputValues",
35
+ "instance",
36
+ "changeDetectorRef",
37
+ "hostView",
38
+ "componentType"
39
+ ]);
40
+ }
41
+ /**
42
+ * Serialize Angular fixture for Vitest
43
+ *
44
+ * @param fixture Angular Fixture Component
45
+ * @returns HTML Child Node
46
+ */
47
+ function fixtureVitestSerializer(fixture) {
48
+ const componentType = fixture && fixture.componentType ? fixture.componentType : fixture.componentRef.componentType;
49
+ let inputsData = "";
50
+ const selector = Reflect.getOwnPropertyDescriptor(componentType, "__annotations__")?.value[0]?.selector ?? componentType.ɵcmp?.selectors[0]?.[0];
51
+ if (componentType && componentType.propDecorators) inputsData = Object.entries(componentType.propDecorators).map(([key, value]) => `${key}="${value}"`).join("");
52
+ const divElement = fixture && fixture.nativeElement ? fixture.nativeElement : fixture.location.nativeElement;
53
+ return new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, "text/html").body.childNodes[0];
54
+ }
55
+ function createAngularFixtureSnapshotSerializer() {
56
+ return {
57
+ serialize(val, config, indentation, depth, refs, printer) {
58
+ return printer(fixtureVitestSerializer(val), config, indentation, depth, refs);
59
+ },
60
+ test(val) {
61
+ return val && isAngularFixture(val);
62
+ }
63
+ };
64
+ }
65
+ //#endregion
66
+ export { createAngularFixtureSnapshotSerializer };
67
+
68
+ //# sourceMappingURL=angular-fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angular-fixture.js","names":[],"sources":["../../../../src/lib/snapshot-serializers/angular-fixture.ts"],"sourcesContent":["import type { ComponentFixture } from '@angular/core/testing';\nimport type { SnapshotSerializer } from 'vitest';\n\n/**\n * Check if is an Angular fixture\n *\n * @param val Angular fixture\n * @returns boolean who check if is an angular fixture\n */\nfunction isAngularFixture(val: any): boolean {\n if (typeof val !== 'object') {\n return false;\n }\n\n if (val['componentRef'] || val['componentInstance']) {\n return true;\n }\n\n if (val['componentType']) {\n return true;\n }\n\n // * Angular fixture keys in Fixture component Object\n const fixtureKeys = [\n 'componentRef',\n 'ngZone',\n 'effectRunner',\n '_autoDetect',\n '_isStable',\n '_isDestroyed',\n '_resolve',\n '_promise',\n '_onUnstableSubscription',\n '_onStableSubscription',\n '_onMicrotaskEmptySubscription',\n '_onErrorSubscription',\n 'changeDetectorRef',\n 'elementRef',\n 'debugElement',\n 'componentInstance',\n 'nativeElement',\n ];\n\n // * Angular fixture keys in Fixture componentRef Object\n const fixtureComponentRefKeys = [\n 'location',\n '_rootLView',\n '_tNode',\n 'previousInputValues',\n 'instance',\n 'changeDetectorRef',\n 'hostView',\n 'componentType',\n ];\n\n return (\n JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureKeys) ||\n JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureComponentRefKeys)\n );\n}\n\n/**\n * Serialize Angular fixture for Vitest\n *\n * @param fixture Angular Fixture Component\n * @returns HTML Child Node\n */\nfunction fixtureVitestSerializer(fixture: any) {\n // * Get Component meta data\n const componentType = (\n fixture && fixture.componentType\n ? fixture.componentType\n : fixture.componentRef.componentType\n ) as any;\n\n let inputsData: string = '';\n\n const selector =\n Reflect.getOwnPropertyDescriptor(componentType, '__annotations__')?.value[0]\n ?.selector ?? componentType.ɵcmp?.selectors[0]?.[0];\n\n if (componentType && componentType.propDecorators) {\n inputsData = Object.entries(componentType.propDecorators)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('');\n }\n\n // * Get DOM Elements\n const divElement =\n fixture && fixture.nativeElement\n ? fixture.nativeElement\n : fixture.location.nativeElement;\n\n // * Convert string data to HTML data\n const doc = new DOMParser().parseFromString(\n `<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`,\n 'text/html',\n );\n\n return doc.body.childNodes[0];\n}\n\nexport function createAngularFixtureSnapshotSerializer(): SnapshotSerializer {\n return {\n serialize(val, config, indentation, depth, refs, printer) {\n return printer(\n fixtureVitestSerializer(val),\n config,\n indentation,\n depth,\n refs,\n );\n },\n test(val) {\n return val && isAngularFixture(val);\n },\n };\n}\n"],"mappings":";;;;;;;AASA,SAAS,iBAAiB,KAAmB;AAC3C,KAAI,OAAO,QAAQ,SACjB,QAAO;AAGT,KAAI,IAAI,mBAAmB,IAAI,qBAC7B,QAAO;AAGT,KAAI,IAAI,iBACN,QAAO;AAoCT,QACE,KAAK,UAAU,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,UAjCxB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAeiE,IAChE,KAAK,UAAU,OAAO,KAAK,IAAI,CAAC,KAAK,KAAK,UAbZ;EAC9B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAI6E;;;;;;;;AAUhF,SAAS,wBAAwB,SAAc;CAE7C,MAAM,gBACJ,WAAW,QAAQ,gBACf,QAAQ,gBACR,QAAQ,aAAa;CAG3B,IAAI,aAAqB;CAEzB,MAAM,WACJ,QAAQ,yBAAyB,eAAe,kBAAkB,EAAE,MAAM,IACtE,YAAY,cAAc,MAAM,UAAU,KAAK;AAErD,KAAI,iBAAiB,cAAc,eACjC,cAAa,OAAO,QAAQ,cAAc,eAAe,CACtD,KAAK,CAAC,KAAK,WAAW,GAAG,IAAI,IAAI,MAAM,GAAG,CAC1C,KAAK,GAAG;CAIb,MAAM,aACJ,WAAW,QAAQ,gBACf,QAAQ,gBACR,QAAQ,SAAS;AAQvB,QALY,IAAI,WAAW,CAAC,gBAC1B,IAAI,SAAS,GAAG,WAAW,GAAG,WAAW,UAAU,IAAI,SAAS,IAChE,YACD,CAEU,KAAK,WAAW;;AAG7B,SAAgB,yCAA6D;AAC3E,QAAO;EACL,UAAU,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS;AACxD,UAAO,QACL,wBAAwB,IAAI,EAC5B,QACA,aACA,OACA,KACD;;EAEH,KAAK,KAAK;AACR,UAAO,OAAO,iBAAiB,IAAI;;EAEtC"}
@@ -0,0 +1,2 @@
1
+ import { type SnapshotSerializer } from "vitest";
2
+ export declare function createHtmlCommentSnapshotSerializer(): SnapshotSerializer;
@@ -0,0 +1,3 @@
1
+ export { createAngularFixtureSnapshotSerializer } from "./angular-fixture.js";
2
+ export { createHtmlCommentSnapshotSerializer } from "./html-comment.js";
3
+ export { createNoNgAttributesSnapshotSerializer } from "./no-ng-attributes.js";
@@ -0,0 +1,4 @@
1
+ import { type SnapshotSerializer } from "vitest";
2
+ export declare const attributesToRemovePatterns: unknown;
3
+ export declare const attributesToClean: Record<string, RegExp[]>;
4
+ export declare function createNoNgAttributesSnapshotSerializer(): SnapshotSerializer;
@@ -1,6 +1,7 @@
1
1
  <% if (majorAngularVersion > 20) { %>
2
2
  import '@angular/compiler';
3
3
  import '@analogjs/vitest-angular/setup-snapshots';
4
+ import '@analogjs/vitest-angular/setup-serializers';
4
5
  import { setupTestBed } from '@analogjs/vitest-angular/setup-testbed';
5
6
 
6
7
  <% if (browserMode) { %>
@@ -1,4 +1,4 @@
1
- export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.18";
1
+ export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.19";
2
2
  export declare const JSDOM = "^22.0.0";
3
3
  export declare const VITE_TSCONFIG_PATHS = "^4.2.0";
4
4
  export declare const VITE = "^7.0.0";
@@ -1,5 +1,5 @@
1
1
  //#region packages/vitest-angular-tools/src/schematics/utils/versions.ts
2
- var ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.18";
2
+ var ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.19";
3
3
  var JSDOM = "^22.0.0";
4
4
  var VITE_TSCONFIG_PATHS = "^4.2.0";
5
5
  var VITE = "^7.0.0";
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","names":[],"sources":["../../../../../../../vitest-angular-tools/src/schematics/utils/versions.ts"],"sourcesContent":["// Version constants (Angular 20+)\nexport const ANALOG_JS_VITE_PLUGIN_ANGULAR = '^3.0.0-alpha.18';\nexport const JSDOM = '^22.0.0';\nexport const VITE_TSCONFIG_PATHS = '^4.2.0';\nexport const VITE = '^7.0.0';\nexport const VITEST_V4 = '^4.0.0';\n\n// Browser mode dependencies\nexport const VITEST_BROWSER_PLAYWRIGHT = '^4.0.0';\nexport const PLAYWRIGHT = '^1.54.0';\n"],"mappings":";AACA,IAAa,gCAAgC;AAC7C,IAAa,QAAQ;AACrB,IAAa,sBAAsB;AACnC,IAAa,OAAO;AACpB,IAAa,YAAY;AAGzB,IAAa,4BAA4B;AACzC,IAAa,aAAa"}
1
+ {"version":3,"file":"versions.js","names":[],"sources":["../../../../../../../vitest-angular-tools/src/schematics/utils/versions.ts"],"sourcesContent":["// Version constants (Angular 20+)\nexport const ANALOG_JS_VITE_PLUGIN_ANGULAR = '^3.0.0-alpha.19';\nexport const JSDOM = '^22.0.0';\nexport const VITE_TSCONFIG_PATHS = '^4.2.0';\nexport const VITE = '^7.0.0';\nexport const VITEST_V4 = '^4.0.0';\n\n// Browser mode dependencies\nexport const VITEST_BROWSER_PLAYWRIGHT = '^4.0.0';\nexport const PLAYWRIGHT = '^1.54.0';\n"],"mappings":";AACA,IAAa,gCAAgC;AAC7C,IAAa,QAAQ;AACrB,IAAa,sBAAsB;AACnC,IAAa,OAAO;AACpB,IAAa,YAAY;AAGzB,IAAa,4BAA4B;AACzC,IAAa,aAAa"}
@@ -1,4 +1,4 @@
1
- export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.18";
1
+ export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.19";
2
2
  export declare const JSDOM = "^22.0.0";
3
3
  export declare const VITE_TSCONFIG_PATHS = "^4.2.0";
4
4
  export declare const VITE = "^7.0.0";
@@ -0,0 +1,3 @@
1
+ import "../setup-vitest";
2
+ import "@angular/compiler";
3
+ export {};