@analogjs/vite-plugin-angular 3.0.0-alpha.7 → 3.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/package.json +7 -9
  2. package/setup-vitest.js +154 -193
  3. package/setup-vitest.js.map +1 -1
  4. package/src/index.d.ts +1 -1
  5. package/src/index.js +6 -2
  6. package/src/index.js.map +1 -1
  7. package/src/lib/angular-build-optimizer-plugin.js +48 -62
  8. package/src/lib/angular-build-optimizer-plugin.js.map +1 -1
  9. package/src/lib/angular-jit-plugin.js +31 -37
  10. package/src/lib/angular-jit-plugin.js.map +1 -1
  11. package/src/lib/angular-pending-tasks.plugin.js +17 -18
  12. package/src/lib/angular-pending-tasks.plugin.js.map +1 -1
  13. package/src/lib/angular-vite-plugin.js +790 -1076
  14. package/src/lib/angular-vite-plugin.js.map +1 -1
  15. package/src/lib/angular-vitest-plugin.d.ts +16 -12
  16. package/src/lib/angular-vitest-plugin.js +97 -114
  17. package/src/lib/angular-vitest-plugin.js.map +1 -1
  18. package/src/lib/compiler-plugin.js +40 -44
  19. package/src/lib/compiler-plugin.js.map +1 -1
  20. package/src/lib/component-resolvers.d.ts +4 -2
  21. package/src/lib/component-resolvers.js +93 -64
  22. package/src/lib/component-resolvers.js.map +1 -1
  23. package/src/lib/host.js +69 -101
  24. package/src/lib/host.js.map +1 -1
  25. package/src/lib/live-reload-plugin.js +51 -63
  26. package/src/lib/live-reload-plugin.js.map +1 -1
  27. package/src/lib/nx-folder-plugin.js +18 -16
  28. package/src/lib/nx-folder-plugin.js.map +1 -1
  29. package/src/lib/plugins/file-replacements.plugin.js +35 -62
  30. package/src/lib/plugins/file-replacements.plugin.js.map +1 -1
  31. package/src/lib/router-plugin.js +23 -23
  32. package/src/lib/router-plugin.js.map +1 -1
  33. package/src/lib/tools/package.json +2 -5
  34. package/src/lib/tools/src/builders/vite/vite-build.impl.js +31 -38
  35. package/src/lib/tools/src/builders/vite/vite-build.impl.js.map +1 -1
  36. package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js +52 -60
  37. package/src/lib/tools/src/builders/vite-dev-server/dev-server.impl.js.map +1 -1
  38. package/src/lib/tools/src/index.js +0 -2
  39. package/src/lib/utils/devkit.js +34 -38
  40. package/src/lib/utils/devkit.js.map +1 -1
  41. package/src/lib/utils/rolldown.d.ts +2 -0
  42. package/src/lib/utils/rolldown.js +12 -0
  43. package/src/lib/utils/rolldown.js.map +1 -0
  44. package/src/lib/utils/source-file-cache.js +35 -37
  45. package/src/lib/utils/source-file-cache.js.map +1 -1
  46. package/README.md +0 -91
  47. package/src/lib/models.js +0 -1
  48. package/src/lib/models.js.map +0 -1
  49. package/src/lib/tools/README.md +0 -3
  50. package/src/lib/tools/src/index.js.map +0 -1
  51. package/src/lib/utils/compiler-plugin-options.js +0 -1
  52. package/src/lib/utils/compiler-plugin-options.js.map +0 -1
  53. package/src/lib/utils/hmr-candidates.js +0 -272
  54. package/src/lib/utils/hmr-candidates.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/vite-plugin-angular",
3
- "version": "3.0.0-alpha.7",
3
+ "version": "3.0.0-alpha.9",
4
4
  "description": "Vite Plugin for Angular",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -36,8 +36,10 @@
36
36
  }
37
37
  },
38
38
  "dependencies": {
39
- "tinyglobby": "^0.2.14",
40
- "ts-morph": "^21.0.0"
39
+ "oxc-parser": "^0.119.0",
40
+ "oxc-resolver": "^11.19.0",
41
+ "rolldown": "^1.0.0-rc.9",
42
+ "tinyglobby": "^0.2.14"
41
43
  },
42
44
  "builders": "./src/lib/tools/builders.json",
43
45
  "ng-update": {
@@ -60,14 +62,10 @@
60
62
  "require": "./src/index.js",
61
63
  "default": "./src/index.js"
62
64
  },
63
- "./esbuild": "./esbuild.js",
64
65
  "./setup-vitest": "./setup-vitest.js"
65
66
  },
