vxrn 1.1.244 → 1.1.245

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 (50) hide show
  1. package/dist/constants/defaults.js +39 -0
  2. package/dist/constants/defaults.js.map +6 -0
  3. package/dist/constants/defaults.mjs +15 -0
  4. package/dist/constants/defaults.mjs.map +1 -0
  5. package/dist/constants/defaults.native.js +15 -0
  6. package/dist/constants/defaults.native.js.map +1 -0
  7. package/dist/constants.js.map +1 -1
  8. package/dist/constants.mjs.map +1 -1
  9. package/dist/constants.native.js.map +1 -1
  10. package/dist/plugins/reactNativeDevAssetPlugin.js +29 -41
  11. package/dist/plugins/reactNativeDevAssetPlugin.js.map +2 -2
  12. package/dist/plugins/reactNativeDevAssetPlugin.mjs +22 -21
  13. package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
  14. package/dist/plugins/reactNativeDevAssetPlugin.native.js +24 -22
  15. package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
  16. package/dist/plugins/reactNativeHMRPlugin.js +9 -2
  17. package/dist/plugins/reactNativeHMRPlugin.js.map +1 -1
  18. package/dist/plugins/reactNativeHMRPlugin.mjs +7 -3
  19. package/dist/plugins/reactNativeHMRPlugin.mjs.map +1 -1
  20. package/dist/plugins/reactNativeHMRPlugin.native.js +10 -4
  21. package/dist/plugins/reactNativeHMRPlugin.native.js.map +1 -1
  22. package/dist/utils/getReactNativeConfig.js +3 -1
  23. package/dist/utils/getReactNativeConfig.js.map +1 -1
  24. package/dist/utils/getReactNativeConfig.mjs +3 -1
  25. package/dist/utils/getReactNativeConfig.mjs.map +1 -1
  26. package/dist/utils/getReactNativeConfig.native.js +3 -1
  27. package/dist/utils/getReactNativeConfig.native.js.map +1 -1
  28. package/dist/utils/getViteServerConfig.js +7 -2
  29. package/dist/utils/getViteServerConfig.js.map +1 -1
  30. package/dist/utils/getViteServerConfig.mjs +7 -2
  31. package/dist/utils/getViteServerConfig.mjs.map +1 -1
  32. package/dist/utils/getViteServerConfig.native.js +7 -2
  33. package/dist/utils/getViteServerConfig.native.js.map +1 -1
  34. package/package.json +7 -8
  35. package/react-native-template.js +1 -0
  36. package/src/constants/defaults.ts +36 -0
  37. package/src/constants.ts +0 -2
  38. package/src/plugins/reactNativeDevAssetPlugin.ts +41 -78
  39. package/src/plugins/reactNativeHMRPlugin.ts +11 -1
  40. package/src/utils/getReactNativeConfig.ts +2 -0
  41. package/src/utils/getViteServerConfig.ts +6 -1
  42. package/types/constants/defaults.d.ts +3 -0
  43. package/types/constants/defaults.d.ts.map +1 -0
  44. package/types/constants.d.ts.map +1 -1
  45. package/types/plugins/reactNativeDevAssetPlugin.d.ts +1 -1
  46. package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -1
  47. package/types/plugins/reactNativeHMRPlugin.d.ts +3 -1
  48. package/types/plugins/reactNativeHMRPlugin.d.ts.map +1 -1
  49. package/types/utils/getReactNativeConfig.d.ts.map +1 -1
  50. package/types/utils/getViteServerConfig.d.ts.map +1 -1
