@analogjs/vite-plugin-angular 3.0.0-alpha.7 → 3.0.0-alpha.9
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.js +154 -193
- package/setup-vitest.js.map +1 -1
- package/src/index.d.ts +1 -1
- package/src/index.js +6 -2
- package/src/index.js.map +1 -1
- 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.js +31 -37
- package/src/lib/angular-jit-plugin.js.map +1 -1
- 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.js +790 -1076
- package/src/lib/angular-vite-plugin.js.map +1 -1
- package/src/lib/angular-vitest-plugin.d.ts +16 -12
- package/src/lib/angular-vitest-plugin.js +97 -114
- package/src/lib/angular-vitest-plugin.js.map +1 -1
- package/src/lib/compiler-plugin.js +40 -44
- package/src/lib/compiler-plugin.js.map +1 -1
- package/src/lib/component-resolvers.d.ts +4 -2
- package/src/lib/component-resolvers.js +93 -64
- package/src/lib/component-resolvers.js.map +1 -1
- package/src/lib/host.js +69 -101
- package/src/lib/host.js.map +1 -1
- package/src/lib/live-reload-plugin.js +51 -63
- package/src/lib/live-reload-plugin.js.map +1 -1
- 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.js +35 -62
- package/src/lib/plugins/file-replacements.plugin.js.map +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 -5
- package/src/lib/tools/src/builders/vite/vite-build.impl.js +31 -38
- 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 +52 -60
- package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js.map +1 -1
- package/src/lib/tools/src/index.js +0 -2
- package/src/lib/utils/devkit.js +34 -38
- package/src/lib/utils/devkit.js.map +1 -1
- 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.js +35 -37
- package/src/lib/utils/source-file-cache.js.map +1 -1
- package/README.md +0 -91
- 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.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/vite-plugin-angular",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.9",
|
|
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.js
CHANGED
|
@@ -1,215 +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
|
-
|
|
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
|
+
};
|
|
167
124
|
};
|
|
168
125
|
/**
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
+
};
|
|
176
133
|
};
|
|
177
|
-
[
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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
|
+
}
|
|
188
145
|
});
|
|
189
|
-
[
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
};
|
|
202
|
-
}
|
|
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
|
+
};
|
|
203
158
|
});
|
|
204
|
-
[
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
+
};
|
|
210
170
|
});
|
|
211
|
-
[
|
|
212
|
-
|
|
213
|
-
return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());
|
|
171
|
+
["expect"].forEach((methodName) => {
|
|
172
|
+
return env[methodName].addSnapshotSerializer(customSnapshotSerializer());
|
|
214
173
|
});
|
|
174
|
+
//#endregion
|
|
175
|
+
|
|
215
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
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,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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-build-optimizer-plugin.js","
|
|
1
|
+
{"version":3,"file":"angular-build-optimizer-plugin.js","names":[],"sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-build-optimizer-plugin.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite';\nimport { JavaScriptTransformer } from './utils/devkit.js';\nimport { getJsTransformConfigKey } from './utils/rolldown.js';\n\nexport function buildOptimizerPlugin({\n jit,\n}: {\n supportedBrowsers: string[];\n jit: boolean;\n}): Plugin {\n const javascriptTransformer = new JavaScriptTransformer(\n {\n sourcemap: false,\n thirdPartySourcemaps: false,\n advancedOptimizations: true,\n jit: true,\n },\n 1,\n );\n let isProd = false;\n\n return {\n name: '@analogjs/vite-plugin-angular-optimizer',\n apply: 'build',\n config(userConfig) {\n isProd =\n userConfig.mode === 'production' ||\n process.env['NODE_ENV'] === 'production';\n const jsTransformConfigKey = getJsTransformConfigKey();\n\n return {\n define: isProd\n ? {\n ngJitMode: 'false',\n ngI18nClosureMode: 'false',\n ngDevMode: 'false',\n ngServerMode: `${!!userConfig.build?.ssr}`,\n }\n : {},\n [jsTransformConfigKey]: {\n define: isProd\n ? {\n ngDevMode: 'false',\n ngJitMode: 'false',\n ngI18nClosureMode: 'false',\n ngServerMode: `${!!userConfig.build?.ssr}`,\n }\n : undefined,\n },\n } as UserConfig;\n },\n transform: {\n filter: {\n id: /\\.[cm]?js$/,\n },\n async handler(code, id) {\n const angularPackage = /fesm20/.test(id);\n\n if (!angularPackage) {\n return {\n code: isProd\n ? code.replace(/^\\/\\/# sourceMappingURL=[^\\r\\n]*/gm, '')\n : code,\n map: {\n mappings: '',\n },\n };\n }\n\n const sideEffects =\n jit && id.includes('@angular/compiler') ? true : false;\n const result: Uint8Array = await javascriptTransformer.transformData(\n id,\n code,\n false,\n sideEffects,\n );\n\n return {\n code: Buffer.from(result).toString(),\n };\n },\n },\n };\n}\n"],"mappings":";;;AAIA,SAAgB,qBAAqB,EACnC,OAIS;CACT,MAAM,wBAAwB,IAAI,GAChC;EACE,WAAW;EACX,sBAAsB;EACtB,uBAAuB;EACvB,KAAK;EACN,EACD,EACD;CACD,IAAI,SAAS;AAEb,QAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO,YAAY;AACjB,YACE,WAAW,SAAS,gBAAA,QAAA,IAAA,aACQ;GAC9B,MAAM,uBAAuB,yBAAyB;AAEtD,UAAO;IACL,QAAQ,SACJ;KACE,WAAW;KACX,mBAAmB;KACnB,WAAW;KACX,cAAc,GAAG,CAAC,CAAC,WAAW,OAAO;KACtC,GACD,EAAE;KACL,uBAAuB,EACtB,QAAQ,SACJ;KACE,WAAW;KACX,WAAW;KACX,mBAAmB;KACnB,cAAc,GAAG,CAAC,CAAC,WAAW,OAAO;KACtC,GACD,KAAA,GACL;IACF;;EAEH,WAAW;GACT,QAAQ,EACN,IAAI,cACL;GACD,MAAM,QAAQ,MAAM,IAAI;AAGtB,QAAI,CAFmB,SAAS,KAAK,GAAG,CAGtC,QAAO;KACL,MAAM,SACF,KAAK,QAAQ,sCAAsC,GAAG,GACtD;KACJ,KAAK,EACH,UAAU,IACX;KACF;IAGH,MAAM,cACJ,OAAO,GAAG,SAAS,oBAAoB,GAAG,OAAO;IACnD,MAAM,SAAqB,MAAM,sBAAsB,cACrD,IACA,MACA,OACA,YACD;AAED,WAAO,EACL,MAAM,OAAO,KAAK,OAAO,CAAC,UAAU,EACrC;;GAEJ;EACF"}
|