@nativescript/vite 8.0.0-alpha.2 → 8.0.0-alpha.20

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 (209) hide show
  1. package/configuration/angular.d.ts +34 -1
  2. package/configuration/angular.js +380 -34
  3. package/configuration/angular.js.map +1 -1
  4. package/configuration/base.js +171 -7
  5. package/configuration/base.js.map +1 -1
  6. package/configuration/solid.js +27 -1
  7. package/configuration/solid.js.map +1 -1
  8. package/configuration/typescript.js +1 -1
  9. package/configuration/typescript.js.map +1 -1
  10. package/helpers/angular/angular-linker.js +3 -12
  11. package/helpers/angular/angular-linker.js.map +1 -1
  12. package/helpers/angular/inject-component-hmr-registration.d.ts +112 -0
  13. package/helpers/angular/inject-component-hmr-registration.js +359 -0
  14. package/helpers/angular/inject-component-hmr-registration.js.map +1 -0
  15. package/helpers/angular/inject-hmr-vite-ignore.d.ts +75 -0
  16. package/helpers/angular/inject-hmr-vite-ignore.js +288 -0
  17. package/helpers/angular/inject-hmr-vite-ignore.js.map +1 -0
  18. package/helpers/angular/util.d.ts +1 -0
  19. package/helpers/angular/util.js +88 -0
  20. package/helpers/angular/util.js.map +1 -1
  21. package/helpers/commonjs-plugins.d.ts +5 -2
  22. package/helpers/commonjs-plugins.js +126 -0
  23. package/helpers/commonjs-plugins.js.map +1 -1
  24. package/helpers/config-as-json.js +10 -0
  25. package/helpers/config-as-json.js.map +1 -1
  26. package/helpers/dev-host.d.ts +274 -0
  27. package/helpers/dev-host.js +491 -0
  28. package/helpers/dev-host.js.map +1 -0
  29. package/helpers/global-defines.d.ts +51 -0
  30. package/helpers/global-defines.js +77 -0
  31. package/helpers/global-defines.js.map +1 -1
  32. package/helpers/logging.d.ts +1 -0
  33. package/helpers/logging.js +63 -3
  34. package/helpers/logging.js.map +1 -1
  35. package/helpers/main-entry.d.ts +3 -1
  36. package/helpers/main-entry.js +450 -125
  37. package/helpers/main-entry.js.map +1 -1
  38. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  39. package/helpers/nativeclass-transformer-plugin.js +157 -14
  40. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  41. package/helpers/ns-core-url.d.ts +88 -0
  42. package/helpers/ns-core-url.js +191 -0
  43. package/helpers/ns-core-url.js.map +1 -0
  44. package/helpers/prelink-angular.js +1 -4
  45. package/helpers/prelink-angular.js.map +1 -1
  46. package/helpers/project.d.ts +35 -0
  47. package/helpers/project.js +120 -2
  48. package/helpers/project.js.map +1 -1
  49. package/helpers/resolver.js +9 -1
  50. package/helpers/resolver.js.map +1 -1
  51. package/helpers/solid-jsx-deps.d.ts +15 -0
  52. package/helpers/solid-jsx-deps.js +178 -0
  53. package/helpers/solid-jsx-deps.js.map +1 -0
  54. package/helpers/ts-config-paths.js +50 -2
  55. package/helpers/ts-config-paths.js.map +1 -1
  56. package/helpers/workers.d.ts +20 -19
  57. package/helpers/workers.js +620 -3
  58. package/helpers/workers.js.map +1 -1
  59. package/hmr/client/css-handler.d.ts +1 -0
  60. package/hmr/client/css-handler.js +34 -5
  61. package/hmr/client/css-handler.js.map +1 -1
  62. package/hmr/client/css-update-overlay.d.ts +18 -0
  63. package/hmr/client/css-update-overlay.js +27 -0
  64. package/hmr/client/css-update-overlay.js.map +1 -0
  65. package/hmr/client/hmr-pending-overlay.d.ts +27 -0
  66. package/hmr/client/hmr-pending-overlay.js +50 -0
  67. package/hmr/client/hmr-pending-overlay.js.map +1 -0
  68. package/hmr/client/index.js +483 -33
  69. package/hmr/client/index.js.map +1 -1
  70. package/hmr/client/utils.d.ts +5 -0
  71. package/hmr/client/utils.js +283 -12
  72. package/hmr/client/utils.js.map +1 -1
  73. package/hmr/client/vue-sfc-update-overlay.d.ts +82 -0
  74. package/hmr/client/vue-sfc-update-overlay.js +133 -0
  75. package/hmr/client/vue-sfc-update-overlay.js.map +1 -0
  76. package/hmr/entry-runtime.d.ts +2 -1
  77. package/hmr/entry-runtime.js +253 -66
  78. package/hmr/entry-runtime.js.map +1 -1
  79. package/hmr/frameworks/angular/client/index.d.ts +3 -1
  80. package/hmr/frameworks/angular/client/index.js +802 -10
  81. package/hmr/frameworks/angular/client/index.js.map +1 -1
  82. package/hmr/frameworks/angular/server/linker.js +1 -4
  83. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  84. package/hmr/frameworks/angular/server/strategy.js +30 -6
  85. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  86. package/hmr/frameworks/typescript/server/strategy.js +8 -2
  87. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  88. package/hmr/frameworks/vue/client/index.js +18 -42
  89. package/hmr/frameworks/vue/client/index.js.map +1 -1
  90. package/hmr/helpers/ast-normalizer.js +52 -5
  91. package/hmr/helpers/ast-normalizer.js.map +1 -1
  92. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  93. package/hmr/helpers/cjs-named-exports.js +152 -0
  94. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  95. package/hmr/helpers/package-exports.d.ts +16 -0
  96. package/hmr/helpers/package-exports.js +396 -0
  97. package/hmr/helpers/package-exports.js.map +1 -0
  98. package/hmr/server/constants.js +13 -4
  99. package/hmr/server/constants.js.map +1 -1
  100. package/hmr/server/core-sanitize.d.ts +93 -8
  101. package/hmr/server/core-sanitize.js +222 -49
  102. package/hmr/server/core-sanitize.js.map +1 -1
  103. package/hmr/server/import-map.js +80 -22
  104. package/hmr/server/import-map.js.map +1 -1
  105. package/hmr/server/index.d.ts +2 -1
  106. package/hmr/server/index.js.map +1 -1
  107. package/hmr/server/ns-core-cjs-shape.d.ts +204 -0
  108. package/hmr/server/ns-core-cjs-shape.js +271 -0
  109. package/hmr/server/ns-core-cjs-shape.js.map +1 -0
  110. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  111. package/hmr/server/ns-rt-bridge.js +131 -0
  112. package/hmr/server/ns-rt-bridge.js.map +1 -0
  113. package/hmr/server/perf-instrumentation.d.ts +114 -0
  114. package/hmr/server/perf-instrumentation.js +195 -0
  115. package/hmr/server/perf-instrumentation.js.map +1 -0
  116. package/hmr/server/runtime-graph-filter.d.ts +5 -0
  117. package/hmr/server/runtime-graph-filter.js +21 -0
  118. package/hmr/server/runtime-graph-filter.js.map +1 -0
  119. package/hmr/server/shared-transform-request.d.ts +12 -0
  120. package/hmr/server/shared-transform-request.js +144 -0
  121. package/hmr/server/shared-transform-request.js.map +1 -0
  122. package/hmr/server/vite-plugin.d.ts +21 -1
  123. package/hmr/server/vite-plugin.js +497 -58
  124. package/hmr/server/vite-plugin.js.map +1 -1
  125. package/hmr/server/websocket-angular-entry.d.ts +2 -0
  126. package/hmr/server/websocket-angular-entry.js +68 -0
  127. package/hmr/server/websocket-angular-entry.js.map +1 -0
  128. package/hmr/server/websocket-angular-hot-update.d.ts +78 -0
  129. package/hmr/server/websocket-angular-hot-update.js +413 -0
  130. package/hmr/server/websocket-angular-hot-update.js.map +1 -0
  131. package/hmr/server/websocket-core-bridge.d.ts +58 -0
  132. package/hmr/server/websocket-core-bridge.js +368 -0
  133. package/hmr/server/websocket-core-bridge.js.map +1 -0
  134. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  135. package/hmr/server/websocket-css-hot-update.js +65 -0
  136. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  137. package/hmr/server/websocket-graph-upsert.d.ts +21 -0
  138. package/hmr/server/websocket-graph-upsert.js +33 -0
  139. package/hmr/server/websocket-graph-upsert.js.map +1 -0
  140. package/hmr/server/websocket-hmr-pending.d.ts +43 -0
  141. package/hmr/server/websocket-hmr-pending.js +55 -0
  142. package/hmr/server/websocket-hmr-pending.js.map +1 -0
  143. package/hmr/server/websocket-module-bindings.d.ts +6 -0
  144. package/hmr/server/websocket-module-bindings.js +471 -0
  145. package/hmr/server/websocket-module-bindings.js.map +1 -0
  146. package/hmr/server/websocket-module-specifiers.d.ts +101 -0
  147. package/hmr/server/websocket-module-specifiers.js +820 -0
  148. package/hmr/server/websocket-module-specifiers.js.map +1 -0
  149. package/hmr/server/websocket-ns-m-finalize.d.ts +22 -0
  150. package/hmr/server/websocket-ns-m-finalize.js +88 -0
  151. package/hmr/server/websocket-ns-m-finalize.js.map +1 -0
  152. package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
  153. package/hmr/server/websocket-ns-m-paths.js +92 -0
  154. package/hmr/server/websocket-ns-m-paths.js.map +1 -0
  155. package/hmr/server/websocket-ns-m-request.d.ts +45 -0
  156. package/hmr/server/websocket-ns-m-request.js +196 -0
  157. package/hmr/server/websocket-ns-m-request.js.map +1 -0
  158. package/hmr/server/websocket-served-module-helpers.d.ts +36 -0
  159. package/hmr/server/websocket-served-module-helpers.js +644 -0
  160. package/hmr/server/websocket-served-module-helpers.js.map +1 -0
  161. package/hmr/server/websocket-txn.d.ts +6 -0
  162. package/hmr/server/websocket-txn.js +45 -0
  163. package/hmr/server/websocket-txn.js.map +1 -0
  164. package/hmr/server/websocket-vendor-unifier.d.ts +10 -0
  165. package/hmr/server/websocket-vendor-unifier.js +51 -0
  166. package/hmr/server/websocket-vendor-unifier.js.map +1 -0
  167. package/hmr/server/websocket-vue-sfc.d.ts +26 -0
  168. package/hmr/server/websocket-vue-sfc.js +1053 -0
  169. package/hmr/server/websocket-vue-sfc.js.map +1 -0
  170. package/hmr/server/websocket.d.ts +58 -75
  171. package/hmr/server/websocket.js +2230 -1802
  172. package/hmr/server/websocket.js.map +1 -1
  173. package/hmr/shared/package-classifier.d.ts +9 -0
  174. package/hmr/shared/package-classifier.js +58 -0
  175. package/hmr/shared/package-classifier.js.map +1 -0
  176. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  177. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  178. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  179. package/hmr/shared/runtime/boot-progress.d.ts +40 -0
  180. package/hmr/shared/runtime/boot-progress.js +128 -0
  181. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  182. package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
  183. package/hmr/shared/runtime/boot-timeline.js +52 -0
  184. package/hmr/shared/runtime/boot-timeline.js.map +1 -0
  185. package/hmr/shared/runtime/browser-runtime-contract.d.ts +64 -0
  186. package/hmr/shared/runtime/browser-runtime-contract.js +54 -0
  187. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -0
  188. package/hmr/shared/runtime/dev-overlay.d.ts +78 -3
  189. package/hmr/shared/runtime/dev-overlay.js +1094 -26
  190. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  191. package/hmr/shared/runtime/module-provenance.js +1 -4
  192. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  193. package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
  194. package/hmr/shared/runtime/root-placeholder.js +1019 -151
  195. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  196. package/hmr/shared/runtime/session-bootstrap.d.ts +1 -0
  197. package/hmr/shared/runtime/session-bootstrap.js +309 -0
  198. package/hmr/shared/runtime/session-bootstrap.js.map +1 -0
  199. package/hmr/shared/runtime/vendor-bootstrap.js +1 -9
  200. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  201. package/hmr/shared/vendor/manifest.d.ts +32 -0
  202. package/hmr/shared/vendor/manifest.js +411 -46
  203. package/hmr/shared/vendor/manifest.js.map +1 -1
  204. package/index.d.ts +1 -0
  205. package/index.js +5 -0
  206. package/index.js.map +1 -1
  207. package/package.json +9 -1
  208. package/runtime/core-aliases-early.js +94 -67
  209. package/runtime/core-aliases-early.js.map +1 -1