@@ -0,0 +1,39 @@
1
+ const DEFAULT_ASSET_EXTS = [
2
+ // Image formats
3
+ "bmp",
4
+ "gif",
5
+ "jpg",
6
+ "jpeg",
7
+ "png",
8
+ "psd",
9
+ "svg",
10
+ "webp",
11
+ // Video formats
12
+ "m4v",
13
+ "mov",
14
+ "mp4",
15
+ "mpeg",
16
+ "mpg",
17
+ "webm",
18
+ // Audio formats
19
+ "aac",
20
+ "aiff",
21
+ "caf",
22
+ "m4a",
23
+ "mp3",
24
+ "wav",
25
+ // Document formats
26
+ "html",
27
+ "pdf",
28
+ "yaml",
29
+ "yml",
30
+ // Font formats
31
+ "otf",
32
+ "ttf",
33
+ // Archives (virtual files)
34
+ "zip"
35
+ ];
36
+ export {
37
+ DEFAULT_ASSET_EXTS
38
+ };
39
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/defaults.ts"],
4
+ "mappings": "AACO,MAAM,qBAAqB;AAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAEA;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,15 @@
1
+ const DEFAULT_ASSET_EXTS = [
2
+ // Image formats
3
+ "bmp", "gif", "jpg", "jpeg", "png", "psd", "svg", "webp",
4
+ // Video formats
5
+ "m4v", "mov", "mp4", "mpeg", "mpg", "webm",
6
+ // Audio formats
7
+ "aac", "aiff", "caf", "m4a", "mp3", "wav",
8
+ // Document formats
9
+ "html", "pdf", "yaml", "yml",
10
+ // Font formats
11
+ "otf", "ttf",
12
+ // Archives (virtual files)
13
+ "zip"];
14
+ export { DEFAULT_ASSET_EXTS };
15
+ //# sourceMappingURL=defaults.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_ASSET_EXTS"],"sources":["../../src/constants/defaults.ts"],"sourcesContent":[null],"mappings":"AACO,MAAMA,kBAAA,GAAqB;AAAA;AAEhC,OACA,OACA,OACA,QACA,OACA,OACA,OACA;AAAA;AAEA,OACA,OACA,OACA,QACA,OACA;AAAA;AAEA,OACA,QACA,OACA,OACA,OACA;AAAA;AAEA,QACA,OACA,QACA;AAAA;AAEA,OACA;AAAA;AAEA,MACF","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ var DEFAULT_ASSET_EXTS = [
2
+ // Image formats
3
+ "bmp", "gif", "jpg", "jpeg", "png", "psd", "svg", "webp",
4
+ // Video formats
5
+ "m4v", "mov", "mp4", "mpeg", "mpg", "webm",
6
+ // Audio formats
7
+ "aac", "aiff", "caf", "m4a", "mp3", "wav",
8
+ // Document formats
9
+ "html", "pdf", "yaml", "yml",
10
+ // Font formats
11
+ "otf", "ttf",
12
+ // Archives (virtual files)
13
+ "zip"];
14
+ export { DEFAULT_ASSET_EXTS };
15
+ //# sourceMappingURL=defaults.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_ASSET_EXTS"],"sources":["../../src/constants/defaults.ts"],"sourcesContent":[null],"mappings":"AACO,IAAAA,kBAAM;AAAqB;AAEhC,OACA,OACA,OACA,QACA,OACA,OACA,OACA;AAAA;AAEA,OACA,OACA,OACA,QACA,OACA;AAAA;AAEA,OACA,QACA,OACA,OACA,OACA;AAAA;AAEA,QACA,OACA,QACA;AAAA;AAEA,OACA;AAAA;AAEA,MACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/constants.ts"],
4
- "mappings": "AAEO,MAAM,eAAe,MAEtB,wBAAwB;AAAA;AAAA,EAE5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEa,mBAAmB;AAAA;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEa,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEa,oBAAoB;AAAA;AAAA,EAE/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEa,gBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL;",
4
+ "mappings": "AAAO,MAAM,eAAe,MAEtB,wBAAwB;AAAA;AAAA,EAE5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEa,mBAAmB;AAAA;AAAA,EAE9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEa,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEa,oBAAoB;AAAA;AAAA,EAE/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAEa,gBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_PORT","viteDefaultExtensions","nativeExtensions","iosExtensions","androidExtensions","webExtensions"],"sources":["../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEO,MAAMA,YAAA,GAAe;EAEtBC,qBAAA,GAAwB;EAAA;EAE5B,QACA,OACA,OACA,QACA,QACA,QACF;EAEaC,gBAAA,GAAmB;EAAA;EAE9B,eACA,cACA,eACA,cACA,GAAGD,qBAAA,CACL;EAEaE,aAAA,GAAgB;EAAA;EAE3B,YACA,WACA,YACA,WACA,GAAGD,gBAAA,CACL;EAEaE,iBAAA,GAAoB;EAAA;EAE/B,gBACA,eACA,gBACA,eACA,GAAGF,gBAAA,CACL;EAEaG,aAAA,GAAgB,CAC3B,YACA,WACA,YACA,YACA,WACA,GAAGJ,qBAAA,CACL","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_PORT","viteDefaultExtensions","nativeExtensions","iosExtensions","androidExtensions","webExtensions"],"sources":["../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAO,MAAMA,YAAA,GAAe;EAEtBC,qBAAA,GAAwB;EAAA;EAE5B,QACA,OACA,OACA,QACA,QACA,QACF;EAEaC,gBAAA,GAAmB;EAAA;EAE9B,eACA,cACA,eACA,cACA,GAAGD,qBAAA,CACL;EAEaE,aAAA,GAAgB;EAAA;EAE3B,YACA,WACA,YACA,WACA,GAAGD,gBAAA,CACL;EAEaE,iBAAA,GAAoB;EAAA;EAE/B,gBACA,eACA,gBACA,eACA,GAAGF,gBAAA,CACL;EAEaG,aAAA,GAAgB,CAC3B,YACA,WACA,YACA,YACA,WACA,GAAGJ,qBAAA,CACL","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_PORT","viteDefaultExtensions","nativeExtensions","iosExtensions","androidExtensions","webExtensions"],"sources":["../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEO,IAAAA,YAAM,OAAe;EAAAC,qBAEtB;EAAwB;EAE5B,QACA,OACA,OACA,QACA,QACA,QACF;EAEaC,gBAAA,GAAmB;EAAA;EAE9B,eACA,cACA,eACA,cACA,GAAGD,qBAAA,CACL;EAEaE,aAAA,GAAgB;EAAA;EAE3B,YACA,WACA,YACA,WACA,GAAGD,gBAAA,CACL;EAEaE,iBAAA,GAAoB;EAAA;EAE/B,gBACA,eACA,gBACA,eACA,GAAGF,gBAAA,CACL;EAEaG,aAAA,GAAgB,CAC3B,YACA,WACA,YACA,YACA,WACA,GAAGJ,qBAAA,CACL","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_PORT","viteDefaultExtensions","nativeExtensions","iosExtensions","androidExtensions","webExtensions"],"sources":["../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAO,IAAAA,YAAM,OAAe;EAAAC,qBAEtB;EAAwB;EAE5B,QACA,OACA,OACA,QACA,QACA,QACF;EAEaC,gBAAA,GAAmB;EAAA;EAE9B,eACA,cACA,eACA,cACA,GAAGD,qBAAA,CACL;EAEaE,aAAA,GAAgB;EAAA;EAE3B,YACA,WACA,YACA,WACA,GAAGD,gBAAA,CACL;EAEaE,iBAAA,GAAoB;EAAA;EAE/B,gBACA,eACA,gBACA,eACA,GAAGF,gBAAA,CACL;EAEaG,aAAA,GAAgB,CAC3B,YACA,WACA,YACA,YACA,WACA,GAAGJ,qBAAA,CACL","ignoreList":[]}
@@ -1,43 +1,10 @@
1
1
  import path from "node:path";
2
2
  import FSExtra from "fs-extra";
3
+ import colors from "picocolors";
3
4
  import { isNativeEnvironment } from "../utils/environmentUtils";
