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

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 (220) hide show
  1. package/configuration/angular.d.ts +1 -1
  2. package/configuration/angular.js +486 -140
  3. package/configuration/angular.js.map +1 -1
  4. package/configuration/base.js +159 -29
  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 +4 -4
  11. package/configuration/typescript.js.map +1 -1
  12. package/helpers/angular/angular-linker.js +38 -42
  13. package/helpers/angular/angular-linker.js.map +1 -1
  14. package/helpers/angular/inject-component-hmr-registration.d.ts +112 -0
  15. package/helpers/angular/inject-component-hmr-registration.js +359 -0
  16. package/helpers/angular/inject-component-hmr-registration.js.map +1 -0
  17. package/helpers/angular/inline-decorator-component-templates.d.ts +3 -0
  18. package/helpers/angular/inline-decorator-component-templates.js +400 -0
  19. package/helpers/angular/inline-decorator-component-templates.js.map +1 -0
  20. package/helpers/angular/shared-linker.d.ts +7 -0
  21. package/helpers/angular/shared-linker.js +37 -1
  22. package/helpers/angular/shared-linker.js.map +1 -1
  23. package/helpers/angular/synthesize-decorator-ctor-parameters.d.ts +1 -0
  24. package/helpers/angular/synthesize-decorator-ctor-parameters.js +256 -0
  25. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +1 -0
  26. package/helpers/angular/synthesize-injectable-factories.d.ts +3 -0
  27. package/helpers/angular/synthesize-injectable-factories.js +414 -0
  28. package/helpers/angular/synthesize-injectable-factories.js.map +1 -0
  29. package/helpers/angular/util.d.ts +1 -0
  30. package/helpers/angular/util.js +88 -0
  31. package/helpers/angular/util.js.map +1 -1
  32. package/helpers/commonjs-plugins.d.ts +5 -2
  33. package/helpers/commonjs-plugins.js +126 -0
  34. package/helpers/commonjs-plugins.js.map +1 -1
  35. package/helpers/config-as-json.js +10 -0
  36. package/helpers/config-as-json.js.map +1 -1
  37. package/helpers/esbuild-platform-resolver.js +5 -5
  38. package/helpers/esbuild-platform-resolver.js.map +1 -1
  39. package/helpers/external-configs.d.ts +9 -1
  40. package/helpers/external-configs.js +31 -6
  41. package/helpers/external-configs.js.map +1 -1
  42. package/helpers/global-defines.d.ts +51 -0
  43. package/helpers/global-defines.js +77 -0
  44. package/helpers/global-defines.js.map +1 -1
  45. package/helpers/import-meta-path.d.ts +4 -0
  46. package/helpers/import-meta-path.js +5 -0
  47. package/helpers/import-meta-path.js.map +1 -0
  48. package/helpers/import-specifier.d.ts +1 -0
  49. package/helpers/import-specifier.js +18 -0
  50. package/helpers/import-specifier.js.map +1 -0
  51. package/helpers/logging.d.ts +1 -0
  52. package/helpers/logging.js +63 -3
  53. package/helpers/logging.js.map +1 -1
  54. package/helpers/main-entry.d.ts +5 -2
  55. package/helpers/main-entry.js +365 -116
  56. package/helpers/main-entry.js.map +1 -1
  57. package/helpers/nativeclass-transform.js +8 -127
  58. package/helpers/nativeclass-transform.js.map +1 -1
  59. package/helpers/nativeclass-transformer-plugin.d.ts +19 -1
  60. package/helpers/nativeclass-transformer-plugin.js +318 -36
  61. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  62. package/helpers/ns-core-url.d.ts +83 -0
  63. package/helpers/ns-core-url.js +167 -0
  64. package/helpers/ns-core-url.js.map +1 -0
  65. package/helpers/prelink-angular.js +1 -4
  66. package/helpers/prelink-angular.js.map +1 -1
  67. package/helpers/project.d.ts +35 -0
  68. package/helpers/project.js +120 -2
  69. package/helpers/project.js.map +1 -1
  70. package/helpers/ts-config-paths.js +50 -2
  71. package/helpers/ts-config-paths.js.map +1 -1
  72. package/helpers/workers.d.ts +20 -19
  73. package/helpers/workers.js +620 -3
  74. package/helpers/workers.js.map +1 -1
  75. package/hmr/client/css-handler.js +60 -19
  76. package/hmr/client/css-handler.js.map +1 -1
  77. package/hmr/client/hmr-pending-overlay.d.ts +27 -0
  78. package/hmr/client/hmr-pending-overlay.js +50 -0
  79. package/hmr/client/hmr-pending-overlay.js.map +1 -0
  80. package/hmr/client/index.js +597 -24
  81. package/hmr/client/index.js.map +1 -1
  82. package/hmr/client/utils.d.ts +5 -0
  83. package/hmr/client/utils.js +212 -21
  84. package/hmr/client/utils.js.map +1 -1
  85. package/hmr/entry-runtime.d.ts +10 -0
  86. package/hmr/entry-runtime.js +330 -42
  87. package/hmr/entry-runtime.js.map +1 -1
  88. package/hmr/frameworks/angular/client/index.d.ts +3 -1
  89. package/hmr/frameworks/angular/client/index.js +821 -25
  90. package/hmr/frameworks/angular/client/index.js.map +1 -1
  91. package/hmr/frameworks/angular/server/linker.js +37 -6
  92. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  93. package/hmr/frameworks/angular/server/strategy.js +30 -6
  94. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  95. package/hmr/frameworks/typescript/server/strategy.js +8 -2
  96. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  97. package/hmr/frameworks/vue/client/index.js +18 -42
  98. package/hmr/frameworks/vue/client/index.js.map +1 -1
  99. package/hmr/helpers/ast-normalizer.js +22 -10
  100. package/hmr/helpers/ast-normalizer.js.map +1 -1
  101. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  102. package/hmr/helpers/cjs-named-exports.js +152 -0
  103. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  104. package/hmr/server/constants.d.ts +1 -0
  105. package/hmr/server/constants.js +14 -3
  106. package/hmr/server/constants.js.map +1 -1
  107. package/hmr/server/core-sanitize.d.ts +49 -2
  108. package/hmr/server/core-sanitize.js +267 -24
  109. package/hmr/server/core-sanitize.js.map +1 -1
  110. package/hmr/server/import-map.d.ts +65 -0
  111. package/hmr/server/import-map.js +222 -0
  112. package/hmr/server/import-map.js.map +1 -0
  113. package/hmr/server/index.d.ts +2 -1
  114. package/hmr/server/index.js.map +1 -1
  115. package/hmr/server/ns-core-cjs-shape.d.ts +204 -0
  116. package/hmr/server/ns-core-cjs-shape.js +271 -0
  117. package/hmr/server/ns-core-cjs-shape.js.map +1 -0
  118. package/hmr/server/perf-instrumentation.d.ts +114 -0
  119. package/hmr/server/perf-instrumentation.js +195 -0
  120. package/hmr/server/perf-instrumentation.js.map +1 -0
  121. package/hmr/server/runtime-graph-filter.d.ts +5 -0
  122. package/hmr/server/runtime-graph-filter.js +21 -0
  123. package/hmr/server/runtime-graph-filter.js.map +1 -0
  124. package/hmr/server/shared-transform-request.d.ts +12 -0
  125. package/hmr/server/shared-transform-request.js +144 -0
  126. package/hmr/server/shared-transform-request.js.map +1 -0
  127. package/hmr/server/vite-plugin.d.ts +21 -1
  128. package/hmr/server/vite-plugin.js +461 -22
  129. package/hmr/server/vite-plugin.js.map +1 -1
  130. package/hmr/server/websocket-angular-entry.d.ts +2 -0
  131. package/hmr/server/websocket-angular-entry.js +68 -0
  132. package/hmr/server/websocket-angular-entry.js.map +1 -0
  133. package/hmr/server/websocket-angular-hot-update.d.ts +78 -0
  134. package/hmr/server/websocket-angular-hot-update.js +413 -0
  135. package/hmr/server/websocket-angular-hot-update.js.map +1 -0
  136. package/hmr/server/websocket-core-bridge.d.ts +21 -0
  137. package/hmr/server/websocket-core-bridge.js +357 -0
  138. package/hmr/server/websocket-core-bridge.js.map +1 -0
  139. package/hmr/server/websocket-graph-upsert.d.ts +21 -0
  140. package/hmr/server/websocket-graph-upsert.js +33 -0
  141. package/hmr/server/websocket-graph-upsert.js.map +1 -0
  142. package/hmr/server/websocket-hmr-pending.d.ts +43 -0
  143. package/hmr/server/websocket-hmr-pending.js +55 -0
  144. package/hmr/server/websocket-hmr-pending.js.map +1 -0
  145. package/hmr/server/websocket-module-bindings.d.ts +6 -0
  146. package/hmr/server/websocket-module-bindings.js +471 -0
  147. package/hmr/server/websocket-module-bindings.js.map +1 -0
  148. package/hmr/server/websocket-module-specifiers.d.ts +101 -0
  149. package/hmr/server/websocket-module-specifiers.js +820 -0
  150. package/hmr/server/websocket-module-specifiers.js.map +1 -0
  151. package/hmr/server/websocket-ns-m-finalize.d.ts +22 -0
  152. package/hmr/server/websocket-ns-m-finalize.js +88 -0
  153. package/hmr/server/websocket-ns-m-finalize.js.map +1 -0
  154. package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
  155. package/hmr/server/websocket-ns-m-paths.js +92 -0
  156. package/hmr/server/websocket-ns-m-paths.js.map +1 -0
  157. package/hmr/server/websocket-ns-m-request.d.ts +45 -0
  158. package/hmr/server/websocket-ns-m-request.js +196 -0
  159. package/hmr/server/websocket-ns-m-request.js.map +1 -0
  160. package/hmr/server/websocket-runtime-compat.d.ts +19 -0
  161. package/hmr/server/websocket-runtime-compat.js +287 -0
  162. package/hmr/server/websocket-runtime-compat.js.map +1 -0
  163. package/hmr/server/websocket-served-module-helpers.d.ts +36 -0
  164. package/hmr/server/websocket-served-module-helpers.js +631 -0
  165. package/hmr/server/websocket-served-module-helpers.js.map +1 -0
  166. package/hmr/server/websocket-txn.d.ts +6 -0
  167. package/hmr/server/websocket-txn.js +45 -0
  168. package/hmr/server/websocket-txn.js.map +1 -0
  169. package/hmr/server/websocket-vendor-unifier.d.ts +10 -0
  170. package/hmr/server/websocket-vendor-unifier.js +51 -0
  171. package/hmr/server/websocket-vendor-unifier.js.map +1 -0
  172. package/hmr/server/websocket-vue-sfc.d.ts +27 -0
  173. package/hmr/server/websocket-vue-sfc.js +1069 -0
  174. package/hmr/server/websocket-vue-sfc.js.map +1 -0
  175. package/hmr/server/websocket.d.ts +26 -3
  176. package/hmr/server/websocket.js +2233 -796
  177. package/hmr/server/websocket.js.map +1 -1
  178. package/hmr/shared/package-classifier.d.ts +9 -0
  179. package/hmr/shared/package-classifier.js +58 -0
  180. package/hmr/shared/package-classifier.js.map +1 -0
  181. package/hmr/shared/runtime/boot-timeline.d.ts +17 -0
  182. package/hmr/shared/runtime/boot-timeline.js +51 -0
  183. package/hmr/shared/runtime/boot-timeline.js.map +1 -0
  184. package/hmr/shared/runtime/browser-runtime-contract.d.ts +64 -0
  185. package/hmr/shared/runtime/browser-runtime-contract.js +54 -0
  186. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -0
  187. package/hmr/shared/runtime/dev-overlay.d.ts +85 -0
  188. package/hmr/shared/runtime/dev-overlay.js +1236 -0
  189. package/hmr/shared/runtime/dev-overlay.js.map +1 -0
  190. package/hmr/shared/runtime/http-only-boot.d.ts +1 -0
  191. package/hmr/shared/runtime/http-only-boot.js +53 -6
  192. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  193. package/hmr/shared/runtime/module-provenance.d.ts +1 -0
  194. package/hmr/shared/runtime/module-provenance.js +63 -0
  195. package/hmr/shared/runtime/module-provenance.js.map +1 -0
  196. package/hmr/shared/runtime/platform-polyfills.d.ts +26 -0
  197. package/hmr/shared/runtime/platform-polyfills.js +122 -0
  198. package/hmr/shared/runtime/platform-polyfills.js.map +1 -0
  199. package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
  200. package/hmr/shared/runtime/root-placeholder.js +552 -82
  201. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  202. package/hmr/shared/runtime/session-bootstrap.d.ts +1 -0
  203. package/hmr/shared/runtime/session-bootstrap.js +195 -0
  204. package/hmr/shared/runtime/session-bootstrap.js.map +1 -0
  205. package/hmr/shared/runtime/vendor-bootstrap.js +52 -15
  206. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  207. package/hmr/shared/vendor/manifest.d.ts +37 -0
  208. package/hmr/shared/vendor/manifest.js +677 -57
  209. package/hmr/shared/vendor/manifest.js.map +1 -1
  210. package/hmr/shared/vendor/registry.js +104 -7
  211. package/hmr/shared/vendor/registry.js.map +1 -1
  212. package/index.d.ts +1 -0
  213. package/index.js +5 -0
  214. package/index.js.map +1 -1
  215. package/package.json +14 -2
  216. package/runtime/core-aliases-early.js +94 -67
  217. package/runtime/core-aliases-early.js.map +1 -1
  218. package/shims/solid-jsx-runtime.d.ts +7 -0
  219. package/shims/solid-jsx-runtime.js +17 -0
  220. package/shims/solid-jsx-runtime.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function rewriteAngularEntryRegisterOnly(code: string, angularCoreImportSource?: string): string;