66
67
  "publishConfig": {
67
68
  "access": "public",
68
69
  "provenance": true
69
- },
70
- "types": "./src/index.d.ts",
71
- "module": "./src/index.js",
72
- "main": "./src/index.js"
73
- }
70
+ }
71
+ }
package/setup-vitest.js CHANGED
@@ -1,215 +1,176 @@
1
- import 'zone.js';
2
- import 'zone.js/plugins/sync-test';
3
- import 'zone.js/plugins/proxy';
4
- import 'zone.js/testing';
1
+ import "zone.js";
2
+ import "zone.js/plugins/sync-test";
3
+ import "zone.js/plugins/proxy";
4
+ import "zone.js/testing";
5
+ //#region packages/vite-plugin-angular/setup-vitest.ts
5
6
  /**
6
- * Patch Vitest's describe/test/beforeEach/afterEach functions so test code
7
- * always runs in a testZone (ProxyZone).
8
- */
9
- /* global Zone */
10
- const { Zone } = globalThis;
11
- if (Zone === undefined) {
12
- throw new Error('Missing: Zone (zone.js)');
13
- }
14
- if (globalThis['__vitest_zone_patch__'] === true) {
15
- throw new Error("'vitest' has already been patched with 'Zone'.");
16
- }
17
- globalThis['__vitest_zone_patch__'] = true;
18
- const { SyncTestZoneSpec } = Zone;
19
- const { ProxyZoneSpec } = Zone;
20
- if (SyncTestZoneSpec === undefined) {
21
- throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');
22
- }
23
- if (ProxyZoneSpec === undefined) {
24
- throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
25
- }
26
- const env = globalThis;
27
- const ambientZone = Zone.current;
28
- // Create a synchronous-only zone in which to run `describe` blocks in order to
29
- // Raise an error if any asynchronous operations are attempted
30
- // Inside of a `describe` but outside of a `beforeEach` or `it`.
31
- const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
7
+ * Patch Vitest's describe/test/beforeEach/afterEach functions so test code
8
+ * always runs in a testZone (ProxyZone).
9
+ */
10
+ var { Zone } = globalThis;
11
+ if (Zone === void 0) throw new Error("Missing: Zone (zone.js)");
12
+ if (globalThis["__vitest_zone_patch__"] === true) throw new Error("'vitest' has already been patched with 'Zone'.");
13
+ globalThis["__vitest_zone_patch__"] = true;
14
+ var { SyncTestZoneSpec } = Zone;
15
+ var { ProxyZoneSpec } = Zone;
16
+ if (SyncTestZoneSpec === void 0) throw new Error("Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)");
17
+ if (ProxyZoneSpec === void 0) throw new Error("Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)");
18
+ var env = globalThis;
19
+ var ambientZone = Zone.current;
20
+ var syncZone = ambientZone.fork(new SyncTestZoneSpec("vitest.describe"));
32
21
  function wrapDescribeInZone(describeBody) {
33
- return function (...args) {
34
- return syncZone.run(describeBody, null, args);
35
- };
22
+ return function(...args) {
23
+ return syncZone.run(describeBody, null, args);
24
+ };
36
25
  }
37
- // Create a proxy zone in which to run `test` blocks so that the tests function
38
- // Can retroactively install different zones.
39
- const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
26
+ var testProxyZone = ambientZone.fork(new ProxyZoneSpec());
40
27
  function wrapTestInZone(testBody) {
41
- if (testBody === undefined) {
42
- return;
43
- }
44
- const wrappedFunc = function wrappedFunc(...args) {
45
- return testProxyZone.run(testBody, null, args);
46
- };
47
- try {
48
- Object.defineProperty(wrappedFunc, 'length', {
49
- configurable: true,
50
- enumerable: false,
51
- writable: true,
52
- });
53
- wrappedFunc.length = testBody.length;
54
- }
55
- catch (e) {
56
- return testBody.length === 0
57
- ? () => testProxyZone.run(testBody, null)
58
- : (done) => testProxyZone.run(testBody, null, [done]);
59
- }
60
- return wrappedFunc;
28
+ if (testBody === void 0) return;
29
+ const wrappedFunc = function wrappedFunc(...args) {
30
+ return testProxyZone.run(testBody, null, args);
31
+ };
32
+ try {
33
+ Object.defineProperty(wrappedFunc, "length", {
34
+ configurable: true,
35
+ enumerable: false,
36
+ writable: true
37
+ });
38
+ wrappedFunc.length = testBody.length;
39
+ } catch (e) {
40
+ return testBody.length === 0 ? () => testProxyZone.run(testBody, null) : (done) => testProxyZone.run(testBody, null, [done]);
41
+ }
42
+ return wrappedFunc;
61
43
  }
