one 1.15.10 → 1.16.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 (288) hide show
  1. package/dist/cjs/cli/build.cjs +98 -58
  2. package/dist/cjs/cli/build.native.js +106 -63
  3. package/dist/cjs/cli/build.native.js.map +1 -1
  4. package/dist/cjs/cli/buildPage.cjs +3 -3
  5. package/dist/cjs/cli/buildPage.native.js +3 -3
  6. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  7. package/dist/cjs/constants.cjs +2 -0
  8. package/dist/cjs/constants.native.js +2 -0
  9. package/dist/cjs/constants.native.js.map +1 -1
  10. package/dist/cjs/createAPIRoute.native.js.map +1 -1
  11. package/dist/cjs/createApp.cjs +2 -6
  12. package/dist/cjs/createHandleRequest.cjs +2 -2
  13. package/dist/cjs/createHandleRequest.native.js +2 -2
  14. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  15. package/dist/cjs/hooks.cjs +5 -1
  16. package/dist/cjs/hooks.native.js +7 -1
  17. package/dist/cjs/hooks.native.js.map +1 -1
  18. package/dist/cjs/index.native.js.map +1 -1
  19. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +10 -7
  20. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +13 -10
  21. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  22. package/dist/cjs/metro-config/getViteMetroPluginOptions.test.cjs +23 -0
  23. package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js +26 -0
  24. package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js.map +1 -0
  25. package/dist/cjs/router/Route.cjs +21 -1
  26. package/dist/cjs/router/Route.native.js +22 -1
  27. package/dist/cjs/router/Route.native.js.map +1 -1
  28. package/dist/cjs/router/interceptRoutes.cjs +6 -6
  29. package/dist/cjs/router/interceptRoutes.native.js +6 -6
  30. package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
  31. package/dist/cjs/router/params.cjs +46 -0
  32. package/dist/cjs/router/params.native.js +70 -0
  33. package/dist/cjs/router/params.native.js.map +1 -0
  34. package/dist/cjs/router/useScreens.cjs +3 -0
  35. package/dist/cjs/router/useScreens.native.js +2 -0
  36. package/dist/cjs/router/useScreens.native.js.map +1 -1
  37. package/dist/cjs/serve-worker.native.js.map +1 -1
  38. package/dist/cjs/server/getServerManifest.cjs +6 -6
  39. package/dist/cjs/server/getServerManifest.native.js +6 -6
  40. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  41. package/dist/cjs/server/oneServe.cjs +9 -5
  42. package/dist/cjs/server/oneServe.native.js +9 -5
  43. package/dist/cjs/server/oneServe.native.js.map +1 -1
  44. package/dist/cjs/server/workerHandler.cjs +2 -2
  45. package/dist/cjs/server/workerHandler.native.js +2 -2
  46. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  47. package/dist/cjs/skewProtection.cjs +48 -7
  48. package/dist/cjs/skewProtection.native.js +48 -7
  49. package/dist/cjs/skewProtection.native.js.map +1 -1
  50. package/dist/cjs/useLoader.cjs +67 -69
  51. package/dist/cjs/useLoader.native.js +113 -117
  52. package/dist/cjs/useLoader.native.js.map +1 -1
  53. package/dist/cjs/utils/dynamicImport.cjs +3 -1
  54. package/dist/cjs/utils/dynamicImport.native.js +22 -1
  55. package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
  56. package/dist/cjs/utils/toAbsolute.cjs +5 -2
  57. package/dist/cjs/utils/toAbsolute.native.js +6 -1
  58. package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
  59. package/dist/cjs/utils/workerImport.cjs +1 -1
  60. package/dist/cjs/utils/workerImport.native.js +1 -1
  61. package/dist/cjs/utils/workerImport.native.js.map +1 -1
  62. package/dist/cjs/views/RootErrorBoundary.cjs +114 -117
  63. package/dist/cjs/views/RootErrorBoundary.native.js +126 -146
  64. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  65. package/dist/cjs/views/Try.cjs +17 -18
  66. package/dist/cjs/views/Try.native.js +28 -42
  67. package/dist/cjs/views/Try.native.js.map +1 -1
  68. package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +2 -1
  69. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +2 -1
  70. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  71. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +26 -20
  72. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +28 -20
  73. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  74. package/dist/cjs/vite/plugins/imageDataPlugin.cjs +3 -2
  75. package/dist/cjs/vite/plugins/imageDataPlugin.native.js +3 -2
  76. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  77. package/dist/cjs/vite/plugins/imageDataPlugin.test.cjs +34 -69
  78. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js +34 -69
  79. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  80. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +20 -2
  81. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +23 -2
  82. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  83. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +21 -0
  84. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +28 -0
  85. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -0
  86. package/dist/cjs/vite/resolveResponse.cjs +7 -2
  87. package/dist/cjs/vite/resolveResponse.native.js +7 -2
  88. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  89. package/dist/esm/cli/build.mjs +100 -60
  90. package/dist/esm/cli/build.mjs.map +1 -1
  91. package/dist/esm/cli/build.native.js +108 -65
  92. package/dist/esm/cli/build.native.js.map +1 -1
  93. package/dist/esm/cli/buildPage.mjs +4 -4
  94. package/dist/esm/cli/buildPage.mjs.map +1 -1
  95. package/dist/esm/cli/buildPage.native.js +4 -4
  96. package/dist/esm/cli/buildPage.native.js.map +1 -1
  97. package/dist/esm/constants.mjs +2 -1
  98. package/dist/esm/constants.mjs.map +1 -1
  99. package/dist/esm/constants.native.js +2 -1
  100. package/dist/esm/constants.native.js.map +1 -1
  101. package/dist/esm/createAPIRoute.mjs.map +1 -1
  102. package/dist/esm/createAPIRoute.native.js.map +1 -1
  103. package/dist/esm/createApp.mjs +2 -6
  104. package/dist/esm/createApp.mjs.map +1 -1
  105. package/dist/esm/createHandleRequest.mjs +2 -2
  106. package/dist/esm/createHandleRequest.mjs.map +1 -1
  107. package/dist/esm/createHandleRequest.native.js +2 -2
  108. package/dist/esm/createHandleRequest.native.js.map +1 -1
  109. package/dist/esm/hooks.mjs +5 -1
  110. package/dist/esm/hooks.mjs.map +1 -1
  111. package/dist/esm/hooks.native.js +7 -1
  112. package/dist/esm/hooks.native.js.map +1 -1
  113. package/dist/esm/index.js.map +1 -1
  114. package/dist/esm/index.mjs.map +1 -1
  115. package/dist/esm/index.native.js.map +1 -1
  116. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +9 -7
  117. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  118. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +12 -10
  119. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  120. package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs +24 -0
  121. package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs.map +1 -0
  122. package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js +24 -0
  123. package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js.map +1 -0
  124. package/dist/esm/router/Route.mjs +21 -1
  125. package/dist/esm/router/Route.mjs.map +1 -1
  126. package/dist/esm/router/Route.native.js +22 -1
  127. package/dist/esm/router/Route.native.js.map +1 -1
  128. package/dist/esm/router/interceptRoutes.mjs +7 -7
  129. package/dist/esm/router/interceptRoutes.mjs.map +1 -1
  130. package/dist/esm/router/interceptRoutes.native.js +7 -7
  131. package/dist/esm/router/interceptRoutes.native.js.map +1 -1
  132. package/dist/esm/router/params.mjs +21 -0
  133. package/dist/esm/router/params.mjs.map +1 -0
  134. package/dist/esm/router/params.native.js +42 -0
  135. package/dist/esm/router/params.native.js.map +1 -0
  136. package/dist/esm/router/useScreens.mjs +3 -0
  137. package/dist/esm/router/useScreens.mjs.map +1 -1
  138. package/dist/esm/router/useScreens.native.js +2 -0
  139. package/dist/esm/router/useScreens.native.js.map +1 -1
  140. package/dist/esm/serve-worker.mjs.map +1 -1
  141. package/dist/esm/serve-worker.native.js.map +1 -1
  142. package/dist/esm/server/getServerManifest.mjs +6 -6
  143. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  144. package/dist/esm/server/getServerManifest.native.js +6 -6
  145. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  146. package/dist/esm/server/oneServe.mjs +11 -7
  147. package/dist/esm/server/oneServe.mjs.map +1 -1
  148. package/dist/esm/server/oneServe.native.js +11 -7
  149. package/dist/esm/server/oneServe.native.js.map +1 -1
  150. package/dist/esm/server/workerHandler.mjs +2 -2
  151. package/dist/esm/server/workerHandler.mjs.map +1 -1
  152. package/dist/esm/server/workerHandler.native.js +2 -2
  153. package/dist/esm/server/workerHandler.native.js.map +1 -1
  154. package/dist/esm/skewProtection.mjs +48 -8
  155. package/dist/esm/skewProtection.mjs.map +1 -1
  156. package/dist/esm/skewProtection.native.js +48 -8
  157. package/dist/esm/skewProtection.native.js.map +1 -1
  158. package/dist/esm/useLoader.mjs +64 -66
  159. package/dist/esm/useLoader.mjs.map +1 -1
  160. package/dist/esm/useLoader.native.js +112 -116
  161. package/dist/esm/useLoader.native.js.map +1 -1
  162. package/dist/esm/utils/dynamicImport.mjs +1 -1
  163. package/dist/esm/utils/dynamicImport.mjs.map +1 -1
  164. package/dist/esm/utils/dynamicImport.native.js +20 -1
  165. package/dist/esm/utils/dynamicImport.native.js.map +1 -1
  166. package/dist/esm/utils/toAbsolute.mjs +3 -1
  167. package/dist/esm/utils/toAbsolute.mjs.map +1 -1
  168. package/dist/esm/utils/toAbsolute.native.js +5 -1
  169. package/dist/esm/utils/toAbsolute.native.js.map +1 -1
  170. package/dist/esm/utils/workerImport.mjs +2 -2
  171. package/dist/esm/utils/workerImport.mjs.map +1 -1
  172. package/dist/esm/utils/workerImport.native.js +2 -2
  173. package/dist/esm/utils/workerImport.native.js.map +1 -1
  174. package/dist/esm/views/RootErrorBoundary.mjs +114 -117
  175. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  176. package/dist/esm/views/RootErrorBoundary.native.js +126 -146
  177. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  178. package/dist/esm/views/Try.mjs +17 -18
  179. package/dist/esm/views/Try.mjs.map +1 -1
  180. package/dist/esm/views/Try.native.js +28 -42
  181. package/dist/esm/views/Try.native.js.map +1 -1
  182. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +2 -1
  183. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -1
  184. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +2 -1
  185. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  186. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +26 -20
  187. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -1
  188. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +28 -20
  189. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  190. package/dist/esm/vite/plugins/imageDataPlugin.mjs +4 -3
  191. package/dist/esm/vite/plugins/imageDataPlugin.mjs.map +1 -1
  192. package/dist/esm/vite/plugins/imageDataPlugin.native.js +4 -3
  193. package/dist/esm/vite/plugins/imageDataPlugin.native.js.map +1 -1
  194. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs +34 -69
  195. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs.map +1 -1
  196. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js +34 -69
  197. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  198. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +19 -3
  199. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
  200. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +22 -3
  201. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  202. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +22 -0
  203. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -0
  204. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +26 -0
  205. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -0
  206. package/dist/esm/vite/resolveResponse.mjs +7 -2
  207. package/dist/esm/vite/resolveResponse.mjs.map +1 -1
  208. package/dist/esm/vite/resolveResponse.native.js +7 -2
  209. package/dist/esm/vite/resolveResponse.native.js.map +1 -1
  210. package/expo-plugin.cjs +1 -0
  211. package/package.json +15 -10
  212. package/react-native-commands.cjs +1 -0
  213. package/src/cli/build.ts +156 -99
  214. package/src/cli/buildPage.ts +4 -4
  215. package/src/constants.ts +15 -0
  216. package/src/createAPIRoute.ts +35 -2
  217. package/src/createApp.tsx +2 -6
  218. package/src/createHandleRequest.ts +6 -2
  219. package/src/hooks.tsx +9 -1
  220. package/src/index.ts +8 -1
  221. package/src/metro-config/getViteMetroPluginOptions.test.ts +34 -0
  222. package/src/metro-config/getViteMetroPluginOptions.ts +14 -11
  223. package/src/router/Route.tsx +52 -2
  224. package/src/router/interceptRoutes.ts +7 -7
  225. package/src/router/params.ts +32 -0
  226. package/src/router/useScreens.tsx +18 -0
  227. package/src/serve-worker.ts +4 -2
  228. package/src/server/getServerManifest.ts +11 -7
  229. package/src/server/oneServe.ts +12 -14
  230. package/src/server/workerHandler.ts +13 -2
  231. package/src/skewProtection.ts +45 -5
  232. package/src/useLoader.ts +6 -4
  233. package/src/utils/dynamicImport.ts +2 -2
  234. package/src/utils/toAbsolute.ts +5 -0
  235. package/src/utils/workerImport.ts +2 -2
  236. package/src/views/RootErrorBoundary.tsx +18 -0
  237. package/src/views/Try.tsx +18 -0
  238. package/src/vite/plugins/criticalCSSPlugin.test.ts +34 -24
  239. package/src/vite/plugins/criticalCSSPlugin.ts +3 -2
  240. package/src/vite/plugins/imageDataPlugin.test.ts +39 -83
  241. package/src/vite/plugins/imageDataPlugin.ts +5 -4
  242. package/src/vite/plugins/sourceInspectorPlugin.test.ts +40 -0
  243. package/src/vite/plugins/sourceInspectorPlugin.ts +30 -2
  244. package/src/vite/resolveResponse.ts +6 -2
  245. package/types/cli/build.d.ts.map +1 -1
  246. package/types/constants.d.ts +9 -0
  247. package/types/constants.d.ts.map +1 -1
  248. package/types/createAPIRoute.d.ts +28 -3
  249. package/types/createAPIRoute.d.ts.map +1 -1
  250. package/types/createApp.d.ts.map +1 -1
  251. package/types/createHandleRequest.d.ts +1 -1
  252. package/types/createHandleRequest.d.ts.map +1 -1
  253. package/types/headless-server.d.ts +1 -1
  254. package/types/hooks.d.ts.map +1 -1
  255. package/types/index.d.ts +1 -1
  256. package/types/index.d.ts.map +1 -1
  257. package/types/metro-config/getViteMetroPluginOptions.d.ts +5 -0
  258. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  259. package/types/metro-config/getViteMetroPluginOptions.test.d.ts +2 -0
  260. package/types/metro-config/getViteMetroPluginOptions.test.d.ts.map +1 -0
  261. package/types/router/Route.d.ts +1 -0
  262. package/types/router/Route.d.ts.map +1 -1
  263. package/types/router/params.d.ts +3 -0
  264. package/types/router/params.d.ts.map +1 -0
  265. package/types/router/useScreens.d.ts.map +1 -1
  266. package/types/serve-worker.d.ts +5 -3
  267. package/types/serve-worker.d.ts.map +1 -1
  268. package/types/server/getServerManifest.d.ts.map +1 -1
  269. package/types/server/oneServe.d.ts.map +1 -1
  270. package/types/server/workerHandler.d.ts +1 -1
  271. package/types/server/workerHandler.d.ts.map +1 -1
  272. package/types/skewProtection.d.ts +1 -0
  273. package/types/skewProtection.d.ts.map +1 -1
  274. package/types/useLoader.d.ts.map +1 -1
  275. package/types/utils/dynamicImport.d.ts +2 -0
  276. package/types/utils/dynamicImport.d.ts.map +1 -1
  277. package/types/utils/toAbsolute.d.ts +3 -0
  278. package/types/utils/toAbsolute.d.ts.map +1 -1
  279. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  280. package/types/views/Try.d.ts.map +1 -1
  281. package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -1
  282. package/types/vite/plugins/imageDataPlugin.d.ts.map +1 -1
  283. package/types/vite/plugins/sourceInspectorPlugin.d.ts +2 -0
  284. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
  285. package/types/vite/plugins/sourceInspectorPlugin.test.d.ts +2 -0
  286. package/types/vite/plugins/sourceInspectorPlugin.test.d.ts.map +1 -0
  287. package/types/vite/resolveResponse.d.ts +1 -1
  288. package/types/vite/resolveResponse.d.ts.map +1 -1
