@analogjs/vitest-angular 3.0.0-alpha.1 → 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/README.md +2 -2
- package/_virtual/_@oxc-project_runtime@0.120.0/helpers/decorate.js +9 -0
- package/package.json +8 -8
- package/setup-snapshots.d.ts +18 -18
- package/setup-snapshots.js +71 -95
- package/setup-snapshots.js.map +1 -0
- package/setup-testbed.d.ts +12 -5
- package/setup-testbed.js +23 -24
- package/setup-testbed.js.map +1 -0
- package/setup-zone.d.ts +6 -5
- package/setup-zone.js +90 -105
- package/setup-zone.js.map +1 -0
- package/src/index.d.ts +2 -2
- package/src/index.js +3 -4
- package/src/lib/builders/build/devkit.d.ts +2 -2
- package/src/lib/builders/build/devkit.js +23 -17
- package/src/lib/builders/build/devkit.js.map +1 -0
- package/src/lib/builders/build/plugins/angular-memory-plugin.d.ts +13 -20
- package/src/lib/builders/build/plugins/angular-memory-plugin.js +51 -77
- package/src/lib/builders/build/plugins/angular-memory-plugin.js.map +1 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.d.ts +10 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.js +24 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.js.map +1 -0
- package/src/lib/builders/build/schema.js +53 -0
- package/src/lib/builders/build/schema.js.map +1 -0
- package/src/lib/builders/build/schema.json +44 -44
- package/src/lib/builders/build/utils.d.ts +3 -3
- package/src/lib/builders/build/vitest.impl.d.ts +5 -5
- package/src/lib/builders/build/vitest.impl.js +154 -190
- package/src/lib/builders/build/vitest.impl.js.map +1 -0
- package/src/lib/builders/test/schema.js +51 -0
- package/src/lib/builders/test/schema.js.map +1 -0
- package/src/lib/builders/test/schema.json +44 -44
- package/src/lib/builders/test/vitest.impl.d.ts +1 -1
- package/src/lib/builders/test/vitest.impl.js +48 -58
- package/src/lib/builders/test/vitest.impl.js.map +1 -0
- package/src/lib/tools/package.json +1 -5
- package/src/lib/tools/src/index.d.ts +1 -1
- package/src/lib/tools/src/index.js +3 -6
- package/src/lib/tools/src/schematics/setup/index.d.ts +2 -2
- package/src/lib/tools/src/schematics/setup/index.js +46 -71
- package/src/lib/tools/src/schematics/setup/index.js.map +1 -1
- package/src/lib/tools/src/schematics/utils/angular.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/angular.js +16 -22
- package/src/lib/tools/src/schematics/utils/angular.js.map +1 -1
- package/src/lib/tools/src/schematics/utils/dependencies.d.ts +2 -2
- package/src/lib/tools/src/schematics/utils/dependencies.js +34 -44
- package/src/lib/tools/src/schematics/utils/dependencies.js.map +1 -1
- package/src/lib/tools/src/schematics/utils/index.d.ts +4 -4
- package/src/lib/tools/src/schematics/utils/index.js +4 -8
- package/src/lib/tools/src/schematics/utils/versions.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/versions.js +17 -12
- package/src/lib/tools/src/schematics/utils/versions.js.map +1 -1
- package/src/lib/tools/src/schematics/utils/workspace.d.ts +8 -8
- package/src/lib/tools/src/schematics/utils/workspace.js +14 -17
- package/src/lib/tools/src/schematics/utils/workspace.js.map +1 -1
- package/src/lib/tools/src/test-global-setup.d.ts +1 -0
- package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.d.ts +0 -7
- package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.js +0 -23
- package/src/lib/builders/build/utils.js +0 -1
- package/src/lib/tools/src/index.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/index.js.map +0 -1
package/setup-zone.js
CHANGED
|
@@ -1,117 +1,102 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import "./setup-snapshots.js";
|
|
2
|
+
import "zone.js";
|
|
3
|
+
import "zone.js/plugins/sync-test";
|
|
4
|
+
import "zone.js/plugins/proxy";
|
|
5
|
+
import "zone.js/testing";
|
|
6
|
+
//#region packages/vitest-angular/setup-zone.ts
|
|
6
7
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (SyncTestZoneSpec === undefined) {
|
|
22
|
-
throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');
|
|
23
|
-
}
|
|
24
|
-
if (ProxyZoneSpec === undefined) {
|
|
25
|
-
throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
|
|
26
|
-
}
|
|
27
|
-
const env = globalThis;
|
|
28
|
-
const ambientZone = Zone.current;
|
|
29
|
-
// Create a synchronous-only zone in which to run `describe` blocks in order to
|
|
30
|
-
// raise an error if any asynchronous operations are attempted
|
|
31
|
-
// inside of a `describe` but outside of a `beforeEach` or `it`.
|
|
32
|
-
const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
|
|
8
|
+
* Patch Vitest's describe/test/beforeEach/afterEach functions so test code
|
|
9
|
+
* always runs in a testZone (ProxyZone).
|
|
10
|
+
*/
|
|
11
|
+
var Zone = globalThis["Zone"];
|
|
12
|
+
if (Zone === void 0) throw new Error("Missing: Zone (zone.js)");
|
|
13
|
+
if (globalThis["__vitest_zone_patch__"] === true) throw new Error("'vitest' has already been patched with 'Zone'.");
|
|
14
|
+
globalThis["__vitest_zone_patch__"] = true;
|
|
15
|
+
var SyncTestZoneSpec = Zone["SyncTestZoneSpec"];
|
|
16
|
+
var ProxyZoneSpec = Zone["ProxyZoneSpec"];
|
|
17
|
+
if (SyncTestZoneSpec === void 0) throw new Error("Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)");
|
|
18
|
+
if (ProxyZoneSpec === void 0) throw new Error("Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)");
|
|
19
|
+
var env = globalThis;
|
|
20
|
+
var ambientZone = Zone.current;
|
|
21
|
+
var syncZone = ambientZone.fork(new SyncTestZoneSpec("vitest.describe"));
|
|
33
22
|
function wrapDescribeInZone(describeBody) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
return function(...args) {
|
|
24
|
+
return syncZone.run(describeBody, null, args);
|
|
25
|
+
};
|
|
37
26
|
}
|
|
38
|
-
|
|
39
|
-
// can retroactively install different zones.
|
|
40
|
-
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
27
|
+
var testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
41
28
|
function wrapTestInZone(testBody) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return testBody.length === 0
|
|
58
|
-
? () => testProxyZone.run(testBody, null)
|
|
59
|
-
: (done) => testProxyZone.run(testBody, null, [done]);
|
|
60
|
-
}
|
|
61
|
-
return wrappedFunc;
|
|
29
|
+
if (testBody === void 0) return;
|
|
30
|
+
const wrappedFunc = function(...args) {
|
|
31
|
+
return testProxyZone.run(testBody, null, args);
|
|
32
|
+
};
|
|
33
|
+
try {
|
|
34
|
+
Object.defineProperty(wrappedFunc, "length", {
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
enumerable: false
|
|
38
|
+
});
|
|
39
|
+
wrappedFunc.length = testBody.length;
|
|
40
|
+
} catch (e) {
|
|
41
|
+
return testBody.length === 0 ? () => testProxyZone.run(testBody, null) : (done) => testProxyZone.run(testBody, null, [done]);
|
|
42
|
+
}
|
|
43
|
+
return wrappedFunc;
|
|
62
44
|
}
|
|
63
45
|
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
};
|
|
46
|
+
* bind describe method to wrap describe.each function
|
|
47
|
+
*/
|
|
48
|
+
var bindDescribe = (self, originalVitestFn) => function(...eachArgs) {
|
|
49
|
+
return function(...args) {
|
|
50
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
51
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
52
|
+
};
|
|
72
53
|
};
|
|
73
54
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
};
|
|
55
|
+
* bind test method to wrap test.each function
|
|
56
|
+
*/
|
|
57
|
+
var bindTest = (self, originalVitestFn) => function(...eachArgs) {
|
|
58
|
+
return function(...args) {
|
|
59
|
+
args[1] = wrapTestInZone(args[1]);
|
|
60
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
61
|
+
};
|
|
82
62
|
};
|
|
83
|
-
[
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
63
|
+
["describe"].forEach((methodName) => {
|
|
64
|
+
const originalvitestFn = env[methodName];
|
|
65
|
+
env[methodName] = function(...args) {
|
|
66
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
67
|
+
return originalvitestFn.apply(this, args);
|
|
68
|
+
};
|
|
69
|
+
env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
|
|
70
|
+
if (methodName === "describe") {
|
|
71
|
+
env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
|
|
72
|
+
env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
|
|
73
|
+
}
|
|
94
74
|
});
|
|
95
|
-
[
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
};
|
|
108
|
-
}
|
|
75
|
+
["test", "it"].forEach((methodName) => {
|
|
76
|
+
const originalvitestFn = env[methodName];
|
|
77
|
+
env[methodName] = function(...args) {
|
|
78
|
+
args[1] = wrapTestInZone(args[1]);
|
|
79
|
+
return originalvitestFn.apply(this, args);
|
|
80
|
+
};
|
|
81
|
+
env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
|
|
82
|
+
env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
|
|
83
|
+
env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
|
|
84
|
+
if (methodName === "test" || methodName === "it") env[methodName].todo = function(...args) {
|
|
85
|
+
return originalvitestFn.todo.apply(this, args);
|
|
86
|
+
};
|
|
109
87
|
});
|
|
110
|
-
[
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
88
|
+
[
|
|
89
|
+
"beforeEach",
|
|
90
|
+
"afterEach",
|
|
91
|
+
"beforeAll",
|
|
92
|
+
"afterAll"
|
|
93
|
+
].forEach((methodName) => {
|
|
94
|
+
const originalvitestFn = env[methodName];
|
|
95
|
+
env[methodName] = function(...args) {
|
|
96
|
+
args[0] = wrapTestInZone(args[0]);
|
|
97
|
+
return originalvitestFn.apply(this, args);
|
|
98
|
+
};
|
|
116
99
|
});
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8saUJBQWlCLENBQUM7QUFFekIsT0FBTyxzQkFBc0IsQ0FBQztBQUM5Qjs7O0dBR0c7QUFDSCxpQkFBaUI7QUFDakIsTUFBTSxJQUFJLEdBQUksVUFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV6QyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztJQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELElBQUssVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUEsVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1QyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO0lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7SUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxNQUFNLEdBQUcsR0FBRyxVQUFpQixDQUFDO0FBQzlCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxP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QUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpFLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsSUFBUztZQUMzQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7SUFDMUUsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFXO1FBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd6b25lLmpzJztcbmltcG9ydCAnem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCc7XG5pbXBvcnQgJ3pvbmUuanMvcGx1Z2lucy9wcm94eSc7XG5pbXBvcnQgJ3pvbmUuanMvdGVzdGluZyc7XG5cbmltcG9ydCAnLi9zZXR1cC1zbmFwc2hvdHMuanMnO1xuLyoqXG4gKiBQYXRjaCBWaXRlc3QncyBkZXNjcmliZS90ZXN0L2JlZm9yZUVhY2gvYWZ0ZXJFYWNoIGZ1bmN0aW9ucyBzbyB0ZXN0IGNvZGVcbiAqIGFsd2F5cyBydW5zIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuXG4gKi9cbi8qIGdsb2JhbCBab25lICovXG5jb25zdCBab25lID0gKGdsb2JhbFRoaXMgYXMgYW55KVsnWm9uZSddO1xuXG5pZiAoWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogWm9uZSAoem9uZS5qcyknKTtcbn1cblxuaWYgKChnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID09PSB0cnVlKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIid2aXRlc3QnIGhhcyBhbHJlYWR5IGJlZW4gcGF0Y2hlZCB3aXRoICdab25lJy5cIik7XG59XG5cbihnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID0gdHJ1ZTtcbmNvbnN0IFN5bmNUZXN0Wm9uZVNwZWMgPSBab25lWydTeW5jVGVzdFpvbmVTcGVjJ107XG5jb25zdCBQcm94eVpvbmVTcGVjID0gWm9uZVsnUHJveHlab25lU3BlYyddO1xuXG5pZiAoU3luY1Rlc3Rab25lU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogU3luY1Rlc3Rab25lU3BlYyAoem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCknKTtcbn1cbmlmIChQcm94eVpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nOiBQcm94eVpvbmVTcGVjICh6b25lLmpzL3BsdWdpbnMvcHJveHkuanMpJyk7XG59XG5cbmNvbnN0IGVudiA9IGdsb2JhbFRoaXMgYXMgYW55O1xuY29uc3QgYW1iaWVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG5cbi8vIENyZWF0ZSBhIHN5bmNocm9ub3VzLW9ubHkgem9uZSBpbiB3aGljaCB0byBydW4gYGRlc2NyaWJlYCBibG9ja3MgaW4gb3JkZXIgdG9cbi8vIHJhaXNlIGFuIGVycm9yIGlmIGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBhcmUgYXR0ZW1wdGVkXG4vLyBpbnNpZGUgb2YgYSBgZGVzY3JpYmVgIGJ1dCBvdXRzaWRlIG9mIGEgYGJlZm9yZUVhY2hgIG9yIGBpdGAuXG5jb25zdCBzeW5jWm9uZSA9IGFtYmllbnRab25lLmZvcmsobmV3IFN5bmNUZXN0Wm9uZVNwZWMoJ3ZpdGVzdC5kZXNjcmliZScpKTtcbmZ1bmN0aW9uIHdyYXBEZXNjcmliZUluWm9uZShkZXNjcmliZUJvZHk6IGFueSkge1xuICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCBudWxsLCBhcmdzKTtcbiAgfTtcbn1cblxuLy8gQ3JlYXRlIGEgcHJveHkgem9uZSBpbiB3aGljaCB0byBydW4gYHRlc3RgIGJsb2NrcyBzbyB0aGF0IHRoZSB0ZXN0cyBmdW5jdGlvblxuLy8gY2FuIHJldHJvYWN0aXZlbHkgaW5zdGFsbCBkaWZmZXJlbnQgem9uZXMuXG5jb25zdCB0ZXN0UHJveHlab25lID0gYW1iaWVudFpvbmUuZm9yayhuZXcgUHJveHlab25lU3BlYygpKTtcbmZ1bmN0aW9uIHdyYXBUZXN0SW5ab25lKHRlc3RCb2R5OiBzdHJpbmcgfCBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICBpZiAodGVzdEJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHdyYXBwZWRGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0ZXN0UHJveHlab25lLnJ1bih0ZXN0Qm9keSwgbnVsbCwgYXJndW1lbnRzKTtcbiAgfTtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod3JhcHBlZEZ1bmMsICdsZW5ndGgnLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIH0pO1xuICAgIHdyYXBwZWRGdW5jLmxlbmd0aCA9IHRlc3RCb2R5Lmxlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0ZXN0Qm9keS5sZW5ndGggPT09IDBcbiAgICAgID8gKCkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwpXG4gICAgICA6IChkb25lOiBhbnkpID0+IHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBudWxsLCBbZG9uZV0pO1xuICB9XG5cbiAgcmV0dXJuIHdyYXBwZWRGdW5jO1xufVxuXG4vKipcbiAqIGJpbmQgZGVzY3JpYmUgbWV0aG9kIHRvIHdyYXAgZGVzY3JpYmUuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kRGVzY3JpYmUgPSAoXG4gIHNlbGY6IGFueSxcbiAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgIGFwcGx5OiAoXG4gICAgICBhcmcwOiBhbnksXG4gICAgICBhcmcxOiBhbnlbXSxcbiAgICApID0+IHtcbiAgICAgICgpOiBhbnk7XG4gICAgICBuZXcgKCk6IGFueTtcbiAgICAgIGFwcGx5OiB7IChhcmcwOiBhbnksIGFyZzE6IGFueVtdKTogYW55OyBuZXcgKCk6IGFueSB9O1xuICAgIH07XG4gIH0sXG4pID0+XG4gIGZ1bmN0aW9uICguLi5lYWNoQXJnczogYW55KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBEZXNjcmliZUluWm9uZShhcmdzWzFdKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG9yaWdpbmFsVml0ZXN0Rm4uYXBwbHkoc2VsZiwgZWFjaEFyZ3MpLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgIH07XG4gIH07XG5cbi8qKlxuICogYmluZCB0ZXN0IG1ldGhvZCB0byB3cmFwIHRlc3QuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kVGVzdCA9IChcbiAgc2VsZjogYW55LFxuICBvcmlnaW5hbFZpdGVzdEZuOiB7XG4gICAgYXBwbHk6IChcbiAgICAgIGFyZzA6IGFueSxcbiAgICAgIGFyZzE6IGFueVtdLFxuICAgICkgPT4ge1xuICAgICAgKCk6IGFueTtcbiAgICAgIG5ldyAoKTogYW55O1xuICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgfTtcbiAgfSxcbikgPT5cbiAgZnVuY3Rpb24gKC4uLmVhY2hBcmdzOiBhbnkpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBhcmdzWzFdID0gd3JhcFRlc3RJblpvbmUoYXJnc1sxXSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBvcmlnaW5hbFZpdGVzdEZuLmFwcGx5KHNlbGYsIGVhY2hBcmdzKS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICB9O1xuICB9O1xuXG5bJ2Rlc2NyaWJlJ10uZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICBlbnZbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBhcmdzWzFdID0gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG4gIGVudlttZXRob2ROYW1lXS5lYWNoID0gYmluZERlc2NyaWJlKG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGlmIChtZXRob2ROYW1lID09PSAnZGVzY3JpYmUnKSB7XG4gICAgZW52W21ldGhvZE5hbWVdLm9ubHkgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5vbmx5LFxuICAgICk7XG4gICAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5za2lwLFxuICAgICk7XG4gIH1cbn0pO1xuXG5bJ3Rlc3QnLCAnaXQnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG4gIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGFyZ3NbMV0gPSB3cmFwVGVzdEluWm9uZShhcmdzWzFdKTtcblxuICAgIHJldHVybiBvcmlnaW5hbHZpdGVzdEZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9O1xuICBlbnZbbWV0aG9kTmFtZV0uZWFjaCA9IGJpbmRUZXN0KG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGVudlttZXRob2ROYW1lXS5vbmx5ID0gYmluZFRlc3Qob3JpZ2luYWx2aXRlc3RGbiwgb3JpZ2luYWx2aXRlc3RGbi5vbmx5KTtcbiAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kVGVzdChvcmlnaW5hbHZpdGVzdEZuLCBvcmlnaW5hbHZpdGVzdEZuLnNraXApO1xuXG4gIGlmIChtZXRob2ROYW1lID09PSAndGVzdCcgfHwgbWV0aG9kTmFtZSA9PT0gJ2l0Jykge1xuICAgIGVudlttZXRob2ROYW1lXS50b2RvID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4udG9kby5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICB9XG59KTtcblxuWydiZWZvcmVFYWNoJywgJ2FmdGVyRWFjaCcsICdiZWZvcmVBbGwnLCAnYWZ0ZXJBbGwnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG5cbiAgZW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgYXJnc1swXSA9IHdyYXBUZXN0SW5ab25lKGFyZ3NbMF0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG59KTtcbiJdfQ==
|
|
100
|
+
//#endregion
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=setup-zone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-zone.js","names":[],"sources":["../../../packages/vitest-angular/setup-zone.ts"],"sourcesContent":["import 'zone.js';\nimport 'zone.js/plugins/sync-test';\nimport 'zone.js/plugins/proxy';\nimport 'zone.js/testing';\n\nimport './setup-snapshots.js';\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)['Zone'];\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['SyncTestZoneSpec'];\nconst ProxyZoneSpec = Zone['ProxyZoneSpec'];\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 (...args: any[]) {\n return testProxyZone.run(testBody, null, args);\n };\n try {\n Object.defineProperty(wrappedFunc, 'length', {\n configurable: true,\n writable: true,\n enumerable: false,\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 * 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 (...eachArgs: any) {\n return function (...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 (...eachArgs: any) {\n return function (...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 (...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"],"mappings":";;;;;;;;;;AAWA,IAAM,OAAQ,WAAmB;AAEjC,IAAI,SAAS,KAAA,EACX,OAAM,IAAI,MAAM,0BAA0B;AAG5C,IAAK,WAAmB,6BAA6B,KACnD,OAAM,IAAI,MAAM,iDAAiD;AAGnE,WAAoB,2BAA2B;AAC/C,IAAM,mBAAmB,KAAK;AAC9B,IAAM,gBAAgB,KAAK;AAE3B,IAAI,qBAAqB,KAAA,EACvB,OAAM,IAAI,MAAM,wDAAwD;AAE1E,IAAI,kBAAkB,KAAA,EACpB,OAAM,IAAI,MAAM,oDAAoD;AAGtE,IAAM,MAAM;AACZ,IAAM,cAAc,KAAK;AAKzB,IAAM,WAAW,YAAY,KAAK,IAAI,iBAAiB,kBAAkB,CAAC;AAC1E,SAAS,mBAAmB,cAAmB;AAC7C,QAAO,SAAU,GAAG,MAAW;AAC7B,SAAO,SAAS,IAAI,cAAc,MAAM,KAAK;;;AAMjD,IAAM,gBAAgB,YAAY,KAAK,IAAI,eAAe,CAAC;AAC3D,SAAS,eAAe,UAAsC;AAC5D,KAAI,aAAa,KAAA,EACf;CAGF,MAAM,cAAc,SAAU,GAAG,MAAa;AAC5C,SAAO,cAAc,IAAI,UAAU,MAAM,KAAK;;AAEhD,KAAI;AACF,SAAO,eAAe,aAAa,UAAU;GAC3C,cAAc;GACd,UAAU;GACV,YAAY;GACb,CAAC;AACF,cAAY,SAAS,SAAS;UACvB,GAAG;AACV,SAAO,SAAS,WAAW,UACjB,cAAc,IAAI,UAAU,KAAK,IACtC,SAAc,cAAc,IAAI,UAAU,MAAM,CAAC,KAAK,CAAC;;AAG9D,QAAO;;;;;AAMT,IAAM,gBACJ,MACA,qBAWA,SAAU,GAAG,UAAe;AAC1B,QAAO,SAAU,GAAG,MAAa;AAC/B,OAAK,KAAK,mBAAmB,KAAK,GAAG;AAErC,SAAO,iBAAiB,MAAM,MAAM,SAAS,CAAC,MAAM,MAAM,KAAK;;;;;;AAOrE,IAAM,YACJ,MACA,qBAWA,SAAU,GAAG,UAAe;AAC1B,QAAO,SAAU,GAAG,MAAa;AAC/B,OAAK,KAAK,eAAe,KAAK,GAAG;AAEjC,SAAO,iBAAiB,MAAM,MAAM,SAAS,CAAC,MAAM,MAAM,KAAK;;;AAIrE,CAAC,WAAW,CAAC,SAAS,eAAe;CACnC,MAAM,mBAAmB,IAAI;AAC7B,KAAI,cAAc,SAAU,GAAG,MAAa;AAC1C,OAAK,KAAK,mBAAmB,KAAK,GAAG;AAErC,SAAO,iBAAiB,MAAM,MAAM,KAAK;;AAE3C,KAAI,YAAY,OAAO,aAAa,kBAAkB,iBAAiB,KAAK;AAC5E,KAAI,eAAe,YAAY;AAC7B,MAAI,YAAY,OAAO,aACrB,kBACA,iBAAiB,KAClB;AACD,MAAI,YAAY,OAAO,aACrB,kBACA,iBAAiB,KAClB;;EAEH;AAEF,CAAC,QAAQ,KAAK,CAAC,SAAS,eAAe;CACrC,MAAM,mBAAmB,IAAI;AAC7B,KAAI,cAAc,SAAU,GAAG,MAAa;AAC1C,OAAK,KAAK,eAAe,KAAK,GAAG;AAEjC,SAAO,iBAAiB,MAAM,MAAM,KAAK;;AAE3C,KAAI,YAAY,OAAO,SAAS,kBAAkB,iBAAiB,KAAK;AACxE,KAAI,YAAY,OAAO,SAAS,kBAAkB,iBAAiB,KAAK;AACxE,KAAI,YAAY,OAAO,SAAS,kBAAkB,iBAAiB,KAAK;AAExE,KAAI,eAAe,UAAU,eAAe,KAC1C,KAAI,YAAY,OAAO,SAAU,GAAG,MAAW;AAC7C,SAAO,iBAAiB,KAAK,MAAM,MAAM,KAAK;;EAGlD;AAEF;CAAC;CAAc;CAAa;CAAa;CAAW,CAAC,SAAS,eAAe;CAC3E,MAAM,mBAAmB,IAAI;AAE7B,KAAI,cAAc,SAAU,GAAG,MAAa;AAC1C,OAAK,KAAK,eAAe,KAAK,GAAG;AAEjC,SAAO,iBAAiB,MAAM,MAAM,KAAK;;EAE3C"}
|
package/src/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import vitestBuilder from
|
|
2
|
-
import vitestApplicationBuilder from
|
|
1
|
+
import vitestBuilder from "./lib/builders/test/vitest.impl";
|
|
2
|
+
import vitestApplicationBuilder from "./lib/builders/build/vitest.impl";
|
|
3
3
|
export { vitestBuilder, vitestApplicationBuilder };
|
package/src/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export {
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy92aXRlc3QtYW5ndWxhci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyx3QkFBd0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdml0ZXN0QnVpbGRlciBmcm9tICcuL2xpYi9idWlsZGVycy90ZXN0L3ZpdGVzdC5pbXBsJztcbmltcG9ydCB2aXRlc3RBcHBsaWNhdGlvbkJ1aWxkZXIgZnJvbSAnLi9saWIvYnVpbGRlcnMvYnVpbGQvdml0ZXN0LmltcGwnO1xuXG5leHBvcnQgeyB2aXRlc3RCdWlsZGVyLCB2aXRlc3RBcHBsaWNhdGlvbkJ1aWxkZXIgfTtcbiJdfQ==
|
|
1
|
+
import vitest_impl_default$1 from "./lib/builders/test/vitest.impl.js";
|
|
2
|
+
import vitest_impl_default from "./lib/builders/build/vitest.impl.js";
|
|
3
|
+
export { vitest_impl_default as vitestApplicationBuilder, vitest_impl_default$1 as vitestBuilder };
|
|
@@ -1,18 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
//#region packages/vitest-angular/src/lib/builders/build/devkit.ts
|
|
3
|
+
var _require = createRequire(import.meta.url);
|
|
4
|
+
async function getBuildApplicationFunction() {
|
|
5
|
+
const { VERSION } = await Function("return import(\"@angular/compiler-cli\")")();
|
|
6
|
+
const angularVersion = Number(VERSION.major);
|
|
7
|
+
let buildApplicationInternal;
|
|
8
|
+
if (angularVersion < 17) throw new Error("This builder is not supported with versions earlier than Angular v17");
|
|
9
|
+
else if (angularVersion >= 17 && angularVersion < 18) {
|
|
10
|
+
const { buildApplicationInternal: buildApplicationInternalFn } = _require("@angular-devkit/build-angular/src/builders/application");
|
|
11
|
+
buildApplicationInternal = buildApplicationInternalFn;
|
|
12
|
+
} else {
|
|
13
|
+
const { buildApplicationInternal: buildApplicationInternalFn } = _require("@angular/build/private");
|
|
14
|
+
buildApplicationInternal = buildApplicationInternalFn;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
buildApplicationInternal,
|
|
18
|
+
angularVersion
|
|
19
|
+
};
|
|
17
20
|
}
|
|
18
|
-
//#
|
|
21
|
+
//#endregion
|
|
22
|
+
export { getBuildApplicationFunction };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=devkit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devkit.js","names":[],"sources":["../../../../../../../packages/vitest-angular/src/lib/builders/build/devkit.ts"],"sourcesContent":["import { createRequire } from 'node:module';\n\nconst _require = createRequire(import.meta.url);\n\nexport async function getBuildApplicationFunction(): Promise<{\n buildApplicationInternal: (...args: any[]) => any;\n angularVersion: number;\n}> {\n const { VERSION } = await (Function(\n 'return import(\"@angular/compiler-cli\")',\n )() as Promise<{ VERSION: { major: string; minor: string } }>);\n\n const angularVersion = Number(VERSION.major);\n let buildApplicationInternal: (...args: any[]) => any;\n\n if (angularVersion < 17) {\n throw new Error(\n 'This builder is not supported with versions earlier than Angular v17',\n );\n } else if (angularVersion >= 17 && angularVersion < 18) {\n const { buildApplicationInternal: buildApplicationInternalFn } = _require(\n '@angular-devkit/build-angular/src/builders/application',\n );\n\n buildApplicationInternal = buildApplicationInternalFn;\n } else {\n const { buildApplicationInternal: buildApplicationInternalFn } = _require(\n '@angular/build/private',\n );\n\n buildApplicationInternal = buildApplicationInternalFn;\n }\n\n return { buildApplicationInternal, angularVersion };\n}\n"],"mappings":";;AAEA,IAAM,WAAW,cAAc,OAAO,KAAK,IAAI;AAE/C,eAAsB,8BAGnB;CACD,MAAM,EAAE,YAAY,MAAO,SACzB,2CACD,EAAE;CAEH,MAAM,iBAAiB,OAAO,QAAQ,MAAM;CAC5C,IAAI;AAEJ,KAAI,iBAAiB,GACnB,OAAM,IAAI,MACR,uEACD;UACQ,kBAAkB,MAAM,iBAAiB,IAAI;EACtD,MAAM,EAAE,0BAA0B,+BAA+B,SAC/D,yDACD;AAED,6BAA2B;QACtB;EACL,MAAM,EAAE,0BAA0B,+BAA+B,SAC/D,yBACD;AAED,6BAA2B;;AAG7B,QAAO;EAAE;EAA0B;EAAgB"}
|
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
-
*/
|
|
8
|
-
import { AngularMemoryOutputFiles } from '../utils';
|
|
1
|
+
import { AngularMemoryOutputFiles } from "../utils";
|
|
9
2
|
interface AngularMemoryPluginOptions {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
workspaceRoot?: string;
|
|
4
|
+
angularVersion: number;
|
|
5
|
+
outputFiles: AngularMemoryOutputFiles;
|
|
6
|
+
external?: string[];
|
|
14
7
|
}
|
|
15
8
|
export declare function createAngularMemoryPlugin(options: AngularMemoryPluginOptions): Promise<{
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
name: string;
|
|
10
|
+
enforce: string;
|
|
11
|
+
config: (userConfig: any) => void;
|
|
12
|
+
resolveId: (source: string, importer: string) => Promise<string | undefined>;
|
|
13
|
+
load: (id: string) => {
|
|
14
|
+
code: string;
|
|
15
|
+
map: string | undefined;
|
|
16
|
+
} | undefined;
|
|
24
17
|
}>;
|
|
25
18
|
export {};
|
|
@@ -1,79 +1,53 @@
|
|
|
1
|
+
import { dirname, join, relative, resolve } from "node:path";
|
|
2
|
+
//#region packages/vitest-angular/src/lib/builders/build/plugins/angular-memory-plugin.ts
|
|
1
3
|
/**
|
|
2
|
-
|
|
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
|
-
|
|
47
|
-
}
|
|
48
|
-
return;
|
|
49
|
-
},
|
|
50
|
-
load(id) {
|
|
51
|
-
const [file] = id.split('?', 1);
|
|
52
|
-
const relativeFile = options.angularVersion < 19
|
|
53
|
-
? normalizePath(relative(projectRoot, file))
|
|
54
|
-
.replace(/^.*\//, '')
|
|
55
|
-
.replace('.ts', '.js')
|
|
56
|
-
: 'spec-' +
|
|
57
|
-
normalizePath(relative(projectRoot, file))
|
|
58
|
-
.replace('.ts', '.js')
|
|
59
|
-
.replace(/^[./]+/, '_')
|
|
60
|
-
.replace(/\//g, '-');
|
|
61
|
-
const codeContents = outputFiles.get(relativeFile)?.contents ||
|
|
62
|
-
outputFiles.get(id)?.contents;
|
|
63
|
-
if (codeContents === undefined) {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
const code = Buffer.from(codeContents).toString('utf-8');
|
|
67
|
-
const mapContents = outputFiles.get(relativeFile + '.map')?.contents;
|
|
68
|
-
return {
|
|
69
|
-
// Remove source map URL comments from the code if a sourcemap is present.
|
|
70
|
-
// Vite will inline and add an additional sourcemap URL for the sourcemap.
|
|
71
|
-
code: mapContents
|
|
72
|
-
? code.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, '')
|
|
73
|
-
: code,
|
|
74
|
-
map: mapContents && Buffer.from(mapContents).toString('utf-8'),
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
};
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright Google LLC All Rights Reserved.
|
|
6
|
+
*
|
|
7
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
8
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
9
|
+
*/
|
|
10
|
+
async function createAngularMemoryPlugin(options) {
|
|
11
|
+
const { normalizePath } = await Function("return import(\"vite\")")();
|
|
12
|
+
const { outputFiles, external } = options;
|
|
13
|
+
let config;
|
|
14
|
+
let projectRoot;
|
|
15
|
+
const workspaceRoot = options?.workspaceRoot || process.cwd();
|
|
16
|
+
return {
|
|
17
|
+
name: "vite:angular-memory",
|
|
18
|
+
enforce: "pre",
|
|
19
|
+
config(userConfig) {
|
|
20
|
+
config = userConfig;
|
|
21
|
+
projectRoot = resolve(workspaceRoot, config.root || ".");
|
|
22
|
+
},
|
|
23
|
+
async resolveId(source, importer) {
|
|
24
|
+
if (external?.includes(source)) return source;
|
|
25
|
+
if (importer) {
|
|
26
|
+
if (source[0] === "." && normalizePath(importer).startsWith(projectRoot)) {
|
|
27
|
+
const [importerFile] = importer.split("?", 1);
|
|
28
|
+
source = "/" + join(dirname(relative(projectRoot, importerFile)), source);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const [file] = source.split("?", 1);
|
|
32
|
+
const fileSplits = file.split("/");
|
|
33
|
+
if (outputFiles.has(fileSplits[fileSplits.length - 1])) return fileSplits[fileSplits.length - 1];
|
|
34
|
+
if (outputFiles.has(file)) return join(projectRoot, source);
|
|
35
|
+
},
|
|
36
|
+
load(id) {
|
|
37
|
+
const [file] = id.split("?", 1);
|
|
38
|
+
const relativeFile = options.angularVersion < 19 ? normalizePath(relative(projectRoot, file)).replace(/^.*\//, "").replace(".ts", ".js") : "spec-" + normalizePath(relative(projectRoot, file)).replace(".ts", ".js").replace(/^[./]+/, "_").replace(/\//g, "-");
|
|
39
|
+
const codeContents = outputFiles.get(relativeFile)?.contents || outputFiles.get(id)?.contents;
|
|
40
|
+
if (codeContents === void 0) return;
|
|
41
|
+
const code = Buffer.from(codeContents).toString("utf-8");
|
|
42
|
+
const mapContents = outputFiles.get(relativeFile + ".map")?.contents;
|
|
43
|
+
return {
|
|
44
|
+
code: mapContents ? code.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, "") : code,
|
|
45
|
+
map: mapContents && Buffer.from(mapContents).toString("utf-8")
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
};
|
|
78
49
|
}
|
|
79
|
-
//#
|
|
50
|
+
//#endregion
|
|
51
|
+
export { createAngularMemoryPlugin };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=angular-memory-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular-memory-plugin.js","names":[],"sources":["../../../../../../../../packages/vitest-angular/src/lib/builders/build/plugins/angular-memory-plugin.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n// import assert from 'node:assert';\nimport { dirname, join, relative, resolve } from 'node:path';\n\nimport { AngularMemoryOutputFiles } from '../utils';\n\ninterface AngularMemoryPluginOptions {\n workspaceRoot?: string;\n angularVersion: number;\n outputFiles: AngularMemoryOutputFiles;\n external?: string[];\n}\n\nexport async function createAngularMemoryPlugin(\n options: AngularMemoryPluginOptions,\n): Promise<{\n name: string;\n enforce: string;\n config: (userConfig: any) => void;\n resolveId: (source: string, importer: string) => Promise<string | undefined>;\n load: (id: string) => { code: string; map: string | undefined } | undefined;\n}> {\n const { normalizePath } = await (Function(\n 'return import(\"vite\")',\n )() as Promise<typeof import('vite')>);\n const { outputFiles, external } = options;\n let config;\n let projectRoot: string;\n const workspaceRoot = options?.workspaceRoot || process.cwd();\n\n return {\n name: 'vite:angular-memory',\n // Ensures plugin hooks run before built-in Vite hooks\n enforce: 'pre',\n config(userConfig: any) {\n config = userConfig;\n projectRoot = resolve(workspaceRoot, config.root || '.');\n },\n async resolveId(source: string, importer: string) {\n // Prevent vite from resolving an explicit external dependency (`externalDependencies` option)\n if (external?.includes(source)) {\n // This is still not ideal since Vite will still transform the import specifier to\n // `/@id/${source}` but is currently closer to a raw external than a resolved file path.\n return source;\n }\n\n if (importer) {\n if (\n source[0] === '.' &&\n normalizePath(importer).startsWith(projectRoot)\n ) {\n // Remove query if present\n const [importerFile] = importer.split('?', 1);\n source =\n '/' + join(dirname(relative(projectRoot, importerFile)), source);\n }\n }\n\n const [file] = source.split('?', 1);\n const fileSplits = file.split('/');\n\n if (outputFiles.has(fileSplits[fileSplits.length - 1])) {\n return fileSplits[fileSplits.length - 1];\n }\n\n if (outputFiles.has(file)) {\n return join(projectRoot, source);\n }\n return;\n },\n load(id: string) {\n const [file] = id.split('?', 1);\n const relativeFile =\n options.angularVersion < 19\n ? normalizePath(relative(projectRoot, file))\n .replace(/^.*\\//, '')\n .replace('.ts', '.js')\n : 'spec-' +\n normalizePath(relative(projectRoot, file))\n .replace('.ts', '.js')\n .replace(/^[./]+/, '_')\n .replace(/\\//g, '-');\n\n const codeContents =\n outputFiles.get(relativeFile)?.contents ||\n outputFiles.get(id)?.contents;\n if (codeContents === undefined) {\n return undefined;\n }\n\n const code = Buffer.from(codeContents).toString('utf-8');\n const mapContents = outputFiles.get(relativeFile + '.map')?.contents;\n\n return {\n // Remove source map URL comments from the code if a sourcemap is present.\n // Vite will inline and add an additional sourcemap URL for the sourcemap.\n code: mapContents\n ? code.replace(/^\\/\\/# sourceMappingURL=[^\\r\\n]*/gm, '')\n : code,\n map: mapContents && Buffer.from(mapContents).toString('utf-8'),\n };\n },\n };\n}\n"],"mappings":";;;;;;;;;AAoBA,eAAsB,0BACpB,SAOC;CACD,MAAM,EAAE,kBAAkB,MAAO,SAC/B,0BACD,EAAE;CACH,MAAM,EAAE,aAAa,aAAa;CAClC,IAAI;CACJ,IAAI;CACJ,MAAM,gBAAgB,SAAS,iBAAiB,QAAQ,KAAK;AAE7D,QAAO;EACL,MAAM;EAEN,SAAS;EACT,OAAO,YAAiB;AACtB,YAAS;AACT,iBAAc,QAAQ,eAAe,OAAO,QAAQ,IAAI;;EAE1D,MAAM,UAAU,QAAgB,UAAkB;AAEhD,OAAI,UAAU,SAAS,OAAO,CAG5B,QAAO;AAGT,OAAI;QAEA,OAAO,OAAO,OACd,cAAc,SAAS,CAAC,WAAW,YAAY,EAC/C;KAEA,MAAM,CAAC,gBAAgB,SAAS,MAAM,KAAK,EAAE;AAC7C,cACE,MAAM,KAAK,QAAQ,SAAS,aAAa,aAAa,CAAC,EAAE,OAAO;;;GAItE,MAAM,CAAC,QAAQ,OAAO,MAAM,KAAK,EAAE;GACnC,MAAM,aAAa,KAAK,MAAM,IAAI;AAElC,OAAI,YAAY,IAAI,WAAW,WAAW,SAAS,GAAG,CACpD,QAAO,WAAW,WAAW,SAAS;AAGxC,OAAI,YAAY,IAAI,KAAK,CACvB,QAAO,KAAK,aAAa,OAAO;;EAIpC,KAAK,IAAY;GACf,MAAM,CAAC,QAAQ,GAAG,MAAM,KAAK,EAAE;GAC/B,MAAM,eACJ,QAAQ,iBAAiB,KACrB,cAAc,SAAS,aAAa,KAAK,CAAC,CACvC,QAAQ,SAAS,GAAG,CACpB,QAAQ,OAAO,MAAM,GACxB,UACA,cAAc,SAAS,aAAa,KAAK,CAAC,CACvC,QAAQ,OAAO,MAAM,CACrB,QAAQ,UAAU,IAAI,CACtB,QAAQ,OAAO,IAAI;GAE5B,MAAM,eACJ,YAAY,IAAI,aAAa,EAAE,YAC/B,YAAY,IAAI,GAAG,EAAE;AACvB,OAAI,iBAAiB,KAAA,EACnB;GAGF,MAAM,OAAO,OAAO,KAAK,aAAa,CAAC,SAAS,QAAQ;GACxD,MAAM,cAAc,YAAY,IAAI,eAAe,OAAO,EAAE;AAE5D,UAAO;IAGL,MAAM,cACF,KAAK,QAAQ,sCAAsC,GAAG,GACtD;IACJ,KAAK,eAAe,OAAO,KAAK,YAAY,CAAC,SAAS,QAAQ;IAC/D;;EAEJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type SourceMap } from "oxc-transform";
|
|
2
|
+
export declare function downlevelPlugin(): {
|
|
3
|
+
name: string;
|
|
4
|
+
transform(_code: string, id: string): {
|
|
5
|
+
code: string;
|
|
6
|
+
map: SourceMap | undefined;
|
|
7
|
+
} | undefined;
|
|
8
|
+
};
|
|
9
|
+
/** @deprecated Use {@link downlevelPlugin} instead. */
|
|
10
|
+
export declare const esbuildDownlevelPlugin: typeof downlevelPlugin;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { transformSync } from "oxc-transform";
|
|
2
|
+
//#region packages/vitest-angular/src/lib/builders/build/plugins/downlevel-plugin.ts
|
|
3
|
+
function downlevelPlugin() {
|
|
4
|
+
return {
|
|
5
|
+
name: "analogjs-vitest-oxc-downlevel-plugin",
|
|
6
|
+
transform(_code, id) {
|
|
7
|
+
if (_code.includes("async (")) {
|
|
8
|
+
const { code, map } = transformSync(id, _code, {
|
|
9
|
+
lang: "js",
|
|
10
|
+
target: "es2016",
|
|
11
|
+
sourcemap: true
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
code,
|
|
15
|
+
map
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { downlevelPlugin };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=downlevel-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downlevel-plugin.js","names":[],"sources":["../../../../../../../../packages/vitest-angular/src/lib/builders/build/plugins/downlevel-plugin.ts"],"sourcesContent":["import { type SourceMap, transformSync } from 'oxc-transform';\n\nexport function downlevelPlugin(): {\n name: string;\n transform(\n _code: string,\n id: string,\n ): { code: string; map: SourceMap | undefined } | undefined;\n} {\n return {\n name: 'analogjs-vitest-oxc-downlevel-plugin',\n transform(\n _code: string,\n id: string,\n ): { code: string; map: SourceMap | undefined } | undefined {\n if (_code.includes('async (')) {\n const { code, map } = transformSync(id, _code, {\n lang: 'js',\n target: 'es2016',\n sourcemap: true,\n });\n\n return {\n code,\n map,\n };\n }\n\n return undefined;\n },\n };\n}\n\n/** @deprecated Use {@link downlevelPlugin} instead. */\nexport const esbuildDownlevelPlugin: typeof downlevelPlugin = downlevelPlugin;\n"],"mappings":";;AAEA,SAAgB,kBAMd;AACA,QAAO;EACL,MAAM;EACN,UACE,OACA,IAC0D;AAC1D,OAAI,MAAM,SAAS,UAAU,EAAE;IAC7B,MAAM,EAAE,MAAM,QAAQ,cAAc,IAAI,OAAO;KAC7C,MAAM;KACN,QAAQ;KACR,WAAW;KACZ,CAAC;AAEF,WAAO;KACL;KACA;KACD;;;EAKN"}
|