@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 +7 -0
- package/_virtual/{_@oxc-project_runtime@0.121.0 → _@oxc-project_runtime@0.122.0}/helpers/decorate.js +1 -1
- package/package.json +1 -1
- package/setup-snapshots.d.ts +1 -26
- package/setup-snapshots.js +4 -73
- package/setup-snapshots.js.map +1 -1
- package/setup-testbed.js +1 -1
- package/src/lib/snapshot-serializers/angular-fixture.d.ts +2 -0
- package/src/lib/snapshot-serializers/angular-fixture.js +68 -0
- package/src/lib/snapshot-serializers/angular-fixture.js.map +1 -0
- package/src/lib/snapshot-serializers/html-comment.d.ts +2 -0
- package/src/lib/snapshot-serializers/index.d.ts +3 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.d.ts +4 -0
- package/src/lib/tools/schematics/setup/files/src/test-setup.ts.template +1 -0
- package/src/lib/tools/schematics/utils/versions.d.ts +1 -1
- package/src/lib/tools/schematics/utils/versions.js +1 -1
- package/src/lib/tools/schematics/utils/versions.js.map +1 -1
- package/src/lib/tools/src/schematics/utils/versions.d.ts +1 -1
- package/src/test-setup.d.ts +3 -0
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
|
|
package/_virtual/{_@oxc-project_runtime@0.121.0 → _@oxc-project_runtime@0.122.0}/helpers/decorate.js
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
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
package/setup-snapshots.d.ts
CHANGED
|
@@ -1,26 +1 @@
|
|
|
1
|
-
|
|
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 {};
|
package/setup-snapshots.js
CHANGED
|
@@ -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
|
-
|
|
5
|
+
const originalVitestFn = env[methodName];
|
|
6
|
+
if (!originalVitestFn) return;
|
|
7
|
+
originalVitestFn.addSnapshotSerializer(createAngularFixtureSnapshotSerializer());
|
|
77
8
|
});
|
|
78
9
|
//#endregion
|
|
79
10
|
|
package/setup-snapshots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-snapshots.js","names":[],"sources":["../setup-snapshots.ts"],"sourcesContent":["
|
|
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.
|
|
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,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"}
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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";
|