@analogjs/vitest-angular 3.0.0-alpha.1 → 3.0.0-alpha.11

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.
Files changed (62) hide show
  1. package/README.md +2 -2
  2. package/_virtual/_@oxc-project_runtime@0.120.0/helpers/decorate.js +9 -0
  3. package/package.json +8 -8
  4. package/setup-snapshots.d.ts +18 -18
  5. package/setup-snapshots.js +71 -95
  6. package/setup-snapshots.js.map +1 -0
  7. package/setup-testbed.d.ts +12 -5
  8. package/setup-testbed.js +23 -24
  9. package/setup-testbed.js.map +1 -0
  10. package/setup-zone.d.ts +6 -5
  11. package/setup-zone.js +90 -105
  12. package/setup-zone.js.map +1 -0
  13. package/src/index.d.ts +2 -2
  14. package/src/index.js +3 -4
  15. package/src/lib/builders/build/devkit.d.ts +2 -2
  16. package/src/lib/builders/build/devkit.js +23 -17
  17. package/src/lib/builders/build/devkit.js.map +1 -0
  18. package/src/lib/builders/build/plugins/angular-memory-plugin.d.ts +13 -20
  19. package/src/lib/builders/build/plugins/angular-memory-plugin.js +51 -77
  20. package/src/lib/builders/build/plugins/angular-memory-plugin.js.map +1 -0
  21. package/src/lib/builders/build/plugins/downlevel-plugin.d.ts +10 -0
  22. package/src/lib/builders/build/plugins/downlevel-plugin.js +24 -0
  23. package/src/lib/builders/build/plugins/downlevel-plugin.js.map +1 -0
  24. package/src/lib/builders/build/schema.js +53 -0
  25. package/src/lib/builders/build/schema.js.map +1 -0
  26. package/src/lib/builders/build/schema.json +44 -44
  27. package/src/lib/builders/build/utils.d.ts +3 -3
  28. package/src/lib/builders/build/vitest.impl.d.ts +5 -5
  29. package/src/lib/builders/build/vitest.impl.js +154 -190
  30. package/src/lib/builders/build/vitest.impl.js.map +1 -0
  31. package/src/lib/builders/test/schema.js +51 -0
  32. package/src/lib/builders/test/schema.js.map +1 -0
  33. package/src/lib/builders/test/schema.json +44 -44
  34. package/src/lib/builders/test/vitest.impl.d.ts +1 -1
  35. package/src/lib/builders/test/vitest.impl.js +48 -58
  36. package/src/lib/builders/test/vitest.impl.js.map +1 -0
  37. package/src/lib/tools/package.json +1 -5
  38. package/src/lib/tools/src/index.d.ts +1 -1
  39. package/src/lib/tools/src/index.js +3 -6
  40. package/src/lib/tools/src/schematics/setup/index.d.ts +2 -2
  41. package/src/lib/tools/src/schematics/setup/index.js +46 -71
  42. package/src/lib/tools/src/schematics/setup/index.js.map +1 -1
  43. package/src/lib/tools/src/schematics/utils/angular.d.ts +1 -1
  44. package/src/lib/tools/src/schematics/utils/angular.js +16 -22
  45. package/src/lib/tools/src/schematics/utils/angular.js.map +1 -1
  46. package/src/lib/tools/src/schematics/utils/dependencies.d.ts +2 -2
  47. package/src/lib/tools/src/schematics/utils/dependencies.js +34 -44
  48. package/src/lib/tools/src/schematics/utils/dependencies.js.map +1 -1
  49. package/src/lib/tools/src/schematics/utils/index.d.ts +4 -4
  50. package/src/lib/tools/src/schematics/utils/index.js +4 -8
  51. package/src/lib/tools/src/schematics/utils/versions.d.ts +1 -1
  52. package/src/lib/tools/src/schematics/utils/versions.js +17 -12
  53. package/src/lib/tools/src/schematics/utils/versions.js.map +1 -1
  54. package/src/lib/tools/src/schematics/utils/workspace.d.ts +8 -8
  55. package/src/lib/tools/src/schematics/utils/workspace.js +14 -17
  56. package/src/lib/tools/src/schematics/utils/workspace.js.map +1 -1
  57. package/src/lib/tools/src/test-global-setup.d.ts +1 -0
  58. package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.d.ts +0 -7
  59. package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.js +0 -23
  60. package/src/lib/builders/build/utils.js +0 -1
  61. package/src/lib/tools/src/index.js.map +0 -1
  62. package/src/lib/tools/src/schematics/utils/index.js.map +0 -1
