@nativescript/vite 8.0.0-alpha.1 → 8.0.0-alpha.3

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 (145) hide show
  1. package/configuration/angular.d.ts +1 -1
  2. package/configuration/angular.js +323 -119
  3. package/configuration/angular.js.map +1 -1
  4. package/configuration/base.js +41 -24
  5. package/configuration/base.js.map +1 -1
  6. package/configuration/javascript.js +3 -3
  7. package/configuration/javascript.js.map +1 -1
  8. package/configuration/solid.js +7 -0
  9. package/configuration/solid.js.map +1 -1
  10. package/configuration/typescript.js +3 -3
  11. package/configuration/typescript.js.map +1 -1
  12. package/helpers/angular/angular-linker.js +39 -34
  13. package/helpers/angular/angular-linker.js.map +1 -1
  14. package/helpers/angular/inline-decorator-component-templates.d.ts +3 -0
  15. package/helpers/angular/inline-decorator-component-templates.js +400 -0
  16. package/helpers/angular/inline-decorator-component-templates.js.map +1 -0
  17. package/helpers/angular/shared-linker.d.ts +7 -0
  18. package/helpers/angular/shared-linker.js +37 -1
  19. package/helpers/angular/shared-linker.js.map +1 -1
  20. package/helpers/angular/synthesize-decorator-ctor-parameters.d.ts +1 -0
  21. package/helpers/angular/synthesize-decorator-ctor-parameters.js +256 -0
  22. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +1 -0
  23. package/helpers/angular/synthesize-injectable-factories.d.ts +3 -0
  24. package/helpers/angular/synthesize-injectable-factories.js +414 -0
  25. package/helpers/angular/synthesize-injectable-factories.js.map +1 -0
  26. package/helpers/commonjs-plugins.d.ts +5 -2
  27. package/helpers/commonjs-plugins.js +126 -0
  28. package/helpers/commonjs-plugins.js.map +1 -1
  29. package/helpers/esbuild-platform-resolver.js +5 -5
  30. package/helpers/esbuild-platform-resolver.js.map +1 -1
  31. package/helpers/external-configs.d.ts +9 -1
  32. package/helpers/external-configs.js +31 -6
  33. package/helpers/external-configs.js.map +1 -1
  34. package/helpers/import-meta-path.d.ts +4 -0
  35. package/helpers/import-meta-path.js +5 -0
  36. package/helpers/import-meta-path.js.map +1 -0
  37. package/helpers/import-specifier.d.ts +1 -0
  38. package/helpers/import-specifier.js +18 -0
  39. package/helpers/import-specifier.js.map +1 -0
  40. package/helpers/main-entry.d.ts +5 -2
  41. package/helpers/main-entry.js +112 -95
  42. package/helpers/main-entry.js.map +1 -1
  43. package/helpers/nativeclass-transform.js +8 -127
  44. package/helpers/nativeclass-transform.js.map +1 -1
  45. package/helpers/nativeclass-transformer-plugin.d.ts +12 -1
  46. package/helpers/nativeclass-transformer-plugin.js +175 -36
  47. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  48. package/hmr/client/css-handler.js +60 -20
  49. package/hmr/client/css-handler.js.map +1 -1
  50. package/hmr/client/index.js +524 -23
  51. package/hmr/client/index.js.map +1 -1
  52. package/hmr/client/utils.js +57 -6
  53. package/hmr/client/utils.js.map +1 -1
  54. package/hmr/entry-runtime.d.ts +10 -0
  55. package/hmr/entry-runtime.js +263 -21
  56. package/hmr/entry-runtime.js.map +1 -1
  57. package/hmr/frameworks/angular/client/index.d.ts +2 -1
  58. package/hmr/frameworks/angular/client/index.js +72 -19
  59. package/hmr/frameworks/angular/client/index.js.map +1 -1
  60. package/hmr/frameworks/angular/server/linker.js +36 -2
  61. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  62. package/hmr/frameworks/angular/server/strategy.js +20 -5
  63. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  64. package/hmr/frameworks/typescript/server/strategy.js +8 -2
  65. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  66. package/hmr/helpers/ast-normalizer.js +22 -10
  67. package/hmr/helpers/ast-normalizer.js.map +1 -1
  68. package/hmr/server/constants.d.ts +1 -0
  69. package/hmr/server/constants.js +2 -0
  70. package/hmr/server/constants.js.map +1 -1
  71. package/hmr/server/core-sanitize.d.ts +43 -0
  72. package/hmr/server/core-sanitize.js +219 -13
  73. package/hmr/server/core-sanitize.js.map +1 -1
  74. package/hmr/server/import-map.d.ts +65 -0
  75. package/hmr/server/import-map.js +219 -0
  76. package/hmr/server/import-map.js.map +1 -0
  77. package/hmr/server/index.d.ts +2 -1
  78. package/hmr/server/index.js.map +1 -1
  79. package/hmr/server/runtime-graph-filter.d.ts +5 -0
  80. package/hmr/server/runtime-graph-filter.js +21 -0
  81. package/hmr/server/runtime-graph-filter.js.map +1 -0
  82. package/hmr/server/shared-transform-request.d.ts +12 -0
  83. package/hmr/server/shared-transform-request.js +137 -0
  84. package/hmr/server/shared-transform-request.js.map +1 -0
  85. package/hmr/server/vite-plugin.d.ts +21 -1
  86. package/hmr/server/vite-plugin.js +443 -22
  87. package/hmr/server/vite-plugin.js.map +1 -1
  88. package/hmr/server/websocket-angular-entry.d.ts +2 -0
  89. package/hmr/server/websocket-angular-entry.js +68 -0
  90. package/hmr/server/websocket-angular-entry.js.map +1 -0
  91. package/hmr/server/websocket-angular-hot-update.d.ts +61 -0
  92. package/hmr/server/websocket-angular-hot-update.js +239 -0
  93. package/hmr/server/websocket-angular-hot-update.js.map +1 -0
  94. package/hmr/server/websocket-core-bridge.d.ts +23 -0
  95. package/hmr/server/websocket-core-bridge.js +360 -0
  96. package/hmr/server/websocket-core-bridge.js.map +1 -0
  97. package/hmr/server/websocket-graph-upsert.d.ts +6 -0
  98. package/hmr/server/websocket-graph-upsert.js +13 -0
  99. package/hmr/server/websocket-graph-upsert.js.map +1 -0
  100. package/hmr/server/websocket-module-bindings.d.ts +6 -0
  101. package/hmr/server/websocket-module-bindings.js +471 -0
  102. package/hmr/server/websocket-module-bindings.js.map +1 -0
  103. package/hmr/server/websocket-module-specifiers.d.ts +37 -0
  104. package/hmr/server/websocket-module-specifiers.js +637 -0
  105. package/hmr/server/websocket-module-specifiers.js.map +1 -0
  106. package/hmr/server/websocket.d.ts +26 -3
  107. package/hmr/server/websocket.js +1402 -678
  108. package/hmr/server/websocket.js.map +1 -1
  109. package/hmr/shared/package-classifier.d.ts +9 -0
  110. package/hmr/shared/package-classifier.js +58 -0
  111. package/hmr/shared/package-classifier.js.map +1 -0
  112. package/hmr/shared/runtime/browser-runtime-contract.d.ts +64 -0
  113. package/hmr/shared/runtime/browser-runtime-contract.js +54 -0
  114. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -0
  115. package/hmr/shared/runtime/dev-overlay.d.ts +38 -0
  116. package/hmr/shared/runtime/dev-overlay.js +675 -0
  117. package/hmr/shared/runtime/dev-overlay.js.map +1 -0
  118. package/hmr/shared/runtime/http-only-boot.d.ts +1 -0
  119. package/hmr/shared/runtime/http-only-boot.js +53 -6
  120. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  121. package/hmr/shared/runtime/module-provenance.d.ts +1 -0
  122. package/hmr/shared/runtime/module-provenance.js +66 -0
  123. package/hmr/shared/runtime/module-provenance.js.map +1 -0
  124. package/hmr/shared/runtime/platform-polyfills.d.ts +26 -0
  125. package/hmr/shared/runtime/platform-polyfills.js +122 -0
  126. package/hmr/shared/runtime/platform-polyfills.js.map +1 -0
  127. package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
  128. package/hmr/shared/runtime/root-placeholder.js +576 -76
  129. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  130. package/hmr/shared/runtime/session-bootstrap.d.ts +1 -0
  131. package/hmr/shared/runtime/session-bootstrap.js +146 -0
  132. package/hmr/shared/runtime/session-bootstrap.js.map +1 -0
  133. package/hmr/shared/runtime/vendor-bootstrap.js +51 -6
  134. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  135. package/hmr/shared/vendor/manifest.d.ts +7 -0
  136. package/hmr/shared/vendor/manifest.js +363 -23
  137. package/hmr/shared/vendor/manifest.js.map +1 -1
  138. package/hmr/shared/vendor/registry.js +104 -7
  139. package/hmr/shared/vendor/registry.js.map +1 -1
  140. package/package.json +12 -2
  141. package/runtime/core-aliases-early.js +83 -32
  142. package/runtime/core-aliases-early.js.map +1 -1
  143. package/shims/solid-jsx-runtime.d.ts +7 -0
  144. package/shims/solid-jsx-runtime.js +17 -0
  145. package/shims/solid-jsx-runtime.js.map +1 -0