4
- const DEFAULT_ASSET_EXTS = [
5
- // Image formats
6
- "bmp",
7
- "gif",
8
- "jpg",
9
- "jpeg",
10
- "png",
11
- "psd",
12
- "svg",
13
- "webp",
14
- // Video formats
15
- "m4v",
16
- "mov",
17
- "mp4",
18
- "mpeg",
19
- "mpg",
20
- "webm",
21
- // Audio formats
22
- "aac",
23
- "aiff",
24
- "caf",
25
- "m4a",
26
- "mp3",
27
- "wav",
28
- // Document formats
29
- "html",
30
- "pdf",
31
- "yaml",
32
- "yml",
33
- // Font formats
34
- "otf",
35
- "ttf",
36
- // Archives (virtual files)
37
- "zip"
38
- ], IMAGE_ASSET_EXTS = ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff", "ktx"], IMAGE_ASSET_EXTS_SET = new Set(IMAGE_ASSET_EXTS), ASSET_DEST_DIR = "assets";
5
+ const IMAGE_ASSET_EXTS = ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff", "ktx"], IMAGE_ASSET_EXTS_SET = new Set(IMAGE_ASSET_EXTS), ASSET_DEST_DIR = "assets", DEV_ASSET_DEST_PATH = "__vxrn_dev_native_assets";
39
6
  function reactNativeDevAssetPlugin(options) {
40
- const { projectRoot, assetExts = DEFAULT_ASSET_EXTS } = options, assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`), isAssetFile = (id) => assetExtsRegExp.test(id);
7
+ const { projectRoot, assetExts } = options, assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`), isAssetFile = (id) => assetExtsRegExp.test(id);
41
8
  async function getAssetData(id) {
42
9
  const relativeAssetPath = path.relative(projectRoot, id);
43
10
  let assetUrlPath = relativeAssetPath;
@@ -50,8 +17,11 @@ function reactNativeDevAssetPlugin(options) {
50
17
  __packager_asset: !0,
51
18
  fileSystemLocation: path.dirname(id),
52
19
  relativeFileSystemLocation: relativeAssetDir,
53
- httpServerLocation: `/${ASSET_DEST_DIR}/${assetUrlPath.slice(0, -assetBasename.length)}`,
54
- // TODO: `/assets` might be too common, consider using a unique prefix.
20
+ httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(
21
+ 0,
22
+ -(assetBasename.length + 1)
23
+ /* removing the `/filename.ext` at the end */
24
+ )}`,
55
25
  scales: [1],
56
26
  // TODO
57
27
  name: assetName,
@@ -61,9 +31,11 @@ function reactNativeDevAssetPlugin(options) {
61
31
  return {
62
32
  name: "vxrn:react-native-dev-asset",
63
33
  enforce: "pre",
64
- resolveId(source, importer, options2) {
65
- isNativeEnvironment(this.environment) && isAssetFile(source);
66
- },
34
+ // resolveId(source, importer, options) {
35
+ // if (!isNativeEnvironment(this.environment)) return
36
+ // if (!isAssetFile(source)) return
37
+ // // TODO: May need to handle platform specific extensions here.
38
+ // },
67
39
  async load(id, _options) {
68
40
  if (!isNativeEnvironment(this.environment) || !isAssetFile(id)) return;
69
41
  const assetData = await getAssetData(id);
@@ -88,6 +60,22 @@ export default asset;
88
60
  */
89
61
  configureServer(server) {
90
62
  const { logger } = server.config, defaultLogOptions = { timestamp: !0 };
63
+ server.middlewares.use(async (req, res, next) => {
64
+ if (!req.url?.startsWith(`/${DEV_ASSET_DEST_PATH}/`))
65
+ return next();
66
+ const assetPath = "./" + new URL("http://example.com" + req.url).pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
67
+ try {
68
+ const asset = await FSExtra.readFile(assetPath);
69
+ res.setHeader("content-type", "image/png"), res.write(asset), res.end();
70
+ } catch (e) {
71
+ logger.error(
72
+ colors.red(
73
+ `[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`
74
+ ),
75
+ defaultLogOptions
76
+ ), res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500, res.end();
77
+ }
78
+ });
91
79
  }
92
80
  };
93
81
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugins/reactNativeDevAssetPlugin.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AACjB,OAAO,aAAa;AAIpB,SAAS,2BAA2B;AAGpC,MAAM,qBAAqB;AAAA;AAAA,EAEzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAEA;AACF,GAEM,mBAAmB,CAAC,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ,OAAO,OAAO,QAAQ,KAAK,GAC3F,uBAAuB,IAAI,IAAI,gBAAgB,GAE/C,iBAAiB;AAYhB,SAAS,0BAA0B,SAAkD;AAC1F,QAAM,EAAE,aAAa,YAAY,mBAAmB,IAAI,SAElD,kBAAkB,IAAI,OAAO,OAAO,UAAU,KAAK,GAAG,CAAC,IAAI,GAC3D,cAAc,CAAC,OAAe,gBAAgB,KAAK,EAAE;AAE3D,iBAAe,aAAa,IAAI;AAE9B,UAAM,oBAAoB,KAAK,SAAS,aAAa,EAAE;AAEvD,QAAI,eAAe;AAEnB,IAAI,KAAK,QAAQ,SACf,eAAe,aAAa,WAAW,MAAM,GAAG;AAGlD,UAAM,mBAAmB,KAAK,QAAQ,iBAAiB,GACjD,gBAAgB,KAAK,SAAS,iBAAiB,GAC/C,WAAW,KAAK,QAAQ,aAAa,EAAE,MAAM,CAAC,GAC9C,YAAY,cAAc;AAAA,MAC9B;AAAA,MACA,EAAG,SAAS,SAAS;AAAA,IACvB;AAYA,WAVkB;AAAA,MAChB,kBAAkB;AAAA,MAClB,oBAAoB,KAAK,QAAQ,EAAE;AAAA,MACnC,4BAA4B;AAAA,MAC5B,oBAAoB,IAAI,cAAc,IAAI,aAAa,MAAM,GAAG,CAAC,cAAc,MAAM,CAAC;AAAA;AAAA,MACtF,QAAQ,CAAC,CAAC;AAAA;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EAGF;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,UAAU,QAAQ,UAAUA,UAAS;AACnC,MAAK,oBAAoB,KAAK,WAAW,KACpC,YAAY,MAAM;AAAA,IAGzB;AAAA,IAEA,MAAM,KAAK,IAAI,UAAU;AAEvB,UADI,CAAC,oBAAoB,KAAK,WAAW,KACrC,CAAC,YAAY,EAAE,EAAG;AAEtB,YAAM,YAAY,MAAM,aAAa,EAAE;AAEvC,UAAI,QAAQ,SAAS,UAAU,QAAQ,YAAY;AAGjD,cAAM,gBAAgB,KAAK;AAAA,UACzB,QAAQ;AAAA,UACR;AAAA,UACA,UAAU;AAAA,QACZ;AACA,cAAM,QAAQ,UAAU,aAAa,GACrC,MAAM,QAAQ,SAAS,IAAI,KAAK,KAAK,eAAe,GAAG,UAAU,IAAI,IAAI,UAAU,IAAI,EAAE,CAAC;AAAA,MAC5F;AAmBA,aARwB;AAAA;AAAA;AAAA,mDAGqB,KAAK,UAAU,WAAW,MAAM,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,IAMjF;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAgB,QAAQ;AACtB,YAAM,EAAE,OAAO,IAAI,OAAO,QACpB,oBAAoB,EAAE,WAAW,GAAK;AAAA,IAmC9C;AAAA,EACF;AACF;",
5
- "names": ["options"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -1,26 +1,15 @@
1
1
  import path from "node:path";
2
2
  import FSExtra from "fs-extra";
3
+ import colors from "picocolors";
3
4
  import { isNativeEnvironment } from "../utils/environmentUtils.mjs";
4
- const DEFAULT_ASSET_EXTS = [
5
- // Image formats
6
- "bmp", "gif", "jpg", "jpeg", "png", "psd", "svg", "webp",
7
- // Video formats
8
- "m4v", "mov", "mp4", "mpeg", "mpg", "webm",
9
- // Audio formats
10
- "aac", "aiff", "caf", "m4a", "mp3", "wav",
11
- // Document formats
12
- "html", "pdf", "yaml", "yml",
13
- // Font formats
14
- "otf", "ttf",
15
- // Archives (virtual files)
16
- "zip"],
17
- IMAGE_ASSET_EXTS = ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff", "ktx"],
5
+ const IMAGE_ASSET_EXTS = ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff", "ktx"],
18
6
  IMAGE_ASSET_EXTS_SET = new Set(IMAGE_ASSET_EXTS),
19
- ASSET_DEST_DIR = "assets";
7
+ ASSET_DEST_DIR = "assets",
8
+ DEV_ASSET_DEST_PATH = "__vxrn_dev_native_assets";
20
9
  function reactNativeDevAssetPlugin(options) {
21
10
  const {
22
11
  projectRoot,
23
- assetExts = DEFAULT_ASSET_EXTS
12
+ assetExts
24
13
  } = options,
25
14
  assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`),
26
15
  isAssetFile = id => assetExtsRegExp.test(id);
@@ -36,8 +25,8 @@ function reactNativeDevAssetPlugin(options) {
36
25
  __packager_asset: !0,
37
26
  fileSystemLocation: path.dirname(id),
38
27
  relativeFileSystemLocation: relativeAssetDir,
39
- httpServerLocation: `/${ASSET_DEST_DIR}/${assetUrlPath.slice(0, -assetBasename.length)}`,
40
- // TODO: `/assets` might be too common, consider using a unique prefix.
28
+ httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1)
29
+ /* removing the `/filename.ext` at the end */)}`,
41
30
  scales: [1],
42
31
  // TODO
43
32
  name: assetName,
@@ -47,9 +36,11 @@ function reactNativeDevAssetPlugin(options) {
47
36
  return {
48
37
  name: "vxrn:react-native-dev-asset",
49
38
  enforce: "pre",
50
- resolveId(source, importer, options2) {
51
- isNativeEnvironment(this.environment) && isAssetFile(source);
52
- },
39
+ // resolveId(source, importer, options) {
40
+ // if (!isNativeEnvironment(this.environment)) return
41
+ // if (!isAssetFile(source)) return
42
+ // // TODO: May need to handle platform specific extensions here.
43
+ // },
53
44
  async load(id, _options) {
54
45
  if (!isNativeEnvironment(this.environment) || !isAssetFile(id)) return;
55
46
  const assetData = await getAssetData(id);
@@ -75,6 +66,16 @@ export default asset;
75
66
  defaultLogOptions = {
76
67
  timestamp: !0
77
68
  };
69
+ server.middlewares.use(async (req, res, next) => {
70
+ if (!req.url?.startsWith(`/${DEV_ASSET_DEST_PATH}/`)) return next();
71
+ const assetPath = "./" + new URL("http://example.com" + req.url).pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
72
+ try {
73
+ const asset = await FSExtra.readFile(assetPath);
74
+ res.setHeader("content-type", "image/png"), res.write(asset), res.end();
75
+ } catch (e) {
76
+ logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`), defaultLogOptions), res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500, res.end();
77
+ }
78
+ });
78
79
  }
