@nativescript/vite 0.0.1 → 1.0.0

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 (281) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +81 -0
  3. package/{dist/configuration → configuration}/angular.d.ts +1 -1
  4. package/configuration/angular.js +371 -0
  5. package/configuration/angular.js.map +1 -0
  6. package/configuration/base.d.ts +5 -0
  7. package/configuration/base.js +491 -0
  8. package/configuration/base.js.map +1 -0
  9. package/configuration/javascript.d.ts +4 -0
  10. package/configuration/javascript.js +152 -0
  11. package/configuration/javascript.js.map +1 -0
  12. package/{dist/configuration → configuration}/react.d.ts +1 -1
  13. package/{dist/configuration → configuration}/react.js +18 -17
  14. package/configuration/react.js.map +1 -0
  15. package/{dist/configuration → configuration}/solid.d.ts +1 -1
  16. package/{dist/configuration → configuration}/solid.js +17 -16
  17. package/configuration/solid.js.map +1 -0
  18. package/configuration/typescript.d.ts +4 -0
  19. package/configuration/typescript.js +176 -0
  20. package/configuration/typescript.js.map +1 -0
  21. package/{dist/configuration → configuration}/vue.d.ts +1 -1
  22. package/configuration/vue.js +163 -0
  23. package/configuration/vue.js.map +1 -0
  24. package/helpers/angular/angular-linker.d.ts +13 -0
  25. package/helpers/angular/angular-linker.js +189 -0
  26. package/helpers/angular/angular-linker.js.map +1 -0
  27. package/helpers/angular/shared-linker.d.ts +4 -0
  28. package/helpers/angular/shared-linker.js +39 -0
  29. package/helpers/angular/shared-linker.js.map +1 -0
  30. package/helpers/angular/util.d.ts +1 -0
  31. package/helpers/angular/util.js +67 -0
  32. package/helpers/angular/util.js.map +1 -0
  33. package/helpers/cli-flags.d.ts +1 -0
  34. package/helpers/cli-flags.js +15 -0
  35. package/helpers/cli-flags.js.map +1 -0
  36. package/{dist/helpers → helpers}/commonjs-plugins.js +14 -13
  37. package/helpers/commonjs-plugins.js.map +1 -0
  38. package/{dist/helpers → helpers}/config-as-json.d.ts +1 -1
  39. package/{dist/helpers → helpers}/config-as-json.js +7 -6
  40. package/helpers/config-as-json.js.map +1 -0
  41. package/helpers/css-platform-plugin.d.ts +10 -0
  42. package/helpers/css-platform-plugin.js +76 -0
  43. package/helpers/css-platform-plugin.js.map +1 -0
  44. package/helpers/css-tree.js +22 -0
  45. package/helpers/css-tree.js.map +1 -0
  46. package/{dist/helpers → helpers}/dynamic-import-plugin.js +8 -7
  47. package/helpers/dynamic-import-plugin.js.map +1 -0
  48. package/helpers/esbuild-platform-resolver.d.ts +14 -0
  49. package/helpers/esbuild-platform-resolver.js +93 -0
  50. package/helpers/esbuild-platform-resolver.js.map +1 -0
  51. package/helpers/external-configs.d.ts +6 -0
  52. package/helpers/external-configs.js +34 -0
  53. package/helpers/external-configs.js.map +1 -0
  54. package/{dist/helpers → helpers}/flavor.d.ts +1 -0
  55. package/helpers/flavor.js +51 -0
  56. package/helpers/flavor.js.map +1 -0
  57. package/helpers/global-defines.d.ts +25 -0
  58. package/helpers/global-defines.js +29 -0
  59. package/helpers/global-defines.js.map +1 -0
  60. package/helpers/init.d.ts +1 -0
  61. package/helpers/init.js +119 -0
  62. package/helpers/init.js.map +1 -0
  63. package/helpers/logging.d.ts +13 -0
  64. package/helpers/logging.js +115 -0
  65. package/helpers/logging.js.map +1 -0
  66. package/helpers/main-entry.d.ts +10 -0
  67. package/helpers/main-entry.js +223 -0
  68. package/helpers/main-entry.js.map +1 -0
  69. package/{dist/helpers → helpers}/module-resolution.js +4 -3
  70. package/helpers/module-resolution.js.map +1 -0
  71. package/helpers/module-runner-patch.d.ts +3 -0
  72. package/helpers/module-runner-patch.js +63 -0
  73. package/helpers/module-runner-patch.js.map +1 -0
  74. package/helpers/nativeclass-transform.d.ts +7 -0
  75. package/helpers/nativeclass-transform.js +158 -0
  76. package/helpers/nativeclass-transform.js.map +1 -0
  77. package/helpers/nativeclass-transformer-plugin.d.ts +5 -0
  78. package/helpers/nativeclass-transformer-plugin.js +23 -0
  79. package/helpers/nativeclass-transformer-plugin.js.map +1 -0
  80. package/{dist/helpers → helpers}/nativescript-package-resolver.js +18 -17
  81. package/helpers/nativescript-package-resolver.js.map +1 -0
  82. package/helpers/ns-cli-plugins.d.ts +14 -0
  83. package/helpers/ns-cli-plugins.js +165 -0
  84. package/helpers/ns-cli-plugins.js.map +1 -0
  85. package/helpers/package-platform-aliases.d.ts +10 -0
  86. package/{dist/helpers → helpers}/package-platform-aliases.js +19 -23
  87. package/helpers/package-platform-aliases.js.map +1 -0
  88. package/helpers/postcss-platform-config.d.ts +13 -0
  89. package/helpers/postcss-platform-config.js +97 -0
  90. package/helpers/postcss-platform-config.js.map +1 -0
  91. package/helpers/prelink-angular.d.ts +2 -0
  92. package/helpers/prelink-angular.js +117 -0
  93. package/helpers/prelink-angular.js.map +1 -0
  94. package/helpers/preserve-imports.d.ts +2 -0
  95. package/helpers/preserve-imports.js +38 -0
  96. package/helpers/preserve-imports.js.map +1 -0
  97. package/{dist/helpers → helpers}/project.js +2 -4
  98. package/helpers/project.js.map +1 -0
  99. package/helpers/resolver.d.ts +4 -0
  100. package/{dist/helpers → helpers}/resolver.js +7 -6
  101. package/helpers/resolver.js.map +1 -0
  102. package/helpers/theme-core-plugins.d.ts +14 -0
  103. package/helpers/theme-core-plugins.js +121 -0
  104. package/helpers/theme-core-plugins.js.map +1 -0
  105. package/helpers/ts-config-paths.d.ts +10 -0
  106. package/{dist/helpers → helpers}/ts-config-paths.js +73 -72
  107. package/helpers/ts-config-paths.js.map +1 -0
  108. package/{dist/helpers → helpers}/utils.d.ts +10 -0
  109. package/helpers/utils.js +143 -0
  110. package/helpers/utils.js.map +1 -0
  111. package/{dist/helpers → helpers}/workers.js +15 -16
  112. package/helpers/workers.js.map +1 -0
  113. package/hmr/client/css-handler.d.ts +4 -0
  114. package/hmr/client/css-handler.js +78 -0
  115. package/hmr/client/css-handler.js.map +1 -0
  116. package/hmr/client/index.d.ts +13 -0
  117. package/hmr/client/index.js +1723 -0
  118. package/hmr/client/index.js.map +1 -0
  119. package/hmr/client/utils.d.ts +38 -0
  120. package/hmr/client/utils.js +426 -0
  121. package/hmr/client/utils.js.map +1 -0
  122. package/hmr/entry-runtime.d.ts +8 -0
  123. package/hmr/entry-runtime.js +135 -0
  124. package/hmr/entry-runtime.js.map +1 -0
  125. package/hmr/frameworks/angular/client/index.d.ts +8 -0
  126. package/hmr/frameworks/angular/client/index.js +59 -0
  127. package/hmr/frameworks/angular/client/index.js.map +1 -0
  128. package/hmr/frameworks/angular/server/linker.d.ts +1 -0
  129. package/hmr/frameworks/angular/server/linker.js +101 -0
  130. package/hmr/frameworks/angular/server/linker.js.map +1 -0
  131. package/hmr/frameworks/angular/server/strategy.d.ts +2 -0
  132. package/hmr/frameworks/angular/server/strategy.js +187 -0
  133. package/hmr/frameworks/angular/server/strategy.js.map +1 -0
  134. package/hmr/frameworks/solid/server/strategy.d.ts +2 -0
  135. package/hmr/frameworks/solid/server/strategy.js +56 -0
  136. package/hmr/frameworks/solid/server/strategy.js.map +1 -0
  137. package/hmr/frameworks/typescript/server/strategy.d.ts +2 -0
  138. package/hmr/frameworks/typescript/server/strategy.js +125 -0
  139. package/hmr/frameworks/typescript/server/strategy.js.map +1 -0
  140. package/hmr/frameworks/vue/client/index.d.ts +22 -0
  141. package/hmr/frameworks/vue/client/index.js +1541 -0
  142. package/hmr/frameworks/vue/client/index.js.map +1 -0
  143. package/hmr/frameworks/vue/server/compiler.d.ts +11 -0
  144. package/hmr/frameworks/vue/server/compiler.js +26 -0
  145. package/hmr/frameworks/vue/server/compiler.js.map +1 -0
  146. package/hmr/frameworks/vue/server/sfc-transforms.d.ts +14 -0
  147. package/hmr/frameworks/vue/server/sfc-transforms.js +282 -0
  148. package/hmr/frameworks/vue/server/sfc-transforms.js.map +1 -0
  149. package/hmr/frameworks/vue/server/strategy.d.ts +2 -0
  150. package/hmr/frameworks/vue/server/strategy.js +272 -0
  151. package/hmr/frameworks/vue/server/strategy.js.map +1 -0
  152. package/hmr/helpers/ast-extract.d.ts +6 -0
  153. package/hmr/helpers/ast-extract.js +72 -0
  154. package/hmr/helpers/ast-extract.js.map +1 -0
  155. package/hmr/helpers/ast-normalizer.d.ts +7 -0
  156. package/hmr/helpers/ast-normalizer.js +772 -0
  157. package/hmr/helpers/ast-normalizer.js.map +1 -0
  158. package/hmr/helpers/babel.d.ts +3 -0
  159. package/hmr/helpers/babel.js +17 -0
  160. package/hmr/helpers/babel.js.map +1 -0
  161. package/hmr/helpers/sanitize.d.ts +6 -0
  162. package/hmr/helpers/sanitize.js +55 -0
  163. package/hmr/helpers/sanitize.js.map +1 -0
  164. package/hmr/helpers/vendor-rewrite.d.ts +1 -0
  165. package/hmr/helpers/vendor-rewrite.js +35 -0
  166. package/hmr/helpers/vendor-rewrite.js.map +1 -0
  167. package/hmr/server/compiler.d.ts +2 -0
  168. package/hmr/server/compiler.js +75 -0
  169. package/hmr/server/compiler.js.map +1 -0
  170. package/hmr/server/constants.d.ts +14 -0
  171. package/hmr/server/constants.js +23 -0
  172. package/hmr/server/constants.js.map +1 -0
  173. package/hmr/server/core-sanitize.d.ts +32 -0
  174. package/hmr/server/core-sanitize.js +134 -0
  175. package/hmr/server/core-sanitize.js.map +1 -0
  176. package/hmr/server/framework-strategy.d.ts +68 -0
  177. package/hmr/server/framework-strategy.js +2 -0
  178. package/hmr/server/framework-strategy.js.map +1 -0
  179. package/hmr/server/index.d.ts +5 -0
  180. package/hmr/server/index.js +23 -0
  181. package/hmr/server/index.js.map +1 -0
  182. package/hmr/server/vite-plugin.d.ts +5 -0
  183. package/hmr/server/vite-plugin.js +44 -0
  184. package/hmr/server/vite-plugin.js.map +1 -0
  185. package/hmr/server/websocket.d.ts +21 -0
  186. package/hmr/server/websocket.js +5619 -0
  187. package/hmr/server/websocket.js.map +1 -0
  188. package/hmr/shared/runtime/http-only-boot.d.ts +1 -0
  189. package/hmr/shared/runtime/http-only-boot.js +107 -0
  190. package/hmr/shared/runtime/http-only-boot.js.map +1 -0
  191. package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
  192. package/hmr/shared/runtime/root-placeholder.js +142 -0
  193. package/hmr/shared/runtime/root-placeholder.js.map +1 -0
  194. package/hmr/shared/runtime/vendor-bootstrap.d.ts +1 -0
  195. package/hmr/shared/runtime/vendor-bootstrap.js +134 -0
  196. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -0
  197. package/hmr/shared/vendor/manifest-loader.d.ts +9 -0
  198. package/hmr/shared/vendor/manifest-loader.js +38 -0
  199. package/hmr/shared/vendor/manifest-loader.js.map +1 -0
  200. package/hmr/shared/vendor/manifest.d.ts +35 -0
  201. package/hmr/shared/vendor/manifest.js +811 -0
  202. package/hmr/shared/vendor/manifest.js.map +1 -0
  203. package/hmr/shared/vendor/registry.d.ts +9 -0
  204. package/hmr/shared/vendor/registry.js +62 -0
  205. package/hmr/shared/vendor/registry.js.map +1 -0
  206. package/hmr/vendor-bootstrap.d.ts +3 -0
  207. package/hmr/vendor-bootstrap.js +32 -0
  208. package/hmr/vendor-bootstrap.js.map +1 -0
  209. package/{dist/index.d.ts → index.d.ts} +2 -0
  210. package/index.js +19 -0
  211. package/index.js.map +1 -0
  212. package/package.json +42 -30
  213. package/{dist/polyfills → polyfills}/mdn-data-at-rules.js +1 -0
  214. package/polyfills/mdn-data-at-rules.js.map +1 -0
  215. package/{dist/polyfills → polyfills}/mdn-data-properties.js +1 -0
  216. package/polyfills/mdn-data-properties.js.map +1 -0
  217. package/{dist/polyfills → polyfills}/mdn-data-syntaxes.js +1 -0
  218. package/polyfills/mdn-data-syntaxes.js.map +1 -0
  219. package/{dist/polyfills → polyfills}/module.js +1 -0
  220. package/polyfills/module.js.map +1 -0
  221. package/runtime/core-aliases-early.d.ts +1 -0
  222. package/runtime/core-aliases-early.js +334 -0
  223. package/runtime/core-aliases-early.js.map +1 -0
  224. package/shims/angular-animations-stub.d.ts +68 -0
  225. package/shims/angular-animations-stub.js +140 -0
  226. package/shims/angular-animations-stub.js.map +1 -0
  227. package/shims/node-module.d.ts +5 -0
  228. package/shims/node-module.js +13 -0
  229. package/shims/node-module.js.map +1 -0
  230. package/{dist/shims → shims}/react-reconciler-constants.js +2 -1
  231. package/shims/react-reconciler-constants.js.map +1 -0
  232. package/{dist/shims → shims}/react-reconciler.js +1 -0
  233. package/shims/react-reconciler.js.map +1 -0
  234. package/{dist/shims → shims}/set-value.js +5 -1
  235. package/shims/set-value.js.map +1 -0
  236. package/transformers/NativeClass/index.d.ts +2 -0
  237. package/transformers/NativeClass/index.js +222 -0
  238. package/transformers/NativeClass/index.js.map +1 -0
  239. package/dist/configuration/angular.js +0 -30
  240. package/dist/configuration/base.d.ts +0 -13
  241. package/dist/configuration/base.js +0 -228
  242. package/dist/configuration/old-without-merge-base.d.ts +0 -13
  243. package/dist/configuration/old-without-merge-base.js +0 -249
  244. package/dist/configuration/vue.js +0 -45
  245. package/dist/helpers/css-tree.js +0 -21
  246. package/dist/helpers/flavor.js +0 -40
  247. package/dist/helpers/global-defines.d.ts +0 -14
  248. package/dist/helpers/global-defines.js +0 -18
  249. package/dist/helpers/main-entry.d.ts +0 -5
  250. package/dist/helpers/main-entry.js +0 -75
  251. package/dist/helpers/ns-cli-plugins.d.ts +0 -17
  252. package/dist/helpers/ns-cli-plugins.js +0 -128
  253. package/dist/helpers/package-platform-aliases.d.ts +0 -4
  254. package/dist/helpers/resolver.d.ts +0 -4
  255. package/dist/helpers/ts-config-paths.d.ts +0 -4
  256. package/dist/helpers/utils.js +0 -94
  257. package/dist/hmr/hmr-angular.d.ts +0 -1
  258. package/dist/hmr/hmr-angular.js +0 -34
  259. package/dist/hmr/hmr-bridge.d.ts +0 -18
  260. package/dist/hmr/hmr-bridge.js +0 -154
  261. package/dist/hmr/hmr-client.d.ts +0 -5
  262. package/dist/hmr/hmr-client.js +0 -93
  263. package/dist/hmr/hmr-server.d.ts +0 -20
  264. package/dist/hmr/hmr-server.js +0 -179
  265. package/dist/index.js +0 -5
  266. package/dist/transformers/NativeClass/index.d.ts +0 -5
  267. package/dist/transformers/NativeClass/index.js +0 -46
  268. /package/{dist/helpers → helpers}/commonjs-plugins.d.ts +0 -0
  269. /package/{dist/helpers → helpers}/css-tree.d.ts +0 -0
  270. /package/{dist/helpers → helpers}/dynamic-import-plugin.d.ts +0 -0
  271. /package/{dist/helpers → helpers}/module-resolution.d.ts +0 -0
  272. /package/{dist/helpers → helpers}/nativescript-package-resolver.d.ts +0 -0
  273. /package/{dist/helpers → helpers}/project.d.ts +0 -0
  274. /package/{dist/helpers → helpers}/workers.d.ts +0 -0
  275. /package/{dist/polyfills → polyfills}/mdn-data-at-rules.d.ts +0 -0
  276. /package/{dist/polyfills → polyfills}/mdn-data-properties.d.ts +0 -0
  277. /package/{dist/polyfills → polyfills}/mdn-data-syntaxes.d.ts +0 -0
  278. /package/{dist/polyfills → polyfills}/module.d.ts +0 -0
  279. /package/{dist/shims → shims}/react-reconciler-constants.d.ts +0 -0
  280. /package/{dist/shims → shims}/react-reconciler.d.ts +0 -0
  281. /package/{dist/shims → shims}/set-value.d.ts +0 -0