@@ -0,0 +1,288 @@
1
+ /**
2
+ * Re-inject `/* @vite-ignore *\/` into Angular's HMR initializer dynamic
3
+ * imports.
4
+ *
5
+ * # Why this exists
6
+ *
7
+ * Angular's compiler (`@angular/compiler`'s `compileHmrInitializer`) emits
8
+ * each `@Component`-decorated class's HMR loader as:
9
+ *
10
+ * ```js
11
+ * function FooComponent_HmrLoad(t) {
12
+ * import(\/* @vite-ignore *\/ i0.ɵɵgetReplaceMetadataURL(id, t, import.meta.url))
13
+ * .then((m) => m.default && i0.ɵɵreplaceMetadata(FooComponent, m.default, ...));
14
+ * }
15
+ * ```
16
+ *
17
+ * The `\/* @vite-ignore *\/` annotation tells Vite "do not try to
18
+ * statically analyze this dynamic import" — the URL is computed at
19
+ * runtime by `ɵɵgetReplaceMetadataURL`, which produces something like
20
+ * `http://host/ns/m/<componentDir>/@ng/component?c=<id>&t=<ts>` to be
21
+ * resolved by Analog's `liveReloadPlugin` middleware on the dev server.
22
+ *
23
+ * Somewhere along the post-Angular transform chain — empirically the
24
+ * `compact: false` Babel pass driven by the Angular linker, but
25
+ * potentially other plugins as well — the leading-argument comment is
26
+ * being dropped. By the time the file lands on the device, the
27
+ * compiled emit reads:
28
+ *
29
+ * ```js
30
+ * import(i0.ɵɵgetReplaceMetadataURL(id, t, import.meta.url))
31
+ * ```
32
+ *
33
+ * Vite's static analyzer logs:
34
+ *
35
+ * > The above dynamic import cannot be analyzed by Vite.
36
+ *
37
+ * and rewrites the call site to route through Vite's runtime resolver,
38
+ * which fails on the iOS runtime because the resolver expects a
39
+ * statically-known module specifier. The HMR loader IIFE runs at every
40
+ * component module evaluation (gated by `ngDevMode`), so the failure
41
+ * fires at boot for the FIRST `@Component` whose module is evaluated —
42
+ * typically a base/utility component like `ConfirmationDialogBaseComponent`
43
+ * — and aborts session startup with:
44
+ *
45
+ * > TypeError at Module.ɵɵgetReplaceMetadataURL
46
+ *
47
+ * Re-inserting the annotation downstream of every other transform makes
48
+ * us tolerant of upstream comment-loss without depending on the linker's
49
+ * comment behaviour. The fix is purely additive: if the comment is still
50
+ * present (Angular versions that emit it differently, or future
51
+ * compilers that wrap the URL in an alternate helper), `appendIfMissing`
52
+ * leaves the import untouched.
53
+ *
54
+ * # Idempotence
55
+ *
56
+ * The helper is safe to call repeatedly on the same source — once the
57
+ * annotation is present, subsequent calls become a no-op match by match.
58
+ * Vite's transform pipeline can replay cached transforms during a
59
+ * single dev session, so idempotence is required, not optional.
60
+ *
61
+ * # Surface area
62
+ *
63
+ * We only touch `import()` calls whose argument expression contains
64
+ * `ɵɵgetReplaceMetadataURL` (matching either the literal Unicode form
65
+ * or the escaped `\u0275\u0275getReplaceMetadataURL`). Every other
66
+ * dynamic import is left alone — an over-broad sweep would suppress
67
+ * Vite warnings on user dynamic imports that genuinely should be
68
+ * statically analyzed.
69
+ */
70
+ const ANGULAR_HMR_IDENTIFIER = 'getReplaceMetadataURL';
71
+ const VITE_IGNORE_COMMENT = '/* @vite-ignore */';
72
+ /**
73
+ * Inject `/* @vite-ignore *\/` into every `import()` whose argument
74
+ * references Angular's `ɵɵgetReplaceMetadataURL`. Returns the original
75
+ * code unchanged when no qualifying imports are found.
76
+ */
77
+ export function injectAngularHmrViteIgnore(code) {
78
+ if (!code)
79
+ return code;
80
+ // Cheap pre-check: bail out before walking the source if neither
81
+ // the unicode nor the escape form of the identifier is anywhere in
82
+ // the file. The vast majority of files aren't components, so this
83
+ // short-circuit is the hot path.
84
+ if (!code.includes(ANGULAR_HMR_IDENTIFIER))
85
+ return code;
86
+ let output = '';
87
+ let cursor = 0;
88
+ let changed = false;
89
+ while (cursor < code.length) {
90
+ const importIndex = findNextImportCall(code, cursor);
91
+ if (importIndex === -1) {
92
+ output += code.slice(cursor);
93
+ break;
94
+ }
95
+ const openParenIndex = findOpenParenAfter(code, importIndex + 'import'.length);
96
+ if (openParenIndex === -1) {
97
+ output += code.slice(cursor, importIndex + 'import'.length);
98
+ cursor = importIndex + 'import'.length;
99
+ continue;
100
+ }
101
+ const closeParenIndex = findMatchingDelimiter(code, openParenIndex, '(', ')');
102
+ if (closeParenIndex === -1) {
103
+ output += code.slice(cursor, openParenIndex + 1);
104
+ cursor = openParenIndex + 1;
105
+ continue;
106
+ }
107
+ const argumentBody = code.slice(openParenIndex + 1, closeParenIndex);
108
+ if (!referencesReplaceMetadataUrl(argumentBody)) {
109
+ output += code.slice(cursor, closeParenIndex + 1);
110
+ cursor = closeParenIndex + 1;
111
+ continue;
112
+ }
113
+ if (alreadyAnnotated(argumentBody)) {
114
+ output += code.slice(cursor, closeParenIndex + 1);
115
+ cursor = closeParenIndex + 1;
116
+ continue;
117
+ }
118
+ // Insert the annotation immediately after `import(` so the
119
+ // original argument expression — including any leading
120
+ // whitespace the upstream emitter chose — keeps its byte
121
+ // layout. This preserves source-map line stability for the
122
+ // rest of the file: only column offsets after the injection
123
+ // shift, never line numbers.
124
+ output += code.slice(cursor, openParenIndex + 1);
125
+ output += ` ${VITE_IGNORE_COMMENT} `;
126
+ output += code.slice(openParenIndex + 1, closeParenIndex + 1);
127
+ cursor = closeParenIndex + 1;
128
+ changed = true;
129
+ }
130
+ return changed ? output : code;
131
+ }
132
+ function findNextImportCall(source, startIndex) {
133
+ let i = startIndex;
134
+ while (i < source.length) {
135
+ const next = source.indexOf('import', i);
136
+ if (next === -1)
137
+ return -1;
138
+ // Reject `import.meta` and `import ` keyword forms; only
139
+ // `import(` (with optional whitespace) is a dynamic import.
140
+ const tail = next + 'import'.length;
141
+ const before = source.charCodeAt(next - 1);
142
+ const isWordCharBefore = isIdentifierPart(before);
143
+ if (!isWordCharBefore) {
144
+ let scan = tail;
145
+ while (scan < source.length && isWhitespace(source.charCodeAt(scan)))
146
+ scan++;
147
+ if (source.charCodeAt(scan) === 0x28 /* '(' */) {
148
+ return next;
149
+ }
150
+ }
151
+ i = tail;
152
+ }
153
+ return -1;
154
+ }
155
+ function findOpenParenAfter(source, index) {
156
+ let i = index;
157
+ while (i < source.length && isWhitespace(source.charCodeAt(i)))
158
+ i++;
159
+ if (source.charCodeAt(i) === 0x28 /* '(' */)
160
+ return i;
161
+ return -1;
162
+ }
163
+ function alreadyAnnotated(argumentBody) {
164
+ // Trim only the leading whitespace + comments — body may have many
165
+ // non-`@vite-ignore` block comments later that we don't want to
166
+ // confuse for an already-applied annotation.
167
+ let i = 0;
168
+ while (i < argumentBody.length) {
169
+ const c = argumentBody.charCodeAt(i);
170
+ if (isWhitespace(c)) {
171
+ i++;
172
+ continue;
173
+ }
174
+ if (c === 0x2f /* '/' */ && argumentBody.charCodeAt(i + 1) === 0x2a /* '*' */) {
175
+ const closeIndex = argumentBody.indexOf('*/', i + 2);
176
+ if (closeIndex === -1)
177
+ return false;
178
+ const commentBody = argumentBody.slice(i + 2, closeIndex);
179
+ if (commentBody.includes('@vite-ignore'))
180
+ return true;
181
+ i = closeIndex + 2;
182
+ continue;
183
+ }
184
+ // First non-whitespace, non-block-comment token — there's no
185
+ // annotation in the leading whitespace window.
186
+ return false;
187
+ }
188
+ return false;
189
+ }
190
+ function referencesReplaceMetadataUrl(argumentBody) {
191
+ if (!argumentBody)
192
+ return false;
193
+ if (argumentBody.includes(ANGULAR_HMR_IDENTIFIER))
194
+ return true;
195
+ // `\u0275\u0275getReplaceMetadataURL` — unicode-escaped form some
196
+ // transforms emit. The substring above already covers the suffix
197
+ // regardless of the prefix encoding, so this branch is mostly
198
+ // defensive — keep it explicit so future changes to the identifier
199
+ // (e.g. a `replaceMetadataURL` rename without `ɵɵ`) don't silently
200
+ // stop matching.
201
+ return /\\u0275\\u0275getReplaceMetadataURL/.test(argumentBody);
202
+ }
203
+ function isWhitespace(code) {
204
+ return code === 0x20 || code === 0x09 || code === 0x0a || code === 0x0d || code === 0x0b || code === 0x0c;
205
+ }
206
+ function isIdentifierPart(code) {
207
+ if (Number.isNaN(code))
208
+ return false;
209
+ if (code === 0x5f /* '_' */ || code === 0x24 /* '$' */)
210
+ return true;
211
+ if (code >= 0x30 && code <= 0x39)
212
+ return true;
213
+ if (code >= 0x41 && code <= 0x5a)
214
+ return true;
215
+ if (code >= 0x61 && code <= 0x7a)
216
+ return true;
217
+ return false;
218
+ }
219
+ /**
220
+ * Comment- and string-aware paren matcher. Used to find the closing
221
+ * `)` for `import(` even when the argument expression contains
222
+ * commented-out parens, template literals, or nested calls. Imported
223
+ * inline (rather than from `synthesize-decorator-ctor-parameters.ts`'s
224
+ * private helper) so this file has no internal dependencies and can
225
+ * be tested in isolation.
226
+ */
227
+ function findMatchingDelimiter(source, openIndex, openChar, closeChar) {
228
+ if (openIndex < 0 || source[openIndex] !== openChar)
229
+ return -1;
230
+ let depth = 0;
231
+ let quote = null;
232
+ let escape = false;
233
+ let inLineComment = false;
234
+ let inBlockComment = false;
235
+ for (let index = openIndex; index < source.length; index++) {
236
+ const char = source[index];
237
+ const next = source[index + 1];
238
+ if (inLineComment) {
239
+ if (char === '\n')
240
+ inLineComment = false;
241
+ continue;
242
+ }
243
+ if (inBlockComment) {
244
+ if (char === '*' && next === '/') {
245
+ inBlockComment = false;
246
+ index++;
247
+ }
248
+ continue;
249
+ }
250
+ if (quote) {
251
+ if (escape) {
252
+ escape = false;
253
+ continue;
254
+ }
255
+ if (char === '\\') {
256
+ escape = true;
257
+ continue;
258
+ }
259
+ if (char === quote)
260
+ quote = null;
261
+ continue;
262
+ }
263
+ if (char === '/' && next === '/') {
264
+ inLineComment = true;
265
+ index++;
266
+ continue;
267
+ }
268
+ if (char === '/' && next === '*') {
269
+ inBlockComment = true;
270
+ index++;
271
+ continue;
272
+ }
273
+ if (char === '"' || char === "'" || char === '`') {
274
+ quote = char;
275
+ continue;
276
+ }
277
+ if (char === openChar) {
278
+ depth++;
279
+ }
280
+ else if (char === closeChar) {
281
+ depth--;
282
+ if (depth === 0)
283
+ return index;
284
+ }
285
+ }
286
+ return -1;
287
+ }
288
+ //# sourceMappingURL=inject-hmr-vite-ignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-hmr-vite-ignore.js","sourceRoot":"","sources":["../../../../../packages/vite/helpers/angular/inject-hmr-vite-ignore.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare function containsRealNgDeclare(src: string): boolean;
2
+ export declare function stripJsComments(src: string): string;
@@ -64,4 +64,92 @@ export function containsRealNgDeclare(src) {
64
64
  }