62
44
  /**
63
- * Allows Vitest to handle Angular test fixtures
64
- *
65
- * Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html
66
- *
67
- * @returns customSnapshotSerializer for Angular Fixture Component
68
- */
69
- const customSnapshotSerializer = () => {
70
- function serialize(val, config, indentation, depth, refs, printer) {
71
- // `printer` is a function that serializes a value using existing plugins.
72
- return `${printer(fixtureVitestSerializer(val), config, indentation, depth, refs)}`;
73
- }
74
- function test(val) {
75
- // * If it's a ComponentFixture we apply the transformation rules
76
- return val && isAngularFixture(val);
77
- }
78
- return {
79
- serialize,
80
- test,
81
- };
45
+ * Allows Vitest to handle Angular test fixtures
46
+ *
47
+ * Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html
48
+ *
49
+ * @returns customSnapshotSerializer for Angular Fixture Component
50
+ */
51
+ var customSnapshotSerializer = () => {
52
+ function serialize(val, config, indentation, depth, refs, printer) {
53
+ return `${printer(fixtureVitestSerializer(val), config, indentation, depth, refs)}`;
54
+ }
55
+ function test(val) {
56
+ return val && isAngularFixture(val);
57
+ }
58
+ return {
59
+ serialize,
60
+ test
61
+ };
82
62
  };
83
63
  /**
84
- * Check if is an Angular fixture
85
- *
86
- * @param val Angular fixture
87
- * @returns boolean who check if is an angular fixture
88
- */
64
+ * Check if is an Angular fixture
65
+ *
66
+ * @param val Angular fixture
67
+ * @returns boolean who check if is an angular fixture
68
+ */
89
69
  function isAngularFixture(val) {
90
- if (typeof val !== 'object') {
91
- return false;
92
- }
93
- if (val['componentRef'] || val['componentInstance']) {
94
- return true;
95
- }
96
- if (val['componentType']) {
97
- return true;
98
- }
99
- // * Angular fixture keys in Fixture component Object
100
- const fixtureKeys = [
101
- 'componentRef',
102
- 'ngZone',
103
- 'effectRunner',
104
- '_autoDetect',
105
- '_isStable',
106
- '_isDestroyed',
107
- '_resolve',
108
- '_promise',
109
- '_onUnstableSubscription',
110
- '_onStableSubscription',
111
- '_onMicrotaskEmptySubscription',
112
- '_onErrorSubscription',
113
- 'changeDetectorRef',
114
- 'elementRef',
115
- 'debugElement',
116
- 'componentInstance',
117
- 'nativeElement',
118
- ];
119
- // * Angular fixture keys in Fixture componentRef Object
120
- const fixtureComponentRefKeys = [
121
- 'location',
122
- '_rootLView',
123
- '_tNode',
124
- 'previousInputValues',
125
- 'instance',
126
- 'changeDetectorRef',
127
- 'hostView',
128
- 'componentType',
129
- ];
130
- return (JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureKeys) ||
131
- JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureComponentRefKeys));
70
+ if (typeof val !== "object") return false;
71
+ if (val["componentRef"] || val["componentInstance"]) return true;
72
+ if (val["componentType"]) return true;
73
+ return JSON.stringify(Object.keys(val)) === JSON.stringify([
74
+ "componentRef",
75
+ "ngZone",
76
+ "effectRunner",
77
+ "_autoDetect",
78
+ "_isStable",
79
+ "_isDestroyed",
80
+ "_resolve",
81
+ "_promise",
82
+ "_onUnstableSubscription",
83
+ "_onStableSubscription",
84
+ "_onMicrotaskEmptySubscription",
85
+ "_onErrorSubscription",
86
+ "changeDetectorRef",
87
+ "elementRef",
88
+ "debugElement",
89
+ "componentInstance",
90
+ "nativeElement"
91
+ ]) || JSON.stringify(Object.keys(val)) === JSON.stringify([
92
+ "location",
93
+ "_rootLView",
94
+ "_tNode",
95
+ "previousInputValues",
96
+ "instance",
97
+ "changeDetectorRef",
98
+ "hostView",
99
+ "componentType"
100
+ ]);
132
101
  }
133
102
  /**
134
- * Serialize Angular fixture for Vitest
135
- *
136
- * @param fixture Angular Fixture Component
137
- * @returns HTML Child Node
138
- */
103
+ * Serialize Angular fixture for Vitest
104
+ *
105
+ * @param fixture Angular Fixture Component
106
+ * @returns HTML Child Node
107
+ */
139
108
  function fixtureVitestSerializer(fixture) {
140
- // * Get Component meta data
141
- const componentType = (fixture && fixture.componentType
142
- ? fixture.componentType
143
- : fixture.componentRef.componentType);
144
- let inputsData = '';
145
- const selector = Reflect.getOwnPropertyDescriptor(componentType, '__annotations__')?.value[0].selector;
146
- if (componentType && componentType.propDecorators) {
147
- inputsData = Object.entries(componentType.propDecorators)
148
- .map(([key, value]) => `${key}="${value}"`)
149
- .join('');
150
- }
151
- // * Get DOM Elements
152
- const divElement = fixture && fixture.nativeElement
153
- ? fixture.nativeElement
154
- : fixture.location.nativeElement;
155
- // * Convert string data to HTML data
156
- const doc = new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, 'text/html');
157
- return doc.body.childNodes[0];
109
+ const componentType = fixture && fixture.componentType ? fixture.componentType : fixture.componentRef.componentType;
110
+ let inputsData = "";
111
+ const selector = Reflect.getOwnPropertyDescriptor(componentType, "__annotations__")?.value[0].selector;
112
+ if (componentType && componentType.propDecorators) inputsData = Object.entries(componentType.propDecorators).map(([key, value]) => `${key}="${value}"`).join("");
113
+ const divElement = fixture && fixture.nativeElement ? fixture.nativeElement : fixture.location.nativeElement;
114
+ return new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, "text/html").body.childNodes[0];
158
115
  }