package/setup-zone.js CHANGED
@@ -1,117 +1,102 @@
1
- import 'zone.js';
2
- import 'zone.js/plugins/sync-test';
3
- import 'zone.js/plugins/proxy';
4
- import 'zone.js/testing';
5
- import './setup-snapshots.js';
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
- * Patch Vitest's describe/test/beforeEach/afterEach functions so test code
8
- * always runs in a testZone (ProxyZone).
9
- */
10
- /* global Zone */
11
- const Zone = globalThis['Zone'];
12
- if (Zone === undefined) {
13
- throw new Error('Missing: Zone (zone.js)');
14
- }
15
- if (globalThis['__vitest_zone_patch__'] === true) {
16
- throw new Error("'vitest' has already been patched with 'Zone'.");
17
- }
18
- globalThis['__vitest_zone_patch__'] = true;
19
- const SyncTestZoneSpec = Zone['SyncTestZoneSpec'];
20
- const ProxyZoneSpec = Zone['ProxyZoneSpec'];
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
- return function (...args) {
35
- return syncZone.run(describeBody, null, args);
36
- };
23
+ return function(...args) {
24
+ return syncZone.run(describeBody, null, args);
25
+ };
37
26
  }
38
- // Create a proxy zone in which to run `test` blocks so that the tests function
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
- if (testBody === undefined) {
43
- return;
44
- }
45
- const wrappedFunc = function () {
46
- return testProxyZone.run(testBody, null, arguments);
47
- };
48
- try {
49
- Object.defineProperty(wrappedFunc, 'length', {
50
- configurable: true,
51
- writable: true,
52
- enumerable: false,
53
- });
54
- wrappedFunc.length = testBody.length;
55
- }
56
- catch (e) {
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
- * bind describe method to wrap describe.each function
65
- */
66
- const bindDescribe = (self, originalVitestFn) => function (...eachArgs) {
67
- return function (...args) {
68
- args[1] = wrapDescribeInZone(args[1]);
69
- // @ts-ignore
70
- return originalVitestFn.apply(self, eachArgs).apply(self, args);
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
- * bind test method to wrap test.each function
75
- */
76
- const bindTest = (self, originalVitestFn) => function (...eachArgs) {
77
- return function (...args) {
78
- args[1] = wrapTestInZone(args[1]);
79
- // @ts-ignore
80
- return originalVitestFn.apply(self, eachArgs).apply(self, args);
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
- ['describe'].forEach((methodName) => {
84
- const originalvitestFn = env[methodName];
85
- env[methodName] = function (...args) {
86
- args[1] = wrapDescribeInZone(args[1]);
87
- return originalvitestFn.apply(this, args);
88
- };
89
- env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
90
- if (methodName === 'describe') {
91
- env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
92
- env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
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
- ['test', 'it'].forEach((methodName) => {
96
- const originalvitestFn = env[methodName];
97
- env[methodName] = function (...args) {
98
- args[1] = wrapTestInZone(args[1]);
99
- return originalvitestFn.apply(this, args);
100
- };
101
- env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
102
- env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
103
- env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
104
- if (methodName === 'test' || methodName === 'it') {
105
- env[methodName].todo = function (...args) {
106
- return originalvitestFn.todo.apply(this, args);
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
- ['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {
111
- const originalvitestFn = env[methodName];
112
- env[methodName] = function (...args) {
113
- args[0] = wrapTestInZone(args[0]);
114
- return originalvitestFn.apply(this, args);
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":"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"}
package/src/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import vitestBuilder from './lib/builders/test/vitest.impl';
2
- import vitestApplicationBuilder from './lib/builders/build/vitest.impl';
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 vitestBuilder from './lib/builders/test/vitest.impl';
2
- import vitestApplicationBuilder from './lib/builders/build/vitest.impl';
3
- export { vitestBuilder, vitestApplicationBuilder };
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,4 +1,4 @@
1
1
  export declare function getBuildApplicationFunction(): Promise<{
2
- buildApplicationInternal: Function;
3
- angularVersion: number;
2
+ buildApplicationInternal: (...args: any[]) => any;
3
+ angularVersion: number;
4
4
  }>;
@@ -1,18 +1,24 @@
1
- export async function getBuildApplicationFunction() {
2
- const { VERSION } = await Function('return import("@angular/compiler-cli")')();
3
- const angularVersion = Number(VERSION.major);
4
- let buildApplicationInternal;
5
- if (angularVersion < 17) {
6
- throw new Error('This builder is not supported with versions earlier than Angular v17');
7
- }
8
- else if (angularVersion >= 17 && angularVersion < 18) {
9
- const { buildApplicationInternal: buildApplicationInternalFn, } = require('@angular-devkit/build-angular/src/builders/application');
10
- buildApplicationInternal = buildApplicationInternalFn;
11
- }
12
- else {
13
- const { buildApplicationInternal: buildApplicationInternalFn, } = require('@angular/build/private');
14
- buildApplicationInternal = buildApplicationInternalFn;
15
- }
16
- return { buildApplicationInternal, angularVersion };
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2a2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdml0ZXN0LWFuZ3VsYXIvc3JjL2xpYi9idWlsZGVycy9idWlsZC9kZXZraXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLEtBQUssVUFBVSwyQkFBMkI7SUFDL0MsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU8sUUFBUSxDQUNqQyx3Q0FBd0MsQ0FDekMsRUFBNkQsQ0FBQztJQUUvRCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLElBQUksd0JBQWtDLENBQUM7SUFFdkMsSUFBSSxjQUFjLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FDYixzRUFBc0UsQ0FDdkUsQ0FBQztJQUNKLENBQUM7U0FBTSxJQUFJLGNBQWMsSUFBSSxFQUFFLElBQUksY0FBYyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sRUFDSix3QkFBd0IsRUFBRSwwQkFBMEIsR0FDckQsR0FBRyxPQUFPLENBQUMsd0RBQXdELENBQUMsQ0FBQztRQUV0RSx3QkFBd0IsR0FBRywwQkFBMEIsQ0FBQztJQUN4RCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sRUFDSix3QkFBd0IsRUFBRSwwQkFBMEIsR0FDckQsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUV0Qyx3QkFBd0IsR0FBRywwQkFBMEIsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QnVpbGRBcHBsaWNhdGlvbkZ1bmN0aW9uKCkge1xuICBjb25zdCB7IFZFUlNJT04gfSA9IGF3YWl0IChGdW5jdGlvbihcbiAgICAncmV0dXJuIGltcG9ydChcIkBhbmd1bGFyL2NvbXBpbGVyLWNsaVwiKScsXG4gICkoKSBhcyBQcm9taXNlPHsgVkVSU0lPTjogeyBtYWpvcjogc3RyaW5nOyBtaW5vcjogc3RyaW5nIH0gfT4pO1xuXG4gIGNvbnN0IGFuZ3VsYXJWZXJzaW9uID0gTnVtYmVyKFZFUlNJT04ubWFqb3IpO1xuICBsZXQgYnVpbGRBcHBsaWNhdGlvbkludGVybmFsOiBGdW5jdGlvbjtcblxuICBpZiAoYW5ndWxhclZlcnNpb24gPCAxNykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdUaGlzIGJ1aWxkZXIgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHZlcnNpb25zIGVhcmxpZXIgdGhhbiBBbmd1bGFyIHYxNycsXG4gICAgKTtcbiAgfSBlbHNlIGlmIChhbmd1bGFyVmVyc2lvbiA+PSAxNyAmJiBhbmd1bGFyVmVyc2lvbiA8IDE4KSB7XG4gICAgY29uc3Qge1xuICAgICAgYnVpbGRBcHBsaWNhdGlvbkludGVybmFsOiBidWlsZEFwcGxpY2F0aW9uSW50ZXJuYWxGbixcbiAgICB9ID0gcmVxdWlyZSgnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXIvc3JjL2J1aWxkZXJzL2FwcGxpY2F0aW9uJyk7XG5cbiAgICBidWlsZEFwcGxpY2F0aW9uSW50ZXJuYWwgPSBidWlsZEFwcGxpY2F0aW9uSW50ZXJuYWxGbjtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB7XG4gICAgICBidWlsZEFwcGxpY2F0aW9uSW50ZXJuYWw6IGJ1aWxkQXBwbGljYXRpb25JbnRlcm5hbEZuLFxuICAgIH0gPSByZXF1aXJlKCdAYW5ndWxhci9idWlsZC9wcml2YXRlJyk7XG5cbiAgICBidWlsZEFwcGxpY2F0aW9uSW50ZXJuYWwgPSBidWlsZEFwcGxpY2F0aW9uSW50ZXJuYWxGbjtcbiAgfVxuXG4gIHJldHVybiB7IGJ1aWxkQXBwbGljYXRpb25JbnRlcm5hbCwgYW5ndWxhclZlcnNpb24gfTtcbn1cbiJdfQ==
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
- workspaceRoot?: string;
11
- angularVersion: number;
12
- outputFiles: AngularMemoryOutputFiles;
13
- external?: string[];
3
+ workspaceRoot?: string;
4
+ angularVersion: number;
5
+ outputFiles: AngularMemoryOutputFiles;
6
+ external?: string[];
14
7
  }
15
8
  export declare function createAngularMemoryPlugin(options: AngularMemoryPluginOptions): Promise<{
16
- name: string;
17
- enforce: string;
18
- config(userConfig: any): void;
19
- resolveId(source: string, importer: string): Promise<string | undefined>;
20
- load(id: string): {
21
- code: string;
22
- map: string | undefined;
23
- } | undefined;
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
- * @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 assert from 'node:assert';
9
- import { dirname, join, relative, resolve } from 'node:path';
10
- export 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
- // Ensures plugin hooks run before built-in Vite hooks
19
- enforce: 'pre',
20
- config(userConfig) {
21
- config = userConfig;
22
- projectRoot = resolve(workspaceRoot, config.root || '.');
23
- },
24
- async resolveId(source, importer) {
25
- // Prevent vite from resolving an explicit external dependency (`externalDependencies` option)
26
- if (external?.includes(source)) {
27
- // This is still not ideal since Vite will still transform the import specifier to
28
- // `/@id/${source}` but is currently closer to a raw external than a resolved file path.
29
- return source;
30
- }
31
- if (importer) {
32
- if (source[0] === '.' &&
33
- normalizePath(importer).startsWith(projectRoot)) {
34
- // Remove query if present
35
- const [importerFile] = importer.split('?', 1);
36
- source =
37
- '/' + join(dirname(relative(projectRoot, importerFile)), source);
38
- }
39
- }
40
- const [file] = source.split('?', 1);
41
- const fileSplits = file.split('/');
42
- if (outputFiles.has(fileSplits[fileSplits.length - 1])) {
43
- return fileSplits[fileSplits.length - 1];
44
- }
45
- if (outputFiles.has(file)) {
46
- return join(projectRoot, source);
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tZW1vcnktcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdml0ZXN0LWFuZ3VsYXIvc3JjL2xpYi9idWlsZGVycy9idWlsZC9wbHVnaW5zL2FuZ3VsYXItbWVtb3J5LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxvQ0FBb0M7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVc3RCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxPQUFtQztJQUVuQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsTUFBTyxRQUFRLENBQ3ZDLHVCQUF1QixDQUN4QixFQUFxQyxDQUFDO0lBQ3ZDLE1BQU0sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzFDLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxXQUFtQixDQUFDO0lBQ3hCLE1BQU0sYUFBYSxHQUFHLE9BQU8sRUFBRSxhQUFhLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRTlELE9BQU87UUFDTCxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLHNEQUFzRDtRQUN0RCxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sQ0FBQyxVQUFlO1lBQ3BCLE1BQU0sR0FBRyxVQUFVLENBQUM7WUFDcEIsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7WUFDOUMsOEZBQThGO1lBQzlGLElBQUksUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMvQixrRkFBa0Y7Z0JBQ2xGLHdG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QyxRQUFRLENBQUMsT0FBTyxDQUFDO2FBQy9ELENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZVxuICovXG5cbi8vIGltcG9ydCBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgcmVsYXRpdmUsIHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQgeyBBbmd1bGFyTWVtb3J5T3V0cHV0RmlsZXMgfSBmcm9tICcuLi91dGlscyc7XG5cbmludGVyZmFjZSBBbmd1bGFyTWVtb3J5UGx1Z2luT3B0aW9ucyB7XG4gIHdvcmtzcGFjZVJvb3Q/OiBzdHJpbmc7XG4gIGFuZ3VsYXJWZXJzaW9uOiBudW1iZXI7XG4gIG91dHB1dEZpbGVzOiBBbmd1bGFyTWVtb3J5T3V0cHV0RmlsZXM7XG4gIGV4dGVybmFsPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVBbmd1bGFyTWVtb3J5UGx1Z2luKFxuICBvcHRpb25zOiBBbmd1bGFyTWVtb3J5UGx1Z2luT3B0aW9ucyxcbikge1xuICBjb25zdCB7IG5vcm1hbGl6ZVBhdGggfSA9IGF3YWl0IChGdW5jdGlvbihcbiAgICAncmV0dXJuIGltcG9ydChcInZpdGVcIiknLFxuICApKCkgYXMgUHJvbWlzZTx0eXBlb2YgaW1wb3J0KCd2aXRlJyk+KTtcbiAgY29uc3QgeyBvdXRwdXRGaWxlcywgZXh0ZXJuYWwgfSA9IG9wdGlvbnM7XG4gIGxldCBjb25maWc7XG4gIGxldCBwcm9qZWN0Um9vdDogc3RyaW5nO1xuICBjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCB8fCBwcm9jZXNzLmN3ZCgpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3ZpdGU6YW5ndWxhci1tZW1vcnknLFxuICAgIC8vIEVuc3VyZXMgcGx1Z2luIGhvb2tzIHJ1biBiZWZvcmUgYnVpbHQtaW4gVml0ZSBob29rc1xuICAgIGVuZm9yY2U6ICdwcmUnLFxuICAgIGNvbmZpZyh1c2VyQ29uZmlnOiBhbnkpIHtcbiAgICAgIGNvbmZpZyA9IHVzZXJDb25maWc7XG4gICAgICBwcm9qZWN0Um9vdCA9IHJlc29sdmUod29ya3NwYWNlUm9vdCwgY29uZmlnLnJvb3QgfHwgJy4nKTtcbiAgICB9LFxuICAgIGFzeW5jIHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZykge1xuICAgICAgLy8gUHJldmVudCB2aXRlIGZyb20gcmVzb2x2aW5nIGFuIGV4cGxpY2l0IGV4dGVybmFsIGRlcGVuZGVuY3kgKGBleHRlcm5hbERlcGVuZGVuY2llc2Agb3B0aW9uKVxuICAgICAgaWYgKGV4dGVybmFsPy5pbmNsdWRlcyhzb3VyY2UpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgc3RpbGwgbm90IGlkZWFsIHNpbmNlIFZpdGUgd2lsbCBzdGlsbCB0cmFuc2Zvcm0gdGhlIGltcG9ydCBzcGVjaWZpZXIgdG9cbiAgICAgICAgLy8gYC9AaWQvJHtzb3VyY2V9YCBidXQgaXMgY3VycmVudGx5IGNsb3NlciB0byBhIHJhdyBleHRlcm5hbCB0aGFuIGEgcmVzb2x2ZWQgZmlsZSBwYXRoLlxuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW1wb3J0ZXIpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNvdXJjZVswXSA9PT0gJy4nICYmXG4gICAgICAgICAgbm9ybWFsaXplUGF0aChpbXBvcnRlcikuc3RhcnRzV2l0aChwcm9qZWN0Um9vdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gUmVtb3ZlIHF1ZXJ5IGlmIHByZXNlbnRcbiAgICAgICAgICBjb25zdCBbaW1wb3J0ZXJGaWxlXSA9IGltcG9ydGVyLnNwbGl0KCc/JywgMSk7XG4gICAgICAgICAgc291cmNlID1cbiAgICAgICAgICAgICcvJyArIGpvaW4oZGlybmFtZShyZWxhdGl2ZShwcm9qZWN0Um9vdCwgaW1wb3J0ZXJGaWxlKSksIHNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgW2ZpbGVdID0gc291cmNlLnNwbGl0KCc/JywgMSk7XG4gICAgICBjb25zdCBmaWxlU3BsaXRzID0gZmlsZS5zcGxpdCgnLycpO1xuXG4gICAgICBpZiAob3V0cHV0RmlsZXMuaGFzKGZpbGVTcGxpdHNbZmlsZVNwbGl0cy5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgcmV0dXJuIGZpbGVTcGxpdHNbZmlsZVNwbGl0cy5sZW5ndGggLSAxXTtcbiAgICAgIH1cblxuICAgICAgaWYgKG91dHB1dEZpbGVzLmhhcyhmaWxlKSkge1xuICAgICAgICByZXR1cm4gam9pbihwcm9qZWN0Um9vdCwgc291cmNlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9LFxuICAgIGxvYWQoaWQ6IHN0cmluZykge1xuICAgICAgY29uc3QgW2ZpbGVdID0gaWQuc3BsaXQoJz8nLCAxKTtcbiAgICAgIGNvbnN0IHJlbGF0aXZlRmlsZSA9XG4gICAgICAgIG9wdGlvbnMuYW5ndWxhclZlcnNpb24gPCAxOVxuICAgICAgICAgID8gbm9ybWFsaXplUGF0aChyZWxhdGl2ZShwcm9qZWN0Um9vdCwgZmlsZSkpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9eLipcXC8vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoJy50cycsICcuanMnKVxuICAgICAgICAgIDogJ3NwZWMtJyArXG4gICAgICAgICAgICBub3JtYWxpemVQYXRoKHJlbGF0aXZlKHByb2plY3RSb290LCBmaWxlKSlcbiAgICAgICAgICAgICAgLnJlcGxhY2UoJy50cycsICcuanMnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXlsuL10rLywgJ18nKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFwvL2csICctJyk7XG5cbiAgICAgIGNvbnN0IGNvZGVDb250ZW50cyA9XG4gICAgICAgIG91dHB1dEZpbGVzLmdldChyZWxhdGl2ZUZpbGUpPy5jb250ZW50cyB8fFxuICAgICAgICBvdXRwdXRGaWxlcy5nZXQoaWQpPy5jb250ZW50cztcbiAgICAgIGlmIChjb2RlQ29udGVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb2RlID0gQnVmZmVyLmZyb20oY29kZUNvbnRlbnRzKS50b1N0cmluZygndXRmLTgnKTtcbiAgICAgIGNvbnN0IG1hcENvbnRlbnRzID0gb3V0cHV0RmlsZXMuZ2V0KHJlbGF0aXZlRmlsZSArICcubWFwJyk/LmNvbnRlbnRzO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAvLyBSZW1vdmUgc291cmNlIG1hcCBVUkwgY29tbWVudHMgZnJvbSB0aGUgY29kZSBpZiBhIHNvdXJjZW1hcCBpcyBwcmVzZW50LlxuICAgICAgICAvLyBWaXRlIHdpbGwgaW5saW5lIGFuZCBhZGQgYW4gYWRkaXRpb25hbCBzb3VyY2VtYXAgVVJMIGZvciB0aGUgc291cmNlbWFwLlxuICAgICAgICBjb2RlOiBtYXBDb250ZW50c1xuICAgICAgICAgID8gY29kZS5yZXBsYWNlKC9eXFwvXFwvIyBzb3VyY2VNYXBwaW5nVVJMPVteXFxyXFxuXSovZ20sICcnKVxuICAgICAgICAgIDogY29kZSxcbiAgICAgICAgbWFwOiBtYXBDb250ZW50cyAmJiBCdWZmZXIuZnJvbShtYXBDb250ZW50cykudG9TdHJpbmcoJ3V0Zi04JyksXG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG4iXX0=
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"}