@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
@@ -1,10 +1,11 @@
1
1
  import { getPackageJson, getProjectFilePath, getProjectRootPath } from './project.js';
2
2
  import fs from 'fs';
3
- import os from 'os';
4
3
  import path from 'path';
4
+ import { preprocessCSS } from 'vite';
5
5
  import { getProjectFlavor } from './flavor.js';
6
6
  import { getProjectAppPath, getProjectAppRelativePath, getProjectAppVirtualPath } from './utils.js';
7
7
  import { getResolvedAppComponents } from './app-components.js';
8
+ import { toStaticImportSpecifier } from './import-specifier.js';
8
9
  // Switched to runtime modules to avoid fragile string injection and enable TS checks
9
10
  const projectRoot = getProjectRootPath();
10
11
  const appRootDir = getProjectAppPath();
@@ -21,6 +22,7 @@ const mainEntryRelPosix = (() => {
21
22
  return getProjectAppVirtualPath('app.ts');
22
23
  }
23
24
  })();
25
+ const mainEntryImportSpecifier = toStaticImportSpecifier(projectRoot, mainEntry);
24
26
  const flavor = getProjectFlavor();
25
27
  // Optional polyfills support (non-HMR specific but dev friendly)
26
28
  // Resolve polyfills relative to the main entry directory so it works both for standalone projects and monorepos/workspaces where the workspace root and app root differ.
@@ -41,15 +43,52 @@ const polyfillsImportSpecifier = (() => {
41
43
  })();
42
44
  const VIRTUAL_ID = 'virtual:entry-with-polyfills';
43
45
  const RESOLVED = '\0' + VIRTUAL_ID;