65
65
  return false;
66
66
  }
67
+ // Returns the input source with `//` line comments and `/* */` block comments
68
+ // blanked out (replaced with spaces, preserving original line/column offsets).
69
+ // String and template literal contents are left untouched. The original
70
+ // character count is preserved so that downstream callers using regex `index`
71
+ // values still align with the original source.
72
+ //
73
+ // Why blank out instead of strip: callers like `extractComponentAssetPaths`
74
+ // run regexes against this output but consume captured paths as-is. Keeping
75
+ // the offsets stable means we don't need to remap any indexes — and any
76
+ // future caller that reports positions back to the user (e.g. a diagnostic
77
+ // pointing at a `styleUrl` value) gets the right line/column for free.
78
+ //
79
+ // Why this matters: in current Rolldown-Vite, `addWatchFile(path)` ALSO
80
+ // records the file as an `_addedImports` entry on the load/transform plugin
81
+ // context. The `vite:import-analysis` plugin then attempts to resolve every
82
+ // added import; a non-existent file (e.g. a path scraped from a commented-
83
+ // out `styleUrls` line) produces a `Failed to resolve import "..." from
84
+ // "...". Does the file exist?` pre-transform error. Stripping comments
85
+ // before scanning keeps us from registering phantom asset deps.
86
+ export function stripJsComments(src) {
87
+ if (!src)
88
+ return src;
89
+ const len = src.length;
90
+ let out = '';
91
+ let inStr = false, strCh = '', esc = false, inBlk = false, inLine = false;
92
+ for (let i = 0; i < len; i++) {
93
+ const ch = src[i];
94
+ const next = i + 1 < len ? src[i + 1] : '';
95
+ if (inLine) {
96
+ if (ch === '\n') {
97
+ inLine = false;
98
+ out += ch;
99
+ }
100
+ else {
101
+ out += ' ';
102
+ }
103
+ continue;
104
+ }
105
+ if (inBlk) {
106
+ if (ch === '*' && next === '/') {
107
+ inBlk = false;
108
+ out += ' ';
109
+ i++;
110
+ continue;
111
+ }
112
+ out += ch === '\n' ? '\n' : ' ';
113
+ continue;
114
+ }
115
+ if (inStr) {
116
+ if (esc) {
117
+ esc = false;
118
+ out += ch;
119
+ continue;
120
+ }
121
+ if (ch === '\\') {
122
+ esc = true;
123
+ out += ch;
124
+ continue;
125
+ }
126
+ if (ch === strCh) {
127
+ inStr = false;
128
+ strCh = '';
129
+ }
130
+ out += ch;
131
+ continue;
132
+ }
133
+ if (ch === '/' && next === '/') {
134
+ inLine = true;
135
+ out += ' ';
136
+ i++;
137
+ continue;
138
+ }
139
+ if (ch === '/' && next === '*') {
140
+ inBlk = true;
141
+ out += ' ';
142
+ i++;
143
+ continue;
144
+ }
145
+ if (ch === '"' || ch === "'" || ch === '`') {
146
+ inStr = true;
147
+ strCh = ch;
148
+ out += ch;
149
+ continue;
150
+ }
151
+ out += ch;
152
+ }
153
+ return out;
154
+ }
67
155
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../packages/vite/helpers/angular/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../packages/vite/helpers/angular/util.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- export declare const commonjsPlugins: {
1
+ import type { Plugin } from 'vite';
2
+ export declare function getSourceMapJsCompatSubpath(id: string): string | null;
3
+ export declare function transformSourceMapJsCompatModule(code: string, id: string): string;
4
+ export declare const commonjsPlugins: (Plugin<any> | {
2
5
  name: string;
3
6
  enforce: string;
4
7
  resolveId(id: any): any;
@@ -6,4 +9,4 @@ export declare const commonjsPlugins: {
6
9
  code: string;
7
10
  moduleType: string;
8
11
  };
9
- }[];
12
+ })[];
@@ -1,5 +1,131 @@
1
+ import path from 'path';
2
+ import { findPackageInNodeModules } from './module-resolution.js';
3
+ import { getProjectRootPath } from './project.js';
1
4
  // Support various @nativescript/core transient commonjs dependency cases