@@ -0,0 +1,360 @@
1
+ import { existsSync, readFileSync, statSync } from 'node:fs';
2
+ import * as path from 'node:path';
3
+ const REQUIRE_GUARD_SNIPPET = `// [guard] install require('http(s)://') detector\n(()=>{try{var g=globalThis;if(g.__NS_REQUIRE_GUARD_INSTALLED__){}else{var mk=function(o,l){return function(){try{var s=arguments[0];if(typeof s==='string'&&/^(?:https?:)\\/\\//.test(s)){var e=new Error('[ns-hmr][require-guard] require of URL: '+s+' via '+l);try{console.error(e.message+'\\n'+(e.stack||''));}catch(e2){}try{g.__NS_REQUIRE_GUARD_LAST__={spec:s,stack:e.stack,label:l,ts:Date.now()};}catch(e3){}}}catch(e1){}return o.apply(this, arguments);};};if(typeof g.require==='function'&&!g.require.__NS_REQ_GUARDED__){var o1=g.require;g.require=mk(o1,'require');g.require.__NS_REQ_GUARDED__=true;}if(typeof g.__nsRequire==='function'&&!g.__nsRequire.__NS_REQ_GUARDED__){var o2=g.__nsRequire;g.__nsRequire=mk(o2,'__nsRequire');g.__nsRequire.__NS_REQ_GUARDED__=true;}g.__NS_REQUIRE_GUARD_INSTALLED__=true;}}catch(e){}})();\n`;
4
+ export function extractDirectExportedNames(code) {
5
+ const names = new Set();
6
+ const declRe = /\bexport\s+(?:async\s+)?(?:function|class)\s+([A-Za-z_$][\w$]*)/g;
7
+ let match;
8
+ while ((match = declRe.exec(code)) !== null) {
9
+ names.add(match[1]);
10
+ }
11
+ const namespaceRe = /\bexport\s+namespace\s+([A-Za-z_$][\w$]*)/g;
12
+ while ((match = namespaceRe.exec(code)) !== null) {
13
+ names.add(match[1]);
14
+ }
15
+ const varRe = /\bexport\s+(?:const|let|var)\s+([^=;{]+)/g;
16
+ while ((match = varRe.exec(code)) !== null) {
17
+ const decl = match[1].trim();
18
+ if (decl.startsWith('{')) {
19
+ const inner = decl.replace(/^\{|\}$/g, '');
20
+ for (const part of inner.split(',')) {
21
+ const name = part.split(':')[0].trim();
22
+ if (/^[A-Za-z_$][\w$]*$/.test(name))
23
+ names.add(name);
24
+ }
25
+ }
26
+ else {
27
+ const name = decl.split(/[\s,=]/)[0].trim();
28
+ if (/^[A-Za-z_$][\w$]*$/.test(name))
29
+ names.add(name);
30
+ }
31
+ }
32
+ const directBraceRe = /\bexport\s*\{([^}]+)\}(?!\s*from)/g;
33
+ while ((match = directBraceRe.exec(code)) !== null) {
34
+ for (const part of match[1].split(',')) {
35
+ const trimmed = part.trim();
36
+ const asMatch = trimmed.match(/(\S+)\s+as\s+(\S+)/);
37
+ const name = asMatch ? asMatch[2] : trimmed.split(/\s/)[0];
38
+ if (name && /^[A-Za-z_$][\w$]*$/.test(name) && name !== 'default') {
39
+ names.add(name);
40
+ }
41
+ }
42
+ }
43
+ return Array.from(names);
44
+ }
45
+ function parseExportSpecList(specList) {
46
+ return String(specList || '')
47
+ .split(',')
48
+ .map((part) => part.trim())
49
+ .filter(Boolean)
50
+ .map((part) => {
51
+ const asMatch = part.match(/(\S+)\s+as\s+(\S+)/i);
52
+ if (asMatch) {
53
+ return { importedName: asMatch[1].trim(), exportedName: asMatch[2].trim() };
54
+ }
55
+ const name = part.split(/\s/)[0]?.trim() || '';
56
+ return { importedName: name, exportedName: name };
57
+ })
58
+ .filter(({ exportedName, importedName }) => /^[A-Za-z_$][\w$]*$/.test(exportedName) && exportedName !== 'default' && /^[A-Za-z_$][\w$]*$/.test(importedName));
59
+ }
60
+ function runtimeModuleIdForFile(modulePath, rootEntryPath) {
61
+ const cleanedPath = String(modulePath || '').replace(/[?#].*$/, '');
62
+ const cleanedRoot = String(rootEntryPath || '').replace(/[?#].*$/, '');
63
+ if (!cleanedPath || !cleanedRoot)
64
+ return null;
65
+ const rootDir = path.dirname(cleanedRoot);
66
+ let rel = path.relative(rootDir, cleanedPath).replace(/\\/g, '/');
67
+ if (!rel || rel === 'index.ts' || rel === 'index.js' || rel === 'index.mjs') {
68
+ return '@nativescript/core';
69
+ }
70
+ rel = rel.replace(/\.(?:ts|js|mjs)$/, '');
71
+ rel = rel.replace(/\/index$/, '');
72
+ return `@nativescript/core/${rel}`;
73
+ }
74
+ function runtimeModuleIdFromLocalSpecifier(spec, currentModuleId) {
75
+ if (!spec.startsWith('.'))
76
+ return spec || null;
77
+ const base = currentModuleId.replace(/^@nativescript\/core(?:\/|$)/, '');
78
+ const baseDir = base ? `/${base}` : '/';
79
+ let rel = path.posix.normalize(path.posix.join(baseDir, spec)).replace(/^\/+/, '');
80
+ rel = rel.replace(/\.(?:ts|js|mjs)$/, '');
81
+ rel = rel.replace(/\/index$/, '');
82
+ return rel ? `@nativescript/core/${rel}` : '@nativescript/core';
83
+ }
84
+ function canonicalCoreSubpathForFile(modulePath, rootEntryPath) {
85
+ const cleanedPath = String(modulePath || '').replace(/[?#].*$/, '');
86
+ const cleanedRoot = String(rootEntryPath || '').replace(/[?#].*$/, '');
87
+ if (!cleanedPath || !cleanedRoot)
88
+ return null;
89
+ const rootDir = path.dirname(cleanedRoot);
90
+ let rel = path.relative(rootDir, cleanedPath).replace(/\\/g, '/');
91
+ if (!rel || rel === 'index.ts' || rel === 'index.js' || rel === 'index.mjs') {
92
+ return null;
93
+ }
94
+ rel = rel.replace(/\.(?:ts|js|mjs)$/, '.js');
95
+ return rel;
96
+ }
97
+ function canonicalCoreSubpathFromLocalSpecifier(spec, currentCanonicalSubpath) {
98
+ if (!spec.startsWith('.'))
99
+ return null;
100
+ const baseDir = currentCanonicalSubpath ? path.posix.dirname(currentCanonicalSubpath) : '.';
101
+ let rel = path.posix.normalize(path.posix.join(baseDir, spec)).replace(/^\.?\/?/, '');
102
+ if (!rel)
103
+ return null;
104
+ if (/\.(?:ts|js|mjs)$/i.test(rel)) {
105
+ return rel.replace(/\.(?:ts|js|mjs)$/i, '.js');
106
+ }
107
+ return `${rel.replace(/\/+$/, '')}/index.js`;
108
+ }
109
+ export async function resolveRuntimeCoreModulePath(normalizedSubpath, resolveModuleId) {
110
+ const cleanedSubpath = String(normalizedSubpath || '').replace(/^\/+/, '');
111
+ const candidates = [];
112
+ if (!cleanedSubpath || cleanedSubpath === 'index.js') {
113
+ candidates.push('@nativescript/core');
114
+ }
115
+ else {
116
+ if (/\/index\.js$/i.test(cleanedSubpath)) {
117
+ const packageSubpath = cleanedSubpath.replace(/\/index\.js$/i, '');
118
+ if (packageSubpath) {
119
+ candidates.push(`@nativescript/core/${packageSubpath}`);
120
+ }
121
+ }
122
+ candidates.push(`@nativescript/core/${cleanedSubpath}`);
123
+ }
124
+ for (const candidate of candidates) {
125
+ try {
126
+ const resolved = await resolveModuleId(candidate);
127
+ if (resolved) {
128
+ return String(resolved).replace(/[?#].*$/, '');
129
+ }
130
+ }
131
+ catch { }
132
+ }
133
+ return null;
134
+ }
135
+ function appendCoreExportOrigin(map, exportedName, origin) {
136
+ if (!/^[A-Za-z_$][\w$]*$/.test(exportedName) || exportedName === 'default')
137
+ return;
138
+ const existing = map[exportedName] || (map[exportedName] = []);
139
+ if (existing.some((entry) => entry.moduleId === origin.moduleId && entry.mode === origin.mode && entry.importedName === origin.importedName)) {
140
+ return;
141
+ }
142
+ existing.push(origin);
143
+ }
144
+ function resolveLocalExportTarget(spec, importerId) {
145
+ const importerPath = String(importerId || '').replace(/[?#].*$/, '');
146
+ if (!importerPath)
147
+ return null;
148
+ const importerDir = path.dirname(importerPath);
149
+ const candidates = [path.resolve(importerDir, spec), path.resolve(importerDir, `${spec}.ts`), path.resolve(importerDir, `${spec}.js`), path.resolve(importerDir, `${spec}.mjs`), path.resolve(importerDir, spec, 'index.ts'), path.resolve(importerDir, spec, 'index.js'), path.resolve(importerDir, spec, 'index.mjs')];
150
+ for (const candidate of candidates) {
151
+ if (existsSync(candidate) && !statSync(candidate).isDirectory()) {
152
+ return candidate;
153
+ }
154
+ }
155
+ return null;
156
+ }
157
+ export function collectStaticExportNamesFromFile(modulePath, seen = new Set()) {
158
+ return Object.keys(collectStaticExportOriginsFromFile(modulePath, modulePath, seen));
159
+ }
160
+ export function collectStaticExportOriginsFromFile(modulePath, rootEntryPath = modulePath, seen = new Set()) {
161
+ const cleanedPath = String(modulePath || '').replace(/[?#].*$/, '');
162
+ const cleanedRoot = String(rootEntryPath || '').replace(/[?#].*$/, '');
163
+ if (!cleanedPath || !cleanedRoot || seen.has(cleanedPath) || !existsSync(cleanedPath)) {
164
+ return {};
165
+ }
166
+ seen.add(cleanedPath);
167
+ let code = '';
168
+ try {
169
+ code = readFileSync(cleanedPath, 'utf8');
170
+ }
171
+ catch {
172
+ return {};
173
+ }
174
+ const currentModuleId = runtimeModuleIdForFile(cleanedPath, cleanedRoot) || '@nativescript/core';
175
+ const currentCanonicalSubpath = canonicalCoreSubpathForFile(cleanedPath, cleanedRoot);
176
+ const origins = {};
177
+ for (const name of extractDirectExportedNames(code)) {
178
+ appendCoreExportOrigin(origins, name, { moduleId: currentModuleId, mode: 'named', importedName: name, canonicalSubpath: currentCanonicalSubpath || undefined });
179
+ }
180
+ const starAsRe = /\bexport\s+\*\s+as\s+([A-Za-z_$][\w$]*)\s+from\s+["']([^"']+)["']/g;
181
+ let match;
182
+ while ((match = starAsRe.exec(code)) !== null) {
183
+ const exportedName = match[1];
184
+ const spec = match[2];
185
+ const resolvedTarget = spec.startsWith('.') ? resolveLocalExportTarget(spec, cleanedPath) : null;
186
+ const moduleId = resolvedTarget ? runtimeModuleIdForFile(resolvedTarget, cleanedRoot) : spec.startsWith('.') ? runtimeModuleIdFromLocalSpecifier(spec, currentModuleId) : spec;
187
+ const canonicalSubpath = resolvedTarget ? canonicalCoreSubpathForFile(resolvedTarget, cleanedRoot) : spec.startsWith('.') ? canonicalCoreSubpathFromLocalSpecifier(spec, currentCanonicalSubpath) : undefined;
188
+ if (!moduleId)
189
+ continue;
190
+ appendCoreExportOrigin(origins, exportedName, { moduleId, mode: 'module', canonicalSubpath: canonicalSubpath || undefined });
191
+ }
192
+ const namedReExportRe = /\bexport\s*\{([^}]+)\}\s*from\s*["']([^"']+)["']/g;
193
+ while ((match = namedReExportRe.exec(code)) !== null) {
194
+ const specList = match[1];
195
+ const spec = match[2];
196
+ const resolvedTarget = spec.startsWith('.') ? resolveLocalExportTarget(spec, cleanedPath) : null;
197
+ const moduleId = resolvedTarget ? runtimeModuleIdForFile(resolvedTarget, cleanedRoot) : spec.startsWith('.') ? runtimeModuleIdFromLocalSpecifier(spec, currentModuleId) : spec;
198
+ const canonicalSubpath = resolvedTarget ? canonicalCoreSubpathForFile(resolvedTarget, cleanedRoot) : spec.startsWith('.') ? canonicalCoreSubpathFromLocalSpecifier(spec, currentCanonicalSubpath) : undefined;
199
+ if (!moduleId)
200
+ continue;
201
+ for (const { exportedName, importedName } of parseExportSpecList(specList)) {
202
+ appendCoreExportOrigin(origins, exportedName, { moduleId, mode: 'named', importedName, canonicalSubpath: canonicalSubpath || undefined });
203
+ }
204
+ }
205
+ const directBraceRe = /\bexport\s*\{([^}]+)\}(?!\s*from)/g;
206
+ while ((match = directBraceRe.exec(code)) !== null) {
207
+ for (const { exportedName, importedName } of parseExportSpecList(match[1])) {
208
+ appendCoreExportOrigin(origins, exportedName, { moduleId: currentModuleId, mode: 'named', importedName, canonicalSubpath: currentCanonicalSubpath || undefined });
209
+ }
210
+ }
211
+ const starRe = /^[ \t]*export\s+\*\s+from\s+["']([^"']+)["'];?[ \t]*$/gm;
212
+ while ((match = starRe.exec(code)) !== null) {
213
+ const spec = match[1];
214
+ if (!spec.startsWith('.'))
215
+ continue;
216
+ const resolvedTarget = resolveLocalExportTarget(spec, cleanedPath);
217
+ const moduleId = resolvedTarget ? runtimeModuleIdForFile(resolvedTarget, cleanedRoot) : runtimeModuleIdFromLocalSpecifier(spec, currentModuleId);
218
+ const canonicalSubpath = resolvedTarget ? canonicalCoreSubpathForFile(resolvedTarget, cleanedRoot) : canonicalCoreSubpathFromLocalSpecifier(spec, currentCanonicalSubpath);
219
+ if (!resolvedTarget)
220
+ continue;
221
+ const childOrigins = collectStaticExportOriginsFromFile(resolvedTarget, cleanedRoot, seen);
222
+ for (const [exportedName, entries] of Object.entries(childOrigins)) {
223
+ if (moduleId) {
224
+ appendCoreExportOrigin(origins, exportedName, { moduleId, mode: 'named', importedName: exportedName, canonicalSubpath: canonicalSubpath || undefined });
225
+ }
226
+ for (const entry of entries) {
227
+ appendCoreExportOrigin(origins, exportedName, entry);
228
+ }
229
+ }
230
+ }
231
+ return origins;
232
+ }
233
+ export async function normalizeCoreExportOriginsForRuntime(exportOrigins, resolveModuleId, rootModulePath) {
234
+ const cleanedRoot = String(rootModulePath || '').replace(/[?#].*$/, '');
235
+ if (!cleanedRoot || !exportOrigins || typeof exportOrigins !== 'object') {
236
+ return exportOrigins;
237
+ }
238
+ const resolutionCache = new Map();
239
+ const normalizedOrigins = {};
240
+ for (const [exportedName, entries] of Object.entries(exportOrigins)) {
241
+ normalizedOrigins[exportedName] = await Promise.all((entries || []).map(async (entry) => {
242
+ if (!entry?.moduleId || !entry.moduleId.startsWith('@nativescript/core')) {
243
+ return entry;
244
+ }
245
+ let resolvedPath = resolutionCache.get(entry.moduleId);
246
+ if (resolvedPath === undefined) {
247
+ try {
248
+ resolvedPath = (await resolveModuleId(entry.moduleId)) || null;
249
+ }
250
+ catch {
251
+ resolvedPath = null;
252
+ }
253
+ resolvedPath = resolvedPath ? String(resolvedPath).replace(/[?#].*$/, '') : null;
254
+ resolutionCache.set(entry.moduleId, resolvedPath);
255
+ }
256
+ if (!resolvedPath) {
257
+ return entry;
258
+ }
259
+ const canonicalSubpath = canonicalCoreSubpathForFile(resolvedPath, cleanedRoot);
260
+ if (!canonicalSubpath || canonicalSubpath === entry.canonicalSubpath) {
261
+ return entry;
262
+ }
263
+ return { ...entry, canonicalSubpath };
264
+ }));
265
+ }
266
+ return normalizedOrigins;
267
+ }
268
+ export function ensureVersionedCoreImports(code, _origin, ver) {
269
+ try {
270
+ code = code.replace(/(["'])(?:https?:\/\/[^"']+)?\/ns\/core(?:\/[\d]+)?(\?p=[^"']+)?\1/g, (_m, q, qp) => `${q}/ns/core/${ver}${qp || ''}${q}`);
271
+ code = code.replace(/import\(\s*(["'])(?:https?:\/\/[^"']+)?\/ns\/core(?:\/[\d]+)?(\?p=[^"']+)?\1\s*\)/g, (_m, q, qp) => `import(${q}/ns/core/${ver}${qp || ''}${q})`);
272
+ }
273
+ catch { }
274
+ return code;
275
+ }
276
+ export function hasModuleDefaultExport(moduleCode) {
277
+ if (!moduleCode || typeof moduleCode !== 'string')
278
+ return false;
279
+ return /\bexport\s+default\b/.test(moduleCode) || /\bexport\s*\{[^}]*\bdefault\b[^}]*\}/.test(moduleCode);
280
+ }
281
+ export function buildVersionedCoreSubpathAliasModule(sub, ver, namedExports = [], hasDefaultExport = false) {
282
+ const normalizedSub = (sub || '').replace(/^\/+/, '');
283
+ const canonicalUrl = `/ns/core/${ver}?p=${normalizedSub}`;
284
+ const filteredExports = Array.from(new Set(namedExports)).filter((name) => /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name) && name !== 'default' && name !== '__esModule');
285
+ const exportLines = filteredExports.length ? `export { ${filteredExports.join(', ')} } from ${JSON.stringify(canonicalUrl)};\n` : `export * from ${JSON.stringify(canonicalUrl)};\n`;
286
+ if (hasDefaultExport) {
287
+ return `export { default } from ${JSON.stringify(canonicalUrl)};\n` + exportLines;
288
+ }
289
+ return `import * as __ns_core_alias from ${JSON.stringify(canonicalUrl)};\n` + `export default __ns_core_alias;\n` + exportLines;
290
+ }
291
+ export function buildVersionedCoreMainBridgeModule(key, ver, namedExports = [], exportOrigins = {}) {
292
+ const filteredExports = Array.from(new Set(namedExports)).filter((name) => /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name) && name !== 'default' && name !== '__esModule');
293
+ const namedExportDeclarations = filteredExports.length ? filteredExports.map((name) => `const ${name} = __getCoreExport(${JSON.stringify(name)});`).join('\n') + '\n' : '';
294
+ const namedExportObjectLiteral = filteredExports.length ? `{ ${filteredExports.join(', ')} }` : '{}';
295
+ const namedExportStatement = filteredExports.length ? `export { ${filteredExports.join(', ')} };\n` : '';
296
+ const serializedExportOrigins = JSON.stringify(exportOrigins);
297
+ const staticOriginImports = new Map();
298
+ const staticOriginImportLines = [];
299
+ let staticOriginCounter = 0;
300
+ for (const entries of Object.values(exportOrigins)) {
301
+ for (const entry of entries) {
302
+ if (!entry.canonicalSubpath)
303
+ continue;
304
+ if (staticOriginImports.has(entry.canonicalSubpath))
305
+ continue;
306
+ const localName = `__ns_core_origin_${staticOriginCounter++}`;
307
+ staticOriginImports.set(entry.canonicalSubpath, localName);
308
+ staticOriginImportLines.push(`import * as ${localName} from ${JSON.stringify(`/ns/core/${ver}?p=${entry.canonicalSubpath}`)};`);
309
+ }
310
+ }
311
+ const staticOriginModulesLiteral = staticOriginImports.size
312
+ ? `{ ${Array.from(staticOriginImports.entries())
313
+ .map(([subpath, localName]) => `${JSON.stringify(subpath)}: ${localName}`)
314
+ .join(', ')} }`
315
+ : '{}';
316
+ return ((staticOriginImportLines.length ? `${staticOriginImportLines.join('\n')}\n` : '') +
317
+ REQUIRE_GUARD_SNIPPET +
318
+ `// [ns-core-bridge][v${ver}] HTTP-only ESM bridge\n` +
319
+ `const g = globalThis;\n` +
320
+ `const reg = (g.__nsVendorRegistry ||= new Map());\n` +
321
+ `const __unwrapNsModule = (mod) => {\n if (!mod) return null;\n try { if ((typeof mod === 'object' || typeof mod === 'function') && Object.prototype.hasOwnProperty.call(mod, 'default')) { const keys = Object.keys(mod).filter((entry) => entry !== '__esModule'); if (!keys.length || (keys.length === 1 && keys[0] === 'default')) return mod.default; } } catch {}\n return mod;\n};\n` +
322
+ `const __resolveNsModule = (moduleId) => {\n try { if (typeof g.moduleExists === 'function' && g.moduleExists(moduleId) && typeof g.loadModule === 'function') { const mod = g.loadModule(moduleId); if (mod) return __unwrapNsModule(mod); } } catch {}\n try { if (reg && reg.get) { const mod = reg.get(moduleId); if (mod) return __unwrapNsModule(mod); } } catch {}\n try { const req = g.__nsVendorRequire || g.__nsRequire || g.require; if (typeof req === 'function') { const mod = req(moduleId); if (mod) return __unwrapNsModule(mod); } } catch {}\n try { const nr = g.__nativeRequire; if (typeof nr === 'function') { const mod = nr(moduleId, '/'); if (mod) return __unwrapNsModule(mod); } } catch {}\n return null;\n};\n` +
323
+ `const __pickApplicationApi = (candidate) => {\n if (!candidate) return null;\n const candidates = [candidate, candidate.Application, candidate.app, candidate.application];\n for (const entry of candidates) { if (entry && (typeof entry.run === 'function' || typeof entry.on === 'function' || typeof entry.resetRootView === 'function')) return entry; }\n return null;\n};\n` +
324
+ `let __nsPrimaryCoreReady = false;\nlet __nsPrimaryCore = null;\nconst __getPrimaryCore = () => { if (!__nsPrimaryCoreReady) { __nsPrimaryCore = __resolveNsModule(${JSON.stringify(key)}) || __resolveNsModule('@nativescript/core') || null; __nsPrimaryCoreReady = true; } return __nsPrimaryCore; };\n` +
325
+ `let __nsCoreUiReady = false;\nlet __nsCoreUi = null;\nconst __getCoreUi = () => { if (!__nsCoreUiReady) { __nsCoreUi = __resolveNsModule('@nativescript/core/ui') || null; __nsCoreUiReady = true; } return __nsCoreUi; };\n` +
326
+ `const __nsCoreExportOrigins = ${serializedExportOrigins};\nconst __nsCoreOriginModules = ${staticOriginModulesLiteral};\n` +
327
+ `const __resolveFromExportOrigins = (name) => { const entries = __nsCoreExportOrigins && __nsCoreExportOrigins[name]; if (!entries || !entries.length) return undefined; for (const entry of entries) { try { const mod = (entry.canonicalSubpath && __nsCoreOriginModules[entry.canonicalSubpath]) || __resolveNsModule(entry.moduleId); if (!mod) continue; if (entry.mode === 'module') return mod; const importedName = entry.importedName || name; if (importedName === 'Application') { const picked = __pickApplicationApi(mod); if (picked) return picked; } if (mod && mod[importedName] !== undefined) return mod[importedName]; } catch {} } return undefined; };\n` +
328
+ `const __getCoreExport = (name) => { if (name === 'Application' && g.Application && (typeof g.Application.run === 'function' || typeof g.Application.on === 'function' || typeof g.Application.resetRootView === 'function')) return g.Application; if (name === 'Application') { const appModule = __resolveNsModule('@nativescript/core/application'); const pickedApp = __pickApplicationApi(appModule); if (pickedApp) return pickedApp; } const primary = __getPrimaryCore(); if (name === 'Application') { const pickedPrimary = __pickApplicationApi(primary); if (pickedPrimary) return pickedPrimary; } try { if (primary && primary[name] !== undefined) return primary[name]; } catch {} const ui = __getCoreUi(); try { if (ui && ui[name] !== undefined) return ui[name]; } catch {} const viaOrigins = __resolveFromExportOrigins(name); if (viaOrigins !== undefined) return viaOrigins; try { const v = g[name]; if (v !== undefined) return v; } catch {} return undefined; };\n` +
329
+ namedExportDeclarations +
330
+ `const __nsNamedCore = ${namedExportObjectLiteral};\n` +
331
+ `const __core = new Proxy(__nsNamedCore, { get(_t, p){ if (p === 'default') return __core; if (p === Symbol.toStringTag) return 'Module'; try { if (typeof p === 'string' && Object.prototype.hasOwnProperty.call(__nsNamedCore, p)) { const value = __nsNamedCore[p]; if (value !== undefined) return value; } } catch {} return __getCoreExport(p); } });\n` +
332
+ namedExportStatement +
333
+ `export default __core;\n`);
334
+ }
335
+ export function parseCoreBridgeRequest(pathname, searchParams, currentGraphVersion) {
336
+ if (!pathname)
337
+ return null;
338
+ if (!(pathname === '/ns/core' || pathname === '/ns/core/' || pathname.startsWith('/ns/core/'))) {
339
+ return null;
340
+ }
341
+ if (/^\/ns\/core\/\d+(?:\/.*)$/.test(pathname)) {
342
+ return null;
343
+ }
344
+ const afterCore = pathname.replace(/^\/ns\/core\/?/, '');
345
+ if (afterCore.startsWith('/')) {
346
+ return null;
347
+ }
348
+ const hasExplicitVersion = /^\d+$/.test(afterCore);
349
+ const ver = hasExplicitVersion ? afterCore : String(currentGraphVersion || 0);
350
+ const sub = searchParams.get('p') || (afterCore && !hasExplicitVersion ? afterCore : '');
351
+ const normalizedSub = sub ? sub.replace(/^\/+/, '') : null;
352
+ return {
353
+ hasExplicitVersion,
354
+ ver,
355
+ sub: normalizedSub || '',
356
+ normalizedSub,
357
+ key: normalizedSub ? `@nativescript/core/${normalizedSub}` : '@nativescript/core',
358
+ };
359
+ }
360
+ //# sourceMappingURL=websocket-core-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-core-bridge.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-core-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type GraphUpsertClassification = 'unchanged' | 'inserted' | 'changed';
2
+ export declare function classifyGraphUpsert(existing: {
3
+ hash: string;
4
+ deps: string[];
5
+ } | undefined, nextHash: string, nextDeps: string[]): GraphUpsertClassification;
6
+ export declare function shouldBroadcastGraphUpsertDelta(classification: GraphUpsertClassification, emitDeltaOnInsert?: boolean, broadcastEnabled?: boolean): boolean;
@@ -0,0 +1,13 @@
1
+ export function classifyGraphUpsert(existing, nextHash, nextDeps) {
2
+ if (!existing) {
3
+ return 'inserted';
4
+ }
5
+ if (existing.hash === nextHash && existing.deps.length === nextDeps.length && existing.deps.every((d, i) => d === nextDeps[i])) {
6
+ return 'unchanged';
7
+ }
8
+ return 'changed';
9
+ }
10
+ export function shouldBroadcastGraphUpsertDelta(classification, emitDeltaOnInsert = false, broadcastEnabled = true) {
11
+ return broadcastEnabled && (classification === 'changed' || (classification === 'inserted' && emitDeltaOnInsert));
12
+ }
13
+ //# sourceMappingURL=websocket-graph-upsert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-graph-upsert.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-graph-upsert.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,QAAsD,EAAE,QAAgB,EAAE,QAAkB;IAC/H,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChI,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,cAAyC,EAAE,oBAA6B,KAAK,EAAE,mBAA4B,IAAI;IAC9J,OAAO,gBAAgB,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,KAAK,UAAU,IAAI,iBAAiB,CAAC,CAAC,CAAC;AACnH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface EnsureNativeScriptModuleBindingsOptions {
2
+ preserveNonPluginVendorImports?: boolean;
3
+ resolvedSpecifierOverrides?: Map<string, string>;
4
+ }
5
+ export declare function ensureNativeScriptModuleBindings(code: string, options?: EnsureNativeScriptModuleBindingsOptions): string;
6
+ export declare function getProcessCodeResolvedSpecifierOverrides(sourceId: string | undefined, projectRoot: string): Map<string, string> | undefined;