@analogjs/vite-plugin-angular 2.4.0-beta.9 → 3.0.0-alpha.10
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 +7 -9
- package/setup-vitest.d.ts +5 -4
- package/setup-vitest.js +154 -195
- package/setup-vitest.js.map +1 -1
- package/src/index.d.ts +2 -2
- package/src/index.js +6 -2
- package/src/index.js.map +1 -1
- package/src/lib/angular-build-optimizer-plugin.d.ts +4 -4
- package/src/lib/angular-build-optimizer-plugin.js +48 -62
- package/src/lib/angular-build-optimizer-plugin.js.map +1 -1
- package/src/lib/angular-jit-plugin.d.ts +3 -3
- package/src/lib/angular-jit-plugin.js +31 -37
- package/src/lib/angular-jit-plugin.js.map +1 -1
- package/src/lib/angular-pending-tasks.plugin.d.ts +7 -7
- package/src/lib/angular-pending-tasks.plugin.js +17 -18
- package/src/lib/angular-pending-tasks.plugin.js.map +1 -1
- package/src/lib/angular-vite-plugin.d.ts +68 -45
- package/src/lib/angular-vite-plugin.js +795 -963
- package/src/lib/angular-vite-plugin.js.map +1 -1
- package/src/lib/angular-vitest-plugin.d.ts +20 -16
- package/src/lib/angular-vitest-plugin.js +98 -114
- package/src/lib/angular-vitest-plugin.js.map +1 -1
- package/src/lib/compiler-plugin.d.ts +11 -11
- package/src/lib/compiler-plugin.js +43 -44
- package/src/lib/compiler-plugin.js.map +1 -1
- package/src/lib/component-resolvers.d.ts +8 -6
- package/src/lib/component-resolvers.js +93 -64
- package/src/lib/component-resolvers.js.map +1 -1
- package/src/lib/host.d.ts +8 -8
- package/src/lib/host.js +69 -101
- package/src/lib/host.js.map +1 -1
- package/src/lib/live-reload-plugin.d.ts +5 -5
- package/src/lib/live-reload-plugin.js +51 -63
- package/src/lib/live-reload-plugin.js.map +1 -1
- package/src/lib/models.d.ts +9 -9
- package/src/lib/nx-folder-plugin.d.ts +5 -5
- package/src/lib/nx-folder-plugin.js +18 -16
- package/src/lib/nx-folder-plugin.js.map +1 -1
- package/src/lib/plugins/file-replacements.plugin.d.ts +4 -4
- package/src/lib/plugins/file-replacements.plugin.js +35 -62
- package/src/lib/plugins/file-replacements.plugin.js.map +1 -1
- package/src/lib/router-plugin.d.ts +1 -1
- package/src/lib/router-plugin.js +23 -23
- package/src/lib/router-plugin.js.map +1 -1
- package/src/lib/tools/package.json +2 -7
- package/src/lib/tools/src/builders/vite/vite-build.impl.js +31 -35
- package/src/lib/tools/src/builders/vite/vite-build.impl.js.map +1 -1
- package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js +51 -59
- package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js.map +1 -1
- package/src/lib/tools/src/index.js +0 -1
- package/src/lib/utils/compiler-plugin-options.d.ts +11 -11
- package/src/lib/utils/devkit.d.ts +4 -4
- package/src/lib/utils/devkit.js +34 -38
- package/src/lib/utils/devkit.js.map +1 -1
- package/src/lib/utils/hmr-candidates.d.ts +28 -28
- package/src/lib/utils/rolldown.d.ts +2 -0
- package/src/lib/utils/rolldown.js +12 -0
- package/src/lib/utils/rolldown.js.map +1 -0
- package/src/lib/utils/source-file-cache.d.ts +8 -15
- package/src/lib/utils/source-file-cache.js +35 -37
- package/src/lib/utils/source-file-cache.js.map +1 -1
- package/src/test-setup.d.ts +3 -0
- package/src/lib/models.js +0 -1
- package/src/lib/models.js.map +0 -1
- package/src/lib/tools/README.md +0 -3
- package/src/lib/tools/src/index.d.ts +0 -0
- package/src/lib/tools/src/index.js.map +0 -1
- package/src/lib/utils/compiler-plugin-options.js +0 -1
- package/src/lib/utils/compiler-plugin-options.js.map +0 -1
- package/src/lib/utils/hmr-candidates.js +0 -272
- package/src/lib/utils/hmr-candidates.js.map +0 -1
- package/vite.config.d.ts +0 -2
- package/vite.config.js +0 -22
- package/vite.config.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/vite-plugin-angular",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-alpha.10",
|
|
4
4
|
"description": "Vite Plugin for Angular",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -36,8 +36,10 @@
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"
|
|
40
|
-
"
|
|
39
|
+
"oxc-parser": "^0.119.0",
|
|
40
|
+
"oxc-resolver": "^11.19.0",
|
|
41
|
+
"rolldown": "^1.0.0-rc.9",
|
|
42
|
+
"tinyglobby": "^0.2.14"
|
|
41
43
|
},
|
|
42
44
|
"builders": "./src/lib/tools/builders.json",
|
|
43
45
|
"ng-update": {
|
|
@@ -60,14 +62,10 @@
|
|
|
60
62
|
"require": "./src/index.js",
|
|
61
63
|
"default": "./src/index.js"
|
|
62
64
|
},
|
|
63
|
-
"./esbuild": "./esbuild.js",
|
|
64
65
|
"./setup-vitest": "./setup-vitest.js"
|
|
65
66
|
},
|
|
66
67
|
"publishConfig": {
|
|
67
68
|
"access": "public",
|
|
68
69
|
"provenance": true
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
"module": "./src/index.js",
|
|
72
|
-
"main": "./src/index.js"
|
|
73
|
-
}
|
|
70
|
+
}
|
|
71
|
+
}
|
package/setup-vitest.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import "zone.js";
|
|
2
|
+
import "zone.js/plugins/sync-test";
|
|
3
|
+
import "zone.js/plugins/proxy";
|
|
4
|
+
import "zone.js/testing";
|
|
5
|
+
export {};
|
package/setup-vitest.js
CHANGED
|
@@ -1,217 +1,176 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import "zone.js";
|
|
2
|
+
import "zone.js/plugins/sync-test";
|
|
3
|
+
import "zone.js/plugins/proxy";
|
|
4
|
+
import "zone.js/testing";
|
|
5
|
+
//#region packages/vite-plugin-angular/setup-vitest.ts
|
|
5
6
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (SyncTestZoneSpec === undefined) {
|
|
21
|
-
throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');
|
|
22
|
-
}
|
|
23
|
-
if (ProxyZoneSpec === undefined) {
|
|
24
|
-
throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
|
|
25
|
-
}
|
|
26
|
-
const env = globalThis;
|
|
27
|
-
const ambientZone = Zone.current;
|
|
28
|
-
// Create a synchronous-only zone in which to run `describe` blocks in order to
|
|
29
|
-
// raise an error if any asynchronous operations are attempted
|
|
30
|
-
// inside of a `describe` but outside of a `beforeEach` or `it`.
|
|
31
|
-
const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
|
|
7
|
+
* Patch Vitest's describe/test/beforeEach/afterEach functions so test code
|
|
8
|
+
* always runs in a testZone (ProxyZone).
|
|
9
|
+
*/
|
|
10
|
+
var { Zone } = globalThis;
|
|
11
|
+
if (Zone === void 0) throw new Error("Missing: Zone (zone.js)");
|
|
12
|
+
if (globalThis["__vitest_zone_patch__"] === true) throw new Error("'vitest' has already been patched with 'Zone'.");
|
|
13
|
+
globalThis["__vitest_zone_patch__"] = true;
|
|
14
|
+
var { SyncTestZoneSpec } = Zone;
|
|
15
|
+
var { ProxyZoneSpec } = Zone;
|
|
16
|
+
if (SyncTestZoneSpec === void 0) throw new Error("Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)");
|
|
17
|
+
if (ProxyZoneSpec === void 0) throw new Error("Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)");
|
|
18
|
+
var env = globalThis;
|
|
19
|
+
var ambientZone = Zone.current;
|
|
20
|
+
var syncZone = ambientZone.fork(new SyncTestZoneSpec("vitest.describe"));
|
|
32
21
|
function wrapDescribeInZone(describeBody) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
22
|
+
return function(...args) {
|
|
23
|
+
return syncZone.run(describeBody, null, args);
|
|
24
|
+
};
|
|
36
25
|
}
|
|
37
|
-
|
|
38
|
-
// can retroactively install different zones.
|
|
39
|
-
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
26
|
+
var testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
40
27
|
function wrapTestInZone(testBody) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return testBody.length === 0
|
|
57
|
-
? () => testProxyZone.run(testBody, null)
|
|
58
|
-
: (done) => testProxyZone.run(testBody, null, [done]);
|
|
59
|
-
}
|
|
60
|
-
return wrappedFunc;
|
|
28
|
+
if (testBody === void 0) return;
|
|
29
|
+
const wrappedFunc = function wrappedFunc(...args) {
|
|
30
|
+
return testProxyZone.run(testBody, null, args);
|
|
31
|
+
};
|
|
32
|
+
try {
|
|
33
|
+
Object.defineProperty(wrappedFunc, "length", {
|
|
34
|
+
configurable: true,
|
|
35
|
+
enumerable: false,
|
|
36
|
+
writable: true
|
|
37
|
+
});
|
|
38
|
+
wrappedFunc.length = testBody.length;
|
|
39
|
+
} catch (e) {
|
|
40
|
+
return testBody.length === 0 ? () => testProxyZone.run(testBody, null) : (done) => testProxyZone.run(testBody, null, [done]);
|
|
41
|
+
}
|
|
42
|
+
return wrappedFunc;
|
|
61
43
|
}
|
|
62
44
|
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
test,
|
|
81
|
-
};
|
|
45
|
+
* Allows Vitest to handle Angular test fixtures
|
|
46
|
+
*
|
|
47
|
+
* Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html
|
|
48
|
+
*
|
|
49
|
+
* @returns customSnapshotSerializer for Angular Fixture Component
|
|
50
|
+
*/
|
|
51
|
+
var customSnapshotSerializer = () => {
|
|
52
|
+
function serialize(val, config, indentation, depth, refs, printer) {
|
|
53
|
+
return `${printer(fixtureVitestSerializer(val), config, indentation, depth, refs)}`;
|
|
54
|
+
}
|
|
55
|
+
function test(val) {
|
|
56
|
+
return val && isAngularFixture(val);
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
serialize,
|
|
60
|
+
test
|
|
61
|
+
};
|
|
82
62
|
};
|
|
83
63
|
/**
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
64
|
+
* Check if is an Angular fixture
|
|
65
|
+
*
|
|
66
|
+
* @param val Angular fixture
|
|
67
|
+
* @returns boolean who check if is an angular fixture
|
|
68
|
+
*/
|
|
89
69
|
function isAngularFixture(val) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
'location',
|
|
122
|
-
'_rootLView',
|
|
123
|
-
'_tNode',
|
|
124
|
-
'previousInputValues',
|
|
125
|
-
'instance',
|
|
126
|
-
'changeDetectorRef',
|
|
127
|
-
'hostView',
|
|
128
|
-
'componentType',
|
|
129
|
-
];
|
|
130
|
-
return (JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureKeys) ||
|
|
131
|
-
JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureComponentRefKeys));
|
|
70
|
+
if (typeof val !== "object") return false;
|
|
71
|
+
if (val["componentRef"] || val["componentInstance"]) return true;
|
|
72
|
+
if (val["componentType"]) return true;
|
|
73
|
+
return JSON.stringify(Object.keys(val)) === JSON.stringify([
|
|
74
|
+
"componentRef",
|
|
75
|
+
"ngZone",
|
|
76
|
+
"effectRunner",
|
|
77
|
+
"_autoDetect",
|
|
78
|
+
"_isStable",
|
|
79
|
+
"_isDestroyed",
|
|
80
|
+
"_resolve",
|
|
81
|
+
"_promise",
|
|
82
|
+
"_onUnstableSubscription",
|
|
83
|
+
"_onStableSubscription",
|
|
84
|
+
"_onMicrotaskEmptySubscription",
|
|
85
|
+
"_onErrorSubscription",
|
|
86
|
+
"changeDetectorRef",
|
|
87
|
+
"elementRef",
|
|
88
|
+
"debugElement",
|
|
89
|
+
"componentInstance",
|
|
90
|
+
"nativeElement"
|
|
91
|
+
]) || JSON.stringify(Object.keys(val)) === JSON.stringify([
|
|
92
|
+
"location",
|
|
93
|
+
"_rootLView",
|
|
94
|
+
"_tNode",
|
|
95
|
+
"previousInputValues",
|
|
96
|
+
"instance",
|
|
97
|
+
"changeDetectorRef",
|
|
98
|
+
"hostView",
|
|
99
|
+
"componentType"
|
|
100
|
+
]);
|
|
132
101
|
}
|
|
133
102
|
/**
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
103
|
+
* Serialize Angular fixture for Vitest
|
|
104
|
+
*
|
|
105
|
+
* @param fixture Angular Fixture Component
|
|
106
|
+
* @returns HTML Child Node
|
|
107
|
+
*/
|
|
139
108
|
function fixtureVitestSerializer(fixture) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (componentType && componentType.propDecorators) {
|
|
147
|
-
inputsData = Object.entries(componentType.propDecorators)
|
|
148
|
-
.map(([key, value]) => `${key}="${value}"`)
|
|
149
|
-
.join('');
|
|
150
|
-
}
|
|
151
|
-
// * Get DOM Elements
|
|
152
|
-
const divElement = fixture && fixture.nativeElement
|
|
153
|
-
? fixture.nativeElement
|
|
154
|
-
: fixture.location.nativeElement;
|
|
155
|
-
// * Convert string data to HTML data
|
|
156
|
-
const doc = new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, 'text/html');
|
|
157
|
-
return doc.body.childNodes[0];
|
|
109
|
+
const componentType = fixture && fixture.componentType ? fixture.componentType : fixture.componentRef.componentType;
|
|
110
|
+
let inputsData = "";
|
|
111
|
+
const selector = Reflect.getOwnPropertyDescriptor(componentType, "__annotations__")?.value[0].selector;
|
|
112
|
+
if (componentType && componentType.propDecorators) inputsData = Object.entries(componentType.propDecorators).map(([key, value]) => `${key}="${value}"`).join("");
|
|
113
|
+
const divElement = fixture && fixture.nativeElement ? fixture.nativeElement : fixture.location.nativeElement;
|
|
114
|
+
return new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, "text/html").body.childNodes[0];
|
|
158
115
|
}
|
|
159
116
|
/**
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
};
|
|
117
|
+
* Bind describe method to wrap describe.each function
|
|
118
|
+
*/
|
|
119
|
+
var bindDescribe = (self, originalVitestFn) => function bindDescribe(...eachArgs) {
|
|
120
|
+
return function bindDescribe(...args) {
|
|
121
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
122
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
123
|
+
};
|
|
168
124
|
};
|
|
169
125
|
/**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
};
|
|
126
|
+
* Bind test method to wrap test.each function
|
|
127
|
+
*/
|
|
128
|
+
var bindTest = (self, originalVitestFn) => function bindTest(...eachArgs) {
|
|
129
|
+
return function bindTest(...args) {
|
|
130
|
+
args[1] = wrapTestInZone(args[1]);
|
|
131
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
132
|
+
};
|
|
178
133
|
};
|
|
179
|
-
[
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
134
|
+
["describe"].forEach((methodName) => {
|
|
135
|
+
const originalvitestFn = env[methodName];
|
|
136
|
+
env[methodName] = function(...args) {
|
|
137
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
138
|
+
return originalvitestFn.apply(this, args);
|
|
139
|
+
};
|
|
140
|
+
env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
|
|
141
|
+
if (methodName === "describe") {
|
|
142
|
+
env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
|
|
143
|
+
env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
|
|
144
|
+
}
|
|
190
145
|
});
|
|
191
|
-
[
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
};
|
|
204
|
-
}
|
|
146
|
+
["test", "it"].forEach((methodName) => {
|
|
147
|
+
const originalvitestFn = env[methodName];
|
|
148
|
+
env[methodName] = function(...args) {
|
|
149
|
+
args[1] = wrapTestInZone(args[1]);
|
|
150
|
+
return originalvitestFn.apply(this, args);
|
|
151
|
+
};
|
|
152
|
+
env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
|
|
153
|
+
env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
|
|
154
|
+
env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
|
|
155
|
+
if (methodName === "test" || methodName === "it") env[methodName].todo = function todo(...args) {
|
|
156
|
+
return originalvitestFn.todo.apply(this, args);
|
|
157
|
+
};
|
|
205
158
|
});
|
|
206
|
-
[
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
159
|
+
[
|
|
160
|
+
"beforeEach",
|
|
161
|
+
"afterEach",
|
|
162
|
+
"beforeAll",
|
|
163
|
+
"afterAll"
|
|
164
|
+
].forEach((methodName) => {
|
|
165
|
+
const originalvitestFn = env[methodName];
|
|
166
|
+
env[methodName] = function(...args) {
|
|
167
|
+
args[0] = wrapTestInZone(args[0]);
|
|
168
|
+
return originalvitestFn.apply(this, args);
|
|
169
|
+
};
|
|
212
170
|
});
|
|
213
|
-
[
|
|
214
|
-
|
|
215
|
-
return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());
|
|
171
|
+
["expect"].forEach((methodName) => {
|
|
172
|
+
return env[methodName].addSnapshotSerializer(customSnapshotSerializer());
|
|
216
173
|
});
|
|
174
|
+
//#endregion
|
|
175
|
+
|
|
217
176
|
//# sourceMappingURL=setup-vitest.js.map
|
package/setup-vitest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-vitest.js","sourceRoot":"","sources":["../../../packages/vite-plugin-angular/setup-vitest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-vitest.js","names":[],"sources":["../../../packages/vite-plugin-angular/setup-vitest.ts"],"sourcesContent":["import 'zone.js';\nimport 'zone.js/plugins/sync-test';\nimport 'zone.js/plugins/proxy';\nimport 'zone.js/testing';\n\n/**\n * Patch Vitest's describe/test/beforeEach/afterEach functions so test code\n * always runs in a testZone (ProxyZone).\n */\n/* global Zone */\nconst { Zone } = globalThis as any;\n\nif (Zone === undefined) {\n throw new Error('Missing: Zone (zone.js)');\n}\n\nif ((globalThis as any)['__vitest_zone_patch__'] === true) {\n throw new Error(\"'vitest' has already been patched with 'Zone'.\");\n}\n\n(globalThis as any)['__vitest_zone_patch__'] = true;\nconst { SyncTestZoneSpec } = Zone;\nconst { ProxyZoneSpec } = Zone;\n\nif (SyncTestZoneSpec === undefined) {\n throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');\n}\nif (ProxyZoneSpec === undefined) {\n throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');\n}\n\nconst env = globalThis as any;\nconst ambientZone = Zone.current;\n\n// Create a synchronous-only zone in which to run `describe` blocks in order to\n// Raise an error if any asynchronous operations are attempted\n// Inside of a `describe` but outside of a `beforeEach` or `it`.\nconst syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));\nfunction wrapDescribeInZone(describeBody: any) {\n return function (...args: any) {\n return syncZone.run(describeBody, null, args);\n };\n}\n\n// Create a proxy zone in which to run `test` blocks so that the tests function\n// Can retroactively install different zones.\nconst testProxyZone = ambientZone.fork(new ProxyZoneSpec());\nfunction wrapTestInZone(testBody: string | any[] | undefined) {\n if (testBody === undefined) {\n return;\n }\n\n const wrappedFunc = function wrappedFunc(...args: any[]) {\n return testProxyZone.run(testBody, null, args);\n };\n try {\n Object.defineProperty(wrappedFunc, 'length', {\n configurable: true,\n enumerable: false,\n writable: true,\n });\n wrappedFunc.length = testBody.length;\n } catch (e) {\n return testBody.length === 0\n ? () => testProxyZone.run(testBody, null)\n : (done: any) => testProxyZone.run(testBody, null, [done]);\n }\n\n return wrappedFunc;\n}\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 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,\n 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) {\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/**\n * Bind describe method to wrap describe.each function\n */\nconst bindDescribe = (\n self: any,\n originalVitestFn: {\n apply: (\n arg0: any,\n arg1: any[],\n ) => {\n (): any;\n new (): any;\n apply: { (arg0: any, arg1: any[]): any; new (): any };\n };\n },\n) =>\n function bindDescribe(...eachArgs: any) {\n return function bindDescribe(...args: any[]) {\n args[1] = wrapDescribeInZone(args[1]);\n\n return originalVitestFn.apply(self, eachArgs).apply(self, args);\n };\n };\n\n/**\n * Bind test method to wrap test.each function\n */\nconst bindTest = (\n self: any,\n originalVitestFn: {\n apply: (\n arg0: any,\n arg1: any[],\n ) => {\n (): any;\n new (): any;\n apply: { (arg0: any, arg1: any[]): any; new (): any };\n };\n },\n) =>\n function bindTest(...eachArgs: any) {\n return function bindTest(...args: any[]) {\n args[1] = wrapTestInZone(args[1]);\n\n return originalVitestFn.apply(self, eachArgs).apply(self, args);\n };\n };\n\n['describe'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n env[methodName] = function (...args: any[]) {\n args[1] = wrapDescribeInZone(args[1]);\n\n return originalvitestFn.apply(this, args);\n };\n env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);\n if (methodName === 'describe') {\n env[methodName].only = bindDescribe(\n originalvitestFn,\n originalvitestFn.only,\n );\n env[methodName].skip = bindDescribe(\n originalvitestFn,\n originalvitestFn.skip,\n );\n }\n});\n\n['test', 'it'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n env[methodName] = function (...args: any[]) {\n args[1] = wrapTestInZone(args[1]);\n\n return originalvitestFn.apply(this, args);\n };\n env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);\n env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);\n env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);\n\n if (methodName === 'test' || methodName === 'it') {\n env[methodName].todo = function todo(...args: any) {\n return originalvitestFn.todo.apply(this, args);\n };\n }\n});\n\n['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n\n env[methodName] = function (...args: any[]) {\n args[0] = wrapTestInZone(args[0]);\n\n return originalvitestFn.apply(this, args);\n };\n});\n\n['expect'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());\n});\n"],"mappings":"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"}
|
package/src/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { angular } from
|
|
2
|
-
export { PluginOptions } from
|
|
1
|
+
import { angular } from "./lib/angular-vite-plugin.js";
|
|
2
|
+
export type { PluginOptions } from "./lib/angular-vite-plugin.js";
|
|
3
3
|
export default angular;
|
package/src/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import { angular } from
|
|
2
|
-
|
|
1
|
+
import { angular } from "./lib/angular-vite-plugin.js";
|
|
2
|
+
//#region packages/vite-plugin-angular/src/index.ts
|
|
3
|
+
var src_default = angular;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { src_default as default };
|
|
6
|
+
|
|
3
7
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../packages/vite-plugin-angular/src/index.ts"],"sourcesContent":["import { angular } from './lib/angular-vite-plugin.js';\nexport type { PluginOptions } from './lib/angular-vite-plugin.js';\n\nexport default angular;\n"],"mappings":";;AAGA,IAAA,cAAe"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Plugin } from
|
|
2
|
-
export declare function buildOptimizerPlugin({ jit
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { Plugin } from "vite";
|
|
2
|
+
export declare function buildOptimizerPlugin({ jit }: {
|
|
3
|
+
supportedBrowsers: string[];
|
|
4
|
+
jit: boolean;
|
|
5
5
|
}): Plugin;
|
|
@@ -1,64 +1,50 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
code: isProd
|
|
48
|
-
? code.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, '')
|
|
49
|
-
: code,
|
|
50
|
-
map: {
|
|
51
|
-
mappings: '',
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
const sideEffects = jit && id.includes('@angular/compiler') ? true : false;
|
|
56
|
-
const result = await javascriptTransformer.transformData(id, code, false, sideEffects);
|
|
57
|
-
return {
|
|
58
|
-
code: Buffer.from(result).toString(),
|
|
59
|
-
};
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
};
|
|
1
|
+
import { jt } from "./utils/devkit.js";
|
|
2
|
+
import { getJsTransformConfigKey } from "./utils/rolldown.js";
|
|
3
|
+
//#region packages/vite-plugin-angular/src/lib/angular-build-optimizer-plugin.ts
|
|
4
|
+
function buildOptimizerPlugin({ jit }) {
|
|
5
|
+
const javascriptTransformer = new jt({
|
|
6
|
+
sourcemap: false,
|
|
7
|
+
thirdPartySourcemaps: false,
|
|
8
|
+
advancedOptimizations: true,
|
|
9
|
+
jit: true
|
|
10
|
+
}, 1);
|
|
11
|
+
let isProd = false;
|
|
12
|
+
return {
|
|
13
|
+
name: "@analogjs/vite-plugin-angular-optimizer",
|
|
14
|
+
apply: "build",
|
|
15
|
+
config(userConfig) {
|
|
16
|
+
isProd = userConfig.mode === "production" || process.env.NODE_ENV === "production";
|
|
17
|
+
const jsTransformConfigKey = getJsTransformConfigKey();
|
|
18
|
+
return {
|
|
19
|
+
define: isProd ? {
|
|
20
|
+
ngJitMode: "false",
|
|
21
|
+
ngI18nClosureMode: "false",
|
|
22
|
+
ngDevMode: "false",
|
|
23
|
+
ngServerMode: `${!!userConfig.build?.ssr}`
|
|
24
|
+
} : {},
|
|
25
|
+
[jsTransformConfigKey]: { define: isProd ? {
|
|
26
|
+
ngDevMode: "false",
|
|
27
|
+
ngJitMode: "false",
|
|
28
|
+
ngI18nClosureMode: "false",
|
|
29
|
+
ngServerMode: `${!!userConfig.build?.ssr}`
|
|
30
|
+
} : void 0 }
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
transform: {
|
|
34
|
+
filter: { id: /\.[cm]?js$/ },
|
|
35
|
+
async handler(code, id) {
|
|
36
|
+
if (!/fesm20/.test(id)) return {
|
|
37
|
+
code: isProd ? code.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, "") : code,
|
|
38
|
+
map: { mappings: "" }
|
|
39
|
+
};
|
|
40
|
+
const sideEffects = jit && id.includes("@angular/compiler") ? true : false;
|
|
41
|
+
const result = await javascriptTransformer.transformData(id, code, false, sideEffects);
|
|
42
|
+
return { code: Buffer.from(result).toString() };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
63
46
|
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { buildOptimizerPlugin };
|
|
49
|
+
|
|
64
50
|
//# sourceMappingURL=angular-build-optimizer-plugin.js.map
|