79
80
  };
80
81
  }
@@ -1 +1 @@
1
- {"version":3,"names":["path","FSExtra","isNativeEnvironment","DEFAULT_ASSET_EXTS","IMAGE_ASSET_EXTS","IMAGE_ASSET_EXTS_SET","Set","ASSET_DEST_DIR","reactNativeDevAssetPlugin","options","projectRoot","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","getAssetData","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","scales","name","type","enforce","resolveId","source","importer","options2","environment","load","_options","assetData","mode","assetsDest","assetsDestDir","ensureDir","copyFile","JSON","stringify","configureServer","server","logger","config","defaultLogOptions","timestamp"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","IMAGE_ASSET_EXTS","IMAGE_ASSET_EXTS_SET","Set","ASSET_DEST_DIR","DEV_ASSET_DEST_PATH","reactNativeDevAssetPlugin","options","projectRoot","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","getAssetData","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","mode","scales","name","type","enforce","load","_options","environment","assetData","assetsDest","assetsDestDir","ensureDir","copyFile","JSON","stringify","configureServer","server","logger","config","defaultLogOptions","timestamp","middlewares","use","req","res","next","url","startsWith","assetPath","URL","pathname","replace","asset","readFile","setHeader","write","end","e","error","red","Error","message","statusCode","code"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,26 +1,15 @@
1
1
  import path from "node:path";
2
2
  import FSExtra from "fs-extra";
3
+ import colors from "picocolors";
3
4
  import { isNativeEnvironment } from "../utils/environmentUtils.native.js";
4
- var DEFAULT_ASSET_EXTS = [
5
- // Image formats
6
- "bmp", "gif", "jpg", "jpeg", "png", "psd", "svg", "webp",
7
- // Video formats
8
- "m4v", "mov", "mp4", "mpeg", "mpg", "webm",
9
- // Audio formats
10
- "aac", "aiff", "caf", "m4a", "mp3", "wav",
11
- // Document formats
12
- "html", "pdf", "yaml", "yml",
13
- // Font formats
14
- "otf", "ttf",
15
- // Archives (virtual files)
16
- "zip"],
17
- IMAGE_ASSET_EXTS = ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff", "ktx"],
5
+ var IMAGE_ASSET_EXTS = ["png", "jpg", "jpeg", "bmp", "gif", "webp", "psd", "svg", "tiff", "ktx"],
18
6
  IMAGE_ASSET_EXTS_SET = new Set(IMAGE_ASSET_EXTS),
19
- ASSET_DEST_DIR = "assets";
7
+ ASSET_DEST_DIR = "assets",
8
+ DEV_ASSET_DEST_PATH = "__vxrn_dev_native_assets";
20
9
  function reactNativeDevAssetPlugin(options) {
21
10
  var {
22
11
  projectRoot,
23
- assetExts = DEFAULT_ASSET_EXTS
12
+ assetExts
24
13
  } = options,
25
14
  assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`),
26
15
  isAssetFile = function (id) {
@@ -38,8 +27,7 @@ function reactNativeDevAssetPlugin(options) {
38
27
  __packager_asset: !0,
39
28
  fileSystemLocation: path.dirname(id),
40
29
  relativeFileSystemLocation: relativeAssetDir,
41
- httpServerLocation: `/${ASSET_DEST_DIR}/${assetUrlPath.slice(0, -assetBasename.length)}`,
42
- // TODO: `/assets` might be too common, consider using a unique prefix.
30
+ httpServerLocation: `/${options.mode === "dev" ? DEV_ASSET_DEST_PATH : ASSET_DEST_DIR}/${assetUrlPath.slice(0, -(assetBasename.length + 1))}`,
43
31
  scales: [1],
44
32
  // TODO
45
33
  name: assetName,
@@ -50,10 +38,11 @@ function reactNativeDevAssetPlugin(options) {
50
38
  return {
51
39
  name: "vxrn:react-native-dev-asset",
52
40
  enforce: "pre",
53
- resolveId(source, importer, options2) {
54
- isNativeEnvironment(this.environment) && isAssetFile(source);
55
- },
56
- // TODO: May need to handle platform specific extensions here.
41
+ // resolveId(source, importer, options) {
42
+ // if (!isNativeEnvironment(this.environment)) return
43
+ // if (!isAssetFile(source)) return
44
+ // // TODO: May need to handle platform specific extensions here.
45
+ // },
57
46
  async load(id, _options) {
58
47
  if (isNativeEnvironment(this.environment) && isAssetFile(id)) {
59
48
  var assetData = await getAssetData(id);
@@ -81,6 +70,19 @@ export default asset;
81
70
  defaultLogOptions = {
82
71
  timestamp: !0
83
72
  };
73
+ server.middlewares.use(async function (req, res, next) {
74
+ var _req_url;
75
+ if (!(!((_req_url = req.url) === null || _req_url === void 0) && _req_url.startsWith(`/${DEV_ASSET_DEST_PATH}/`))) return next();
76
+ var url = new URL("http://example.com" + req.url),
77
+ pathname = url.pathname,
78
+ assetPath = "./" + pathname.slice(`/${DEV_ASSET_DEST_PATH}/`.length).replace(/\.*$/, "");
79
+ try {
80
+ var asset = await FSExtra.readFile(assetPath);
81
+ res.setHeader("content-type", "image/png"), res.write(asset), res.end();
82
+ } catch (e) {
83
+ logger.error(colors.red(`[vxrn] Failed to serve asset: ${assetPath}: ${e instanceof Error ? e.message : "unknown error"}`), defaultLogOptions), res.statusCode = e instanceof Error && e.code === "ENOENT" ? 404 : 500, res.end();
84
+ }
85
+ });
84
86
  }
85
87
  };
86
88
  }
@@ -1 +1 @@
1
- {"version":3,"names":["path","FSExtra","isNativeEnvironment","DEFAULT_ASSET_EXTS","IMAGE_ASSET_EXTS","IMAGE_ASSET_EXTS_SET","Set","ASSET_DEST_DIR","reactNativeDevAssetPlugin","options","projectRoot","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","getAssetData","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","assetData","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","scales","name","type","enforce","resolveId","source","importer","options2","environment","load","_options","mode","assetsDest","assetsDestDir","ensureDir","copyFile","assetModuleCode","JSON","stringify"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,OAAA,MAAa;AAIpB,SAASC,mBAAA,QAA2B;AAGpC,IAAAC,kBAAM;EAAqB;EAEzB,OACA,OACA,OACA,QACA,OACA,OACA,OACA;EAAA;EAEA,OACA,OACA,OACA,QACA,OACA;EAAA;EAEA,OACA,QACA,OACA,OACA,OACA;EAAA;EAEA,QACA,OACA,QACA;EAAA;EAEA,OACA;EAAA;EAEA,MACF;EAEMC,gBAAA,GAAmB,CAelB,OACL,OAKA,QAEE,OAEA,OAEA,MAAI,EAIJ,OAGgC,KAC9B,QACG,EAAkB,KACvB,CAYA;EAAAC,oBAVkB,OAAAC,GAAA,CAAAF,gBAAA;EAAAG,cAAA;AAAA,SAChBC,yBAAkBA,CAAAC,OAAA;EAAA,IAClB;MAAAC,WAAA;MAAAC,SAAoB,GAAKR;IAAU,IAAAM,OAAA;IAAAG,eAAA,OAAAC,MAAA,QAAAF,SAAA,CAAAG,IAAA;IAAAC,WAAA,YAAAA,CAAAC,EAAA;MAAA,OACnCJ,eAAA,CAAAK,IAAA,CAAAD,EAA4B;IAAA;EAC0D,eAAAE,aAAAF,EAAA;IAAA,IACtFG,iBAAU,GAAAnB,IAAA,CAAAoB,QAAA,CAAAV,WAAA,EAAAM,EAAA;MAAAK,YAAA,GAAAF,iBAAA;IAAAnB,IAAA,CAAAsB,GAAA,cAAAD,YAAA,GAAAA,YAAA,CAAAE,UAAA;IAAA,IACVC,gBAAM,GAAAxB,IAAA,CAAAyB,OAAA,CAAAN,iBAAA;MAAAO,aAAA,GAAA1B,IAAA,CAAA2B,QAAA,CAAAR,iBAAA;MAAAS,QAAA,GAAA5B,IAAA,CAAA6B,OAAA,CAAAH,aAAA,EAAAI,KAAA;MAAAC,SAAA,GAAAL,aAAA,CAAAI,KAAA,MAAAF,QAAA,CAAAI,MAAA;MAAAC,SAAA;QACNC,gBAAM;QACRC,kBAAA,EAAAnC,IAAA,CAAAyB,OAAA,CAAAT,EAAA;QAGFoB,0BAAA,EAAAZ,gBAAA;QAEAa,kBAAO,MAAA9B,cAAA,IAAAc,YAAA,CAAAS,KAAA,KAAAJ,aAAA,CAAAM,MAAA;QACL;QACAM,MAAA,EAAS,CAET,EACO;QAIP;QAEAC,IAAM,EAAAR,SAAS;QAEbS,IADI,EAACZ;MAGL;IAEA,OAAIK,SAAQ;EAGV;EAA2B;IACjBM,IAAA,EACR;IAAAE,OACA;IAAUC,SACZA,CAAAC,MAAA,EAAAC,QAAA,EAAAC,QAAA;MACA3C,mBAAc,MAAA4C,WAAU,KAAa/B,WAC/B,CAAA4B,MAAQ;IAA4E;IAoB5F;IARwB,MAAAI,KAAA/B,EAAA,EAAAgC,QAAA;MAAA,IAAA9C,mBAAA,MAAA4C,WAAA,KAAA/B,WAAA,CAAAC,EAAA;QAAA,IAAAiB,SAAA,SAAAf,YAAA,CAAAF,EAAA;QAGuD,IAAAP,OAAA,CAAAwC,IAAA,eAAAxC,OAAA,CAAAyC,UAAA;UAAA,IAAAC,aAAA,GAAAnD,IAAA,CAAAc,IAAA,CAAAL,OAAA,CAAAyC,UAAA,EAAA3C,cAAA,EAAA0B,SAAA,CAAAG,0BAAA;UAAA,MAAAnC,OAAA,CAAAmD,SAAA,CAAAD,aAAA,SAAAlD,OAAA,CAAAoD,QAAA,CAAArC,EAAA,EAAAhB,IAAA,CAAAc,IAAA,CAAAqC,aAAA,KAAAlB,SAAA,CAAAM,IAAA,IAAAN,SAAA,CAAAO,IAAA;QAMjF;QAAA,IAAAc,eAAA;AAAA;AAAA;AAAA,mDAKwBC,IAAA,CAAAC,SAAA,CAAAvB,SAAA;AACtB;AAC4C;AAmC9C,SACF;QACF,OAAAqB,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["path","FSExtra","colors","isNativeEnvironment","IMAGE_ASSET_EXTS","IMAGE_ASSET_EXTS_SET","Set","ASSET_DEST_DIR","DEV_ASSET_DEST_PATH","reactNativeDevAssetPlugin","options","projectRoot","assetExts","assetExtsRegExp","RegExp","join","isAssetFile","id","test","getAssetData","relativeAssetPath","relative","assetUrlPath","sep","replaceAll","relativeAssetDir","dirname","assetBasename","basename","assetExt","extname","slice","assetName","length","assetData","__packager_asset","fileSystemLocation","relativeFileSystemLocation","httpServerLocation","mode","scales","name","type","enforce","load","_options","environment","assetsDest","assetsDestDir","ensureDir","copyFile","assetModuleCode","JSON","stringify","configureServer","server","logger","config","defaultLogOptions","timestamp","middlewares","use","req","res","next","_req_url","url","startsWith","URL","pathname","assetPath","replace","asset","readFile","setHeader","write","end","e","error","red","Error","message","statusCode","code"],"sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,OAAA,MAAa;AAGpB,OAAOC,MAAA,MAAY;AACnB,SAASC,mBAAA,QAA2B;AAEpC,IAAAC,gBAAM,IAiBC,OACL,OAKA,QAEE,OAEA,OAEA,MAAI,EAIJ,OAGgC,KAC9B,QACG,EAAkB,KACvB,CAYA;EAAAC,oBAVkB,OAAAC,GAAA,CAAAF,gBAAA;EAAAG,cAAA;EAAAC,mBAAA;AAAA,SAChBC,yBAAkBA,CAAAC,OAAA;EAAA,IAClB;MAAAC,WAAA;MAAAC;IAAyB,IAAAF,OAAU;IAAAG,eAAA,OAAAC,MAAA,QAAAF,SAAA,CAAAG,IAAA;IAAAC,WAAA,YAAAA,CAAAC,EAAA;MAAA,OACnCJ,eAAA,CAAAK,IAAA,CAAAD,EAA4B;IAAA;EAC0E,eAAME,aAAAF,EAAA;IAAA,IAAGG,iBAAgB,GAAApB,IAAA,CAASqB,QAAA,CAAAV,WAAA,EAAAM,EAAA;MAAAK,YAAA,GAAAF,iBAAA;IAAApB,IAAA,CAAAuB,GAAA,cAAAD,YAAA,GAAAA,YAAA,CAAAE,UAAA;IAAA,IAAiDC,gBAAA,GAAAzB,IAAA,CAAA0B,OAAA,CAAAN,iBAAA;MAAAO,aAAA,GAAA3B,IAAA,CAAA4B,QAAA,CAAAR,iBAAA;MAAAS,QAAA,GAAA7B,IAAA,CAAA8B,OAAA,CAAAH,aAAA,EAAAI,KAAA;MAAAC,SAAA,GAAAL,aAAA,CAAAI,KAAA,MAAAF,QAAA,CAAAI,MAAA;MAAAC,SAAA;QACzLC,gBAAU;QAAAC,kBAAA,EAAApC,IAAA,CAAA0B,OAAA,CAAAT,EAAA;QACVoB,0BAAM,EAAAZ,gBAAA;QACNa,kBAAM,MAAA5B,OAAA,CAAA6B,IAAA,aAAA/B,mBAAA,GAAAD,cAAA,IAAAe,YAAA,CAAAS,KAAA,MAAAJ,aAAA,CAAAM,MAAA;QACRO,MAAA,GAGF,EAEA;QACE;QACAC,IAAA,EAAAT,SAAS;QAAAU,IAAA,EAAAb;MAAA;IAAA,OAAAK,SAAA;EAAA;EAAA;IASTO,IAAA,EAAM,6BAAmB;IAEvBE,OADK;IAGL;IAEA;IAGE;IAA2B;IACjB;IACR,MACAC,KAAA3B,EAAA,EAAA4B,QAAU;MAAA,IACZ1C,mBAAA,MAAA2C,WAAA,KAAA9B,WAAA,CAAAC,EAAA;QACA,IAAAiB,SAAM,GAAQ,MAAAf,YAAU,CAAAF,EAAa;QAEvC,IAAAP,OAAA,CAAA6B,IAAA,eAAA7B,OAAA,CAAAqC,UAAA;UAmBA,IARwBC,aAAA,GAAAhD,IAAA,CAAAe,IAAA,CAAAL,OAAA,CAAAqC,UAAA,EAAAxC,cAAA,EAAA2B,SAAA,CAAAG,0BAAA;UAAA,MAAApC,OAAA,CAAAgD,SAAA,CAAAD,aAAA,SAAA/C,OAAA,CAAAiD,QAAA,CAAAjC,EAAA,EAAAjB,IAAA,CAAAe,IAAA,CAAAiC,aAAA,KAAAd,SAAA,CAAAO,IAAA,IAAAP,SAAA,CAAAQ,IAAA;QAAA;QAAA,IAAAS,eAAA;AAGuD;AAAA;AAAA,mDAAAC,IAAA,CAAAC,SAAA,CAAAnB,SAAA;AAAA;AAMjF;AAAA;QAAA,OAAAiB,eAAA;MAKA;IACE;IAIA;AACE;AACE;IAMFG,eAAMA,CAAAC,MACJ;MAEF;UAAIC;QAAA,IAAAD,MAAA,CAAAE,MAAA;QAAAC,iBAAA;UACFC,SAAM;QAEN;MAEQJ,MACV,CAAAK,WAAY,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QACV,IAAAC,QAAO;QAAA,IACL,KAAAA,QAAO,GAAAH,GAAA,CAAAI,GAAA,cAAAD,QAAA,gBAAAA,QAAA,CAAAE,UAAA,KAAA3D,mBAAA,cACLwD,IAAA;QAA+F,IACjGE,GAAA,OAAAE,GAAA,wBAAAN,GAAA,CAAAI,GAAA;UAAAG,QAAA,GAAAH,GAAA,CAAAG,QAAA;UAAAC,SAAA,UAAAD,QAAA,CAAAtC,KAAA,KAAAvB,mBAAA,IAAAyB,MAAA,EAAAsC,OAAA;QAAA,IACA;UACF,IAEAC,KAAI,SAAAvE,OACF,CAAAwE,QAAa,CAAAH,SAAsC;UAEvDP,GAAA,CAAAW,SAAA,+BAAAX,GAAA,CAAAY,KAAA,CAAAH,KAAA,GAAAT,GAAA,CAAAa,GAAA;QACD,SAAAC,CAAA;UACHrB,MAAA,CAAAsB,KAAA,CAAA5E,MAAA,CAAA6E,GAAA,kCAAAT,SAAA,KAAAO,CAAA,YAAAG,KAAA,GAAAH,CAAA,CAAAI,OAAA,uBAAAvB,iBAAA,GAAAK,GAAA,CAAAmB,UAAA,GAAAL,CAAA,YAAAG,KAAA,IAAAH,CAAA,CAAAM,IAAA,2BAAApB,GAAA,CAAAa,GAAA;QACF;MACF","ignoreList":[]}
@@ -8,8 +8,12 @@ import { isWithin } from "../utils/isWithin";
8
8
  import { createIdResolver } from "vite";
9
9
  import { conditions } from "./reactNativeCommonJsPlugin";
10
10
  import { getReactNativeResolvedConfig } from "../utils/getReactNativeConfig";
11
- function reactNativeHMRPlugin({ root }) {
11
+ function reactNativeHMRPlugin({
12
+ root,
13
+ assetExts
14
+ }) {
12
15
  let idResolver;
16
+ const assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`), isAssetFile = (id) => assetExtsRegExp.test(id);
13
17
  return {
14
18
  name: "vxrn:native-hmr-transform",
15
19
  // TODO see about moving to hotUpdate
@@ -31,7 +35,10 @@ function reactNativeHMRPlugin({ root }) {
31
35
  return;
32
36
  const [module] = modules;
33
37
  if (!module) return;
34
- const id = module?.url || file.replace(root, ""), code = await read();
38
+ const id = module?.url || file.replace(root, "");
39
+ if (isAssetFile(id))
40
+ return;
41
+ const code = await read();
35
42
  if (code.startsWith("'use strict';") || !code)
36
43
  return;
37
44
  let source = code;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugins/reactNativeHMRPlugin.ts"],
4
- "mappings": "AAAA,SAAS,cAAc,yBAAyB;AAChD,SAAS,aAAa;AACtB,SAAS,8BAA8B;AAEvC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,wBAAqD;AAC9D,SAAS,kBAAkB;AAC3B,SAAS,oCAAoC;AAEtC,SAAS,qBAAqB,EAAE,KAAK,GAAsB;AAChE,MAAI;AAEJ,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA,IAIN,MAAM,gBAAgB,EAAE,MAAM,SAAS,MAAM,OAAO,GAAG;AACrD,UAAI,CAAC,YAAY;AACf,cAAM,WAAW,6BAA6B;AAC9C,YAAI,CAAC;AAEH;AAIF,cAAM,iBAAiB;AAAA,UACrB;AAAA,UACA,YAAY,SAAS,QAAQ;AAAA,UAC7B,YAAY,SAAS,QAAQ;AAAA,QAC/B;AACA,qBAAa,iBAAiB,UAAU,cAAc;AAAA,MACxD;AAEA,UAAI;AAIF,YAHI,CAAC,SAAS,MAAM,IAAI,KAGpB,CAAC;AACH;AAGF,cAAM,CAAC,MAAM,IAAI;AACjB,YAAI,CAAC,OAAQ;AAEb,cAAM,KAAK,QAAQ,OAAO,KAAK,QAAQ,MAAM,EAAE,GAEzC,OAAO,MAAM,KAAK;AAOxB,YAJI,KAAK,WAAW,eAAe,KAI/B,CAAC;AACH;AAGF,YAAI,SAAS;AAGb,kBAAU,MAAM,kBAAkB,IAAI,MAAM,IAAI,QAAQ;AAExD,cAAM,aAAa,CAAC,GAId,CAAC,OAAO,IAAI,MAAM,MAAM;AAE9B,YAAI,yBAAyB;AAE7B,mBAAW,aAAa,SAAS;AAC/B,gBAAM,EAAE,GAAG,YAAY,GAAG,MAAM,IAAI;AAEpC,cAAI,YAAY;AACd,kBAAM,cAAc,OAAO,aAAa,KAGlC,WAAsB,WAAW,KAAK,MAAM,WAAW,GAOvDA,MAAK,MAAM,YAAY,WAAW,MAAM,YAAY,UANnB,OAAOA,KAAI,cAEzB,MAAM,YAAY,gBAAgB,UAAUA,KAAI,QAAQ,IACxD,EAG8D;AACvF,gBAAI,CAACA,KAAI;AACP,sBAAQ,KAAK,KAAK;AAClB;AAAA,YACF;AAEA,uBAAWA,GAAE,IAAIA,IAAG,QAAQ,cAAc,EAAE;AAG5C,kBAAM,MAAM,WAAW,QACjB,WAAWA,IAAG,SAAS;AAC7B,qBACE,OAAO,MAAM,GAAG,QAAQ,sBAAsB,IAC9CA,MACA,OAAO,MAAM,QAAQ,yBAAyB,GAAG,GACnD,0BAA0B;AAAA,UAC5B;AAAA,QACF;AAUA,YAPA,UAEI,MAAM,aAAa,IAAI,QAAQ;AAAA,UAC7B,MAAM;AAAA,QACR,CAAC,IACA,QAAQ,IAET,CAAC;AACH,gBAAM;AAGR,cAAM,kBAAkB;AAAA,2CACW,EAAE,MAAM,KAAK,UAAU,YAAY,MAAM,CAAC,CAAC;AAAA,YAC1E,OACC,QAAQ,oCAAoC,EAAE,EAE9C,WAAW,4BAA4B,yCAAyC,CAAC;AAAA;AAGtF,QAAI,QAAQ,IAAI,SACd,QAAQ,KAAK,sBAAsB,eAAe,GAGpD,eAAe,IAAI,IAAI,eAAe;AAAA,MACxC,SAAS,KAAK;AACZ,gBAAQ,MAAM,gCAAgC,GAAG;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,SAAS,cAAc,yBAAyB;AAChD,SAAS,aAAa;AACtB,SAAS,8BAA8B;AAEvC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,wBAAqD;AAC9D,SAAS,kBAAkB;AAC3B,SAAS,oCAAoC;AAEtC,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AACF,GAAgD;AAC9C,MAAI;AAEJ,QAAM,kBAAkB,IAAI,OAAO,OAAO,UAAU,KAAK,GAAG,CAAC,IAAI,GAC3D,cAAc,CAAC,OAAe,gBAAgB,KAAK,EAAE;AAE3D,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA,IAIN,MAAM,gBAAgB,EAAE,MAAM,SAAS,MAAM,OAAO,GAAG;AACrD,UAAI,CAAC,YAAY;AACf,cAAM,WAAW,6BAA6B;AAC9C,YAAI,CAAC;AAEH;AAIF,cAAM,iBAAiB;AAAA,UACrB;AAAA,UACA,YAAY,SAAS,QAAQ;AAAA,UAC7B,YAAY,SAAS,QAAQ;AAAA,QAC/B;AACA,qBAAa,iBAAiB,UAAU,cAAc;AAAA,MACxD;AAEA,UAAI;AAIF,YAHI,CAAC,SAAS,MAAM,IAAI,KAGpB,CAAC;AACH;AAGF,cAAM,CAAC,MAAM,IAAI;AACjB,YAAI,CAAC,OAAQ;AAEb,cAAM,KAAK,QAAQ,OAAO,KAAK,QAAQ,MAAM,EAAE;AAC/C,YAAI,YAAY,EAAE;AAEhB;AAGF,cAAM,OAAO,MAAM,KAAK;AAOxB,YAJI,KAAK,WAAW,eAAe,KAI/B,CAAC;AACH;AAGF,YAAI,SAAS;AAGb,kBAAU,MAAM,kBAAkB,IAAI,MAAM,IAAI,QAAQ;AAExD,cAAM,aAAa,CAAC,GAId,CAAC,OAAO,IAAI,MAAM,MAAM;AAE9B,YAAI,yBAAyB;AAE7B,mBAAW,aAAa,SAAS;AAC/B,gBAAM,EAAE,GAAG,YAAY,GAAG,MAAM,IAAI;AAEpC,cAAI,YAAY;AACd,kBAAM,cAAc,OAAO,aAAa,KAGlC,WAAsB,WAAW,KAAK,MAAM,WAAW,GAOvDA,MAAK,MAAM,YAAY,WAAW,MAAM,YAAY,UANnB,OAAOA,KAAI,cAEzB,MAAM,YAAY,gBAAgB,UAAUA,KAAI,QAAQ,IACxD,EAG8D;AACvF,gBAAI,CAACA,KAAI;AACP,sBAAQ,KAAK,KAAK;AAClB;AAAA,YACF;AAEA,uBAAWA,GAAE,IAAIA,IAAG,QAAQ,cAAc,EAAE;AAG5C,kBAAM,MAAM,WAAW,QACjB,WAAWA,IAAG,SAAS;AAC7B,qBACE,OAAO,MAAM,GAAG,QAAQ,sBAAsB,IAC9CA,MACA,OAAO,MAAM,QAAQ,yBAAyB,GAAG,GACnD,0BAA0B;AAAA,UAC5B;AAAA,QACF;AAUA,YAPA,UAEI,MAAM,aAAa,IAAI,QAAQ;AAAA,UAC7B,MAAM;AAAA,QACR,CAAC,IACA,QAAQ,IAET,CAAC;AACH,gBAAM;AAGR,cAAM,kBAAkB;AAAA,2CACW,EAAE,MAAM,KAAK,UAAU,YAAY,MAAM,CAAC,CAAC;AAAA,YAC1E,OACC,QAAQ,oCAAoC,EAAE,EAE9C,WAAW,4BAA4B,yCAAyC,CAAC;AAAA;AAGtF,QAAI,QAAQ,IAAI,SACd,QAAQ,KAAK,sBAAsB,eAAe,GAGpD,eAAe,IAAI,IAAI,eAAe;AAAA,MACxC,SAAS,KAAK;AACZ,gBAAQ,MAAM,gCAAgC,GAAG;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AACF;",
5
5
  "names": ["id"]
6
6
  }
@@ -9,9 +9,12 @@ import { createIdResolver } from "vite";
9
9
  import { conditions } from "./reactNativeCommonJsPlugin.mjs";
10
10
  import { getReactNativeResolvedConfig } from "../utils/getReactNativeConfig.mjs";
11
11
  function reactNativeHMRPlugin({
12
- root
12
+ root,
13
+ assetExts
13
14
  }) {
14
15
  let idResolver;
16
+ const assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`),
17
+ isAssetFile = id => assetExtsRegExp.test(id);
15
18
  return {
16
19
  name: "vxrn:native-hmr-transform",
17
20
  // TODO see about moving to hotUpdate
@@ -36,8 +39,9 @@ function reactNativeHMRPlugin({
36
39
  if (!isWithin(root, file) || !connectedNativeClients) return;
37
40
  const [module] = modules;
38
41
  if (!module) return;
39
- const id = module?.url || file.replace(root, ""),
40
- code = await read();
42
+ const id = module?.url || file.replace(root, "");
43
+ if (isAssetFile(id)) return;
44
+ const code = await read();
41
45
  if (code.startsWith("'use strict';") || !code) return;
42
46
  let source = code;
43
47
  source = (await transformForBuild(id, source))?.code || "";
@@ -1 +1 @@
1
- {"version":3,"names":["swcTransform","transformForBuild","parse","connectedNativeClients","entryRoot","getVitePath","hotUpdateCache","isWithin","createIdResolver","conditions","getReactNativeResolvedConfig","reactNativeHMRPlugin","root","idResolver","name","handleHotUpdate","read","modules","file","server","rnConfig","resolverConfig","mainFields","resolve","extensions","module","id","url","replace","code","startsWith","source","importsMap","imports","accumulatedSliceOffset","specifier","n","importName","s","start","environment","environments","ios","resolver","bind","id2","id3","importer","pluginContainer","resolveId","console","warn","len","length","extraLen","slice","mode","hotUpdateSource","JSON","stringify","replaceAll","process","env","DEBUG","info","set","err","error"],"sources":["../../src/plugins/reactNativeHMRPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["swcTransform","transformForBuild","parse","connectedNativeClients","entryRoot","getVitePath","hotUpdateCache","isWithin","createIdResolver","conditions","getReactNativeResolvedConfig","reactNativeHMRPlugin","root","assetExts","idResolver","assetExtsRegExp","RegExp","join","isAssetFile","id","test","name","handleHotUpdate","read","modules","file","server","rnConfig","resolverConfig","mainFields","resolve","extensions","module","url","replace","code","startsWith","source","importsMap","imports","accumulatedSliceOffset","specifier","n","importName","s","start","environment","environments","ios","resolver","bind","id2","id3","importer","pluginContainer","resolveId","console","warn","len","length","extraLen","slice","mode","hotUpdateSource","JSON","stringify","replaceAll","process","env","DEBUG","info","set","err","error"],"sources":["../../src/plugins/reactNativeHMRPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,9 +10,14 @@ import { conditions } from "./reactNativeCommonJsPlugin.native.js";
10
10
  import { getReactNativeResolvedConfig } from "../utils/getReactNativeConfig.native.js";
11
11
  function reactNativeHMRPlugin(param) {
12
12
  var {
13
- root
13
+ root,
14
+ assetExts
14
15
  } = param,
15
- idResolver;
16
+ idResolver,
17
+ assetExtsRegExp = new RegExp(`\\.(${assetExts.join("|")})$`),
18
+ isAssetFile = function (id) {
19
+ return assetExtsRegExp.test(id);
20
+ };
16
21
  return {
17
22
  name: "vxrn:native-hmr-transform",
18
23
  // TODO see about moving to hotUpdate
@@ -39,8 +44,9 @@ function reactNativeHMRPlugin(param) {
39
44
  if (!isWithin(root, file) || !connectedNativeClients) return;
40
45
  var [module] = modules;
41
46
  if (!module) return;
42
- var id = module?.url || file.replace(root, ""),
43
- code = await read();
47
+ var id = module?.url || file.replace(root, "");
48
+ if (isAssetFile(id)) return;
49
+ var code = await read();
44
50
  if (code.startsWith("'use strict';") || !code) return;
45
51
  var source = code;
46
52
  source = ((_this = await transformForBuild(id, source)) === null || _this === void 0 ? void 0 : _this.code) || "";
@@ -1 +1 @@
1
- {"version":3,"names":["swcTransform","transformForBuild","parse","connectedNativeClients","entryRoot","getVitePath","hotUpdateCache","isWithin","createIdResolver","conditions","getReactNativeResolvedConfig","reactNativeHMRPlugin","param","root","idResolver","name","handleHotUpdate","param2","read","modules","file","server","rnConfig","resolverConfig","mainFields","resolve","extensions","_this","_this1","module","id","url","replace","code","startsWith","source","importsMap","imports","accumulatedSliceOffset","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","specifier","_step","value","n","importName","s","start","environment","environments","ios","resolver","bind","resolverWithPlugins","id3","importer","resolvedIdData","pluginContainer","resolveId","id2","console","warn","len","length","extraLen","slice","_iterator","Symbol","iterator","next","done","err","return","mode"],"sources":["../../src/plugins/reactNativeHMRPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["swcTransform","transformForBuild","parse","connectedNativeClients","entryRoot","getVitePath","hotUpdateCache","isWithin","createIdResolver","conditions","getReactNativeResolvedConfig","reactNativeHMRPlugin","param","root","assetExts","idResolver","assetExtsRegExp","RegExp","join","isAssetFile","id","test","name","handleHotUpdate","param2","read","modules","file","server","rnConfig","resolverConfig","mainFields","resolve","extensions","_this","_this1","module","url","replace","code","startsWith","source","importsMap","imports","accumulatedSliceOffset","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","specifier","_step","value","n","importName","s","start","environment","environments","ios","resolver","bind","resolverWithPlugins","id3","importer","resolvedIdData","pluginContainer","resolveId","id2","console","warn","len","length","extraLen","slice","_iterator","Symbol","iterator","next","done","err","return","mode"],"sources":["../../src/plugins/reactNativeHMRPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ import { swapPrebuiltReactModules } from "./swapPrebuiltReactModules";
14
14
  import { getBabelReanimatedPlugin } from "../plugins/babelReanimated";
15
15
  import { nativeClientInjectPlugin } from "../plugins/clientInjectPlugin";
16
16
  import { reactNativeDevAssetPlugin } from "../plugins/reactNativeDevAssetPlugin";
17
+ import { DEFAULT_ASSET_EXTS } from "../constants/defaults";
17
18
  const IGNORE_ROLLUP_LOGS_RE = /vite-native-client\/dist\/esm\/client\.native\.js|node_modules\/\.vxrn\/react-native\.js|react-native-prebuilt\/vendor|vxs\/dist/;
18
19
  async function getReactNativeConfig(options, internal = { mode: "dev" }) {
19
20
  const {
@@ -55,7 +56,8 @@ async function getReactNativeConfig(options, internal = { mode: "dev" }) {
55
56
  reactNativeDevAssetPlugin({
56
57
  projectRoot: options.root,
57
58
  mode: internal.mode,
58
- assetsDest: internal.assetsDest
59
+ assetsDest: internal.assetsDest,
60
+ assetExts: DEFAULT_ASSET_EXTS
59
61
  }),
60
62
  getBabelReanimatedPlugin(),
61
63
  reactNativeCommonJsPlugin({