159
116
  /**
160
- * Bind describe method to wrap describe.each function
161
- */
162
- const bindDescribe = (self, originalVitestFn) => function bindDescribe(...eachArgs) {
163
- return function bindDescribe(...args) {
164
- args[1] = wrapDescribeInZone(args[1]);
165
- return originalVitestFn.apply(self, eachArgs).apply(self, args);
166
- };
117
+ * Bind describe method to wrap describe.each function
118
+ */
119
+ var bindDescribe = (self, originalVitestFn) => function bindDescribe(...eachArgs) {
120
+ return function bindDescribe(...args) {
121
+ args[1] = wrapDescribeInZone(args[1]);
122
+ return originalVitestFn.apply(self, eachArgs).apply(self, args);
123
+ };
167
124
  };
168
125
  /**
169
- * Bind test method to wrap test.each function
170
- */
171
- const bindTest = (self, originalVitestFn) => function bindTest(...eachArgs) {
172
- return function bindTest(...args) {
173
- args[1] = wrapTestInZone(args[1]);
174
- return originalVitestFn.apply(self, eachArgs).apply(self, args);
175
- };
126
+ * Bind test method to wrap test.each function
127
+ */
128
+ var bindTest = (self, originalVitestFn) => function bindTest(...eachArgs) {
129
+ return function bindTest(...args) {
130
+ args[1] = wrapTestInZone(args[1]);
131
+ return originalVitestFn.apply(self, eachArgs).apply(self, args);
132
+ };
176
133
  };
177
- ['describe'].forEach((methodName) => {
178
- const originalvitestFn = env[methodName];
179
- env[methodName] = function (...args) {
180
- args[1] = wrapDescribeInZone(args[1]);
181
- return originalvitestFn.apply(this, args);
182
- };
183
- env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
184
- if (methodName === 'describe') {
185
- env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
186
- env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
187
- }
134
+ ["describe"].forEach((methodName) => {
135
+ const originalvitestFn = env[methodName];
136
+ env[methodName] = function(...args) {
137
+ args[1] = wrapDescribeInZone(args[1]);
138
+ return originalvitestFn.apply(this, args);
139
+ };
140
+ env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
141
+ if (methodName === "describe") {
142
+ env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
143
+ env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
144
+ }
188
145
  });
189
- ['test', 'it'].forEach((methodName) => {
190
- const originalvitestFn = env[methodName];
191
- env[methodName] = function (...args) {
192
- args[1] = wrapTestInZone(args[1]);
193
- return originalvitestFn.apply(this, args);
194
- };
195
- env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
196
- env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
197
- env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
198
- if (methodName === 'test' || methodName === 'it') {
199
- env[methodName].todo = function todo(...args) {
200
- return originalvitestFn.todo.apply(this, args);
201
- };
202
- }
146
+ ["test", "it"].forEach((methodName) => {
147
+ const originalvitestFn = env[methodName];
148
+ env[methodName] = function(...args) {
149
+ args[1] = wrapTestInZone(args[1]);
150
+ return originalvitestFn.apply(this, args);
151
+ };
152
+ env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
153
+ env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
154
+ env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
155
+ if (methodName === "test" || methodName === "it") env[methodName].todo = function todo(...args) {
156
+ return originalvitestFn.todo.apply(this, args);
157
+ };
203
158
  });
204
- ['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {
205
- const originalvitestFn = env[methodName];
206
- env[methodName] = function (...args) {
207
- args[0] = wrapTestInZone(args[0]);
208
- return originalvitestFn.apply(this, args);
209
- };
159
+ [
160
+ "beforeEach",
161
+ "afterEach",
162
+ "beforeAll",
163
+ "afterAll"
164
+ ].forEach((methodName) => {
165
+ const originalvitestFn = env[methodName];
166
+ env[methodName] = function(...args) {
167
+ args[0] = wrapTestInZone(args[0]);
168
+ return originalvitestFn.apply(this, args);
169
+ };
210
170
  });
211
- ['expect'].forEach((methodName) => {
212
- const originalvitestFn = env[methodName];
213
- return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());
171
+ ["expect"].forEach((methodName) => {
172
+ return env[methodName].addSnapshotSerializer(customSnapshotSerializer());
214
173
  });
174
+ //#endregion
175
+
215
176
  //# sourceMappingURL=setup-vitest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-vitest.js","sourceRoot":"","sources":["../../../packages/vite-plugin-angular/setup-vitest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-vitest.js","names":[],"sources":["../../../packages/vite-plugin-angular/setup-vitest.ts"],"sourcesContent":["import 'zone.js';\nimport 'zone.js/plugins/sync-test';\nimport 'zone.js/plugins/proxy';\nimport 'zone.js/testing';\n\n/**\n * Patch Vitest's describe/test/beforeEach/afterEach functions so test code\n * always runs in a testZone (ProxyZone).\n */\n/* global Zone */\nconst { Zone } = globalThis as any;\n\nif (Zone === undefined) {\n throw new Error('Missing: Zone (zone.js)');\n}\n\nif ((globalThis as any)['__vitest_zone_patch__'] === true) {\n throw new Error(\"'vitest' has already been patched with 'Zone'.\");\n}\n\n(globalThis as any)['__vitest_zone_patch__'] = true;\nconst { SyncTestZoneSpec } = Zone;\nconst { ProxyZoneSpec } = Zone;\n\nif (SyncTestZoneSpec === undefined) {\n throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');\n}\nif (ProxyZoneSpec === undefined) {\n throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');\n}\n\nconst env = globalThis as any;\nconst ambientZone = Zone.current;\n\n// Create a synchronous-only zone in which to run `describe` blocks in order to\n// Raise an error if any asynchronous operations are attempted\n// Inside of a `describe` but outside of a `beforeEach` or `it`.\nconst syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));\nfunction wrapDescribeInZone(describeBody: any) {\n return function (...args: any) {\n return syncZone.run(describeBody, null, args);\n };\n}\n\n// Create a proxy zone in which to run `test` blocks so that the tests function\n// Can retroactively install different zones.\nconst testProxyZone = ambientZone.fork(new ProxyZoneSpec());\nfunction wrapTestInZone(testBody: string | any[] | undefined) {\n if (testBody === undefined) {\n return;\n }\n\n const wrappedFunc = function wrappedFunc(...args: any[]) {\n return testProxyZone.run(testBody, null, args);\n };\n try {\n Object.defineProperty(wrappedFunc, 'length', {\n configurable: true,\n enumerable: false,\n writable: true,\n });\n wrappedFunc.length = testBody.length;\n } catch (e) {\n return testBody.length === 0\n ? () => testProxyZone.run(testBody, null)\n : (done: any) => testProxyZone.run(testBody, null, [done]);\n }\n\n return wrappedFunc;\n}\n\n/**\n * Allows Vitest to handle Angular test fixtures\n *\n * Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html\n *\n * @returns customSnapshotSerializer for Angular Fixture Component\n */\nconst customSnapshotSerializer = () => {\n function serialize(\n val: any,\n config: any,\n indentation: any,\n depth: any,\n refs: any,\n printer: any,\n ): string {\n // `printer` is a function that serializes a value using existing plugins.\n return `${printer(\n fixtureVitestSerializer(val),\n config,\n indentation,\n depth,\n refs,\n )}`;\n }\n function test(val: any): boolean {\n // * If it's a ComponentFixture we apply the transformation rules\n return val && isAngularFixture(val);\n }\n return {\n serialize,\n test,\n };\n};\n\n/**\n * Check if is an Angular fixture\n *\n * @param val Angular fixture\n * @returns boolean who check if is an angular fixture\n */\nfunction isAngularFixture(val: any): boolean {\n if (typeof val !== 'object') {\n return false;\n }\n\n if (val['componentRef'] || val['componentInstance']) {\n return true;\n }\n\n if (val['componentType']) {\n return true;\n }\n\n // * Angular fixture keys in Fixture component Object\n const fixtureKeys = [\n 'componentRef',\n 'ngZone',\n 'effectRunner',\n '_autoDetect',\n '_isStable',\n '_isDestroyed',\n '_resolve',\n '_promise',\n '_onUnstableSubscription',\n '_onStableSubscription',\n '_onMicrotaskEmptySubscription',\n '_onErrorSubscription',\n 'changeDetectorRef',\n 'elementRef',\n 'debugElement',\n 'componentInstance',\n 'nativeElement',\n ];\n\n // * Angular fixture keys in Fixture componentRef Object\n const fixtureComponentRefKeys = [\n 'location',\n '_rootLView',\n '_tNode',\n 'previousInputValues',\n 'instance',\n 'changeDetectorRef',\n 'hostView',\n 'componentType',\n ];\n\n return (\n JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureKeys) ||\n JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureComponentRefKeys)\n );\n}\n\n/**\n * Serialize Angular fixture for Vitest\n *\n * @param fixture Angular Fixture Component\n * @returns HTML Child Node\n */\nfunction fixtureVitestSerializer(fixture: any) {\n // * Get Component meta data\n const componentType = (\n fixture && fixture.componentType\n ? fixture.componentType\n : fixture.componentRef.componentType\n ) as any;\n\n let inputsData = '';\n\n const selector = Reflect.getOwnPropertyDescriptor(\n componentType,\n '__annotations__',\n )?.value[0].selector;\n\n if (componentType && componentType.propDecorators) {\n inputsData = Object.entries(componentType.propDecorators)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join('');\n }\n\n // * Get DOM Elements\n const divElement =\n fixture && fixture.nativeElement\n ? fixture.nativeElement\n : fixture.location.nativeElement;\n\n // * Convert string data to HTML data\n const doc = new DOMParser().parseFromString(\n `<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`,\n 'text/html',\n );\n\n return doc.body.childNodes[0];\n}\n\n/**\n * Bind describe method to wrap describe.each function\n */\nconst bindDescribe = (\n self: any,\n originalVitestFn: {\n apply: (\n arg0: any,\n arg1: any[],\n ) => {\n (): any;\n new (): any;\n apply: { (arg0: any, arg1: any[]): any; new (): any };\n };\n },\n) =>\n function bindDescribe(...eachArgs: any) {\n return function bindDescribe(...args: any[]) {\n args[1] = wrapDescribeInZone(args[1]);\n\n return originalVitestFn.apply(self, eachArgs).apply(self, args);\n };\n };\n\n/**\n * Bind test method to wrap test.each function\n */\nconst bindTest = (\n self: any,\n originalVitestFn: {\n apply: (\n arg0: any,\n arg1: any[],\n ) => {\n (): any;\n new (): any;\n apply: { (arg0: any, arg1: any[]): any; new (): any };\n };\n },\n) =>\n function bindTest(...eachArgs: any) {\n return function bindTest(...args: any[]) {\n args[1] = wrapTestInZone(args[1]);\n\n return originalVitestFn.apply(self, eachArgs).apply(self, args);\n };\n };\n\n['describe'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n env[methodName] = function (...args: any[]) {\n args[1] = wrapDescribeInZone(args[1]);\n\n return originalvitestFn.apply(this, args);\n };\n env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);\n if (methodName === 'describe') {\n env[methodName].only = bindDescribe(\n originalvitestFn,\n originalvitestFn.only,\n );\n env[methodName].skip = bindDescribe(\n originalvitestFn,\n originalvitestFn.skip,\n );\n }\n});\n\n['test', 'it'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n env[methodName] = function (...args: any[]) {\n args[1] = wrapTestInZone(args[1]);\n\n return originalvitestFn.apply(this, args);\n };\n env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);\n env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);\n env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);\n\n if (methodName === 'test' || methodName === 'it') {\n env[methodName].todo = function todo(...args: any) {\n return originalvitestFn.todo.apply(this, args);\n };\n }\n});\n\n['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n\n env[methodName] = function (...args: any[]) {\n args[0] = wrapTestInZone(args[0]);\n\n return originalvitestFn.apply(this, args);\n };\n});\n\n['expect'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());\n});\n"],"mappings":"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"}
package/src/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { angular } from './lib/angular-vite-plugin.js';
2
- export { PluginOptions } from './lib/angular-vite-plugin.js';
2
+ export type { PluginOptions } from './lib/angular-vite-plugin.js';
3
3
  export default angular;
package/src/index.js CHANGED
@@ -1,3 +1,7 @@
1
- import { angular } from './lib/angular-vite-plugin.js';
2
- export default angular;
1
+ import { angular } from "./lib/angular-vite-plugin.js";
2
+ //#region packages/vite-plugin-angular/src/index.ts
3
+ var src_default = angular;
4
+ //#endregion
5
+ export { src_default as default };
6
+
3
7
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/vite-plugin-angular/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGvD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../packages/vite-plugin-angular/src/index.ts"],"sourcesContent":["import { angular } from './lib/angular-vite-plugin.js';\nexport type { PluginOptions } from './lib/angular-vite-plugin.js';\n\nexport default angular;\n"],"mappings":";;AAGA,IAAA,cAAe"}
@@ -1,64 +1,50 @@
1
- import * as vite from 'vite';
2
- import { JavaScriptTransformer } from './utils/devkit.js';
3
- export function buildOptimizerPlugin({ jit, }) {
4
- const javascriptTransformer = new JavaScriptTransformer({
5
- sourcemap: false,
6
- thirdPartySourcemaps: false,
7
- advancedOptimizations: true,
8
- jit: true,
9
- }, 1);
10
- let isProd = false;
11
- return {
12
- name: '@analogjs/vite-plugin-angular-optimizer',
13
- apply: 'build',
14
- config(userConfig) {
15
- isProd =
16
- userConfig.mode === 'production' ||
17
- process.env['NODE_ENV'] === 'production';
18
- return {
19
- define: isProd
20
- ? {
21
- ngJitMode: 'false',
22
- ngI18nClosureMode: 'false',
23
- ngDevMode: 'false',
24
- ngServerMode: `${!!userConfig.build?.ssr}`,
25
- }
26
- : {},
27
- [vite.rolldownVersion ? 'oxc' : 'esbuild']: {
28
- define: isProd
29
- ? {
30
- ngDevMode: 'false',
31
- ngJitMode: 'false',
32
- ngI18nClosureMode: 'false',
33
- ngServerMode: `${!!userConfig.build?.ssr}`,
34
- }
35
- : undefined,
36
- },
37
- };
38
- },
39
- transform: {
40
- filter: {
41
- id: /\.[cm]?js$/,
42
- },
43
- async handler(code, id) {
44
- const angularPackage = /fesm20/.test(id);
45
- if (!angularPackage) {
46
- return {
47
- code: isProd
48
- ? code.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, '')
49
- : code,
50
- map: {
51
- mappings: '',
52
- },
53
- };
54
- }
55
- const sideEffects = jit && id.includes('@angular/compiler') ? true : false;
56
- const result = await javascriptTransformer.transformData(id, code, false, sideEffects);
57
- return {
58
- code: Buffer.from(result).toString(),
59
- };
60
- },
61
- },
62
- };
1
+ import { jt } from "./utils/devkit.js";
2
+ import { getJsTransformConfigKey } from "./utils/rolldown.js";
3
+ //#region packages/vite-plugin-angular/src/lib/angular-build-optimizer-plugin.ts
4
+ function buildOptimizerPlugin({ jit }) {
5
+ const javascriptTransformer = new jt({
6
+ sourcemap: false,
7
+ thirdPartySourcemaps: false,
8
+ advancedOptimizations: true,
9
+ jit: true
10
+ }, 1);
11
+ let isProd = false;
12
+ return {
13
+ name: "@analogjs/vite-plugin-angular-optimizer",
14
+ apply: "build",
15
+ config(userConfig) {
16
+ isProd = userConfig.mode === "production" || process.env.NODE_ENV === "production";
17
+ const jsTransformConfigKey = getJsTransformConfigKey();
18
+ return {
19
+ define: isProd ? {
20
+ ngJitMode: "false",
21
+ ngI18nClosureMode: "false",
22
+ ngDevMode: "false",
23
+ ngServerMode: `${!!userConfig.build?.ssr}`
24
+ } : {},
25
+ [jsTransformConfigKey]: { define: isProd ? {
26
+ ngDevMode: "false",
27
+ ngJitMode: "false",
28
+ ngI18nClosureMode: "false",
29
+ ngServerMode: `${!!userConfig.build?.ssr}`
30
+ } : void 0 }
31
+ };
32
+ },
33
+ transform: {
34
+ filter: { id: /\.[cm]?js$/ },
35
+ async handler(code, id) {
36
+ if (!/fesm20/.test(id)) return {
37
+ code: isProd ? code.replace(/^\/\/# sourceMappingURL=[^\r\n]*/gm, "") : code,
38
+ map: { mappings: "" }
39
+ };
40
+ const sideEffects = jit && id.includes("@angular/compiler") ? true : false;
41
+ const result = await javascriptTransformer.transformData(id, code, false, sideEffects);
42
+ return { code: Buffer.from(result).toString() };
43
+ }
44
+ }
45
+ };
63
46
  }
47
+ //#endregion
48
+ export { buildOptimizerPlugin };
49
+
64
50
  //# sourceMappingURL=angular-build-optimizer-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"angular-build-optimizer-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-build-optimizer-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,oBAAoB,CAAC,EACnC,GAAG,GAIJ;IACC,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACrD;QACE,SAAS,EAAE,KAAK;QAChB,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,IAAI;QAC3B,GAAG,EAAE,IAAI;KACV,EACD,CAAC,CACF,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,OAAO;QACL,IAAI,EAAE,yCAAyC;QAC/C,KAAK,EAAE,OAAO;QACd,MAAM,CAAC,UAAU;YACf,MAAM;gBACJ,UAAU,CAAC,IAAI,KAAK,YAAY;oBAChC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC;YAE3C,OAAO;gBACL,MAAM,EAAE,MAAM;oBACZ,CAAC,CAAC;wBACE,SAAS,EAAE,OAAO;wBAClB,iBAAiB,EAAE,OAAO;wBAC1B,SAAS,EAAE,OAAO;wBAClB,YAAY,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;qBAC3C;oBACH,CAAC,CAAC,EAAE;gBACN,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;oBAC1C,MAAM,EAAE,MAAM;wBACZ,CAAC,CAAC;4BACE,SAAS,EAAE,OAAO;4BAClB,SAAS,EAAE,OAAO;4BAClB,iBAAiB,EAAE,OAAO;4BAC1B,YAAY,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;yBAC3C;wBACH,CAAC,CAAC,SAAS;iBACd;aACY,CAAC;QAClB,CAAC;QACD,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,EAAE,EAAE,YAAY;aACjB;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;gBACpB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEzC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,OAAO;wBACL,IAAI,EAAE,MAAM;4BACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;4BACxD,CAAC,CAAC,IAAI;wBACR,GAAG,EAAE;4BACH,QAAQ,EAAE,EAAE;yBACb;qBACF,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GACf,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACzD,MAAM,MAAM,GAAe,MAAM,qBAAqB,CAAC,aAAa,CAClE,EAAE,EACF,IAAI,EACJ,KAAK,EACL,WAAW,CACZ,CAAC;gBAEF,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;iBACrC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"angular-build-optimizer-plugin.js","names":[],"sources":["../../../../../packages/vite-plugin-angular/src/lib/angular-build-optimizer-plugin.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite';\nimport { JavaScriptTransformer } from './utils/devkit.js';\nimport { getJsTransformConfigKey } from './utils/rolldown.js';\n\nexport function buildOptimizerPlugin({\n jit,\n}: {\n supportedBrowsers: string[];\n jit: boolean;\n}): Plugin {\n const javascriptTransformer = new JavaScriptTransformer(\n {\n sourcemap: false,\n thirdPartySourcemaps: false,\n advancedOptimizations: true,\n jit: true,\n },\n 1,\n );\n let isProd = false;\n\n return {\n name: '@analogjs/vite-plugin-angular-optimizer',\n apply: 'build',\n config(userConfig) {\n isProd =\n userConfig.mode === 'production' ||\n process.env['NODE_ENV'] === 'production';\n const jsTransformConfigKey = getJsTransformConfigKey();\n\n return {\n define: isProd\n ? {\n ngJitMode: 'false',\n ngI18nClosureMode: 'false',\n ngDevMode: 'false',\n ngServerMode: `${!!userConfig.build?.ssr}`,\n }\n : {},\n [jsTransformConfigKey]: {\n define: isProd\n ? {\n ngDevMode: 'false',\n ngJitMode: 'false',\n ngI18nClosureMode: 'false',\n ngServerMode: `${!!userConfig.build?.ssr}`,\n }\n : undefined,\n },\n } as UserConfig;\n },\n transform: {\n filter: {\n id: /\\.[cm]?js$/,\n },\n async handler(code, id) {\n const angularPackage = /fesm20/.test(id);\n\n if (!angularPackage) {\n return {\n code: isProd\n ? code.replace(/^\\/\\/# sourceMappingURL=[^\\r\\n]*/gm, '')\n : code,\n map: {\n mappings: '',\n },\n };\n }\n\n const sideEffects =\n jit && id.includes('@angular/compiler') ? true : false;\n const result: Uint8Array = await javascriptTransformer.transformData(\n id,\n code,\n false,\n sideEffects,\n );\n\n return {\n code: Buffer.from(result).toString(),\n };\n },\n },\n };\n}\n"],"mappings":";;;AAIA,SAAgB,qBAAqB,EACnC,OAIS;CACT,MAAM,wBAAwB,IAAI,GAChC;EACE,WAAW;EACX,sBAAsB;EACtB,uBAAuB;EACvB,KAAK;EACN,EACD,EACD;CACD,IAAI,SAAS;AAEb,QAAO;EACL,MAAM;EACN,OAAO;EACP,OAAO,YAAY;AACjB,YACE,WAAW,SAAS,gBAAA,QAAA,IAAA,aACQ;GAC9B,MAAM,uBAAuB,yBAAyB;AAEtD,UAAO;IACL,QAAQ,SACJ;KACE,WAAW;KACX,mBAAmB;KACnB,WAAW;KACX,cAAc,GAAG,CAAC,CAAC,WAAW,OAAO;KACtC,GACD,EAAE;KACL,uBAAuB,EACtB,QAAQ,SACJ;KACE,WAAW;KACX,WAAW;KACX,mBAAmB;KACnB,cAAc,GAAG,CAAC,CAAC,WAAW,OAAO;KACtC,GACD,KAAA,GACL;IACF;;EAEH,WAAW;GACT,QAAQ,EACN,IAAI,cACL;GACD,MAAM,QAAQ,MAAM,IAAI;AAGtB,QAAI,CAFmB,SAAS,KAAK,GAAG,CAGtC,QAAO;KACL,MAAM,SACF,KAAK,QAAQ,sCAAsC,GAAG,GACtD;KACJ,KAAK,EACH,UAAU,IACX;KACF;IAGH,MAAM,cACJ,OAAO,GAAG,SAAS,oBAAoB,GAAG,OAAO;IACnD,MAAM,SAAqB,MAAM,sBAAsB,cACrD,IACA,MACA,OACA,YACD;AAED,WAAO,EACL,MAAM,OAAO,KAAK,OAAO,CAAC,UAAU,EACrC;;GAEJ;EACF"}