46
+ const APP_CSS_VIRTUAL_ID = 'virtual:ns-app-css';
47
+ const APP_CSS_RESOLVED = '\0' + APP_CSS_VIRTUAL_ID;
48
+ // Virtual module that installs the XHR polyfill from @nativescript/core/xhr.
49
+ // Rolldown tree-shakes the polyfill-xhr.ts side-effect import from @nativescript/core/globals,
50
+ // so XMLHttpRequest never gets registered as a global. This dedicated module ensures the XHR
51
+ // polyfill is installed during module evaluation (before zone.js patches run).
52
+ const XHR_POLYFILL_VIRTUAL_ID = 'virtual:ns-xhr-polyfill';
53
+ const XHR_POLYFILL_RESOLVED = '\0' + XHR_POLYFILL_VIRTUAL_ID;
44
54
  export function mainEntryPlugin(opts) {
55
+ let resolvedConfig;
45
56
  return {
46
57
  name: 'main-entry',
58
+ configResolved(config) {
59
+ resolvedConfig = config;
60
+ },
47
61
  resolveId(id) {
48
62
  if (id === VIRTUAL_ID)
49
63
  return RESOLVED;
64
+ if (id === APP_CSS_VIRTUAL_ID)
65
+ return APP_CSS_RESOLVED;
66
+ if (id === XHR_POLYFILL_VIRTUAL_ID)
67
+ return XHR_POLYFILL_RESOLVED;
50
68
  return null;
51
69
  },
52
- load(id) {
70
+ async load(id) {
71
+ // Virtual module that processes app.css through PostCSS/Tailwind and returns as a JS string.
72
+ // This avoids using ?inline which conflicts with @analogjs/vite-plugin-angular's CSS
73
+ // interception in Vite 8 — the Angular plugin converts ?inline CSS to JS via its load hook
74
+ // but doesn't set moduleType:'js', so vite:css still tries to run PostCSS on the JS output.
75
+ if (id === APP_CSS_RESOLVED) {
76
+ const appCssPath = path.resolve(projectRoot, getProjectAppRelativePath('app.css'));
77
+ const code = fs.readFileSync(appCssPath, 'utf-8');
78
+ const result = await preprocessCSS(code, appCssPath, resolvedConfig);
79
+ return {
80
+ code: `export default ${JSON.stringify(result.code)};`,
81
+ moduleType: 'js',
82
+ };
83
+ }
84
+ // Virtual module that installs XHR polyfill. Its module body runs during import evaluation,
85
+ // guaranteeing XMLHttpRequest is on globalThis before zone.js or any other code accesses it.
86
+ if (id === XHR_POLYFILL_RESOLVED) {
87
+ return {
88
+ code: ["import * as xhrImpl from '@nativescript/core/xhr';", "var polyfills = ['XMLHttpRequest','FormData','Blob','File','FileReader'];", 'for (var i = 0; i < polyfills.length; i++) {', ' var n = polyfills[i];', ' if (!(n in globalThis) && xhrImpl[n]) globalThis[n] = xhrImpl[n];', '}'].join('\n'),
89
+ moduleType: 'js',
90
+ };
91
+ }
53
92
  if (id !== RESOLVED)
54
93
  return null;
55
94
  // consistent verbose flag to easily reference below
@@ -59,38 +98,59 @@ export function mainEntryPlugin(opts) {
59
98
  // to resolve Node built-ins like 'fs' or 'path' on device. These modules
60
99
  // are not used at runtime for NativeScript apps, so we safely return an
61
100
  // empty object from a global require shim when present.
62
- imports += "try { if (typeof globalThis !== 'undefined') { globalThis.require = function () { return {}; }; } } catch {}\n";
101
+ imports += "try { if (typeof globalThis !== 'undefined') { var _nsReq = function () { return {}; }; _nsReq.context = function() { var _c = { keys: function() { return []; } }; _c.__esModule = true; return _c; }; globalThis.require = _nsReq; } } catch {}\n";
63
102
  // Banner diagnostics for visibility at runtime
64
103
  if (opts.verbose) {
65
104
  imports += `console.info('[ns-entry] begin', { platform: ${JSON.stringify(opts.platform)}, dev: ${JSON.stringify(opts.isDevMode)}, hmr: ${JSON.stringify(opts.hmrActive)}, verbose: ${JSON.stringify(opts.verbose)}, mainEntry: ${JSON.stringify(mainEntry)}, mainRel: ${JSON.stringify(mainEntryRelPosix)}, time: new Date().toISOString() });\n`;
66
105
  }
67
106
  if (opts.hmrActive) {
68
- // Seed platform globals on the primary bundle realm using the same
69
- // CLI-derived platform that drives global-defines.ts. This ensures
70
- // HMR-delivered HTTP ESM modules can reliably read platform flags
107
+ // Seed ALL compile-time defines on globalThis so that every execution
108
+ // context the primary bundle, HTTP ESM modules, and cross-realm
109
+ // calls can reliably access them. The per-module injection in
110
+ // processCodeForDevice() reads from globalThis as the source of truth;
111
+ // these seeds ensure the values are always available.
71
112
  imports += `globalThis.__DEV__ = ${opts.isDevMode ? 'true' : 'false'};\n`;
72
113
  imports += `globalThis.__ANDROID__ = ${opts.platform === 'android' ? 'true' : 'false'};\n`;
73
114
  imports += `globalThis.__IOS__ = ${opts.platform === 'ios' ? 'true' : 'false'};\n`;
74
115
  imports += `globalThis.__VISIONOS__ = ${opts.platform === 'visionos' ? 'true' : 'false'};\n`;
75
116
  imports += `globalThis.__APPLE__ = ${opts.platform === 'ios' || opts.platform === 'visionos' ? 'true' : 'false'};\n`;
76
- // ---- Vendor manifest bootstrap ----
77
- // Use single self-contained vendor module to avoid extra imports affecting chunking
78
- imports += "import vendorManifest, { __nsVendorModuleMap } from '@nativescript/vendor';\n";
79
- imports += "import { installVendorBootstrap } from '@nativescript/vite/hmr/shared/runtime/vendor-bootstrap.js';\n";
80
- if (opts.verbose) {
81
- imports += `console.info('[ns-entry] vendor manifest imported', { keys: Object.keys(vendorManifest||{}).length, hasMap: typeof __nsVendorModuleMap === 'object' });\n`;
82
- }
83
- imports += 'installVendorBootstrap(vendorManifest, __nsVendorModuleMap, __nsVerboseLog);\n';
84
- if (opts.verbose) {
85
- imports += `console.info('[ns-entry] vendor bootstrap installed');\n`;
86
- }
117
+ imports += `globalThis.__COMMONJS__ = false;\n`;
118
+ imports += `globalThis.__NS_WEBPACK__ = false;\n`;
119
+ imports += `globalThis.__NS_ENV_VERBOSE__ = ${opts.verbose ? 'true' : 'false'};\n`;
120
+ imports += `globalThis.__UI_USE_XML_PARSER__ = true;\n`;
121
+ imports += `globalThis.__UI_USE_EXTERNAL_RENDERER__ = false;\n`;
122
+ imports += `globalThis.__CSS_PARSER__ = 'css-tree';\n`;
123
+ imports += `globalThis.__TEST__ = false;\n`;
124
+ imports += "import { installModuleProvenanceRecorder } from '@nativescript/vite/hmr/shared/runtime/module-provenance.js';\n";
125
+ imports += 'installModuleProvenanceRecorder(__nsVerboseLog);\n';
87
126
  }
88
127
  // ---- Core runtime globals (always-needed) ----
128
+ // Install XHR polyfill FIRST — its virtual module body runs during import evaluation,
129
+ // before any subsequent import (like zone.js) can reference XMLHttpRequest.
130
+ imports += `import '${XHR_POLYFILL_VIRTUAL_ID}';\n`;
89
131
  // Load globals early
90
132
  imports += "import '@nativescript/core/globals/index';\n";
91
133
  if (opts.verbose) {
92
134
  imports += `console.info('[ns-entry] core globals loaded');\n`;
93
135
  }
136
+ // Seed the real NativeScript Application singleton before any early HMR/placeholder
137
+ // code runs. Dynamic discovery is too late for iOS placeholder startup.
138
+ imports += "import { Application as __nsEarlyApplication } from '@nativescript/core/application';\n";
139
+ imports += `try { if (__nsEarlyApplication && (typeof __nsEarlyApplication.run === 'function' || typeof __nsEarlyApplication.on === 'function' || typeof __nsEarlyApplication.resetRootView === 'function')) { globalThis.Application = __nsEarlyApplication; } } catch {}\n`;
140
+ if (opts.verbose) {
141
+ imports += `console.info('[ns-entry] early Application seeded', { hasRun: typeof globalThis.Application?.run === 'function', hasOn: typeof globalThis.Application?.on === 'function', hasResetRootView: typeof globalThis.Application?.resetRootView === 'function' });\n`;
142
+ }
143
+ // In dev mode for Angular apps, ensure @angular/compiler (JIT) is loaded.
144
+ // With experimentalDecorators:true, TypeScript emits __decorate patterns.
145
+ // On watch-mode rebuilds the Angular compiler may not re-emit ɵfac for
146
+ // cached files, so the JIT compiler must be available as a fallback.
147
+ if (opts.isDevMode && flavor === 'angular') {
148
+ imports += "import { publishFacade as __nsPublishAngularCompilerFacade } from '@angular/compiler';\n";
149
+ imports += '__nsPublishAngularCompilerFacade(globalThis);\n';
150
+ if (opts.verbose) {
151
+ imports += `console.info('[ns-entry] @angular/compiler (JIT) loaded for dev mode');\n`;
152
+ }
153
+ }
94
154
  /**
95
155
  * Ensure the canonical @nativescript/core classes are available on globalThis
96
156
  * before any other framework modules execute (like bundle-entry-points) to avoid duplicate realms
@@ -118,6 +178,14 @@ export function mainEntryPlugin(opts) {
118
178
  if (flavor === 'typescript') {
119
179
  // Statically import bundler context synchronously before app code
120
180
  imports += "import 'virtual:ns-bundler-context';\n";
181
+ if (opts.hmrActive) {
182
+ // Snapshot original module registry functions for HMR diagnostics
183
+ imports += `(function() {
184
+ globalThis.__NS_ORIG_GET_REGISTERED_MODULES__ = globalThis.getRegisteredModules;
185
+ globalThis.__NS_ORIG_MODULE_EXISTS__ = globalThis.moduleExists;
186
+ globalThis.__NS_ORIG_LOAD_MODULE__ = globalThis.loadModule;
187
+ })();\n`;
188
+ }
121
189
  }
122
190
  // ---- Custom App Components (Activity/Application) ----
123
191
  // These must be loaded early so the JS class is registered before Android instantiates them
@@ -127,7 +195,7 @@ export function mainEntryPlugin(opts) {
127
195
  for (const component of appComponents) {
128
196
  // The appComponentsPlugin bundles these as separate .mjs entry points
129
197
  // We must import the output file, not the source, since it's a separate entry
130
- imports += `import "~/${component.outputName}.mjs";\n`;
198
+ imports += `import ${JSON.stringify(`~/${component.outputName}.mjs`)};\n`;
131
199
  if (opts.verbose) {
132
200
  imports += `console.info('[ns-entry] app component loaded: ${component.outputName}');\n`;
133
201
  }
@@ -138,54 +206,17 @@ export function mainEntryPlugin(opts) {
138
206
  }
139
207
  }
140
208
  // ---- Platform-specific always-needed modules ----
141
- // Track if we need to defer Android activity import (non-HMR only)
142
209
  let needsAndroidActivityDefer = false;
143
210
  if (opts.platform === 'android') {
144
- if (opts.hmrActive) {
145
- /**
146
- * Ensure the Java Activity class exists by executing the vendor-packed
147
- * activity registration module via the vendor registry (not ESM import).
148
- * This avoids any on-disk vendor.mjs export mismatches and guarantees the
149
- * class is registered before Android tries to instantiate it.
150
- */
151
- imports += `
152
- (function __nsEnsureAndroidActivityForHMR(){
153
- try {
154
- const g = globalThis;
155
- const req = (g.__nsVendorRequire || g.__nsRequire);
156
- if (!req) {
157
- ${opts.verbose ? "console.warn('[ns-entry] vendor require not available yet; activity registration may be deferred');" : ''}
158
- return;
159
- }
160
- const candidates = [
161
- '@nativescript/core/ui/frame/activity.android',
162
- '@nativescript/core/ui/frame/activity.android.js'
163
- ];
164
- for (const id of candidates) {
165
- try {
166
- req(id);
167
- ${opts.verbose ? "console.info('[ns-entry] android activity registered via vendor', id);" : ''}
168
- break;
169
- } catch {}
170
- }
171
- } catch (e) {
172
- try { console.error('[ns-entry] failed to require android activity from vendor', e); } catch {}
173
- }
174
- })();\n`;
175
- }
176
- else {
177
- /**
178
- * Non-HMR: Defer activity lifecycle wiring until native Application is ready
179
- * to avoid "application is null" errors at production boot.
180
- * We set a flag here and emit the actual code after the static Application import
181
- * to avoid mixing dynamic and static imports of @nativescript/core.
182
- */
183
- needsAndroidActivityDefer = true;
184
- }
211
+ /**
212
+ * Defer activity lifecycle wiring until native Application is ready
213
+ * to avoid "application is null" errors during startup.
214
+ */
215
+ needsAndroidActivityDefer = true;
185
216
  }
186
217
  // ---- Optional polyfills ----
187
218
  if (polyfillsExists) {
188
- imports += `import '${polyfillsImportSpecifier}';\n`;
219
+ imports += `import ${JSON.stringify(polyfillsImportSpecifier)};\n`;
189
220
  if (opts.verbose) {
190
221
  imports += `console.info('[ns-entry] polyfills imported from', ${JSON.stringify(polyfillsImportSpecifier)});\n`;
191
222
  }
@@ -200,9 +231,6 @@ export function mainEntryPlugin(opts) {
200
231
  if (opts.verbose) {
201
232
  imports += "console.info('[ns-entry] websockets polyfill imported');\n";
202
233
  }
203
- // Load HMR client for WebSocket connection to Vite dev server before HTTP-only boot attempts.
204
- imports += "import 'virtual:ns-hmr-client';\n";
205
- imports += "console.info('@nativescript/vite HMR client loaded.');\n";
206
234
  }
207
235
  // ---- Global CSS injection (always-needed if file exists) ----
208
236
  const appCssPath = path.resolve(projectRoot, getProjectAppRelativePath('app.css'));
@@ -211,7 +239,10 @@ export function mainEntryPlugin(opts) {
211
239
  if (hasAppCss || needsAndroidActivityDefer) {
212
240
  if (hasAppCss) {
213
241
  imports += `// Import and apply global CSS before app bootstrap\n`;
214
- imports += `import appCssContent from './${appRootDir}/app.css?inline';\n`;
242
+ imports += `import appCssContent from '${APP_CSS_VIRTUAL_ID}';\n`;
243
+ if (opts.hmrActive) {
244
+ imports += `try { globalThis.__NS_HMR_APP_CSS__ = appCssContent; } catch {}\n`;
245
+ }
215
246
  }
216
247
  imports += `import { Application } from '@nativescript/core';\n`;
217
248
  if (hasAppCss) {
@@ -242,44 +273,30 @@ export function mainEntryPlugin(opts) {
242
273
  }
243
274
  // ---- Application main entry ----
244
275
  if (opts.hmrActive) {
245
- // HTTP-only dev boot: try to import the entire app over HTTP; if not reachable, keep retrying.
276
+ // Deterministic dev boot: fetch one session descriptor and let the runtime
277
+ // import the session client + app entry over HTTP.
246
278
  if (opts.verbose) {
247
- imports += `console.info('[ns-entry] including HTTP-only boot', { platform: ${JSON.stringify(opts.platform)}, mainRel: ${JSON.stringify(mainEntryRelPosix)} });\n`;
279
+ imports += `console.info('[ns-entry] including deterministic dev session bootstrap', { platform: ${JSON.stringify(opts.platform)}, mainRel: ${JSON.stringify(mainEntryRelPosix)} });\n`;
248
280
  }
249
- const guessLanHost = () => {
250
- try {
251
- const nets = os.networkInterfaces();
252
- for (const name of Object.keys(nets)) {
253
- const addrs = nets[name] || [];
254
- for (const a of addrs) {
255
- if (!a)
256
- continue;
257
- const family = a.family;
258
- const internal = !!a.internal;
259
- const address = String(a.address || '');
260
- if (internal)
261
- continue;
262
- if ((family === 'IPv4' || family === 4) && address && address !== '127.0.0.1')
263
- return address;
264
- }
265
- }
266
- }
267
- catch { }
268
- return undefined;
269
- };
270
- // Prefer LAN IP so physical devices work by default; emulator will still be tried as a fallback.
271
- const defaultHost = opts.platform === 'android' ? guessLanHost() || '10.0.2.2' : guessLanHost() || 'localhost';
272
- imports += "import { startHttpOnlyBoot } from '@nativescript/vite/hmr/shared/runtime/http-only-boot.js';\n";
273
- imports += `startHttpOnlyBoot(${JSON.stringify(opts.platform)}, ${JSON.stringify(mainEntryRelPosix)}, ${JSON.stringify((process.env.NS_HMR_HOST || '')) || JSON.stringify('')} || ${JSON.stringify(defaultHost)}, __nsVerboseLog);\n`;
281
+ const configuredHost = typeof resolvedConfig.server.host === 'string' && resolvedConfig.server.host ? resolvedConfig.server.host : 'localhost';
282
+ const bootHost = (process.env.NS_HMR_HOST || '') || configuredHost;
283
+ const bootProtocol = resolvedConfig.server.https || opts.useHttps ? 'https' : 'http';
284
+ const bootPort = Number(resolvedConfig.server.port || 5173);
285
+ const sessionUrl = bootProtocol + '://' + bootHost + ':' + String(bootPort) + '/__ns_dev__/session';
286
+ imports += "import { startBrowserRuntimeSession } from '@nativescript/vite/hmr/shared/runtime/session-bootstrap.js';\n";
287
+ imports += `startBrowserRuntimeSession(${JSON.stringify(sessionUrl)}, __nsVerboseLog).catch((error) => {\n`;
288
+ imports += ` try { globalThis.__NS_ENTRY_ERROR__ = { phase: 'deterministic-dev-session', message: String(error && (error.message || error)), stack: error && error.stack ? String(error.stack) : '' }; } catch {}\n`;
289
+ imports += ` try { console.error('[ns-entry] deterministic dev session bootstrap failed', error && error.stack ? error.stack : error); } catch {}\n`;
290
+ imports += `});\n`;
274
291
  if (opts.verbose) {
275
- imports += `console.info('[ns-entry] HTTP-only boot code appended');\n`;
292
+ imports += `console.info('[ns-entry] deterministic dev session bootstrap appended');\n`;
276
293
  }
277
294
  }
278
295
  else {
279
296
  if (opts.verbose) {
280
- imports += `console.info('[ns-entry] Importing main entry', '${mainEntry}');\n`;
297
+ imports += `console.info('[ns-entry] Importing main entry', ${JSON.stringify(mainEntryImportSpecifier)});\n`;
281
298
  }
282
- imports += `import '${mainEntry}';\n`;
299
+ imports += `import ${JSON.stringify(mainEntryImportSpecifier)};\n`;
283
300
  }
284
301
  if (opts.isDevMode) {
285
302
  // debug tools support
@@ -1 +1 @@
1
- {"version":3,"file":"main-entry.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/main-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main-entry.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/main-entry.ts"],"names":[],"mappings":"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"}
@@ -4,50 +4,6 @@ import ts from 'typescript';
4
4
  // computed property names (e.g. ['frame-in']).
5
5
  // import nativeClassTransformer from '../transformers/NativeClass/index.js';
6
6
  import { getCliFlags } from './cli-flags.js';
7
- function forceEnumerableDescriptors(code, fileName) {
8
- const sourceFile = ts.createSourceFile(`${fileName}.nativeclass.js`, code, ts.ScriptTarget.ES5, true, ts.ScriptKind.JS);
9
- let mutated = false;
10
- const transformDefineProperty = (ctx) => {
11
- const factory = ctx.factory ?? ts.factory;
12
- const visit = (node) => {
13
- if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression)) {
14
- const callee = node.expression;
15
- const isObjectDefineProperty = ts.isIdentifier(callee.expression) && callee.expression.text === 'Object' && callee.name.text === 'defineProperty';
16
- if (isObjectDefineProperty && node.arguments.length >= 3 && ts.isObjectLiteralExpression(node.arguments[2])) {
17
- const descriptor = node.arguments[2];
18
- const nextProperties = descriptor.properties.map((property) => {
19
- if (!ts.isPropertyAssignment(property)) {
20
- return property;
21
- }
22
- const name = property.name;
23
- const isEnumerableProperty = (ts.isIdentifier(name) && name.text === 'enumerable') || (ts.isStringLiteral(name) && name.text === 'enumerable');
24
- if (!isEnumerableProperty || property.initializer.kind !== ts.SyntaxKind.FalseKeyword) {
25
- return property;
26
- }
27
- mutated = true;
28
- return factory.updatePropertyAssignment(property, property.name, factory.createTrue());
29
- });
30
- if (mutated) {
31
- const nextDescriptor = factory.updateObjectLiteralExpression(descriptor, nextProperties);
32
- return factory.updateCallExpression(node, node.expression, node.typeArguments, [node.arguments[0], node.arguments[1], nextDescriptor, ...node.arguments.slice(3)]);
33
- }
34
- }
35
- }
36
- return ts.visitEachChild(node, visit, ctx);
37
- };
38
- return (node) => ts.visitNode(node, visit);
39
- };
40
- const result = ts.transform(sourceFile, [transformDefineProperty]);
41
- const transformed = result.transformed[0];
42
- if (!mutated) {
43
- result.dispose();
44
- return code;
45
- }
46
- const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });
47
- const output = printer.printFile(transformed);
48
- result.dispose();
49
- return output;
50
- }
51
7
  /**
52
8
  * Apply the NativeClass transformer to a source string. Returns null if no change performed.
53
9
  */
@@ -122,15 +78,6 @@ export function transformNativeClassSource(code, fileName) {
122
78
  // Keep other decorators, inject marker after them.
123
79
  return `${prefix || '\n'}${stacked || ''}/*__NativeClass__*/`;
124
80
  });
125
- // Also handle cases where @NativeClass() is on its own line with parentheses
126
- // Pattern: @NativeClass() followed by other decorators or class
127
- if (!working.includes('/*__NativeClass__*/') && code.includes('@NativeClass')) {
128
- // Simpler replacement: just replace @NativeClass() or @NativeClass with marker
129
- working = code.replace(/@NativeClass\s*\(\s*\)\s*\n/g, '/*__NativeClass__*/\n');
130
- if (!working.includes('/*__NativeClass__*/')) {
131
- working = code.replace(/@NativeClass\s*\n/g, '/*__NativeClass__*/\n');
132
- }
133
- }
134
81
  // If neither original nor marker is present, skip transform early.
135
82
  if (!working.includes('@NativeClass') && !working.includes('/*__NativeClass__*/'))
136
83
  return null;
@@ -146,8 +93,8 @@ export function transformNativeClassSource(code, fileName) {
146
93
  const original = working.slice(fullStart, node.end);
147
94
  const stripped = original.replace(/\/\*__NativeClass__\*\/\s*/g, '').replace(/^\s*@NativeClass(?:\([\s\S]*?\))?\s*$/gm, '');
148
95
  const hadExport = /^\s*export\s+class\b/.test(stripped);
149
- const className = node.name?.text;
150
- const down = ts.transpileModule(stripped, {
96
+ const down = ts
97
+ .transpileModule(stripped, {
151
98
  compilerOptions: {
152
99
  module: ts.ModuleKind.ESNext,
153
100
  target: ts.ScriptTarget.ES5,
@@ -156,74 +103,15 @@ export function transformNativeClassSource(code, fileName) {
156
103
  noEmitHelpers: true,
157
104
  useDefineForClassFields: false,
158
105
  },
159
- }).outputText;
160
- const normalizedDown = forceEnumerableDescriptors(down, fileName);
161
- let cleaned = normalizedDown.replace(/export \{\};?\s*$/m, '');
162
- // Debug: log the transpileModule output
163
- const debugNativeClass = process.env.NS_DEBUG_NATIVECLASS;
164
- if (debugNativeClass) {
165
- console.log('[NativeClass] fileName:', fileName);
166
- console.log('[NativeClass] className:', className);
167
- console.log('[NativeClass] stripped input (first 300 chars):', stripped.slice(0, 300));
168
- console.log('[NativeClass] transpileModule output (first 300 chars):', cleaned.slice(0, 300));
169
- }
170
- // SBG (Static Binding Generator) expects the __decorate call to be INSIDE the IIFE.
171
- // TypeScript's transpileModule already puts it inside correctly.
172
- // The pattern should be:
173
- // var ClassName = (function(_super) {
174
- // __extends(ClassName, _super);
175
- // function ClassName() { ... }
176
- // // prototype methods...
177
- // ClassName = __decorate([...], ClassName); <-- INSIDE the IIFE
178
- // return ClassName;
179
- // })(BaseClass);
180
- // We do NOT move it outside - the IIFE pattern with __decorate inside is correct.
181
- // Fix: If the transpiled output is just an IIFE expression (not assigned),
182
- // we need to assign it to a variable so the class is properly registered.
183
- // This happens when TypeScript transpiles a class declaration without assignment context.
184
- if (className) {
185
- // Check if the output is a bare IIFE without assignment
186
- // The transpiled output can look like:
187
- // (/** @class */ (function(_super){...})(Base));
188
- // or: (function(_super){...})(Base);
189
- // We need to assign it to a variable: var ClassName = ...
190
- const trimmed = cleaned.trim();
191
- // Pattern: starts with ( and contains IIFE extending a class
192
- // Look for pattern that indicates an unassigned class expression
193
- const startsWithParen = trimmed.startsWith('(');
194
- const hasExtends = /__extends\s*\(/.test(trimmed) || /function\s*\(\s*_super\s*\)/.test(trimmed);
195
- const notAssigned = !/^\s*var\s+\w+\s*=/.test(trimmed) && !/^\s*let\s+\w+\s*=/.test(trimmed) && !/^\s*const\s+\w+\s*=/.test(trimmed);
196
- if (startsWithParen && hasExtends && notAssigned) {
197
- // The output is a bare class expression, wrap it in assignment
198
- // Simply prepend `var ClassName = ` and remove the trailing semicolon if present
199
- // to avoid `var X = (...);` becoming `var X = (...);` (keep it clean)
200
- let unwrapped = trimmed;
201
- // Remove trailing semicolon for cleaner output, we'll add it back
202
- if (unwrapped.endsWith(';')) {
203
- unwrapped = unwrapped.slice(0, -1).trimEnd();
204
- }
205
- // If wrapped in outer parens that are just for grouping, we can keep them
206
- // The result will be: var CustomActivity = (/** @class */ (function...));
207
- cleaned = `var ${className} = ${unwrapped};`;
208
- }
209
- }
106
+ })
107
+ .outputText.replace(/enumerable:\s*false/g, 'enumerable: true');
108
+ let cleaned = down.replace(/export \{\};?\s*$/m, '');
210
109
  if (hadExport) {
211
- if (className && !new RegExp(`export\\s*{\\s*${className}\\s*}`, 'm').test(cleaned)) {
212
- cleaned += `\nexport { ${className} };\n`;
110
+ const name = node.name?.text;
111
+ if (name && !new RegExp(`export\s*{\s*${name}\s*}`, 'm').test(cleaned)) {
112
+ cleaned += `\nexport { ${name} };\n`;
213
113
  }
214
114
  }
215
- else if (className) {
216
- // For non-exported @NativeClass classes (like custom activities),
217
- // we need to ensure they're not tree-shaken by Rollup.
218
- // Register on global to create an unoptimizable side effect.
219
- // Use a pattern that prevents inlining by Rollup.
220
- cleaned += `\n;(function(c) { global.__nativeClasses = global.__nativeClasses || {}; global.__nativeClasses["${className}"] = c; })(${className});\n`;
221
- }
222
- // Ensure the transpiled output starts with a newline to properly separate
223
- // from any preceding code (like import statements)
224
- if (!cleaned.startsWith('\n')) {
225
- cleaned = '\n' + cleaned;
226
- }
227
115
  edits.push({ start: fullStart, end: node.end, text: cleaned });
228
116
  }
229
117
  }
@@ -256,13 +144,6 @@ export function transformNativeClassSource(code, fileName) {
256
144
  return true;
257
145
  })
258
146
  .join('\n');
259
- // Debug: Final output
260
- if (process.env.NS_DEBUG_NATIVECLASS === '1') {
261
- console.log('[NativeClass] ===== FINAL OUTPUT =====');
262
- console.log('[NativeClass] File:', fileName);
263
- console.log('[NativeClass] Output:\n', output);
264
- console.log('[NativeClass] ===== END FINAL OUTPUT =====');
265
- }
266
147
  return { code: output, map: null };
267
148
  }
268
149
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"nativeclass-transform.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/nativeclass-transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativeclass-transform.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/nativeclass-transform.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import type { Plugin } from 'vite';
2
+ /**
3
+ * Post-phase cleanup for NativeClass decorators.
4
+ * Strips __decorate([NativeClass()], X) and downlevels ES6 classes to ES5
5
+ * so the NativeScript runtime can detect native class inheritance via __extends.
6
+ *
7
+ * Exported separately for testability.
8
+ */
9
+ export declare function postCleanupNativeClass(code: string, bareId: string, verbose?: boolean): {
10
+ code: string;
11
+ map: null;
12
+ } | null;
2
13
  /**
3
14
  * Wraps NativeClass TS transformer into a Vite plugin.
4
15
  */
5
- export declare function createNativeClassTransformerPlugin(): Plugin;
16
+ export declare function createNativeClassTransformerPlugin(): Plugin[];