@nativescript/vite 1.0.3 → 1.0.5-rc.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.
@@ -1,4 +1,6 @@
1
1
  import { createRequire } from 'node:module';
2
+ import path from 'path';
3
+ import { pathToFileURL } from 'url';
2
4
  const require = createRequire(import.meta.url);
3
5
  const VIRTUAL_ID = 'virtual:ns-hmr-client';
4
6
  const RESOLVED_ID = '\0' + VIRTUAL_ID;
@@ -17,7 +19,37 @@ export function nsHmrClientVitePlugin(opts) {
17
19
  load(id) {
18
20
  if (id !== RESOLVED_ID)
19
21
  return null;
20
- const clientPath = require.resolve('@nativescript/vite/hmr/client/index.js');
22
+ /**
23
+ * Use a POSIX-style import specifier for the client entry to avoid
24
+ * Windows drive-letter paths (e.g. "D:\\...") accidentally
25
+ * becoming bare import ids that Rollup/Vite cannot resolve.
26
+ * We still resolve the real filesystem path for correctness, but convert it to a project-relative POSIX path before interpolating it into the generated module.
27
+ **/
28
+ const clientFsPath = require.resolve('@nativescript/vite/hmr/client/index.js');
29
+ // Prefer project root when available; otherwise fall back to cwd.
30
+ const projectRoot = config?.root || process.cwd();
31
+ let clientImport = clientFsPath;
32
+ try {
33
+ // Compute a project-relative POSIX path when possible. When `path.relative`
34
+ // returns an absolute path (this can occur on Windows if roots differ or
35
+ // when path.relative returns a drive-letter-prefixed path), avoid creating
36
+ // a specifier like `/D:/...` which later gets resolved to `D:\D:\...`.
37
+ const rel = path.relative(projectRoot, clientFsPath);
38
+ const relPosix = rel.replace(/\\/g, '/');
39
+ // If `rel` is absolute (e.g. starts with a drive letter on Windows),
40
+ // use a file:// URL for the import so Vite/Rollup do not prepend the
41
+ // project root and cause duplicated drive prefixes.
42
+ if (path.isAbsolute(rel)) {
43
+ clientImport = pathToFileURL(clientFsPath).toString();
44
+ }
45
+ else {
46
+ clientImport = (relPosix.startsWith('.') ? relPosix : `/${relPosix}`).replace(/\/+/g, '/');
47
+ }
48
+ }
49
+ catch {
50
+ // On any failure, keep the original path but normalize to POSIX
51
+ clientImport = clientFsPath.replace(/\\/g, '/');
52
+ }
21
53
  // Build ws url from Vite server info
22
54
  let host = process.env.NS_HMR_HOST || config?.server?.host;
23
55
  // Android emu special-case
@@ -34,7 +66,7 @@ export function nsHmrClientVitePlugin(opts) {
34
66
  // Import client and start it with explicit ws URL
35
67
  const banner = opts.verbose ? `console.log('[ns-hmr-client] starting client -> ${wsUrl} (HTTP loader enabled via __NS_HTTP_ORIGIN__)');` : '';
36
68
  return `
37
- import startViteHMR from "${clientPath}";
69
+ import startViteHMR from "${clientImport}";
38
70
  ${banner}
39
71
  startViteHMR({ wsUrl: ${JSON.stringify(wsUrl)} });
40
72
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,UAAU,CAAC;AAEtC,MAAM,UAAU,qBAAqB,CAAC,IAA6C;IAClF,IAAI,MAAkC,CAAC;IAEvC,OAAO;QACN,IAAI,EAAE,eAAe;QACrB,cAAc,CAAC,CAAC;YACf,MAAM,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,SAAS,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,UAAU;gBAAE,OAAO,WAAW,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAE7E,qCAAqC;YACrC,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAK,MAAM,EAAE,MAAM,EAAE,IAAY,CAAC;YACpE,2BAA2B;YAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACnF,IAAI,GAAG,UAAU,CAAC;YACnB,CAAC;iBAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,GAAG,WAAW,CAAC;YACpB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,QAAQ,MAAM,IAAI,IAAI,IAAI,SAAS,CAAC;YAErD,kDAAkD;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,mDAAmD,KAAK,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9I,OAAO;4BACkB,UAAU;EACpC,MAAM;wBACgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;CAC5C,CAAC;QACA,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript/vite",
3
- "version": "1.0.3",
3
+ "version": "1.0.5-rc.0",
4
4
  "description": "Vite for NativeScript",
5
5
  "main": "./index.js",
6
6
  "module": "./index.js",