@@ -1,13 +1,13 @@
1
- import { nsConfigToJson } from "./utils.js";
2
- const nsConfigVirtualId = "\0nsvite:nsconfig-json";
1
+ import { nsConfigToJson } from './utils.js';
2
+ const nsConfigVirtualId = '\0nsvite:nsconfig-json';
3
3
  export default function nsConfigAsJsonPlugin() {
4
4
  // will hold your parsed config object
5
5
  let configObject;
6
6
  return {
7
- name: "nsvite-nsconfig-as-json",
7
+ name: 'nsvite-nsconfig-as-json',
8
8
  // 1. Intercept imports of "~/package.json"
9
9
  resolveId(source) {
10
- if (source === "~/package.json") {
10
+ if (source === '~/package.json') {
11
11
  return nsConfigVirtualId;
12
12
  }
13
13
  return null;
@@ -26,10 +26,11 @@ export default function nsConfigAsJsonPlugin() {
26
26
  generateBundle(_options, _bundle) {
27
27
  const json = JSON.stringify(configObject, null, 2);
28
28
  this.emitFile({
29
- type: "asset",
30
- fileName: "package.json",
29
+ type: 'asset',
30
+ fileName: 'package.json',
31
31
  source: json,
32
32
  });
33
33
  },
34
34
  };
35
35
  }
36
+ //# sourceMappingURL=config-as-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-as-json.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/config-as-json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,sCAAsC;IACtC,IAAI,YAAiC,CAAC;IAEtC,OAAO;QACN,IAAI,EAAE,yBAAyB;QAE/B,2CAA2C;QAC3C,SAAS,CAAC,MAAM;YACf,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBAC9B,YAAY,GAAG,cAAc,EAAE,CAAC;gBAEhC,+DAA+D;gBAC/D,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;YAC1D,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,sEAAsE;QACtE,kDAAkD;QAClD,cAAc,CAAC,QAAQ,EAAE,OAAO;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Plugin } from 'vite';
2
+ /**
3
+ * Vite plugin: ns-css-platform
4
+ *
5
+ * Provides platform specific CSS resolution. When a generic import fails (foo.css)
6
+ * it will attempt to load foo.android.css or foo.ios.css depending on platform.
7
+ * Also rewrites relative @import specifiers inside CSS files to platform variants
8
+ * when the generic file does not exist but a platform suffixed version does.
9
+ */
10
+ export declare function createPlatformCssPlugin(platform: string): Plugin;
@@ -0,0 +1,76 @@
1
+ import path from 'path';
2
+ import { existsSync, readFileSync } from 'fs';
3
+ /**
4
+ * Vite plugin: ns-css-platform
5
+ *
6
+ * Provides platform specific CSS resolution. When a generic import fails (foo.css)
7
+ * it will attempt to load foo.android.css or foo.ios.css depending on platform.
8
+ * Also rewrites relative @import specifiers inside CSS files to platform variants
9
+ * when the generic file does not exist but a platform suffixed version does.
10
+ */
11
+ export function createPlatformCssPlugin(platform) {
12
+ return {
13
+ name: 'ns-css-platform',
14
+ enforce: 'pre',
15
+ transform(code, id) {
16
+ const baseId = id.split('?')[0];
17
+ if (!baseId.endsWith('.css') || !code.includes('@import'))
18
+ return null;
19
+ const dir = path.dirname(baseId);
20
+ const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
21
+ let changed = false;
22
+ // Support @import "foo.css"; @import 'foo.css'; @import url("foo.css"); preserving rest
23
+ const importRegex = /@import\s+(?:url\()?['"]([^'"()]+\.css)['"]\)?/g;
24
+ const newCode = code.replace(importRegex, (full, spec) => {
25
+ if (/^(https?:|data:)/.test(spec) || spec.includes('nativescript-theme-core') || spec.endsWith(platformExt))
26
+ return full;
27
+ if (!(spec.startsWith('.') || spec.startsWith('/')))
28
+ return full;
29
+ const abs = path.isAbsolute(spec) ? spec : path.resolve(dir, spec);
30
+ if (existsSync(abs))
31
+ return full;
32
+ const alt = abs.replace(/\.css$/, platformExt);
33
+ if (existsSync(alt)) {
34
+ let rel = path.relative(dir, alt).replace(/\\/g, '/');
35
+ if (!rel.startsWith('.'))
36
+ rel = './' + rel;
37
+ changed = true;
38
+ return full.replace(spec, rel);
39
+ }
40
+ return full;
41
+ });
42
+ return changed ? { code: newCode, map: null } : null;
43
+ },
44
+ resolveId(id, importer) {
45
+ if (!id || !importer)
46
+ return null;
47
+ if (!(id.startsWith('.') || id.startsWith('/')))
48
+ return null;
49
+ if (!/\.css$/.test(id))
50
+ return null;
51
+ const importerPath = importer.split('?')[0];
52
+ const baseDir = path.dirname(importerPath);
53
+ const abs = path.isAbsolute(id) ? id : path.resolve(baseDir, id);
54
+ if (existsSync(abs))
55
+ return null;
56
+ const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
57
+ const alt = abs.replace(/\.css$/, platformExt);
58
+ if (existsSync(alt)) {
59
+ return '\0ns-css-platform:' + alt;
60
+ }
61
+ return null;
62
+ },
63
+ load(id) {
64
+ if (!id.startsWith('\0ns-css-platform:'))
65
+ return null;
66
+ const real = id.substring('\0ns-css-platform:'.length);
67
+ try {
68
+ return readFileSync(real, 'utf-8');
69
+ }
70
+ catch {
71
+ return '';
72
+ }
73
+ },
74
+ };
75
+ }
76
+ //# sourceMappingURL=css-platform-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-platform-plugin.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/css-platform-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import path from 'path';
2
+ import { __dirname } from './project.js';
3
+ export const aliasCssTree = [
4
+ // Node.js built-ins and mdn-data polyfills for css-tree
5
+ {
6
+ find: 'module',
7
+ replacement: path.resolve(__dirname, '../polyfills/module.js'),
8
+ },
9
+ {
10
+ find: 'mdn-data/css/properties.json',
11
+ replacement: path.resolve(__dirname, '../polyfills/mdn-data-properties.js'),
12
+ },
13
+ {
14
+ find: 'mdn-data/css/syntaxes.json',
15
+ replacement: path.resolve(__dirname, '../polyfills/mdn-data-syntaxes.js'),
16
+ },
17
+ {
18
+ find: 'mdn-data/css/at-rules.json',
19
+ replacement: path.resolve(__dirname, '../polyfills/mdn-data-at-rules.js'),
20
+ },
21
+ ];
22
+ //# sourceMappingURL=css-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-tree.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/css-tree.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,wDAAwD;IACxD;QACC,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC9D;IACD;QACC,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,qCAAqC,CAAC;KAC3E;IACD;QACC,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACzE;IACD;QACC,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mCAAmC,CAAC;KACzE;CACD,CAAC"}
@@ -6,10 +6,10 @@
6
6
  // Keep issue in mind for future Vite updates as may be able to remove this eventually.
7
7
  export function dynamicImportPlugin() {
8
8
  return {
9
- name: "nativescript-dynamic-import-fix",
9
+ name: 'nativescript-dynamic-import-fix',
10
10
  generateBundle(options, bundle) {
11
11
  for (const [fileName, chunk] of Object.entries(bundle)) {
12
- if (chunk.type === "chunk") {
12
+ if (chunk.type === 'chunk') {
13
13
  let hasChanges = false;
14
14
  // 1. Transform all relative import paths from ./ to ~/
15
15
  if (chunk.code.includes("import('./")) {
@@ -17,17 +17,17 @@ export function dynamicImportPlugin() {
17
17
  hasChanges = true;
18
18
  }
19
19
  // 2. Replace __vitePreload with simple implementation
20
- if (chunk.code.includes("__vitePreload")) {
21
- const vitePreloadStart = chunk.code.indexOf("const __vitePreload = function preload");
20
+ if (chunk.code.includes('__vitePreload')) {
21
+ const vitePreloadStart = chunk.code.indexOf('const __vitePreload = function preload');
22
22
  if (vitePreloadStart !== -1) {
23
23
  // Find the matching closing brace by counting braces
24
24
  let braceCount = 0;
25
- let functionStart = chunk.code.indexOf("{", vitePreloadStart);
25
+ let functionStart = chunk.code.indexOf('{', vitePreloadStart);
26
26
  let i = functionStart;
27
27
  while (i < chunk.code.length) {
28
- if (chunk.code[i] === "{")
28
+ if (chunk.code[i] === '{')
29
29
  braceCount++;
30
- else if (chunk.code[i] === "}") {
30
+ else if (chunk.code[i] === '}') {
31
31
  braceCount--;
32
32
  if (braceCount === 0) {
33
33
  // Found the end of the function
@@ -60,3 +60,4 @@ export function dynamicImportPlugin() {
60
60
  },
61
61
  };
62
62
  }
63
+ //# sourceMappingURL=dynamic-import-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-import-plugin.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/dynamic-import-plugin.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,0EAA0E;AAC1E,6EAA6E;AAC7E,mEAAmE;AACnE,8FAA8F;AAC9F,uFAAuF;AACvF,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,IAAI,EAAE,iCAAiC;QACvC,cAAc,CAAC,OAAO,EAAE,MAAM;YAC7B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAQ,EAAE,CAAC;gBAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,IAAI,UAAU,GAAG,KAAK,CAAC;oBAEvB,uDAAuD;oBACvD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACvC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,gBAAgB,CAAC,CAAC;wBACrF,UAAU,GAAG,IAAI,CAAC;oBACnB,CAAC;oBAED,sDAAsD;oBACtD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;wBACtF,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;4BAC7B,qDAAqD;4BACrD,IAAI,UAAU,GAAG,CAAC,CAAC;4BACnB,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;4BAC9D,IAAI,CAAC,GAAG,aAAa,CAAC;4BAEtB,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gCAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;oCAAE,UAAU,EAAE,CAAC;qCACnC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oCAChC,UAAU,EAAE,CAAC;oCACb,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;wCACtB,gCAAgC;wCAChC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;wCAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;wCACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wCAEhD,qDAAqD;wCACrD,MAAM,WAAW,GAAG;;;;;MAKxB,CAAC;wCACG,KAAK,CAAC,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;wCAC1C,UAAU,GAAG,IAAI,CAAC;wCAClB,MAAM;oCACP,CAAC;gCACF,CAAC;gCACD,CAAC,EAAE,CAAC;4BACL,CAAC;wBACF,CAAC;oBACF,CAAC;oBAED,sBAAsB;oBACtB,mBAAmB;oBACnB,8DAA8D;oBAC9D,SAAS;oBACT,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Esbuild resolver plugin to support NativeScript platform-specific file resolution
3
+ * during Vite's optimizeDeps pre-bundling and HMR dependency updates.
4
+ *
5
+ * Handles cases like:
6
+ * import './paymentMethod' -> './paymentMethod.ios.js' | './paymentMethod.android.js' | './paymentMethod.js'
7
+ * import './gesturehandler' -> './gesturehandler.ios.js' | './gesturehandler.android.js' | './gesturehandler.js'
8
+ * import './source.js' -> './source.ios.js' (if present)
9
+ * import './dir' -> './dir/index.ios.js' | './dir/index.js'
10
+ */
11
+ export declare function esbuildPlatformResolver(opts?: {
12
+ platform: string;
13
+ verbose?: boolean;
14
+ }): any;
@@ -0,0 +1,93 @@
1
+ import { existsSync } from 'fs';
2
+ import path from 'path';
3
+ /**
4
+ * Esbuild resolver plugin to support NativeScript platform-specific file resolution
5
+ * during Vite's optimizeDeps pre-bundling and HMR dependency updates.
6
+ *
7
+ * Handles cases like:
8
+ * import './paymentMethod' -> './paymentMethod.ios.js' | './paymentMethod.android.js' | './paymentMethod.js'
9
+ * import './gesturehandler' -> './gesturehandler.ios.js' | './gesturehandler.android.js' | './gesturehandler.js'
10
+ * import './source.js' -> './source.ios.js' (if present)
11
+ * import './dir' -> './dir/index.ios.js' | './dir/index.js'
12
+ */
13
+ export function esbuildPlatformResolver(opts) {
14
+ // Treat visionOS as iOS for file resolution
15
+ const currentPlatform = opts?.platform === 'visionos' ? 'ios' : opts?.platform;
16
+ function tryResolve(candidate) {
17
+ try {
18
+ return existsSync(candidate) ? candidate : undefined;
19
+ }
20
+ catch {
21
+ return undefined;
22
+ }
23
+ }
24
+ function resolveWithPlatform(basePath) {
25
+ const ext = path.extname(basePath);
26
+ const withoutExt = ext ? basePath.slice(0, -ext.length) : basePath;
27
+ // 1) If an extension exists, try inserting platform before the ext
28
+ if (ext) {
29
+ const withPlatform = `${withoutExt}.${currentPlatform}${ext}`;
30
+ const matched = tryResolve(withPlatform) || tryResolve(basePath);
31
+ if (matched)
32
+ return matched;
33
+ }
34
+ else {
35
+ // 2) No extension: try platform-specific JS/TS/MJS first
36
+ const platformCandidates = [`${withoutExt}.${currentPlatform}.js`, `${withoutExt}.${currentPlatform}.ts`, `${withoutExt}.${currentPlatform}.mjs`];
37
+ for (const c of platformCandidates) {
38
+ const hit = tryResolve(c);
39
+ if (hit)
40
+ return hit;
41
+ }
42
+ // 3) Fallback to standard extensions
43
+ const plainCandidates = [`${withoutExt}.js`, `${withoutExt}.ts`, `${withoutExt}.mjs`];
44
+ for (const c of plainCandidates) {
45
+ const hit = tryResolve(c);
46
+ if (hit)
47
+ return hit;
48
+ }
49
+ // 4) Directory index resolution
50
+ const indexPlatformCandidates = [path.join(withoutExt, `index.${currentPlatform}.js`), path.join(withoutExt, `index.${currentPlatform}.ts`), path.join(withoutExt, `index.${currentPlatform}.mjs`)];
51
+ for (const c of indexPlatformCandidates) {
52
+ const hit = tryResolve(c);
53
+ if (hit)
54
+ return hit;
55
+ }
56
+ const indexPlainCandidates = [path.join(withoutExt, 'index.js'), path.join(withoutExt, 'index.ts'), path.join(withoutExt, 'index.mjs')];
57
+ for (const c of indexPlainCandidates) {
58
+ const hit = tryResolve(c);
59
+ if (hit)
60
+ return hit;
61
+ }
62
+ }
63
+ return undefined;
64
+ }
65
+ return {
66
+ name: 'ns-esbuild-platform-resolver',
67
+ setup(build) {
68
+ // Only handle relative imports inside node_modules during optimizeDeps
69
+ build.onResolve({ filter: /^\.\.?\// }, (args) => {
70
+ // Limit to dependency optimization contexts to avoid clobbering app src resolution
71
+ // Esbuild passes resolveDir for the importing file's directory
72
+ const importerDir = args.resolveDir || path.dirname(args.importer || '');
73
+ // Heuristic: only apply inside node_modules to fix vendor packages
74
+ if (typeof args.importer === 'string' && args.importer.includes('node_modules')) {
75
+ const abs = path.resolve(importerDir, args.path);
76
+ const resolved = resolveWithPlatform(abs);
77
+ if (resolved) {
78
+ if (opts?.verbose) {
79
+ try {
80
+ const relImporter = args.importer?.split('node_modules').pop();
81
+ console.log(`ns-esbuild-resolver: ${relImporter ?? args.importer} -> ${args.path} => ${path.relative(process.cwd(), resolved)}`);
82
+ }
83
+ catch { }
84
+ }
85
+ return { path: resolved };
86
+ }
87
+ }
88
+ return null;
89
+ });
90
+ },
91
+ };
92
+ }
93
+ //# sourceMappingURL=esbuild-platform-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-platform-resolver.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/esbuild-platform-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { UserConfig } from 'vite';
2
+ export declare const externalConfigMerges: UserConfig[];
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare function applyExternalConfigs(): void;
@@ -0,0 +1,34 @@
1
+ import path from 'path';
2
+ import fs from 'fs';
3
+ import { createRequire } from 'module';
4
+ // import { pathToFileURL } from 'url';
5
+ import { getAllDependencies, getDependencyPath } from './utils.js';
6
+ const require = createRequire(import.meta.url);
7
+ export const externalConfigMerges = [];
8
+ /**
9
+ * @internal
10
+ */
11
+ export function applyExternalConfigs() {
12
+ for (const dependency of getAllDependencies()) {
13
+ const packagePath = getDependencyPath(dependency);
14
+ if (!packagePath) {
15
+ continue;
16
+ }
17
+ const configPath = path.join(packagePath, 'nativescript.vite.mjs');
18
+ if (fs.existsSync(configPath)) {
19
+ console.log(`Found and merged in external config: ${configPath}`);
20
+ try {
21
+ const externalModule = require(configPath);
22
+ const externalConfig = externalModule?.default ?? externalModule;
23
+ externalConfigMerges.push(externalConfig());
24
+ }
25
+ catch (err) {
26
+ console.warn(`
27
+ Unable to apply config: ${configPath}.
28
+ Error is: ${err}
29
+ `);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=external-configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-configs.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/external-configs.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,uCAAuC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAiB,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,oBAAoB;IACnC,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,SAAS;QACV,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAEnE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC;gBACJ,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3C,MAAM,cAAc,GAAG,cAAc,EAAE,OAAO,IAAI,cAAc,CAAC;gBACjE,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC;+BACc,UAAU;iBACxB,GAAG;KACf,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1,3 +1,4 @@
1
+ export declare function getProjectFlavor(): string;
1
2
  /**
2
3
  * Utility to determine the project flavor based on installed dependencies
3
4
  * (vue, angular, react, svelete, typescript, javascript...)
@@ -0,0 +1,51 @@
1
+ // import { defaultConfigs } from '..';
2
+ import { getAllDependencies } from './utils.js';
3
+ let targetFlavor;
4
+ export function getProjectFlavor() {
5
+ if (!targetFlavor) {
6
+ const detectedFlavor = determineProjectFlavor();
7
+ if (detectedFlavor) {
8
+ targetFlavor = detectedFlavor;
9
+ }
10
+ else {
11
+ targetFlavor = 'javascript'; // default to javascript if undetectable
12
+ }
13
+ }
14
+ return targetFlavor;
15
+ }
16
+ /**
17
+ * Utility to determine the project flavor based on installed dependencies
18
+ * (vue, angular, react, svelete, typescript, javascript...)
19
+ */
20
+ export function determineProjectFlavor() {
21
+ const dependencies = getAllDependencies();
22
+ if (dependencies.includes('nativescript-vue')) {
23
+ return 'vue';
24
+ }
25
+ if (dependencies.includes('@nativescript/angular')) {
26
+ return 'angular';
27
+ }
28
+ if (dependencies.includes('react-nativescript')) {
29
+ return 'react';
30
+ }
31
+ if (dependencies.includes('@nativescript-community/solid-js') || dependencies.includes('solid-js')) {
32
+ return 'solid';
33
+ }
34
+ if (dependencies.includes('svelte-native') || dependencies.includes('@nativescript-community/svelte-native')) {
35
+ return 'svelte';
36
+ }
37
+ // the order is important - angular, react, and svelte also include these deps
38
+ // but should return prior to this condition!
39
+ if (dependencies.includes('@nativescript/core') && dependencies.includes('typescript')) {
40
+ return 'typescript';
41
+ }
42
+ if (dependencies.includes('@nativescript/core')) {
43
+ return 'javascript';
44
+ }
45
+ console.info(`
46
+ Could not determine project flavor.
47
+ Please use webpack.useConfig('<flavor>') to explicitly set the base config.
48
+ `);
49
+ return false;
50
+ }
51
+ //# sourceMappingURL=flavor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flavor.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/flavor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,IAAI,YAAoB,CAAC;AAEzB,MAAM,UAAU,gBAAgB;IAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,sBAAsB,EAAE,CAAC;QAChD,IAAI,cAAc,EAAE,CAAC;YACpB,YAAY,GAAG,cAAc,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,YAAY,GAAG,YAAY,CAAC,CAAC,wCAAwC;QACtE,CAAC;IACF,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACrC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpG,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,uCAAuC,CAAC,EAAE,CAAC;QAC9G,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,8EAA8E;IAC9E,6CAA6C;IAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACxF,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACjD,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;;;EAGZ,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare function getGlobalDefines(opts: {
2
+ platform: string;
3
+ targetMode: string;
4
+ verbose: boolean;
5
+ flavor: string;
6
+ isCI?: boolean;
7
+ }): {
8
+ __ANDROID__: string;
9
+ __IOS__: string;
10
+ __VISIONOS__: string;
11
+ __APPLE__: string;
12
+ __DEV__: string;
13
+ __COMMONJS__: boolean;
14
+ __NS_WEBPACK__: boolean;
15
+ __NS_ENV_VERBOSE__: string;
16
+ __NS_TARGET_FLAVOR__: string;
17
+ __CSS_PARSER__: string;
18
+ __UI_USE_XML_PARSER__: boolean;
19
+ __UI_USE_EXTERNAL_RENDERER__: boolean;
20
+ __TEST__: boolean;
21
+ __CI__: string;
22
+ __NS_APP_ROOT_DIR__: string;
23
+ __NS_APP_ROOT_VIRTUAL__: string;
24
+ 'process.env.NODE_ENV': string;
25
+ };
@@ -0,0 +1,29 @@
1
+ import { getProjectAppPath, getProjectAppVirtualPath } from './utils.js';
2
+ const APP_ROOT_DIR = getProjectAppPath();
3
+ const APP_ROOT_VIRTUAL = getProjectAppVirtualPath();
4
+ export function getGlobalDefines(opts) {
5
+ return {
6
+ // Define platform flags for runtime checks
7
+ __ANDROID__: JSON.stringify(opts.platform === 'android'),
8
+ __IOS__: JSON.stringify(opts.platform === 'ios'),
9
+ __VISIONOS__: JSON.stringify(opts.platform === 'visionos'),
10
+ __APPLE__: JSON.stringify(opts.platform === 'ios' || opts.platform === 'visionos'),
11
+ __DEV__: JSON.stringify(opts.targetMode === 'development'),
12
+ __COMMONJS__: false,
13
+ __NS_WEBPACK__: false,
14
+ __NS_ENV_VERBOSE__: JSON.stringify(opts.verbose),
15
+ __NS_TARGET_FLAVOR__: JSON.stringify(opts.flavor),
16
+ __CSS_PARSER__: JSON.stringify('css-tree'),
17
+ __UI_USE_XML_PARSER__: true,
18
+ __UI_USE_EXTERNAL_RENDERER__: false,
19
+ // various ecosystems use this global (react for example)
20
+ __TEST__: false,
21
+ // determine if running in CI environment
22
+ __CI__: JSON.stringify(!!opts.isCI),
23
+ __NS_APP_ROOT_DIR__: JSON.stringify(APP_ROOT_DIR),
24
+ __NS_APP_ROOT_VIRTUAL__: JSON.stringify(APP_ROOT_VIRTUAL),
25
+ // Critical for various integrations (e.g. Vue only includes hmr runtime on this condition)
26
+ 'process.env.NODE_ENV': JSON.stringify(opts.targetMode === 'development' ? 'development' : 'production'),
27
+ };
28
+ }
29
+ //# sourceMappingURL=global-defines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-defines.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/global-defines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;AACzC,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AAEpD,MAAM,UAAU,gBAAgB,CAAC,IAAgG;IAChI,OAAO;QACN,2CAA2C;QAC3C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;QACxD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;QAChD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;QAC1D,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;QAClF,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC;QAC1D,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAChD,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1C,qBAAqB,EAAE,IAAI;QAC3B,4BAA4B,EAAE,KAAK;QACnC,yDAAyD;QACzD,QAAQ,EAAE,KAAK;QACf,yCAAyC;QACzC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACjD,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACzD,2FAA2F;QAC3F,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;KACxG,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function runInit(): Promise<void>;
@@ -0,0 +1,119 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { createRequire } from 'node:module';
4
+ import { determineProjectFlavor } from './flavor.js';
5
+ import { getProjectFilePath, getProjectRootPath } from './project.js';
6
+ const require = createRequire(import.meta.url);
7
+ const DEV_DEPS = {
8
+ concurrently: '^9.0.0',
9
+ 'wait-on': '^9.0.0',
10
+ };
11
+ const RUNTIME_DEPS = {
12
+ '@valor/nativescript-websockets': '^2.0.2',
13
+ };
14
+ function readPackageJson() {
15
+ const pkgPath = getProjectFilePath('package.json');
16
+ const raw = fs.readFileSync(pkgPath, 'utf8');
17
+ return JSON.parse(raw);
18
+ }
19
+ function writePackageJson(pkg) {
20
+ const pkgPath = getProjectFilePath('package.json');
21
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n', 'utf8');
22
+ }
23
+ function ensureDependencies(pkg) {
24
+ pkg.dependencies = pkg.dependencies ?? {};
25
+ pkg.devDependencies = pkg.devDependencies ?? {};
26
+ for (const [name, version] of Object.entries(DEV_DEPS)) {
27
+ pkg.devDependencies[name] = version;
28
+ }
29
+ for (const [name, version] of Object.entries(RUNTIME_DEPS)) {
30
+ pkg.dependencies[name] = version;
31
+ }
32
+ }
33
+ function ensureScripts(pkg) {
34
+ pkg.scripts = pkg.scripts ?? {};
35
+ pkg.scripts['dev:ios'] = "concurrently -k -n vite,ns 'npm run dev:server:ios' 'wait-on tcp:5173 && npm run ios'";
36
+ pkg.scripts['dev:android'] = "concurrently -k -n vite,ns 'npm run dev:server:android' 'wait-on tcp:5173 && npm run android'";
37
+ pkg.scripts['dev:server:ios'] = 'VITE_DEBUG_LOGS=1 vite serve -- --env.ios --env.hmr';
38
+ pkg.scripts['dev:server:android'] = 'VITE_DEBUG_LOGS=1 vite serve -- --env.android --env.hmr';
39
+ pkg.scripts['ios'] = 'VITE_DEBUG_LOGS=1 ns debug ios';
40
+ pkg.scripts['android'] = 'VITE_DEBUG_LOGS=1 ns debug android';
41
+ }
42
+ function ensureGitignore() {
43
+ const root = getProjectRootPath();
44
+ const gitignorePath = path.join(root, '.gitignore');
45
+ let contents = '';
46
+ if (fs.existsSync(gitignorePath)) {
47
+ contents = fs.readFileSync(gitignorePath, 'utf8');
48
+ }
49
+ if (!contents.split(/\r?\n/).includes('.ns-vite-build')) {
50
+ if (contents.length && !contents.endsWith('\n')) {
51
+ contents += '\n';
52
+ }
53
+ contents += '.ns-vite-build\n';
54
+ fs.writeFileSync(gitignorePath, contents, 'utf8');
55
+ }
56
+ }
57
+ function resolveFlavor() {
58
+ const flavor = determineProjectFlavor();
59
+ if (!flavor) {
60
+ return 'javascript';
61
+ }
62
+ return flavor;
63
+ }
64
+ function getFlavorImportAndConfig(flavor) {
65
+ switch (flavor) {
66
+ case 'angular':
67
+ return {
68
+ importLine: "import { angularConfig } from '@nativescript/vite';",
69
+ configExpr: 'angularConfig({})',
70
+ };
71
+ case 'react':
72
+ return {
73
+ importLine: "import { reactConfig } from '@nativescript/vite';",
74
+ configExpr: 'reactConfig({})',
75
+ };
76
+ case 'solid':
77
+ return {
78
+ importLine: "import { solidConfig } from '@nativescript/vite';",
79
+ configExpr: 'solidConfig({})',
80
+ };
81
+ case 'vue':
82
+ return {
83
+ importLine: "import { vueConfig } from '@nativescript/vite';",
84
+ configExpr: 'vueConfig({})',
85
+ };
86
+ case 'typescript':
87
+ return {
88
+ importLine: "import { typescriptConfig } from '@nativescript/vite';",
89
+ configExpr: 'typescriptConfig({})',
90
+ };
91
+ case 'javascript':
92
+ default:
93
+ return {
94
+ importLine: "import { javascriptConfig } from '@nativescript/vite';",
95
+ configExpr: 'javascriptConfig({})',
96
+ };
97
+ }
98
+ }
99
+ function ensureViteConfig() {
100
+ const root = getProjectRootPath();
101
+ const viteConfigPath = path.join(root, 'vite.config.ts');
102
+ if (fs.existsSync(viteConfigPath)) {
103
+ return;
104
+ }
105
+ const flavor = resolveFlavor();
106
+ const { importLine, configExpr } = getFlavorImportAndConfig(flavor);
107
+ const contents = `import { defineConfig } from 'vite';\n${importLine};\n\nexport default defineConfig(({ mode }) => ${configExpr});\n`;
108
+ fs.writeFileSync(viteConfigPath, contents, 'utf8');
109
+ }
110
+ export async function runInit() {
111
+ const pkg = readPackageJson();
112
+ ensureDependencies(pkg);
113
+ ensureScripts(pkg);
114
+ writePackageJson(pkg);
115
+ ensureGitignore();
116
+ ensureViteConfig();
117
+ console.log('[@nativescript/vite] Project initialized for Vite dev server.');
118
+ }
119
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/init.ts"],"names":[],"mappings":"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"}