2
+ export declare function resolveAngularCoreHmrImportSource(code: string, httpOrigin?: string): string;
@@ -0,0 +1,68 @@
1
+ import { parse as babelParse } from '@babel/parser';
2
+ import * as t from '@babel/types';
3
+ import { genCode } from '../helpers/babel.js';
4
+ const MODULE_IMPORT_ANALYSIS_PLUGINS = ['typescript', 'jsx', 'importMeta', 'topLevelAwait', 'classProperties', 'classPrivateProperties', 'classPrivateMethods', 'decorators-legacy'];
5
+ function shouldGuardAngularEntryStatement(node) {
6
+ if (t.isImportDeclaration(node) || t.isExportDeclaration(node) || t.isFunctionDeclaration(node) || t.isClassDeclaration(node) || t.isVariableDeclaration(node)) {
7
+ return false;
8
+ }
9
+ if (t.isExpressionStatement(node) && typeof node.directive === 'string') {
10
+ return false;
11
+ }
12
+ return true;
13
+ }
14
+ export function rewriteAngularEntryRegisterOnly(code, angularCoreImportSource = '@angular/core') {
15
+ if (!code.includes('runNativeScriptAngularApp(')) {
16
+ return code;
17
+ }
18
+ try {
19
+ const ast = babelParse(code, {
20
+ sourceType: 'module',
21
+ plugins: MODULE_IMPORT_ANALYSIS_PLUGINS,
22
+ });
23
+ const body = ast?.program?.body;
24
+ if (!Array.isArray(body)) {
25
+ return code;
26
+ }
27
+ let rewroteEntry = false;
28
+ const angularCoreImportId = t.identifier('__nsAngularCoreForHmr');
29
+ const registerOnlyFlag = t.memberExpression(t.identifier('globalThis'), t.identifier('__NS_ANGULAR_HMR_REGISTER_ONLY__'));
30
+ const rememberAngularCoreRef = t.memberExpression(t.identifier('globalThis'), t.identifier('__NS_REMEMBER_ANGULAR_CORE__'));
31
+ const updateOptionsRef = t.memberExpression(t.identifier('globalThis'), t.identifier('__NS_UPDATE_ANGULAR_APP_OPTIONS__'));
32
+ const rewrittenBody = [t.importDeclaration([t.importNamespaceSpecifier(t.cloneNode(angularCoreImportId))], t.stringLiteral(angularCoreImportSource)), t.ifStatement(t.binaryExpression('===', t.unaryExpression('typeof', rememberAngularCoreRef, true), t.stringLiteral('function')), t.blockStatement([t.expressionStatement(t.callExpression(rememberAngularCoreRef, [t.cloneNode(angularCoreImportId)]))]))];
33
+ for (const statement of body) {
34
+ const expression = t.isExpressionStatement(statement) ? statement.expression : null;
35
+ if (expression && t.isCallExpression(expression) && t.isIdentifier(expression.callee, { name: 'runNativeScriptAngularApp' }) && expression.arguments.length === 1 && t.isExpression(expression.arguments[0])) {
36
+ rewroteEntry = true;
37
+ const optionsId = t.identifier('__nsAngularAppRunOptions');
38
+ rewrittenBody.push(t.variableDeclaration('const', [t.variableDeclarator(optionsId, t.cloneNode(expression.arguments[0], true))]), t.ifStatement(t.logicalExpression('&&', registerOnlyFlag, t.binaryExpression('===', t.unaryExpression('typeof', updateOptionsRef, true), t.stringLiteral('function'))), t.blockStatement([t.expressionStatement(t.callExpression(updateOptionsRef, [t.cloneNode(optionsId)]))]), t.blockStatement([t.expressionStatement(t.callExpression(t.identifier('runNativeScriptAngularApp'), [t.cloneNode(optionsId)]))])));
39
+ continue;
40
+ }
41
+ if (shouldGuardAngularEntryStatement(statement)) {
42
+ rewrittenBody.push(t.ifStatement(t.unaryExpression('!', t.cloneNode(registerOnlyFlag, true)), t.blockStatement([statement])));
43
+ continue;
44
+ }
45
+ rewrittenBody.push(statement);
46
+ }
47
+ if (!rewroteEntry) {
48
+ return code;
49
+ }
50
+ ast.program.body = rewrittenBody;
51
+ return genCode(ast).code;
52
+ }
53
+ catch {
54
+ return code;
55
+ }
56
+ }
57
+ export function resolveAngularCoreHmrImportSource(code, httpOrigin) {
58
+ const rewrittenCoreMatch = code.match(/from\s+["']([^"']*\/node_modules\/@angular\/core\/fesm2022\/core\.mjs)["']/);
59
+ if (rewrittenCoreMatch?.[1]) {
60
+ return rewrittenCoreMatch[1];
61
+ }
62
+ const normalizedOrigin = typeof httpOrigin === 'string' ? httpOrigin.replace(/\/$/, '') : '';
63
+ if (normalizedOrigin) {
64
+ return `${normalizedOrigin}/ns/m/node_modules/@angular/core/fesm2022/core.mjs`;
65
+ }
66
+ return '@angular/core';
67
+ }
68
+ //# sourceMappingURL=websocket-angular-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-angular-entry.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-angular-entry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ export type HotUpdateGraphModuleLike = {
2
+ id?: string | null;
3
+ importedModules?: Iterable<{
4
+ id?: string | null;
5
+ }>;
6
+ importers?: Iterable<HotUpdateGraphModuleLike>;
7
+ };
8
+ export declare function canonicalizeTransformRequestCacheKey(url: string, projectRoot: string): string;
9
+ export declare function collectGraphUpdateModulesForHotUpdate(options: {
10
+ file: string;
11
+ flavor: string;
12
+ modules?: Iterable<HotUpdateGraphModuleLike>;
13
+ getModuleById: (id: string) => HotUpdateGraphModuleLike | undefined;
14
+ verbose?: boolean;
15
+ }): HotUpdateGraphModuleLike[];
16
+ export declare function collectAngularHotUpdateRoots(options: {
17
+ file: string;
18
+ modules?: Iterable<HotUpdateGraphModuleLike>;
19
+ getModuleById: (id: string) => HotUpdateGraphModuleLike | undefined;
20
+ getModulesByFile?: (file: string) => Iterable<HotUpdateGraphModuleLike> | undefined | null;
21
+ }): HotUpdateGraphModuleLike[];
22
+ export type TransitiveImporterModuleLike = {
23
+ id?: string | null;
24
+ file?: string | null;
25
+ importers?: Iterable<TransitiveImporterModuleLike> | null;
26
+ };
27
+ export declare function collectAngularTransitiveImportersForInvalidation(options: {
28
+ modules: Iterable<TransitiveImporterModuleLike> | undefined | null;
29
+ isExcluded?: (id: string) => boolean;
30
+ maxDepth?: number;
31
+ }): TransitiveImporterModuleLike[];
32
+ export declare function angularSourceHasSemanticDecorator(source: string): boolean;
33
+ export declare function shouldInvalidateAngularTransitiveImporters(options: {
34
+ flavor: string;
35
+ file: string;
36
+ source?: string | null;
37
+ }): boolean;
38
+ export declare function collectAngularTransformCacheInvalidationUrls(options: {
39
+ file: string;
40
+ isTs: boolean;
41
+ hotUpdateRoots: Iterable<{
42
+ id?: string | null;
43
+ }>;
44
+ transitiveImporters?: Iterable<{
45
+ id?: string | null;
46
+ }>;
47
+ projectRoot?: string;
48
+ }): string[];
49
+ export declare function collectAngularEvictionUrls(options: {
50
+ file: string;
51
+ hotUpdateRoots?: Iterable<{
52
+ id?: string | null;
53
+ file?: string | null;
54
+ }>;
55
+ transitiveImporters?: Iterable<{
56
+ id?: string | null;
57
+ file?: string | null;
58
+ }>;
59
+ projectRoot: string;
60
+ origin: string;
61
+ bootstrapEntry?: string | null;
62
+ }): string[];
63
+ export declare function shouldSuppressDefaultViteHotUpdate(options: {
64
+ flavor: string;
65
+ file: string;
66
+ }): boolean;
67
+ export type PendingAngularReloadSuppressionEntry = {
68
+ absPath: string;
69
+ relPath: string;
70
+ expiresAt: number;
71
+ };
72
+ export declare function normalizeHotReloadMatchPath(raw: string, root?: string): string;
73
+ export declare function shouldSuppressViteFullReloadPayload(options: {
74
+ payload: any;
75
+ pendingEntries: Iterable<PendingAngularReloadSuppressionEntry>;
76
+ root?: string;
77
+ now?: number;
78
+ }): boolean;
@@ -0,0 +1,413 @@
1
+ import { getProjectAppVirtualPath } from '../../helpers/utils.js';
2
+ import { isRuntimeGraphExcludedPath, normalizeRuntimeGraphPath } from './runtime-graph-filter.js';
3
+ const APP_VIRTUAL_WITH_SLASH = `${getProjectAppVirtualPath()}/`;
4
+ export function canonicalizeTransformRequestCacheKey(url, projectRoot) {
5
+ if (!url)
6
+ return url;
7
+ const [rawPath, rawQuery = ''] = url.split('?', 2);
8
+ let normalizedPath = rawPath;
9
+ const root = projectRoot ? projectRoot.replace(/\\/g, '/') : '';
10
+ if (normalizedPath.startsWith('/@fs/')) {
11
+ const fsPath = normalizedPath.slice('/@fs'.length).replace(/\\/g, '/');
12
+ if (root && fsPath.startsWith(root)) {
13
+ const rel = fsPath.slice(root.length);
14
+ normalizedPath = rel.startsWith('/') ? rel : `/${rel}`;
15
+ }
16
+ }
17
+ else if (root && normalizedPath.replace(/\\/g, '/').startsWith(root)) {
18
+ const rel = normalizedPath.replace(/\\/g, '/').slice(root.length);
19
+ normalizedPath = rel.startsWith('/') ? rel : `/${rel}`;
20
+ }
21
+ if (!rawQuery) {
22
+ return normalizedPath;
23
+ }
24
+ const params = new URLSearchParams(rawQuery);
25
+ params.delete('t');
26
+ params.delete('v');
27
+ const kept = Array.from(params.entries()).sort(([leftKey, leftValue], [rightKey, rightValue]) => {
28
+ if (leftKey === rightKey) {
29
+ return leftValue.localeCompare(rightValue);
30
+ }
31
+ return leftKey.localeCompare(rightKey);
32
+ });
33
+ if (!kept.length) {
34
+ return normalizedPath;
35
+ }
36
+ const normalizedQuery = new URLSearchParams();
37
+ for (const [key, value] of kept) {
38
+ normalizedQuery.append(key, value);
39
+ }
40
+ return `${normalizedPath}?${normalizedQuery.toString()}`;
41
+ }
42
+ export function collectGraphUpdateModulesForHotUpdate(options) {
43
+ const targets = new Map();
44
+ const addTarget = (mod) => {
45
+ const id = mod?.id?.replace(/\?.*$/, '');
46
+ if (!id)
47
+ return;
48
+ if (isRuntimeGraphExcludedPath(id))
49
+ return;
50
+ if (!targets.has(id)) {
51
+ targets.set(id, mod);
52
+ }
53
+ };
54
+ if (options.flavor === 'angular' && /\.(html|htm)$/i.test(options.file)) {
55
+ const importerIdsSeen = [];
56
+ const importerIdsAccepted = [];
57
+ for (const mod of options.modules || []) {
58
+ for (const importer of mod?.importers || []) {
59
+ const importerId = importer?.id || '';
60
+ importerIdsSeen.push(importerId);
61
+ if (/\.[cm]?[jt]sx?(?:$|\?)/i.test(importerId)) {
62
+ addTarget(importer);
63
+ importerIdsAccepted.push(importerId);
64
+ }
65
+ }
66
+ }
67
+ const fellBackToFile = !targets.size;
68
+ if (fellBackToFile) {
69
+ addTarget(options.getModuleById(options.file.replace(/\.(html|htm)$/i, '.ts')));
70
+ addTarget(options.getModuleById(options.file.replace(/\.(html|htm)$/i, '.js')));
71
+ }
72
+ if (options.verbose) {
73
+ console.info(`[ns-hmr-diag][server] collectGraphUpdateModulesForHotUpdate(html) file=${options.file} importersSeen=${importerIdsSeen.length} importersAccepted=${importerIdsAccepted.length} fellBackToFile=${fellBackToFile} targets=${targets.size}`);
74
+ if (importerIdsSeen.length) {
75
+ console.info(`[ns-hmr-diag][server] importersSeen sample=`, importerIdsSeen.slice(0, 8));
76
+ }
77
+ if (importerIdsAccepted.length) {
78
+ console.info(`[ns-hmr-diag][server] importersAccepted sample=`, importerIdsAccepted.slice(0, 8));
79
+ }
80
+ }
81
+ return Array.from(targets.values());
82
+ }
83
+ if (!options.file.endsWith('.vue')) {
84
+ addTarget(options.getModuleById(options.file) || options.getModuleById(options.file + '?vue'));
85
+ }
86
+ return Array.from(targets.values());
87
+ }
88
+ export function collectAngularHotUpdateRoots(options) {
89
+ const roots = [];
90
+ const seenIds = new Set();
91
+ const seenObjects = new Set();
92
+ const addRoot = (mod) => {
93
+ if (!mod) {
94
+ return;
95
+ }
96
+ if (mod.id) {
97
+ if (isRuntimeGraphExcludedPath(mod.id)) {
98
+ return;
99
+ }
100
+ if (seenIds.has(mod.id)) {
101
+ return;
102
+ }
103
+ seenIds.add(mod.id);
104
+ roots.push(mod);
105
+ return;
106
+ }
107
+ if (seenObjects.has(mod)) {
108
+ return;
109
+ }
110
+ seenObjects.add(mod);
111
+ roots.push(mod);
112
+ };
113
+ if (/\.(html|htm)$/i.test(options.file)) {
114
+ for (const mod of collectGraphUpdateModulesForHotUpdate({
115
+ file: options.file,
116
+ flavor: 'angular',
117
+ modules: options.modules,
118
+ getModuleById: options.getModuleById,
119
+ })) {
120
+ addRoot(mod);
121
+ }
122
+ return roots;
123
+ }
124
+ if (!/\.(m|c)?ts$/i.test(options.file)) {
125
+ return roots;
126
+ }
127
+ for (const mod of options.modules || []) {
128
+ addRoot(mod);
129
+ }
130
+ for (const mod of options.getModulesByFile?.(options.file) || []) {
131
+ addRoot(mod);
132
+ }
133
+ if (!roots.length) {
134
+ addRoot(options.getModuleById(options.file));
135
+ }
136
+ return roots;
137
+ }
138
+ export function collectAngularTransitiveImportersForInvalidation(options) {
139
+ const visited = new Set();
140
+ const collected = new Map();
141
+ const isExcluded = options.isExcluded ?? ((id) => id.includes('/node_modules/') || isRuntimeGraphExcludedPath(id));
142
+ const maxDepth = Math.max(1, Math.floor(options.maxDepth ?? 16));
143
+ const normalizeId = (value) => normalizeRuntimeGraphPath(value ?? '');
144
+ const walk = (mod, depth) => {
145
+ if (!mod || visited.has(mod)) {
146
+ return;
147
+ }
148
+ visited.add(mod);
149
+ if (depth >= maxDepth) {
150
+ return;
151
+ }
152
+ const importers = mod.importers;
153
+ if (!importers) {
154
+ return;
155
+ }
156
+ for (const importer of importers) {
157
+ if (!importer)
158
+ continue;
159
+ const importerId = normalizeId(importer.id);
160
+ if (!importerId) {
161
+ walk(importer, depth + 1);
162
+ continue;
163
+ }
164
+ if (isExcluded(importerId)) {
165
+ continue;
166
+ }
167
+ if (!collected.has(importerId)) {
168
+ collected.set(importerId, importer);
169
+ }
170
+ walk(importer, depth + 1);
171
+ }
172
+ };
173
+ for (const mod of options.modules || []) {
174
+ walk(mod, 0);
175
+ }
176
+ return Array.from(collected.values());
177
+ }
178
+ // Angular narrowing: a TS/JS file needs to invalidate its transitive
179
+ // importers only when it carries Angular semantics (a top-level @Component,
180
+ // @Directive, @Pipe, @Injectable, or @NgModule decorator). Files that only
181
+ // export constants, types, enums, plain functions, or plain classes are
182
+ // "leaf" modules — ES modules' live bindings deliver the new exports to
183
+ // importers automatically once V8 re-evaluates the changed module. Forcing
184
+ // every importer to re-transform on a constants edit is what produces the
185
+ // large invalidation waves that dominate the `refresh` phase on
186
+ // constants-style edits in big apps.
187
+ //
188
+ // Regex anchors at line start with only whitespace before `@Decorator(` so
189
+ // we don't false-match on string literals, JSDoc references, or commented-
190
+ // out blocks. Tests pin the matching/non-matching shapes that have come up
191
+ // in real Angular sources.
192
+ const ANGULAR_SEMANTIC_DECORATOR_REGEX = /^[ \t]*@(?:Component|Directive|Pipe|Injectable|NgModule)\b\s*\(/m;
193
+ export function angularSourceHasSemanticDecorator(source) {
194
+ if (!source || source.length === 0)
195
+ return false;
196
+ return ANGULAR_SEMANTIC_DECORATOR_REGEX.test(source);
197
+ }
198
+ export function shouldInvalidateAngularTransitiveImporters(options) {
199
+ if (options.flavor !== 'angular') {
200
+ return false;
201
+ }
202
+ // Template-only (.html/.htm) edits change the component's view but never
203
+ // its exported symbol shape, so importers of the component do not need to
204
+ // re-transform. Skipping the transitive walk here is the single biggest
205
+ // latency win for template HMR.
206
+ if (!/\.(?:(m|c)?[jt]sx?)$/i.test(options.file)) {
207
+ return false;
208
+ }
209
+ // When source is available, narrow to "files whose changes can affect
210
+ // the Angular semantics of their importers". Files without a top-level
211
+ // @Component/@Directive/@Pipe/@Injectable/@NgModule decorator are leaf
212
+ // modules — invalidating the file itself is sufficient. When source is
213
+ // undefined/null (e.g. ctx.read() failed or the caller didn't plumb it
214
+ // through), fall back to the conservative behavior: invalidate
215
+ // transitively.
216
+ if (typeof options.source === 'string') {
217
+ return angularSourceHasSemanticDecorator(options.source);
218
+ }
219
+ return true;
220
+ }
221
+ function isExtensionlessAngularAppTransformCandidate(id) {
222
+ return id.startsWith(APP_VIRTUAL_WITH_SLASH) && /\.(?:[mc]?[jt]sx?)$/i.test(id);
223
+ }
224
+ function addAngularTransformCacheInvalidationUrl(targets, rawId, projectRoot) {
225
+ const id = String(rawId || '');
226
+ if (!id) {
227
+ return;
228
+ }
229
+ const cacheKey = projectRoot ? canonicalizeTransformRequestCacheKey(id, projectRoot) : id;
230
+ targets.add(cacheKey);
231
+ const normalizedId = cacheKey.replace(/\?.*$/, '');
232
+ if (!isExtensionlessAngularAppTransformCandidate(normalizedId)) {
233
+ return;
234
+ }
235
+ targets.add(normalizedId.replace(/\.(?:[mc]?[jt]sx?)$/i, ''));
236
+ }
237
+ export function collectAngularTransformCacheInvalidationUrls(options) {
238
+ const urls = new Set();
239
+ if (options.isTs) {
240
+ addAngularTransformCacheInvalidationUrl(urls, options.file, options.projectRoot);
241
+ }
242
+ for (const mod of options.hotUpdateRoots || []) {
243
+ addAngularTransformCacheInvalidationUrl(urls, mod?.id, options.projectRoot);
244
+ }
245
+ for (const mod of options.transitiveImporters || []) {
246
+ addAngularTransformCacheInvalidationUrl(urls, mod?.id, options.projectRoot);
247
+ }
248
+ return Array.from(urls);
249
+ }
250
+ // Stable URL + Explicit Invalidation.
251
+ //
252
+ // Compute the set of fully-qualified `/ns/m/<rel>` URLs that the runtime
253
+ // should drop from `g_moduleRegistry` before re-importing main.ts. The
254
+ // set must satisfy these invariants:
255
+ //
256
+ // * The changed file itself (so V8 fetches the new source).
257
+ // * Every transitive importer up to the entry (so the new exports are
258
+ // re-bound; ESM live bindings only "see" new exports if the importer
259
+ // re-evaluates).
260
+ // * No `/node_modules/` paths (vendor packages are stable in dev; evicting
261
+ // them would force unnecessary re-fetch + re-transform).
262
+ // * No virtual / runtime-graph-excluded ids (e.g. `\0` rollup virtuals).
263
+ // * No duplicates — the set is deduped on canonical relative path.
264
+ //
265
+ // The output URLs are origin-absolute (e.g.
266
+ // `http://localhost:5173/ns/m/src/main.ts`) so the runtime can feed the
267
+ // list directly into `__nsInvalidateModules` without any further
268
+ // resolution work. The runtime canonicalizer collapses any residual
269
+ // `__ns_hmr__/<tag>/` or `__ns_boot__/b1/` segments, so the effective
270
+ // registry key is `/ns/m/<rel>` regardless of any tag a stale V8 cache
271
+ // entry might still carry.
272
+ //
273
+ // Extensionless canonical key.
274
+ //
275
+ // Vite emits ES module import statements with extensions stripped (this
276
+ // is how `resolve.extensions` works for Angular/TS apps), so V8 in the
277
+ // NativeScript iOS runtime keys `g_moduleRegistry` by the extensionless
278
+ // URL it sees in the import statement. Concretely, an import like
279
+ // import { AppComponent } from './app.component';
280
+ // inside `main.ts` is rewritten by Vite to
281
+ // import { AppComponent } from '/ns/m/src/app/app.component';
282
+ // and V8 stores the resulting module under the key
283
+ // http://localhost:5173/ns/m/src/app/app.component
284
+ // (no `.ts` extension). The `moduleGraph` ids on the server, however,
285
+ // are absolute file paths that DO carry the extension, so a naive
286
+ // eviction set built from `mod.id` keys against `.../app.component.ts`
287
+ // — which never matches the registry entry. The runtime reports
288
+ // `[resolver][remove:miss]`, the cached module survives, ESM live
289
+ // bindings continue to point at the OLD constants module, and the user
290
+ // sees no visual update despite a clean HMR cycle.
291
+ //
292
+ // Workaround: for any path ending in `.ts/.tsx/.js/.jsx/.mjs/.mts/
293
+ // .cjs/.cts`, emit BOTH the extensioned URL AND the extension-stripped
294
+ // canonical URL. The runtime evicts whichever shape V8 actually has;
295
+ // the other is a harmless `remove:miss`. Cost: at most 2x URLs in
296
+ // `evictPaths` (still tiny relative to the JSON payload).
297
+ //
298
+ // Returning a `Set` of URLs (rather than an array) lets the caller
299
+ // collapse multiple sources (changed file + roots + transitive
300
+ // importers) without paying for an extra dedup pass.
301
+ function normalizeAngularEvictRelativeId(rawId, projectRoot) {
302
+ if (!rawId)
303
+ return null;
304
+ let id = String(rawId).split('?')[0].replace(/\\/g, '/');
305
+ if (!id)
306
+ return null;
307
+ if (id.startsWith('file://')) {
308
+ id = id.slice('file://'.length);
309
+ }
310
+ const root = projectRoot ? projectRoot.replace(/\\/g, '/').replace(/\/$/, '') : '';
311
+ if (root && id.startsWith(root)) {
312
+ id = id.slice(root.length);
313
+ }
314
+ if (!id.startsWith('/')) {
315
+ id = '/' + id;
316
+ }
317
+ if (id.includes('/node_modules/')) {
318
+ return null;
319
+ }
320
+ if (isRuntimeGraphExcludedPath(id)) {
321
+ return null;
322
+ }
323
+ // Reject virtual ids — they aren't fetchable over /ns/m/.
324
+ if (id.includes('\0') || id.includes('/@id/') || id.includes('/@fs/')) {
325
+ return null;
326
+ }
327
+ return id;
328
+ }
329
+ export function collectAngularEvictionUrls(options) {
330
+ const urls = new Set();
331
+ const origin = String(options.origin || '').replace(/\/$/, '');
332
+ const root = options.projectRoot;
333
+ const addRel = (rel) => {
334
+ if (!rel)
335
+ return;
336
+ // Final defense: never emit non-/ns/m URLs for eviction; the runtime
337
+ // would map them to a different cache namespace.
338
+ urls.add(`${origin}/ns/m${rel}`);
339
+ // V8 in the iOS runtime keys `g_moduleRegistry` by the URL Vite
340
+ // emitted in the *generated* import statement, which strips JS/TS
341
+ // extensions (see the extensionless-key block above). So the
342
+ // canonical registry key for an app TS/JS module is the
343
+ // extensionless form. Emit it alongside the `.ts` form so the
344
+ // explicit eviction matches whatever shape the runtime actually
345
+ // stored. This cannot false-positive: at most one of the two URLs
346
+ // maps to a real entry, and `__nsInvalidateModules` treats unknown
347
+ // keys as no-ops.
348
+ const extMatch = rel.match(/\.(?:[mc]?[jt]sx?)$/i);
349
+ if (extMatch) {
350
+ urls.add(`${origin}/ns/m${rel.slice(0, -extMatch[0].length)}`);
351
+ }
352
+ };
353
+ addRel(normalizeAngularEvictRelativeId(options.file, root));
354
+ for (const mod of options.hotUpdateRoots || []) {
355
+ addRel(normalizeAngularEvictRelativeId(mod?.id || mod?.file, root));
356
+ }
357
+ for (const mod of options.transitiveImporters || []) {
358
+ addRel(normalizeAngularEvictRelativeId(mod?.id || mod?.file, root));
359
+ }
360
+ // The bootstrap entry must always be evicted: V8's `import(entry)` is a
361
+ // no-op if the cache entry is still live, and the entire HMR cycle
362
+ // hinges on re-evaluating main.ts. The transitive walk usually catches
363
+ // this naturally (every component reaches main via importer chains),
364
+ // but include it explicitly as an invariant — covers edge cases like a
365
+ // hand-rolled `@nativescript/hmr-strategy` overriding the candidates,
366
+ // or a pristine app whose graph hasn't yet linked main into the
367
+ // importer set.
368
+ if (typeof options.bootstrapEntry === 'string' && options.bootstrapEntry) {
369
+ addRel(normalizeAngularEvictRelativeId(options.bootstrapEntry, root));
370
+ }
371
+ return Array.from(urls);
372
+ }
373
+ export function shouldSuppressDefaultViteHotUpdate(options) {
374
+ if (options.flavor !== 'angular') {
375
+ return false;
376
+ }
377
+ return /\.(html|htm|ts)$/i.test(options.file);
378
+ }
379
+ export function normalizeHotReloadMatchPath(raw, root) {
380
+ let normalized = String(raw || '')
381
+ .split('?')[0]
382
+ .replace(/\\/g, '/')
383
+ .replace(/^file:\/\//, '');
384
+ if (root) {
385
+ const rootNormalized = root.replace(/\\/g, '/');
386
+ if (normalized.startsWith(rootNormalized)) {
387
+ normalized = normalized.slice(rootNormalized.length);
388
+ }
389
+ }
390
+ if (!normalized.startsWith('/')) {
391
+ normalized = `/${normalized}`;
392
+ }
393
+ return normalized;
394
+ }
395
+ export function shouldSuppressViteFullReloadPayload(options) {
396
+ const { payload, pendingEntries, root } = options;
397
+ const now = options.now ?? Date.now();
398
+ if (!payload || payload.type !== 'full-reload') {
399
+ return false;
400
+ }
401
+ const payloadPath = typeof payload.path === 'string' && payload.path !== '*' ? normalizeHotReloadMatchPath(payload.path, root) : null;
402
+ const payloadTriggeredBy = typeof payload.triggeredBy === 'string' ? normalizeHotReloadMatchPath(payload.triggeredBy, root) : null;
403
+ for (const entry of pendingEntries) {
404
+ if (!entry || entry.expiresAt <= now) {
405
+ continue;
406
+ }
407
+ if (payloadTriggeredBy === entry.absPath || payloadTriggeredBy === entry.relPath || payloadPath === entry.relPath || payloadPath === entry.absPath) {
408
+ return true;
409
+ }
410
+ }
411
+ return false;
412
+ }
413
+ //# sourceMappingURL=websocket-angular-hot-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-angular-hot-update.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-angular-hot-update.ts"],"names":[],"mappings":"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"}