5
+ const PROJECT_ROOT = getProjectRootPath();
6
+ const SOURCE_MAP_JS_ROOT = findPackageInNodeModules('source-map-js', PROJECT_ROOT)?.replace(/\\/g, '/');
7
+ const STRIP_QUERY_RE = /[?#].*$/;
8
+ export function getSourceMapJsCompatSubpath(id) {
9
+ if (!id)
10
+ return null;
11
+ const cleaned = id.replace(STRIP_QUERY_RE, '').replace(/\\/g, '/');
12
+ if (!cleaned)
13
+ return null;
14
+ if (cleaned === 'source-map-js') {
15
+ return 'source-map.js';
16
+ }
17
+ if (cleaned === 'source-map-js/source-map.js' || cleaned.startsWith('source-map-js/lib/')) {
18
+ return cleaned.slice('source-map-js/'.length);
19
+ }
20
+ const nodeModulesMarker = '/node_modules/source-map-js';
21
+ const nodeModulesIndex = cleaned.lastIndexOf(nodeModulesMarker);
22
+ if (nodeModulesIndex !== -1) {
23
+ const tail = cleaned.slice(nodeModulesIndex + nodeModulesMarker.length).replace(/^\//, '');
24
+ return tail || 'source-map.js';
25
+ }
26
+ if (SOURCE_MAP_JS_ROOT) {
27
+ if (cleaned === SOURCE_MAP_JS_ROOT) {
28
+ return 'source-map.js';
29
+ }
30
+ if (cleaned.startsWith(`${SOURCE_MAP_JS_ROOT}/`)) {
31
+ return cleaned.slice(SOURCE_MAP_JS_ROOT.length + 1);
32
+ }
33
+ }
34
+ return null;
35
+ }
36
+ export function transformSourceMapJsCompatModule(code, id) {
37
+ const subpath = getSourceMapJsCompatSubpath(id);
38
+ if (!subpath || (!subpath.endsWith('.js') && subpath !== 'source-map.js')) {
39
+ return code;
40
+ }
41
+ if (!/\b(?:exports\.|module\.exports|require\(['"])/.test(code)) {
42
+ return code;
43
+ }
44
+ const currentDir = path.posix.dirname(subpath);
45
+ const importBindings = new Map();
46
+ const importLines = [];
47
+ const getImportBinding = (request) => {
48
+ if (!request.startsWith('.') && !request.startsWith('/')) {
49
+ return null;
50
+ }
51
+ let resolved = path.posix.normalize(path.posix.join(currentDir, request));
52
+ if (!path.posix.extname(resolved)) {
53
+ resolved += '.js';
54
+ }
55
+ resolved = resolved.replace(/^\//, '');
56
+ const specifier = `source-map-js/${resolved}`;
57
+ let binding = importBindings.get(specifier);
58
+ if (!binding) {
59
+ binding = `__ns_source_map_js_req_${importBindings.size}`;
60
+ importBindings.set(specifier, binding);
61
+ importLines.push(`import ${binding} from ${JSON.stringify(specifier)};`);
62
+ }
63
+ return binding;
64
+ };
65
+ let transformed = code;
66
+ transformed = transformed.replace(/require\((['"])([^'"]+)\1\)\.([A-Za-z_$][\w$]*)/g, (match, _quote, request, prop) => {
67
+ const binding = getImportBinding(request);
68
+ return binding ? `${binding}.${prop}` : match;
69
+ });
70
+ transformed = transformed.replace(/require\((['"])([^'"]+)\1\)/g, (match, _quote, request) => {
71
+ const binding = getImportBinding(request);
72
+ return binding ?? match;
73
+ });
74
+ const namedExports = new Set();
75
+ const exportsRe = /\bexports\s*\.\s*([A-Za-z_$][\w$]*)\s*=/g;
76
+ let exportMatch;
77
+ while ((exportMatch = exportsRe.exec(transformed)) !== null) {
78
+ const name = exportMatch[1];
79
+ if (name !== '__esModule' && name !== 'default') {
80
+ namedExports.add(name);
81
+ }
82
+ }
83
+ const definePropertyRe = /Object\s*\.\s*defineProperty\s*\(\s*exports\s*,\s*['"]([^'"]+)['"]/g;
84
+ while ((exportMatch = definePropertyRe.exec(transformed)) !== null) {
85
+ const name = exportMatch[1];
86
+ if (name !== '__esModule' && name !== 'default') {
87
+ namedExports.add(name);
88
+ }
89
+ }
90
+ const output = [];
91
+ if (importLines.length) {
92
+ output.push(...importLines, '');
93
+ }
94
+ output.push('const module = { exports: {} };');
95
+ output.push('const exports = module.exports;');
96
+ output.push(transformed.trimEnd());
97
+ output.push('');
98
+ output.push('const __cjs_mod = module.exports;');
99
+ output.push('export default __cjs_mod;');
100
+ if (namedExports.size) {
101
+ const entries = Array.from(namedExports);
102
+ const tempDecls = entries.map((name, index) => `const __cjs_export_${index} = __cjs_mod[${JSON.stringify(name)}];`);
103
+ const reExports = entries.map((name, index) => `__cjs_export_${index} as ${name}`);
104
+ output.push(...tempDecls);
105
+ output.push(`export { ${reExports.join(', ')} };`);
106
+ }
107
+ output.push('');
108
+ return output.join('\n');
109
+ }
110
+ const sourceMapJsCompatPlugin = {
111
+ name: 'source-map-js-compat',
112
+ enforce: 'pre',
113
+ transform(code, id) {
114
+ if (!getSourceMapJsCompatSubpath(id)) {
115
+ return null;
116
+ }
117
+ const transformed = transformSourceMapJsCompatModule(code, id);
118
+ if (transformed === code) {
119
+ return null;
120
+ }
121
+ return {
122
+ code: transformed,
123
+ map: null,
124
+ };
125
+ },
126
+ };
2
127
  export const commonjsPlugins = [
128
+ sourceMapJsCompatPlugin,
3
129
  // Fix html-entities ESM compatibility issue
4
130
  {
5
131
  name: 'html-entities-compat',
@@ -1 +1 @@
1
- {"version":3,"file":"commonjs-plugins.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/commonjs-plugins.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B,4CAA4C;IAC5C;QACC,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,KAAK;QACd,SAAS,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACX,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC5B,gHAAgH;gBAChH,OAAO;oBACN,IAAI,EAAE;;;;;;CAMV;oBACI,UAAU,EAAE,IAAI;iBAChB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD,8CAA8C;IAC9C;QACC,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,KAAK;QACd,SAAS,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC9B,OAAO,EAAE,CAAC;YACX,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC9B,qIAAqI;gBACrI,OAAO;oBACN,IAAI,EAAE;;;;;;;;CAQV;oBACI,UAAU,EAAE,IAAI;iBAChB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;KACD;CACD,CAAC"}
1
+ {"version":3,"file":"commonjs-plugins.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/commonjs-plugins.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,16 @@ export default function nsConfigAsJsonPlugin() {
27
27
  // 3. After Rollup has generated all chunks, emit a package.json asset
28
28
  // into the output directory (dist/ by default)
29
29
  generateBundle(_options, _bundle) {
30
+ // Lazy-init in case no module in the graph imported '~/package.json'
31
+ // this build. (Under HMR with @nativescript/core external, the
32
+ // `~/package.json` import that lived inside core's graph is gone, so
33
+ // `load()` never fires. Without this guard, `configObject` is
34
+ // undefined, `JSON.stringify` returns undefined, and rolldown's
35
+ // emitFile rejects it with "Missing field `inner` on
36
+ // BindingEmittedAsset.source".)
37
+ if (!configObject) {
38
+ configObject = nsConfigToJson();
39
+ }
30
40
  const json = JSON.stringify(configObject, null, 2);
31
41
  this.emitFile({
32
42
  type: 'asset',
@@ -1 +1 @@
1
- {"version":3,"file":"config-as-json.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/config-as-json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,sCAAsC;IACtC,IAAI,YAAiC,CAAC;IAEtC,OAAO;QACN,IAAI,EAAE,yBAAyB;QAE/B,2CAA2C;QAC3C,SAAS,CAAC,MAAM;YACf,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC9B,YAAY,GAAG,cAAc,EAAE,CAAC;gBAEhC,+DAA+D;gBAC/D,OAAO;oBACN,IAAI,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG;oBACvD,UAAU,EAAE,IAAI;iBAChB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,sEAAsE;QACtE,kDAAkD;QAClD,cAAc,CAAC,QAAQ,EAAE,OAAO;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config-as-json.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/config-as-json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,sCAAsC;IACtC,IAAI,YAAiC,CAAC;IAEtC,OAAO;QACN,IAAI,EAAE,yBAAyB;QAE/B,2CAA2C;QAC3C,SAAS,CAAC,MAAM;YACf,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC9B,YAAY,GAAG,cAAc,EAAE,CAAC;gBAEhC,+DAA+D;gBAC/D,OAAO;oBACN,IAAI,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG;oBACvD,UAAU,EAAE,IAAI;iBAChB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,sEAAsE;QACtE,kDAAkD;QAClD,cAAc,CAAC,QAAQ,EAAE,OAAO;YAC/B,qEAAqE;YACrE,+DAA+D;YAC/D,qEAAqE;YACrE,8DAA8D;YAC9D,gEAAgE;YAChE,qDAAqD;YACrD,gCAAgC;YAChC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,YAAY,GAAG,cAAc,EAAE,CAAC;YACjC,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC"}