@@ -27,6 +27,7 @@ __export(imageDataPlugin_exports, {
27
27
  module.exports = __toCommonJS(imageDataPlugin_exports);
28
28
  var import_node_fs = require("node:fs");
29
29
  var import_node_path = require("node:path");
30
+ var import_vite = require("vite");
30
31
  var import_getImageData = require("../../image/getImageData.cjs");
31
32
  const IMAGEDATA_SUFFIX = "?imagedata";
32
33
  const VIRTUAL_PREFIX = "\0imagedata:";
@@ -34,12 +35,12 @@ function imageDataPlugin() {
34
35
  let publicDir;
35
36
  let root;
36
37
  function getSrcPath(filePath) {
37
- return filePath.startsWith(publicDir) ? "/" + (0, import_node_path.relative)(publicDir, filePath) : "/" + (0, import_node_path.relative)(root, filePath);
38
+ return filePath.startsWith(publicDir) ? "/" + (0, import_vite.normalizePath)((0, import_node_path.relative)(publicDir, filePath)) : "/" + (0, import_vite.normalizePath)((0, import_node_path.relative)(root, filePath));
38
39
  }
39
40
  function isPathWithinBounds(filePath, allowedDir) {
40
41
  const resolved = (0, import_node_path.resolve)(filePath);
41
42
  const allowed = (0, import_node_path.resolve)(allowedDir);
42
- return resolved.startsWith(allowed + "/") || resolved === allowed;
43
+ return resolved.startsWith(allowed + import_node_path.sep) || resolved === allowed;
43
44
  }
44
45
  function createImageDataExport(src, width = 0, height = 0, blurDataURL = "") {
45
46
  return `export default ${JSON.stringify({
@@ -29,6 +29,7 @@ __export(imageDataPlugin_exports, {
29
29
  module.exports = __toCommonJS(imageDataPlugin_exports);
30
30
  var import_fs = require("fs");
31
31
  var import_path = require("path");
32
+ var import_vite = require("vite");
32
33
  var import_getImageData = require("../../image/getImageData.native.js");
33
34
  var IMAGEDATA_SUFFIX = "?imagedata";
34
35
  var VIRTUAL_PREFIX = "\0imagedata:";
@@ -36,12 +37,12 @@ function imageDataPlugin() {
36
37
  var publicDir;
37
38
  var root;
38
39
  function getSrcPath(filePath) {
39
- return filePath.startsWith(publicDir) ? "/" + (0, import_path.relative)(publicDir, filePath) : "/" + (0, import_path.relative)(root, filePath);
40
+ return filePath.startsWith(publicDir) ? "/" + (0, import_vite.normalizePath)((0, import_path.relative)(publicDir, filePath)) : "/" + (0, import_vite.normalizePath)((0, import_path.relative)(root, filePath));
40
41
  }
41
42
  function isPathWithinBounds(filePath, allowedDir) {
42
43
  var resolved = (0, import_path.resolve)(filePath);
43
44
  var allowed = (0, import_path.resolve)(allowedDir);
44
- return resolved.startsWith(allowed + "/") || resolved === allowed;
45
+ return resolved.startsWith(allowed + import_path.sep) || resolved === allowed;
45
46
  }
46
47
  function createImageDataExport(src) {
47
48
  var width = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","imageDataPlugin_exports","__export","imageDataPlugin","module","exports","import_fs","require","import_path","import_getImageData","IMAGEDATA_SUFFIX","VIRTUAL_PREFIX","publicDir","root","getSrcPath","filePath","startsWith","relative","isPathWithinBounds","allowedDir","resolved","resolve","allowed","createImageDataExport","src","width","arguments","length","height","blurDataURL","JSON","stringify","name","enforce","configResolved","resolvedConfig","resolveId","id","importer","endsWith","cleanId","slice","dirname","replace","console","warn","existsSync","load","addWatchFile","meta","processImageMeta"],"sources":["../../../../src/vite/plugins/imageDataPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","imageDataPlugin_exports","__export","imageDataPlugin","module","exports","import_fs","require","import_path","import_vite","import_getImageData","IMAGEDATA_SUFFIX","VIRTUAL_PREFIX","publicDir","root","getSrcPath","filePath","startsWith","normalizePath","relative","isPathWithinBounds","allowedDir","resolved","resolve","allowed","sep","createImageDataExport","src","width","arguments","length","height","blurDataURL","JSON","stringify","name","enforce","configResolved","resolvedConfig","resolveId","id","importer","endsWith","cleanId","slice","dirname","replace","console","warn","existsSync","load","addWatchFile","meta","processImageMeta"],"sources":["../../../../src/vite/plugins/imageDataPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,12 @@ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
22
  value: mod,
23
23
  enumerable: true
24
24
  }) : target, mod));
25
+ var import_node_path = require("node:path");
25
26
  var import_vitest = require("vitest");
27
+ const PROJECT_ROOT = (0, import_node_path.resolve)("/project");
28
+ const PUBLIC_DIR = (0, import_node_path.resolve)("/project/public");
29
+ const COMPONENTS_DIR = (0, import_node_path.resolve)("/project/src/components");
30
+ const HERO_FILE = (0, import_node_path.resolve)("/project/src/components/Hero.tsx");
26
31
  import_vitest.vi.mock("node:fs", async () => {
27
32
  const actual = await import_vitest.vi.importActual("node:fs");
28
33
  return {
@@ -32,6 +37,12 @@ import_vitest.vi.mock("node:fs", async () => {
32
37
  })
33
38
  };
34
39
  });
40
+ function mockConfig() {
41
+ return {
42
+ publicDir: PUBLIC_DIR,
43
+ root: PROJECT_ROOT
44
+ };
45
+ }
35
46
  (0, import_vitest.describe)("imageDataPlugin", () => {
36
47
  (0, import_vitest.beforeEach)(() => {
37
48
  import_vitest.vi.resetModules();
@@ -45,13 +56,9 @@ import_vitest.vi.mock("node:fs", async () => {
45
56
  imageDataPlugin
46
57
  } = await import("./imageDataPlugin");
47
58
  const plugin = imageDataPlugin();
48
- const mockConfig = {
49
- publicDir: "/project/public",
50
- root: "/project"
51
- };
52
59
  if (plugin.configResolved) {
53
60
  ;
54
- plugin.configResolved(mockConfig);
61
+ plugin.configResolved(mockConfig());
55
62
  }
56
63
  const result = await plugin.resolveId("./image.jpg", void 0);
57
64
  (0, import_vitest.expect)(result).toBeNull();
@@ -61,13 +68,9 @@ import_vitest.vi.mock("node:fs", async () => {
61
68
  imageDataPlugin
62
69
  } = await import("./imageDataPlugin");
63
70
  const plugin = imageDataPlugin();
64
- const mockConfig = {
65
- publicDir: "/project/public",
66
- root: "/project"
67
- };
68
71
  if (plugin.configResolved) {
69
72
  ;
70
- plugin.configResolved(mockConfig);
73
+ plugin.configResolved(mockConfig());
71
74
  }
72
75
  const result = await plugin.resolveId("./image?imagedata.jpg", void 0);
73
76
  (0, import_vitest.expect)(result).toBeNull();
@@ -77,45 +80,33 @@ import_vitest.vi.mock("node:fs", async () => {
77
80
  imageDataPlugin
78
81
  } = await import("./imageDataPlugin");
79
82
  const plugin = imageDataPlugin();
80
- const mockConfig = {
81
- publicDir: "/project/public",
82
- root: "/project"
83
- };
84
83
  if (plugin.configResolved) {
85
84
  ;
86
- plugin.configResolved(mockConfig);
85
+ plugin.configResolved(mockConfig());
87
86
  }
88
87
  const result = await plugin.resolveId("/test-image.jpg?imagedata", void 0);
89
- (0, import_vitest.expect)(result).toBe("\0imagedata:/project/public/test-image.jpg");
88
+ (0, import_vitest.expect)(result).toBe("\0imagedata:" + (0, import_node_path.resolve)(PUBLIC_DIR, "test-image.jpg"));
90
89
  });
91
90
  (0, import_vitest.it)("should resolve relative imports", async () => {
92
91
  const {
93
92
  imageDataPlugin
94
93
  } = await import("./imageDataPlugin");
95
94
  const plugin = imageDataPlugin();
96
- const mockConfig = {
97
- publicDir: "/project/public",
98
- root: "/project"
99
- };
100
95
  if (plugin.configResolved) {
101
96
  ;
102
- plugin.configResolved(mockConfig);
97
+ plugin.configResolved(mockConfig());
103
98
  }
104
- const result = await plugin.resolveId("./test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
105
- (0, import_vitest.expect)(result).toBe("\0imagedata:/project/src/components/test-image.jpg");
99
+ const result = await plugin.resolveId("./test-image.jpg?imagedata", HERO_FILE);
100
+ (0, import_vitest.expect)(result).toBe("\0imagedata:" + (0, import_node_path.resolve)(COMPONENTS_DIR, "test-image.jpg"));
106
101
  });
107
102
  (0, import_vitest.it)("should return null for non-existent files", async () => {
108
103
  const {
109
104
  imageDataPlugin
110
105
  } = await import("./imageDataPlugin");
111
106
  const plugin = imageDataPlugin();
112
- const mockConfig = {
113
- publicDir: "/project/public",
114
- root: "/project"
115
- };
116
107
  if (plugin.configResolved) {
117
108
  ;
118
- plugin.configResolved(mockConfig);
109
+ plugin.configResolved(mockConfig());
119
110
  }
120
111
  const result = await plugin.resolveId("/nonexistent.jpg?imagedata", void 0);
121
112
  (0, import_vitest.expect)(result).toBeNull();
@@ -127,13 +118,9 @@ import_vitest.vi.mock("node:fs", async () => {
127
118
  imageDataPlugin
128
119
  } = await import("./imageDataPlugin");
129
120
  const plugin = imageDataPlugin();
130
- const mockConfig = {
131
- publicDir: "/project/public",
132
- root: "/project"
133
- };
134
121
  if (plugin.configResolved) {
135
122
  ;
136
- plugin.configResolved(mockConfig);
123
+ plugin.configResolved(mockConfig());
137
124
  }
138
125
  const result = await plugin.resolveId("/../../../etc/passwd?imagedata", void 0);
139
126
  (0, import_vitest.expect)(result).toBeNull();
@@ -143,15 +130,11 @@ import_vitest.vi.mock("node:fs", async () => {
143
130
  imageDataPlugin
144
131
  } = await import("./imageDataPlugin");
145
132
  const plugin = imageDataPlugin();
146
- const mockConfig = {
147
- publicDir: "/project/public",
148
- root: "/project"
149
- };
150
133
  if (plugin.configResolved) {
151
134
  ;
152
- plugin.configResolved(mockConfig);
135
+ plugin.configResolved(mockConfig());
153
136
  }
154
- const result = await plugin.resolveId("../../../../etc/passwd?imagedata", "/project/src/components/Hero.tsx");
137
+ const result = await plugin.resolveId("../../../../etc/passwd?imagedata", HERO_FILE);
155
138
  (0, import_vitest.expect)(result).toBeNull();
156
139
  });
157
140
  (0, import_vitest.it)("should block path traversal from root", async () => {
@@ -159,13 +142,9 @@ import_vitest.vi.mock("node:fs", async () => {
159
142
  imageDataPlugin
160
143
  } = await import("./imageDataPlugin");
161
144
  const plugin = imageDataPlugin();
162
- const mockConfig = {
163
- publicDir: "/project/public",
164
- root: "/project"
165
- };
166
145
  if (plugin.configResolved) {
167
146
  ;
168
- plugin.configResolved(mockConfig);
147
+ plugin.configResolved(mockConfig());
169
148
  }
170
149
  const result = await plugin.resolveId("../../../etc/passwd?imagedata", void 0);
171
150
  (0, import_vitest.expect)(result).toBeNull();
@@ -175,16 +154,12 @@ import_vitest.vi.mock("node:fs", async () => {
175
154
  imageDataPlugin
176
155
  } = await import("./imageDataPlugin");
177
156
  const plugin = imageDataPlugin();
178
- const mockConfig = {
179
- publicDir: "/project/public",
180
- root: "/project"
181
- };
182
157
  if (plugin.configResolved) {
183
158
  ;
184
- plugin.configResolved(mockConfig);
159
+ plugin.configResolved(mockConfig());
185
160
  }
186
- const result = await plugin.resolveId("../../src/test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
187
- (0, import_vitest.expect)(result).toBe("\0imagedata:/project/src/test-image.jpg");
161
+ const result = await plugin.resolveId("../../src/test-image.jpg?imagedata", HERO_FILE);
162
+ (0, import_vitest.expect)(result).toBe("\0imagedata:" + (0, import_node_path.resolve)(PROJECT_ROOT, "src/test-image.jpg"));
188
163
  });
189
164
  });
190
165
  (0, import_vitest.describe)("load", () => {
@@ -193,13 +168,9 @@ import_vitest.vi.mock("node:fs", async () => {
193
168
  imageDataPlugin
194
169
  } = await import("./imageDataPlugin");
195
170
  const plugin = imageDataPlugin();
196
- const mockConfig = {
197
- publicDir: "/project/public",
198
- root: "/project"
199
- };
200
171
  if (plugin.configResolved) {
201
172
  ;
202
- plugin.configResolved(mockConfig);
173
+ plugin.configResolved(mockConfig());
203
174
  }
204
175
  const mockContext = {
205
176
  addWatchFile: import_vitest.vi.fn()
@@ -212,23 +183,20 @@ import_vitest.vi.mock("node:fs", async () => {
212
183
  imageDataPlugin
213
184
  } = await import("./imageDataPlugin");
214
185
  const plugin = imageDataPlugin();
215
- const mockConfig = {
216
- publicDir: "/project/public",
217
- root: "/project"
218
- };
219
186
  if (plugin.configResolved) {
220
187
  ;
221
- plugin.configResolved(mockConfig);
188
+ plugin.configResolved(mockConfig());
222
189
  }
223
190
  const mockContext = {
224
191
  addWatchFile: import_vitest.vi.fn()
225
192
  };
226
- const result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
193
+ const testFilePath = (0, import_node_path.resolve)(PUBLIC_DIR, "test-image.jpg");
194
+ const result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
227
195
  (0, import_vitest.expect)(result).toContain("export default");
228
196
  (0, import_vitest.expect)(result).toContain('"src":"/test-image.jpg"');
229
197
  (0, import_vitest.expect)(result).toContain('"width":');
230
198
  (0, import_vitest.expect)(result).toContain('"height":');
231
- (0, import_vitest.expect)(mockContext.addWatchFile).toHaveBeenCalledWith("/project/public/test-image.jpg");
199
+ (0, import_vitest.expect)(mockContext.addWatchFile).toHaveBeenCalledWith(testFilePath);
232
200
  });
233
201
  });
234
202
  (0, import_vitest.describe)("plugin metadata", () => {
@@ -255,18 +223,15 @@ import_vitest.vi.mock("node:fs", async () => {
255
223
  imageDataPlugin
256
224
  } = await import("./imageDataPlugin");
257
225
  const plugin = imageDataPlugin();
258
- const mockConfig = {
259
- publicDir: "/project/public",
260
- root: "/project"
261
- };
262
226
  if (plugin.configResolved) {
263
227
  ;
264
- plugin.configResolved(mockConfig);
228
+ plugin.configResolved(mockConfig());
265
229
  }
266
230
  const mockContext = {
267
231
  addWatchFile: import_vitest.vi.fn()
268
232
  };
269
- const result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
233
+ const testFilePath = (0, import_node_path.resolve)(PUBLIC_DIR, "test-image.jpg");
234
+ const result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
270
235
  const jsonMatch = result?.match(/export default (.+)$/);
271
236
  (0, import_vitest.expect)(jsonMatch).toBeTruthy();
272
237
  if (jsonMatch) {
@@ -24,12 +24,17 @@ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
24
  value: mod,
25
25
  enumerable: true
26
26
  }) : target, mod));
27
+ var import_path = require("path");
27
28
  var import_vitest = require("vitest");
28
29
  function _type_of(obj) {
29
30
  "@swc/helpers - typeof";
30
31
 
31
32
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
32
33
  }
34
+ var PROJECT_ROOT = (0, import_path.resolve)("/project");
35
+ var PUBLIC_DIR = (0, import_path.resolve)("/project/public");
36
+ var COMPONENTS_DIR = (0, import_path.resolve)("/project/src/components");
37
+ var HERO_FILE = (0, import_path.resolve)("/project/src/components/Hero.tsx");
33
38
  import_vitest.vi.mock("node:fs", async function () {
34
39
  var actual = await import_vitest.vi.importActual("node:fs");
35
40
  return {
@@ -39,6 +44,12 @@ import_vitest.vi.mock("node:fs", async function () {
39
44
  })
40
45
  };
41
46
  });
47
+ function mockConfig() {
48
+ return {
49
+ publicDir: PUBLIC_DIR,
50
+ root: PROJECT_ROOT
51
+ };
52
+ }
42
53
  (0, import_vitest.describe)("imageDataPlugin", function () {
43
54
  (0, import_vitest.beforeEach)(function () {
44
55
  import_vitest.vi.resetModules();
@@ -52,13 +63,9 @@ import_vitest.vi.mock("node:fs", async function () {
52
63
  imageDataPlugin
53
64
  } = await import("./imageDataPlugin");
54
65
  var plugin = imageDataPlugin();
55
- var mockConfig = {
56
- publicDir: "/project/public",
57
- root: "/project"
58
- };
59
66
  if (plugin.configResolved) {
60
67
  ;
61
- plugin.configResolved(mockConfig);
68
+ plugin.configResolved(mockConfig());
62
69
  }
63
70
  var result = await plugin.resolveId("./image.jpg", void 0);
64
71
  (0, import_vitest.expect)(result).toBeNull();
@@ -68,13 +75,9 @@ import_vitest.vi.mock("node:fs", async function () {
68
75
  imageDataPlugin
69
76
  } = await import("./imageDataPlugin");
70
77
  var plugin = imageDataPlugin();
71
- var mockConfig = {
72
- publicDir: "/project/public",
73
- root: "/project"
74
- };
75
78
  if (plugin.configResolved) {
76
79
  ;
77
- plugin.configResolved(mockConfig);
80
+ plugin.configResolved(mockConfig());
78
81
  }
79
82
  var result = await plugin.resolveId("./image?imagedata.jpg", void 0);
80
83
  (0, import_vitest.expect)(result).toBeNull();
@@ -84,45 +87,33 @@ import_vitest.vi.mock("node:fs", async function () {
84
87
  imageDataPlugin
85
88
  } = await import("./imageDataPlugin");
86
89
  var plugin = imageDataPlugin();
87
- var mockConfig = {
88
- publicDir: "/project/public",
89
- root: "/project"
90
- };
91
90
  if (plugin.configResolved) {
92
91
  ;
93
- plugin.configResolved(mockConfig);
92
+ plugin.configResolved(mockConfig());
94
93
  }
95
94
  var result = await plugin.resolveId("/test-image.jpg?imagedata", void 0);
96
- (0, import_vitest.expect)(result).toBe("\0imagedata:/project/public/test-image.jpg");
95
+ (0, import_vitest.expect)(result).toBe("\0imagedata:" + (0, import_path.resolve)(PUBLIC_DIR, "test-image.jpg"));
97
96
  });
98
97
  (0, import_vitest.it)("should resolve relative imports", async function () {
99
98
  var {
100
99
  imageDataPlugin
101
100
  } = await import("./imageDataPlugin");
102
101
  var plugin = imageDataPlugin();
103
- var mockConfig = {
104
- publicDir: "/project/public",
105
- root: "/project"
106
- };
107
102
  if (plugin.configResolved) {
108
103
  ;
109
- plugin.configResolved(mockConfig);
104
+ plugin.configResolved(mockConfig());
110
105
  }
111
- var result = await plugin.resolveId("./test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
112
- (0, import_vitest.expect)(result).toBe("\0imagedata:/project/src/components/test-image.jpg");
106
+ var result = await plugin.resolveId("./test-image.jpg?imagedata", HERO_FILE);
107
+ (0, import_vitest.expect)(result).toBe("\0imagedata:" + (0, import_path.resolve)(COMPONENTS_DIR, "test-image.jpg"));
113
108
  });
114
109
  (0, import_vitest.it)("should return null for non-existent files", async function () {
115
110
  var {
116
111
  imageDataPlugin
117
112
  } = await import("./imageDataPlugin");
118
113
  var plugin = imageDataPlugin();
119
- var mockConfig = {
120
- publicDir: "/project/public",
121
- root: "/project"
122
- };
123
114
  if (plugin.configResolved) {
124
115
  ;
125
- plugin.configResolved(mockConfig);
116
+ plugin.configResolved(mockConfig());
126
117
  }
127
118
  var result = await plugin.resolveId("/nonexistent.jpg?imagedata", void 0);
128
119
  (0, import_vitest.expect)(result).toBeNull();
@@ -134,13 +125,9 @@ import_vitest.vi.mock("node:fs", async function () {
134
125
  imageDataPlugin
135
126
  } = await import("./imageDataPlugin");
136
127
  var plugin = imageDataPlugin();
137
- var mockConfig = {
138
- publicDir: "/project/public",
139
- root: "/project"
140
- };
141
128
  if (plugin.configResolved) {
142
129
  ;
143
- plugin.configResolved(mockConfig);
130
+ plugin.configResolved(mockConfig());
144
131
  }
145
132
  var result = await plugin.resolveId("/../../../etc/passwd?imagedata", void 0);
146
133
  (0, import_vitest.expect)(result).toBeNull();
@@ -150,15 +137,11 @@ import_vitest.vi.mock("node:fs", async function () {
150
137
  imageDataPlugin
151
138
  } = await import("./imageDataPlugin");
152
139
  var plugin = imageDataPlugin();
153
- var mockConfig = {
154
- publicDir: "/project/public",
155
- root: "/project"
156
- };
157
140
  if (plugin.configResolved) {
158
141
  ;
159
- plugin.configResolved(mockConfig);
142
+ plugin.configResolved(mockConfig());
160
143
  }
161
- var result = await plugin.resolveId("../../../../etc/passwd?imagedata", "/project/src/components/Hero.tsx");
144
+ var result = await plugin.resolveId("../../../../etc/passwd?imagedata", HERO_FILE);
162
145
  (0, import_vitest.expect)(result).toBeNull();
163
146
  });
164
147
  (0, import_vitest.it)("should block path traversal from root", async function () {
@@ -166,13 +149,9 @@ import_vitest.vi.mock("node:fs", async function () {
166
149
  imageDataPlugin
167
150
  } = await import("./imageDataPlugin");
168
151
  var plugin = imageDataPlugin();
169
- var mockConfig = {
170
- publicDir: "/project/public",
171
- root: "/project"
172
- };
173
152
  if (plugin.configResolved) {
174
153
  ;
175
- plugin.configResolved(mockConfig);
154
+ plugin.configResolved(mockConfig());
176
155
  }
177
156
  var result = await plugin.resolveId("../../../etc/passwd?imagedata", void 0);
178
157
  (0, import_vitest.expect)(result).toBeNull();
@@ -182,16 +161,12 @@ import_vitest.vi.mock("node:fs", async function () {
182
161
  imageDataPlugin
183
162
  } = await import("./imageDataPlugin");
184
163
  var plugin = imageDataPlugin();
185
- var mockConfig = {
186
- publicDir: "/project/public",
187
- root: "/project"
188
- };
189
164
  if (plugin.configResolved) {
190
165
  ;
191
- plugin.configResolved(mockConfig);
166
+ plugin.configResolved(mockConfig());
192
167
  }
193
- var result = await plugin.resolveId("../../src/test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
194
- (0, import_vitest.expect)(result).toBe("\0imagedata:/project/src/test-image.jpg");
168
+ var result = await plugin.resolveId("../../src/test-image.jpg?imagedata", HERO_FILE);
169
+ (0, import_vitest.expect)(result).toBe("\0imagedata:" + (0, import_path.resolve)(PROJECT_ROOT, "src/test-image.jpg"));
195
170
  });
196
171
  });
197
172
  (0, import_vitest.describe)("load", function () {
@@ -200,13 +175,9 @@ import_vitest.vi.mock("node:fs", async function () {
200
175
  imageDataPlugin
201
176
  } = await import("./imageDataPlugin");
202
177
  var plugin = imageDataPlugin();
203
- var mockConfig = {
204
- publicDir: "/project/public",
205
- root: "/project"
206
- };
207
178
  if (plugin.configResolved) {
208
179
  ;
209
- plugin.configResolved(mockConfig);
180
+ plugin.configResolved(mockConfig());
210
181
  }
211
182
  var mockContext = {
212
183
  addWatchFile: import_vitest.vi.fn()
@@ -219,23 +190,20 @@ import_vitest.vi.mock("node:fs", async function () {
219
190
  imageDataPlugin
220
191
  } = await import("./imageDataPlugin");
221
192
  var plugin = imageDataPlugin();
222
- var mockConfig = {
223
- publicDir: "/project/public",
224
- root: "/project"
225
- };
226
193
  if (plugin.configResolved) {
227
194
  ;
228
- plugin.configResolved(mockConfig);
195
+ plugin.configResolved(mockConfig());
229
196
  }
230
197
  var mockContext = {
231
198
  addWatchFile: import_vitest.vi.fn()
232
199
  };
233
- var result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
200
+ var testFilePath = (0, import_path.resolve)(PUBLIC_DIR, "test-image.jpg");
201
+ var result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
234
202
  (0, import_vitest.expect)(result).toContain("export default");
235
203
  (0, import_vitest.expect)(result).toContain('"src":"/test-image.jpg"');
236
204
  (0, import_vitest.expect)(result).toContain('"width":');
237
205
  (0, import_vitest.expect)(result).toContain('"height":');
238
- (0, import_vitest.expect)(mockContext.addWatchFile).toHaveBeenCalledWith("/project/public/test-image.jpg");
206
+ (0, import_vitest.expect)(mockContext.addWatchFile).toHaveBeenCalledWith(testFilePath);
239
207
  });
240
208
  });
241
209
  (0, import_vitest.describe)("plugin metadata", function () {
@@ -262,18 +230,15 @@ import_vitest.vi.mock("node:fs", async function () {
262
230
  imageDataPlugin
263
231
  } = await import("./imageDataPlugin");
264
232
  var plugin = imageDataPlugin();
265
- var mockConfig = {
266
- publicDir: "/project/public",
267
- root: "/project"
268
- };
269
233
  if (plugin.configResolved) {
270
234
  ;
271
- plugin.configResolved(mockConfig);
235
+ plugin.configResolved(mockConfig());
272
236
  }
273
237
  var mockContext = {
274
238
  addWatchFile: import_vitest.vi.fn()
275
239
  };
276
- var result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
240
+ var testFilePath = (0, import_path.resolve)(PUBLIC_DIR, "test-image.jpg");
241
+ var result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
277
242
  var jsonMatch = result === null || result === void 0 ? void 0 : result.match(/export default (.+)$/);
278
243
  (0, import_vitest.expect)(jsonMatch).toBeTruthy();
279
244
  if (jsonMatch) {
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","_type_of","obj","Symbol","constructor","vi","mock","actual","importActual","existsSync","fn","path","includes","describe","beforeEach","resetModules","afterEach","clearAllMocks","it","imageDataPlugin","plugin","mockConfig","publicDir","root","configResolved","result","resolveId","expect","toBeNull","toBe","mockContext","addWatchFile","load","call","toContain","toHaveBeenCalledWith","name","enforce","jsonMatch","match","toBeTruthy","parsed","JSON","parse","toHaveProperty","src","width","height","blurDataURL"],"sources":["../../../../src/vite/plugins/imageDataPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_path","require","import_vitest","_type_of","obj","Symbol","constructor","PROJECT_ROOT","resolve","PUBLIC_DIR","COMPONENTS_DIR","HERO_FILE","vi","mock","actual","importActual","existsSync","fn","path","includes","mockConfig","publicDir","root","describe","beforeEach","resetModules","afterEach","clearAllMocks","it","imageDataPlugin","plugin","configResolved","result","resolveId","expect","toBeNull","toBe","mockContext","addWatchFile","load","call","testFilePath","toContain","toHaveBeenCalledWith","name","enforce","jsonMatch","match","toBeTruthy","parsed","JSON","parse","toHaveProperty","src","width","height","blurDataURL"],"sources":["../../../../src/vite/plugins/imageDataPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}