one 1.15.10 → 1.16.1

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 (297) 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/router.cjs +21 -6
  35. package/dist/cjs/router/router.native.js +21 -6
  36. package/dist/cjs/router/router.native.js.map +1 -1
  37. package/dist/cjs/router/useScreens.cjs +3 -0
  38. package/dist/cjs/router/useScreens.native.js +2 -0
  39. package/dist/cjs/router/useScreens.native.js.map +1 -1
  40. package/dist/cjs/serve-worker.native.js.map +1 -1
  41. package/dist/cjs/server/getServerManifest.cjs +6 -6
  42. package/dist/cjs/server/getServerManifest.native.js +6 -6
  43. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  44. package/dist/cjs/server/oneServe.cjs +9 -5
  45. package/dist/cjs/server/oneServe.native.js +9 -5
  46. package/dist/cjs/server/oneServe.native.js.map +1 -1
  47. package/dist/cjs/server/workerHandler.cjs +2 -2
  48. package/dist/cjs/server/workerHandler.native.js +2 -2
  49. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  50. package/dist/cjs/skewProtection.cjs +48 -7
  51. package/dist/cjs/skewProtection.native.js +48 -7
  52. package/dist/cjs/skewProtection.native.js.map +1 -1
  53. package/dist/cjs/useLoader.cjs +67 -69
  54. package/dist/cjs/useLoader.native.js +113 -117
  55. package/dist/cjs/useLoader.native.js.map +1 -1
  56. package/dist/cjs/utils/dynamicImport.cjs +3 -1
  57. package/dist/cjs/utils/dynamicImport.native.js +22 -1
  58. package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
  59. package/dist/cjs/utils/toAbsolute.cjs +5 -2
  60. package/dist/cjs/utils/toAbsolute.native.js +6 -1
  61. package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
  62. package/dist/cjs/utils/workerImport.cjs +1 -1
  63. package/dist/cjs/utils/workerImport.native.js +1 -1
  64. package/dist/cjs/utils/workerImport.native.js.map +1 -1
  65. package/dist/cjs/views/RootErrorBoundary.cjs +114 -117
  66. package/dist/cjs/views/RootErrorBoundary.native.js +126 -146
  67. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  68. package/dist/cjs/views/Try.cjs +17 -18
  69. package/dist/cjs/views/Try.native.js +28 -42
  70. package/dist/cjs/views/Try.native.js.map +1 -1
  71. package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +2 -1
  72. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +2 -1
  73. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  74. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +26 -20
  75. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +28 -20
  76. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  77. package/dist/cjs/vite/plugins/imageDataPlugin.cjs +3 -2
  78. package/dist/cjs/vite/plugins/imageDataPlugin.native.js +3 -2
  79. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  80. package/dist/cjs/vite/plugins/imageDataPlugin.test.cjs +34 -69
  81. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js +34 -69
  82. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  83. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +20 -2
  84. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +23 -2
  85. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  86. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +21 -0
  87. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +28 -0
  88. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -0
  89. package/dist/cjs/vite/resolveResponse.cjs +7 -2
  90. package/dist/cjs/vite/resolveResponse.native.js +7 -2
  91. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  92. package/dist/esm/cli/build.mjs +100 -60
  93. package/dist/esm/cli/build.mjs.map +1 -1
  94. package/dist/esm/cli/build.native.js +108 -65
  95. package/dist/esm/cli/build.native.js.map +1 -1
  96. package/dist/esm/cli/buildPage.mjs +4 -4
  97. package/dist/esm/cli/buildPage.mjs.map +1 -1
  98. package/dist/esm/cli/buildPage.native.js +4 -4
  99. package/dist/esm/cli/buildPage.native.js.map +1 -1
  100. package/dist/esm/constants.mjs +2 -1
  101. package/dist/esm/constants.mjs.map +1 -1
  102. package/dist/esm/constants.native.js +2 -1
  103. package/dist/esm/constants.native.js.map +1 -1
  104. package/dist/esm/createAPIRoute.mjs.map +1 -1
  105. package/dist/esm/createAPIRoute.native.js.map +1 -1
  106. package/dist/esm/createApp.mjs +2 -6
  107. package/dist/esm/createApp.mjs.map +1 -1
  108. package/dist/esm/createHandleRequest.mjs +2 -2
  109. package/dist/esm/createHandleRequest.mjs.map +1 -1
  110. package/dist/esm/createHandleRequest.native.js +2 -2
  111. package/dist/esm/createHandleRequest.native.js.map +1 -1
  112. package/dist/esm/hooks.mjs +5 -1
  113. package/dist/esm/hooks.mjs.map +1 -1
  114. package/dist/esm/hooks.native.js +7 -1
  115. package/dist/esm/hooks.native.js.map +1 -1
  116. package/dist/esm/index.js.map +1 -1
  117. package/dist/esm/index.mjs.map +1 -1
  118. package/dist/esm/index.native.js.map +1 -1
  119. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +9 -7
  120. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  121. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +12 -10
  122. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  123. package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs +24 -0
  124. package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs.map +1 -0
  125. package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js +24 -0
  126. package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js.map +1 -0
  127. package/dist/esm/router/Route.mjs +21 -1
  128. package/dist/esm/router/Route.mjs.map +1 -1
  129. package/dist/esm/router/Route.native.js +22 -1
  130. package/dist/esm/router/Route.native.js.map +1 -1
  131. package/dist/esm/router/interceptRoutes.mjs +7 -7
  132. package/dist/esm/router/interceptRoutes.mjs.map +1 -1
  133. package/dist/esm/router/interceptRoutes.native.js +7 -7
  134. package/dist/esm/router/interceptRoutes.native.js.map +1 -1
  135. package/dist/esm/router/params.mjs +21 -0
  136. package/dist/esm/router/params.mjs.map +1 -0
  137. package/dist/esm/router/params.native.js +42 -0
  138. package/dist/esm/router/params.native.js.map +1 -0
  139. package/dist/esm/router/router.mjs +21 -6
  140. package/dist/esm/router/router.mjs.map +1 -1
  141. package/dist/esm/router/router.native.js +21 -6
  142. package/dist/esm/router/router.native.js.map +1 -1
  143. package/dist/esm/router/useScreens.mjs +3 -0
  144. package/dist/esm/router/useScreens.mjs.map +1 -1
  145. package/dist/esm/router/useScreens.native.js +2 -0
  146. package/dist/esm/router/useScreens.native.js.map +1 -1
  147. package/dist/esm/serve-worker.mjs.map +1 -1
  148. package/dist/esm/serve-worker.native.js.map +1 -1
  149. package/dist/esm/server/getServerManifest.mjs +6 -6
  150. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  151. package/dist/esm/server/getServerManifest.native.js +6 -6
  152. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  153. package/dist/esm/server/oneServe.mjs +11 -7
  154. package/dist/esm/server/oneServe.mjs.map +1 -1
  155. package/dist/esm/server/oneServe.native.js +11 -7
  156. package/dist/esm/server/oneServe.native.js.map +1 -1
  157. package/dist/esm/server/workerHandler.mjs +2 -2
  158. package/dist/esm/server/workerHandler.mjs.map +1 -1
  159. package/dist/esm/server/workerHandler.native.js +2 -2
  160. package/dist/esm/server/workerHandler.native.js.map +1 -1
  161. package/dist/esm/skewProtection.mjs +48 -8
  162. package/dist/esm/skewProtection.mjs.map +1 -1
  163. package/dist/esm/skewProtection.native.js +48 -8
  164. package/dist/esm/skewProtection.native.js.map +1 -1
  165. package/dist/esm/useLoader.mjs +64 -66
  166. package/dist/esm/useLoader.mjs.map +1 -1
  167. package/dist/esm/useLoader.native.js +112 -116
  168. package/dist/esm/useLoader.native.js.map +1 -1
  169. package/dist/esm/utils/dynamicImport.mjs +1 -1
  170. package/dist/esm/utils/dynamicImport.mjs.map +1 -1
  171. package/dist/esm/utils/dynamicImport.native.js +20 -1
  172. package/dist/esm/utils/dynamicImport.native.js.map +1 -1
  173. package/dist/esm/utils/toAbsolute.mjs +3 -1
  174. package/dist/esm/utils/toAbsolute.mjs.map +1 -1
  175. package/dist/esm/utils/toAbsolute.native.js +5 -1
  176. package/dist/esm/utils/toAbsolute.native.js.map +1 -1
  177. package/dist/esm/utils/workerImport.mjs +2 -2
  178. package/dist/esm/utils/workerImport.mjs.map +1 -1
  179. package/dist/esm/utils/workerImport.native.js +2 -2
  180. package/dist/esm/utils/workerImport.native.js.map +1 -1
  181. package/dist/esm/views/RootErrorBoundary.mjs +114 -117
  182. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  183. package/dist/esm/views/RootErrorBoundary.native.js +126 -146
  184. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  185. package/dist/esm/views/Try.mjs +17 -18
  186. package/dist/esm/views/Try.mjs.map +1 -1
  187. package/dist/esm/views/Try.native.js +28 -42
  188. package/dist/esm/views/Try.native.js.map +1 -1
  189. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +2 -1
  190. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -1
  191. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +2 -1
  192. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  193. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +26 -20
  194. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -1
  195. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +28 -20
  196. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  197. package/dist/esm/vite/plugins/imageDataPlugin.mjs +4 -3
  198. package/dist/esm/vite/plugins/imageDataPlugin.mjs.map +1 -1
  199. package/dist/esm/vite/plugins/imageDataPlugin.native.js +4 -3
  200. package/dist/esm/vite/plugins/imageDataPlugin.native.js.map +1 -1
  201. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs +34 -69
  202. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs.map +1 -1
  203. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js +34 -69
  204. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  205. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +19 -3
  206. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
  207. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +22 -3
  208. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  209. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +22 -0
  210. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -0
  211. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +26 -0
  212. package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -0
  213. package/dist/esm/vite/resolveResponse.mjs +7 -2
  214. package/dist/esm/vite/resolveResponse.mjs.map +1 -1
  215. package/dist/esm/vite/resolveResponse.native.js +7 -2
  216. package/dist/esm/vite/resolveResponse.native.js.map +1 -1
  217. package/expo-plugin.cjs +1 -0
  218. package/package.json +15 -10
  219. package/react-native-commands.cjs +1 -0
  220. package/src/cli/build.ts +156 -99
  221. package/src/cli/buildPage.ts +4 -4
  222. package/src/constants.ts +15 -0
  223. package/src/createAPIRoute.ts +35 -2
  224. package/src/createApp.tsx +2 -6
  225. package/src/createHandleRequest.ts +6 -2
  226. package/src/hooks.tsx +9 -1
  227. package/src/index.ts +8 -1
  228. package/src/metro-config/getViteMetroPluginOptions.test.ts +34 -0
  229. package/src/metro-config/getViteMetroPluginOptions.ts +14 -11
  230. package/src/router/Route.tsx +52 -2
  231. package/src/router/interceptRoutes.ts +7 -7
  232. package/src/router/params.ts +32 -0
  233. package/src/router/router.ts +43 -10
  234. package/src/router/useScreens.tsx +18 -0
  235. package/src/serve-worker.ts +4 -2
  236. package/src/server/getServerManifest.ts +11 -7
  237. package/src/server/oneServe.ts +12 -14
  238. package/src/server/workerHandler.ts +13 -2
  239. package/src/skewProtection.ts +45 -5
  240. package/src/useLoader.ts +6 -4
  241. package/src/utils/dynamicImport.ts +2 -2
  242. package/src/utils/toAbsolute.ts +5 -0
  243. package/src/utils/workerImport.ts +2 -2
  244. package/src/views/RootErrorBoundary.tsx +18 -0
  245. package/src/views/Try.tsx +18 -0
  246. package/src/vite/plugins/criticalCSSPlugin.test.ts +34 -24
  247. package/src/vite/plugins/criticalCSSPlugin.ts +3 -2
  248. package/src/vite/plugins/imageDataPlugin.test.ts +39 -83
  249. package/src/vite/plugins/imageDataPlugin.ts +5 -4
  250. package/src/vite/plugins/sourceInspectorPlugin.test.ts +40 -0
  251. package/src/vite/plugins/sourceInspectorPlugin.ts +30 -2
  252. package/src/vite/resolveResponse.ts +6 -2
  253. package/types/cli/build.d.ts.map +1 -1
  254. package/types/constants.d.ts +9 -0
  255. package/types/constants.d.ts.map +1 -1
  256. package/types/createAPIRoute.d.ts +28 -3
  257. package/types/createAPIRoute.d.ts.map +1 -1
  258. package/types/createApp.d.ts.map +1 -1
  259. package/types/createHandleRequest.d.ts +1 -1
  260. package/types/createHandleRequest.d.ts.map +1 -1
  261. package/types/headless-server.d.ts +1 -1
  262. package/types/hooks.d.ts.map +1 -1
  263. package/types/index.d.ts +1 -1
  264. package/types/index.d.ts.map +1 -1
  265. package/types/metro-config/getViteMetroPluginOptions.d.ts +5 -0
  266. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  267. package/types/metro-config/getViteMetroPluginOptions.test.d.ts +2 -0
  268. package/types/metro-config/getViteMetroPluginOptions.test.d.ts.map +1 -0
  269. package/types/router/Route.d.ts +1 -0
  270. package/types/router/Route.d.ts.map +1 -1
  271. package/types/router/params.d.ts +3 -0
  272. package/types/router/params.d.ts.map +1 -0
  273. package/types/router/router.d.ts.map +1 -1
  274. package/types/router/useScreens.d.ts.map +1 -1
  275. package/types/serve-worker.d.ts +5 -3
  276. package/types/serve-worker.d.ts.map +1 -1
  277. package/types/server/getServerManifest.d.ts.map +1 -1
  278. package/types/server/oneServe.d.ts.map +1 -1
  279. package/types/server/workerHandler.d.ts +1 -1
  280. package/types/server/workerHandler.d.ts.map +1 -1
  281. package/types/skewProtection.d.ts +1 -0
  282. package/types/skewProtection.d.ts.map +1 -1
  283. package/types/useLoader.d.ts.map +1 -1
  284. package/types/utils/dynamicImport.d.ts +2 -0
  285. package/types/utils/dynamicImport.d.ts.map +1 -1
  286. package/types/utils/toAbsolute.d.ts +3 -0
  287. package/types/utils/toAbsolute.d.ts.map +1 -1
  288. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  289. package/types/views/Try.d.ts.map +1 -1
  290. package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -1
  291. package/types/vite/plugins/imageDataPlugin.d.ts.map +1 -1
  292. package/types/vite/plugins/sourceInspectorPlugin.d.ts +2 -0
  293. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
  294. package/types/vite/plugins/sourceInspectorPlugin.test.d.ts +2 -0
  295. package/types/vite/plugins/sourceInspectorPlugin.test.d.ts.map +1 -0
  296. package/types/vite/resolveResponse.d.ts +1 -1
  297. package/types/vite/resolveResponse.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","resetModules","clearAllMocks","criticalCSSPlugin","plugin","configResolved","root","result","resolveId","call","resolve","fn","toBeNull","mockResolve","mockResolvedValue","id","toHaveBeenCalledWith","skipSelf","toEqual","getCriticalCSSSources","sources","has","toBe","getCriticalCSSOutputPaths","manifest","file","src","css","imports","name","outputPaths","toBeDefined","enforce"],"sources":["../../../../src/vite/plugins/criticalCSSPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["resolve","afterEach","beforeEach","describe","expect","it","vi","PROJECT_ROOT","resetModules","clearAllMocks","criticalCSSPlugin","plugin","configResolved","root","result","resolveId","call","fn","toBeNull","resolvedCssPath","mockResolve","mockResolvedValue","id","importerPath","toHaveBeenCalledWith","skipSelf","toEqual","getCriticalCSSSources","sources","has","toBe","getCriticalCSSOutputPaths","sourceKey","find","s","includes","manifest","file","src","css","imports","name","outputPaths","toBeDefined"],"sources":["../../../../src/vite/plugins/criticalCSSPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from "node:fs";
2
- import { dirname, relative, resolve } from "node:path";
2
+ import { dirname, relative, resolve, sep } from "node:path";
3
+ import { normalizePath } from "vite";
3
4
  import { processImageMeta } from "../../image/getImageData.mjs";
4
5
  const IMAGEDATA_SUFFIX = "?imagedata";
5
6
  const VIRTUAL_PREFIX = "\0imagedata:";
@@ -7,12 +8,12 @@ function imageDataPlugin() {
7
8
  let publicDir;
8
9
  let root;
9
10
  function getSrcPath(filePath) {
10
- return filePath.startsWith(publicDir) ? "/" + relative(publicDir, filePath) : "/" + relative(root, filePath);
11
+ return filePath.startsWith(publicDir) ? "/" + normalizePath(relative(publicDir, filePath)) : "/" + normalizePath(relative(root, filePath));
11
12
  }
12
13
  function isPathWithinBounds(filePath, allowedDir) {
13
14
  const resolved = resolve(filePath);
14
15
  const allowed = resolve(allowedDir);
15
- return resolved.startsWith(allowed + "/") || resolved === allowed;
16
+ return resolved.startsWith(allowed + sep) || resolved === allowed;
16
17
  }
17
18
  function createImageDataExport(src, width = 0, height = 0, blurDataURL = "") {
18
19
  return `export default ${JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","dirname","relative","resolve","processImageMeta","IMAGEDATA_SUFFIX","VIRTUAL_PREFIX","imageDataPlugin","publicDir","root","getSrcPath","filePath","startsWith","isPathWithinBounds","allowedDir","resolved","allowed","createImageDataExport","src","width","height","blurDataURL","JSON","stringify","name","enforce","configResolved","resolvedConfig","resolveId","id","importer","endsWith","cleanId","slice","length","replace","console","warn","load","addWatchFile","meta"],"sources":["../../../../src/vite/plugins/imageDataPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["existsSync","dirname","relative","resolve","sep","normalizePath","processImageMeta","IMAGEDATA_SUFFIX","VIRTUAL_PREFIX","imageDataPlugin","publicDir","root","getSrcPath","filePath","startsWith","isPathWithinBounds","allowedDir","resolved","allowed","createImageDataExport","src","width","height","blurDataURL","JSON","stringify","name","enforce","configResolved","resolvedConfig","resolveId","id","importer","endsWith","cleanId","slice","length","replace","console","warn","load","addWatchFile","meta"],"sources":["../../../../src/vite/plugins/imageDataPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from "fs";
2
- import { dirname, relative, resolve } from "path";
2
+ import { dirname, relative, resolve, sep } from "path";
3
+ import { normalizePath } from "vite";
3
4
  import { processImageMeta } from "../../image/getImageData.native.js";
4
5
  var IMAGEDATA_SUFFIX = "?imagedata";
5
6
  var VIRTUAL_PREFIX = "\0imagedata:";
@@ -7,12 +8,12 @@ function imageDataPlugin() {
7
8
  var publicDir;
8
9
  var root;
9
10
  function getSrcPath(filePath) {
10
- return filePath.startsWith(publicDir) ? "/" + relative(publicDir, filePath) : "/" + relative(root, filePath);
11
+ return filePath.startsWith(publicDir) ? "/" + normalizePath(relative(publicDir, filePath)) : "/" + normalizePath(relative(root, filePath));
11
12
  }
12
13
  function isPathWithinBounds(filePath, allowedDir) {
13
14
  var resolved = resolve(filePath);
14
15
  var allowed = resolve(allowedDir);
15
- return resolved.startsWith(allowed + "/") || resolved === allowed;
16
+ return resolved.startsWith(allowed + sep) || resolved === allowed;
16
17
  }
17
18
  function createImageDataExport(src) {
18
19
  var width = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0,
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","dirname","relative","resolve","processImageMeta","IMAGEDATA_SUFFIX","VIRTUAL_PREFIX","imageDataPlugin","publicDir","root","getSrcPath","filePath","startsWith","isPathWithinBounds","allowedDir","resolved","allowed","createImageDataExport","src","width","arguments","length","height","blurDataURL","JSON","stringify","name","enforce","configResolved","resolvedConfig","resolveId","id","importer","endsWith","cleanId","slice","replace","console","warn","load","addWatchFile","meta"],"sources":["../../../../src/vite/plugins/imageDataPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,OAAA,EAASC,QAAA,EAAUC,OAAA,QAAe;AAE3C,SAASC,gBAAA,QAAwB;AAEjC,IAAAC,gBAAM,eAAmB;AACzB,IAAAC,cAAM,iBAAiB;AAEhB,SAASC,gBAAA,EAA0B;EACxC,IAAIC,SAAA;EACJ,IAAIC,IAAA;EAEJ,SAASC,WAAWC,QAAA,EAA0B;IAC5C,OAAOA,QAAA,CAASC,UAAA,CAAWJ,SAAS,IAChC,MAAMN,QAAA,CAASM,SAAA,EAAWG,QAAQ,IAClC,MAAMT,QAAA,CAASO,IAAA,EAAME,QAAQ;EACnC;EAEA,SAASE,mBAAmBF,QAAA,EAAkBG,UAAA,EAA6B;IACzE,IAAAC,QAAM,GAAAZ,OAAW,CAAAQ,QAAQ;IACzB,IAAAK,OAAM,GAAAb,OAAU,CAAAW,UAAQ;IACxB,OAAOC,QAAA,CAASH,UAAA,CAAWI,OAAA,GAAU,GAAG,KAAKD,QAAA,KAAaC,OAAA;EAC5D;EAEA,SAASC,sBAAsBC,GAAA,EAAa;IAC1C,IAAAC,KAAO,GAAAC,SAAA,CAAAC,MAAkB,GAAK,KAAAD,SAAY,EAAK,WAAO,IAAQA,SAAA,GAAY,GAAE;MAAAE,MAAA,GAAAF,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MAAAG,WAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAC9E,yBAAAI,IAAA,CAAAC,SAAA;MAEAP,GAAO;MACLC,KAAM;MACNG,MAAA;MAEAC;IACE;EACA;EAAsB,OACxB;IAEAG,IAAA,EAAM,eAAc;IAClBC,OAAK,OAAG;IAERC,cAAMA,CAAAC,cAAmB,EAAI;MAC7BrB,SAAI,GAAAqB,cAAA,CAAArB,SAAA;MACJC,IAAI,GAAAoB,cAAA,CAAApB,IAAA;IAGJ;IACE,MAAAqB,SAAWA,CAAAC,EAAA,EAAAC,QAAQ;MACnB,KAAAD,EAAA,CAAAE,QAAa,CAAA5B,gBAAA;MACf,IAAA6B,OAAW,GAAAH,EAAA,CAAAI,KAAU,KAAA9B,gBAAA,CAAAgB,MAAA;MAEnB,IAAAV,QAAA;MACA,IAAAG,UAAA;MACF,IAAAoB,OAAO,CAAAtB,UAAA;QACLD,QAAA,GAAWR,OAAA,CAAQK,SAAM,EAAA0B,OAAO,CAAAC,KAAA;QAChCrB,UAAA,GAAaN,SAAA;MACf,WAAAwB,QAAA;QAGArB,QAAK,GAAAR,OAAA,CAAAF,OAAmB,CAAA+B,QAAU,CAAAI,OAAU,CAAA9B,cAAG,QAAA4B,OAAA;QAC7CpB,UAAQ,GAAKL,IAAA;MACb;QACFE,QAAA,GAAAR,OAAA,CAAAM,IAAA,EAAAyB,OAAA;QAEApB,UAAK,GAAAL,IAAW;MACd;MACA,KAAAI,kBAAO,CAAAF,QAAA,EAAAG,UAAA;QACTuB,OAAA,CAAAC,IAAA,8CAAAJ,OAAA;QAEA,OAAO;MACT;MAEA,IAAM,CAAAlC,UAAS,CAAAW,QAAA;QACb0B,OAAQ,CAAAC,IAAA,sCAAmC3B,QAAA;QAE3C,OAAM;MACN;MAGA,OAAKL,cAAa,GAAAK,QAAQ;IAE1B;IACA,MAAI4B,IAACA,CAAAR,EAAM;MACT,KAAAA,EAAA,CAAAnB,UAAO,CAAAN,cAAsB,CAAG;MAClC,IAAAK,QAAA,GAAAoB,EAAA,CAAAI,KAAA,CAAA7B,cAAA,CAAAe,MAAA;MAEA,IAAAH,GAAO,GAAAR,UAAA,CAAAC,QAAsB;MAC/B,KAAA6B,YAAA,CAAA7B,QAAA;MACF,IAAA8B,IAAA,SAAArC,gBAAA,CAAAO,QAAA;MACF,KAAA8B,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["existsSync","dirname","relative","resolve","sep","normalizePath","processImageMeta","IMAGEDATA_SUFFIX","VIRTUAL_PREFIX","imageDataPlugin","publicDir","root","getSrcPath","filePath","startsWith","isPathWithinBounds","allowedDir","resolved","allowed","createImageDataExport","src","width","arguments","length","height","blurDataURL","JSON","stringify","name","enforce","configResolved","resolvedConfig","resolveId","id","importer","endsWith","cleanId","slice","replace","console","warn","load","addWatchFile","meta"],"sources":["../../../../src/vite/plugins/imageDataPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,OAAA,EAASC,QAAA,EAAUC,OAAA,EAASC,GAAA,QAAW;AAEhD,SAASC,aAAA,QAAqB;AAC9B,SAASC,gBAAA,QAAwB;AAEjC,IAAAC,gBAAM,eAAmB;AACzB,IAAAC,cAAM,iBAAiB;AAEhB,SAASC,gBAAA,EAA0B;EACxC,IAAIC,SAAA;EACJ,IAAIC,IAAA;EAEJ,SAASC,WAAWC,QAAA,EAA0B;IAC5C,OAAOA,QAAA,CAASC,UAAA,CAAWJ,SAAS,IAChC,MAAML,aAAA,CAAcH,QAAA,CAASQ,SAAA,EAAWG,QAAQ,CAAC,IACjD,MAAMR,aAAA,CAAcH,QAAA,CAASS,IAAA,EAAME,QAAQ,CAAC;EAClD;EAEA,SAASE,mBAAmBF,QAAA,EAAkBG,UAAA,EAA6B;IACzE,IAAAC,QAAM,GAAAd,OAAW,CAAAU,QAAQ;IACzB,IAAAK,OAAM,GAAAf,OAAU,CAAAa,UAAQ;IACxB,OAAOC,QAAA,CAASH,UAAA,CAAWI,OAAA,GAAUd,GAAG,KAAKa,QAAA,KAAaC,OAAA;EAC5D;EAEA,SAASC,sBAAsBC,GAAA,EAAa;IAC1C,IAAAC,KAAO,GAAAC,SAAA,CAAAC,MAAkB,GAAK,KAAAD,SAAY,EAAK,WAAO,IAAQA,SAAA,GAAY,GAAE;MAAAE,MAAA,GAAAF,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MAAAG,WAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAC9E,yBAAAI,IAAA,CAAAC,SAAA;MAEAP,GAAO;MACLC,KAAM;MACNG,MAAA;MAEAC;IACE;EACA;EAAsB,OACxB;IAEAG,IAAA,EAAM,eAAc;IAClBC,OAAK,OAAG;IAERC,cAAMA,CAAAC,cAAmB,EAAI;MAC7BrB,SAAI,GAAAqB,cAAA,CAAArB,SAAA;MACJC,IAAI,GAAAoB,cAAA,CAAApB,IAAA;IAGJ;IACE,MAAAqB,SAAWA,CAAAC,EAAA,EAAAC,QAAQ;MACnB,KAAAD,EAAA,CAAAE,QAAa,CAAA5B,gBAAA;MACf,IAAA6B,OAAW,GAAAH,EAAA,CAAAI,KAAU,KAAA9B,gBAAA,CAAAgB,MAAA;MAEnB,IAAAV,QAAA;MACA,IAAAG,UAAA;MACF,IAAAoB,OAAO,CAAAtB,UAAA;QACLD,QAAA,GAAWV,OAAA,CAAQO,SAAM,EAAA0B,OAAO,CAAAC,KAAA;QAChCrB,UAAA,GAAaN,SAAA;MACf,WAAAwB,QAAA;QAGArB,QAAK,GAAAV,OAAA,CAAAF,OAAmB,CAAAiC,QAAU,CAAAI,OAAU,CAAA9B,cAAG,QAAA4B,OAAA;QAC7CpB,UAAQ,GAAKL,IAAA;MACb;QACFE,QAAA,GAAAV,OAAA,CAAAQ,IAAA,EAAAyB,OAAA;QAEApB,UAAK,GAAAL,IAAW;MACd;MACA,KAAAI,kBAAO,CAAAF,QAAA,EAAAG,UAAA;QACTuB,OAAA,CAAAC,IAAA,8CAAAJ,OAAA;QAEA,OAAO;MACT;MAEA,IAAM,CAAApC,UAAS,CAAAa,QAAA;QACb0B,OAAQ,CAAAC,IAAA,sCAAmC3B,QAAA;QAE3C,OAAM;MACN;MAGA,OAAKL,cAAa,GAAAK,QAAQ;IAE1B;IACA,MAAI4B,IAACA,CAAAR,EAAM;MACT,KAAAA,EAAA,CAAAnB,UAAO,CAAAN,cAAsB,CAAG;MAClC,IAAAK,QAAA,GAAAoB,EAAA,CAAAI,KAAA,CAAA7B,cAAA,CAAAe,MAAA;MAEA,IAAAH,GAAO,GAAAR,UAAA,CAAAC,QAAsB;MAC/B,KAAA6B,YAAA,CAAA7B,QAAA;MACF,IAAA8B,IAAA,SAAArC,gBAAA,CAAAO,QAAA;MACF,KAAA8B,IAAA","ignoreList":[]}
@@ -1,4 +1,9 @@
1
+ import { resolve } from "node:path";
1
2
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
+ const PROJECT_ROOT = resolve("/project");
4
+ const PUBLIC_DIR = resolve("/project/public");
5
+ const COMPONENTS_DIR = resolve("/project/src/components");
6
+ const HERO_FILE = resolve("/project/src/components/Hero.tsx");
2
7
  vi.mock("node:fs", async () => {
3
8
  const actual = await vi.importActual("node:fs");
4
9
  return {
@@ -8,6 +13,12 @@ vi.mock("node:fs", async () => {
8
13
  })
9
14
  };
10
15
  });
16
+ function mockConfig() {
17
+ return {
18
+ publicDir: PUBLIC_DIR,
19
+ root: PROJECT_ROOT
20
+ };
21
+ }
11
22
  describe("imageDataPlugin", () => {
12
23
  beforeEach(() => {
13
24
  vi.resetModules();
@@ -21,13 +32,9 @@ describe("imageDataPlugin", () => {
21
32
  imageDataPlugin
22
33
  } = await import("./imageDataPlugin.mjs");
23
34
  const plugin = imageDataPlugin();
24
- const mockConfig = {
25
- publicDir: "/project/public",
26
- root: "/project"
27
- };
28
35
  if (plugin.configResolved) {
29
36
  ;
30
- plugin.configResolved(mockConfig);
37
+ plugin.configResolved(mockConfig());
31
38
  }
32
39
  const result = await plugin.resolveId("./image.jpg", void 0);
33
40
  expect(result).toBeNull();
@@ -37,13 +44,9 @@ describe("imageDataPlugin", () => {
37
44
  imageDataPlugin
38
45
  } = await import("./imageDataPlugin.mjs");
39
46
  const plugin = imageDataPlugin();
40
- const mockConfig = {
41
- publicDir: "/project/public",
42
- root: "/project"
43
- };
44
47
  if (plugin.configResolved) {
45
48
  ;
46
- plugin.configResolved(mockConfig);
49
+ plugin.configResolved(mockConfig());
47
50
  }
48
51
  const result = await plugin.resolveId("./image?imagedata.jpg", void 0);
49
52
  expect(result).toBeNull();
@@ -53,45 +56,33 @@ describe("imageDataPlugin", () => {
53
56
  imageDataPlugin
54
57
  } = await import("./imageDataPlugin.mjs");
55
58
  const plugin = imageDataPlugin();
56
- const mockConfig = {
57
- publicDir: "/project/public",
58
- root: "/project"
59
- };
60
59
  if (plugin.configResolved) {
61
60
  ;
62
- plugin.configResolved(mockConfig);
61
+ plugin.configResolved(mockConfig());
63
62
  }
64
63
  const result = await plugin.resolveId("/test-image.jpg?imagedata", void 0);
65
- expect(result).toBe("\0imagedata:/project/public/test-image.jpg");
64
+ expect(result).toBe("\0imagedata:" + resolve(PUBLIC_DIR, "test-image.jpg"));
66
65
  });
67
66
  it("should resolve relative imports", async () => {
68
67
  const {
69
68
  imageDataPlugin
70
69
  } = await import("./imageDataPlugin.mjs");
71
70
  const plugin = imageDataPlugin();
72
- const mockConfig = {
73
- publicDir: "/project/public",
74
- root: "/project"
75
- };
76
71
  if (plugin.configResolved) {
77
72
  ;
78
- plugin.configResolved(mockConfig);
73
+ plugin.configResolved(mockConfig());
79
74
  }
80
- const result = await plugin.resolveId("./test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
81
- expect(result).toBe("\0imagedata:/project/src/components/test-image.jpg");
75
+ const result = await plugin.resolveId("./test-image.jpg?imagedata", HERO_FILE);
76
+ expect(result).toBe("\0imagedata:" + resolve(COMPONENTS_DIR, "test-image.jpg"));
82
77
  });
83
78
  it("should return null for non-existent files", async () => {
84
79
  const {
85
80
  imageDataPlugin
86
81
  } = await import("./imageDataPlugin.mjs");
87
82
  const plugin = imageDataPlugin();
88
- const mockConfig = {
89
- publicDir: "/project/public",
90
- root: "/project"
91
- };
92
83
  if (plugin.configResolved) {
93
84
  ;
94
- plugin.configResolved(mockConfig);
85
+ plugin.configResolved(mockConfig());
95
86
  }
96
87
  const result = await plugin.resolveId("/nonexistent.jpg?imagedata", void 0);
97
88
  expect(result).toBeNull();
@@ -103,13 +94,9 @@ describe("imageDataPlugin", () => {
103
94
  imageDataPlugin
104
95
  } = await import("./imageDataPlugin.mjs");
105
96
  const plugin = imageDataPlugin();
106
- const mockConfig = {
107
- publicDir: "/project/public",
108
- root: "/project"
109
- };
110
97
  if (plugin.configResolved) {
111
98
  ;
112
- plugin.configResolved(mockConfig);
99
+ plugin.configResolved(mockConfig());
113
100
  }
114
101
  const result = await plugin.resolveId("/../../../etc/passwd?imagedata", void 0);
115
102
  expect(result).toBeNull();
@@ -119,15 +106,11 @@ describe("imageDataPlugin", () => {
119
106
  imageDataPlugin
120
107
  } = await import("./imageDataPlugin.mjs");
121
108
  const plugin = imageDataPlugin();
122
- const mockConfig = {
123
- publicDir: "/project/public",
124
- root: "/project"
125
- };
126
109
  if (plugin.configResolved) {
127
110
  ;
128
- plugin.configResolved(mockConfig);
111
+ plugin.configResolved(mockConfig());
129
112
  }
130
- const result = await plugin.resolveId("../../../../etc/passwd?imagedata", "/project/src/components/Hero.tsx");
113
+ const result = await plugin.resolveId("../../../../etc/passwd?imagedata", HERO_FILE);
131
114
  expect(result).toBeNull();
132
115
  });
133
116
  it("should block path traversal from root", async () => {
@@ -135,13 +118,9 @@ describe("imageDataPlugin", () => {
135
118
  imageDataPlugin
136
119
  } = await import("./imageDataPlugin.mjs");
137
120
  const plugin = imageDataPlugin();
138
- const mockConfig = {
139
- publicDir: "/project/public",
140
- root: "/project"
141
- };
142
121
  if (plugin.configResolved) {
143
122
  ;
144
- plugin.configResolved(mockConfig);
123
+ plugin.configResolved(mockConfig());
145
124
  }
146
125
  const result = await plugin.resolveId("../../../etc/passwd?imagedata", void 0);
147
126
  expect(result).toBeNull();
@@ -151,16 +130,12 @@ describe("imageDataPlugin", () => {
151
130
  imageDataPlugin
152
131
  } = await import("./imageDataPlugin.mjs");
153
132
  const plugin = imageDataPlugin();
154
- const mockConfig = {
155
- publicDir: "/project/public",
156
- root: "/project"
157
- };
158
133
  if (plugin.configResolved) {
159
134
  ;
160
- plugin.configResolved(mockConfig);
135
+ plugin.configResolved(mockConfig());
161
136
  }
162
- const result = await plugin.resolveId("../../src/test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
163
- expect(result).toBe("\0imagedata:/project/src/test-image.jpg");
137
+ const result = await plugin.resolveId("../../src/test-image.jpg?imagedata", HERO_FILE);
138
+ expect(result).toBe("\0imagedata:" + resolve(PROJECT_ROOT, "src/test-image.jpg"));
164
139
  });
165
140
  });
166
141
  describe("load", () => {
@@ -169,13 +144,9 @@ describe("imageDataPlugin", () => {
169
144
  imageDataPlugin
170
145
  } = await import("./imageDataPlugin.mjs");
171
146
  const plugin = imageDataPlugin();
172
- const mockConfig = {
173
- publicDir: "/project/public",
174
- root: "/project"
175
- };
176
147
  if (plugin.configResolved) {
177
148
  ;
178
- plugin.configResolved(mockConfig);
149
+ plugin.configResolved(mockConfig());
179
150
  }
180
151
  const mockContext = {
181
152
  addWatchFile: vi.fn()
@@ -188,23 +159,20 @@ describe("imageDataPlugin", () => {
188
159
  imageDataPlugin
189
160
  } = await import("./imageDataPlugin.mjs");
190
161
  const plugin = imageDataPlugin();
191
- const mockConfig = {
192
- publicDir: "/project/public",
193
- root: "/project"
194
- };
195
162
  if (plugin.configResolved) {
196
163
  ;
197
- plugin.configResolved(mockConfig);
164
+ plugin.configResolved(mockConfig());
198
165
  }
199
166
  const mockContext = {
200
167
  addWatchFile: vi.fn()
201
168
  };
202
- const result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
169
+ const testFilePath = resolve(PUBLIC_DIR, "test-image.jpg");
170
+ const result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
203
171
  expect(result).toContain("export default");
204
172
  expect(result).toContain('"src":"/test-image.jpg"');
205
173
  expect(result).toContain('"width":');
206
174
  expect(result).toContain('"height":');
207
- expect(mockContext.addWatchFile).toHaveBeenCalledWith("/project/public/test-image.jpg");
175
+ expect(mockContext.addWatchFile).toHaveBeenCalledWith(testFilePath);
208
176
  });
209
177
  });
210
178
  describe("plugin metadata", () => {
@@ -231,18 +199,15 @@ describe("imageDataPlugin output format", () => {
231
199
  imageDataPlugin
232
200
  } = await import("./imageDataPlugin.mjs");
233
201
  const plugin = imageDataPlugin();
234
- const mockConfig = {
235
- publicDir: "/project/public",
236
- root: "/project"
237
- };
238
202
  if (plugin.configResolved) {
239
203
  ;
240
- plugin.configResolved(mockConfig);
204
+ plugin.configResolved(mockConfig());
241
205
  }
242
206
  const mockContext = {
243
207
  addWatchFile: vi.fn()
244
208
  };
245
- const result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
209
+ const testFilePath = resolve(PUBLIC_DIR, "test-image.jpg");
210
+ const result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
246
211
  const jsonMatch = result?.match(/export default (.+)$/);
247
212
  expect(jsonMatch).toBeTruthy();
248
213
  if (jsonMatch) {
@@ -1 +1 @@
1
- {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","mock","actual","importActual","existsSync","fn","path","includes","resetModules","clearAllMocks","imageDataPlugin","plugin","mockConfig","publicDir","root","configResolved","result","resolveId","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":"AAAA,SAASA,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAGhEA,EAAA,CAAGC,IAAA,CAAK,WAAW,YAAY;EAC7B,MAAMC,MAAA,GAAS,MAAMF,EAAA,CAAGG,YAAA,CAAa,SAAS;EAC9C,OAAO;IACL,GAAGD,MAAA;IACHE,UAAA,EAAYJ,EAAA,CAAGK,EAAA,CAAIC,IAAA,IAAiB;MAClC,OAAOA,IAAA,CAAKC,QAAA,CAAS,gBAAgB,KAAKD,IAAA,CAAKC,QAAA,CAAS,UAAU;IACpE,CAAC;EACH;AACF,CAAC;AAEDV,QAAA,CAAS,mBAAmB,MAAM;EAChCD,UAAA,CAAW,MAAM;IACfI,EAAA,CAAGQ,YAAA,CAAa;EAClB,CAAC;EAEDb,SAAA,CAAU,MAAM;IACdK,EAAA,CAAGS,aAAA,CAAc;EACnB,CAAC;EAEDZ,QAAA,CAAS,aAAa,MAAM;IAC1BE,EAAA,CAAG,gDAAgD,YAAY;MAC7D,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAAkB,eAAe,MAAS;MACvEnB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;IAEDnB,EAAA,CAAG,+DAA+D,YAAY;MAC5E,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAGA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAAkB,yBAAyB,MAAS;MACjFnB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;IAEDnB,EAAA,CAAG,mDAAmD,YAAY;MAChE,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,6BACA,MACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEG,IAAA,CAAK,4CAA4C;IAClE,CAAC;IAEDpB,EAAA,CAAG,mCAAmC,YAAY;MAChD,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,8BACA,kCACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEG,IAAA,CAAK,oDAAoD;IAC1E,CAAC;IAEDpB,EAAA,CAAG,6CAA6C,YAAY;MAC1D,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,8BACA,MACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;EACH,CAAC;EAEDrB,QAAA,CAAS,6BAA6B,MAAM;IAC1CE,EAAA,CAAG,+CAA+C,YAAY;MAC5D,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,kCACA,MACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;IAEDnB,EAAA,CAAG,qDAAqD,YAAY;MAClE,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,oCACA,kCACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;IAEDnB,EAAA,CAAG,yCAAyC,YAAY;MACtD,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,iCACA,MACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;IAEDnB,EAAA,CAAG,gDAAgD,YAAY;MAC7D,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAIA,MAAMI,MAAA,GAAS,MAAOL,MAAA,CAAOM,SAAA,CAC3B,sCACA,kCACF;MACAnB,MAAA,CAAOkB,MAAM,EAAEG,IAAA,CAAK,yCAAyC;IAC/D,CAAC;EACH,CAAC;EAEDtB,QAAA,CAAS,QAAQ,MAAM;IACrBE,EAAA,CAAG,8CAA8C,YAAY;MAC3D,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMQ,WAAA,GAAc;QAClBC,YAAA,EAAcrB,EAAA,CAAGK,EAAA,CAAG;MACtB;MAEA,MAAMW,MAAA,GAAS,MAAOL,MAAA,CAAOW,IAAA,CAAaC,IAAA,CAAKH,WAAA,EAAa,aAAa;MACzEtB,MAAA,CAAOkB,MAAM,EAAEE,QAAA,CAAS;IAC1B,CAAC;IAEDnB,EAAA,CAAG,gDAAgD,YAAY;MAC7D,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAE/B,MAAME,UAAA,GAAa;QACjBC,SAAA,EAAW;QACXC,IAAA,EAAM;MACR;MAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;QACzB;QAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;MAC5C;MAEA,MAAMQ,WAAA,GAAc;QAClBC,YAAA,EAAcrB,EAAA,CAAGK,EAAA,CAAG;MACtB;MAIA,MAAMW,MAAA,GAAS,MAAOL,MAAA,CAAOW,IAAA,CAAaC,IAAA,CACxCH,WAAA,EACA,4CACF;MAEAtB,MAAA,CAAOkB,MAAM,EAAEQ,SAAA,CAAU,gBAAgB;MACzC1B,MAAA,CAAOkB,MAAM,EAAEQ,SAAA,CAAU,yBAAyB;MAClD1B,MAAA,CAAOkB,MAAM,EAAEQ,SAAA,CAAU,UAAU;MACnC1B,MAAA,CAAOkB,MAAM,EAAEQ,SAAA,CAAU,WAAW;MACpC1B,MAAA,CAAOsB,WAAA,CAAYC,YAAY,EAAEI,oBAAA,CAC/B,gCACF;IACF,CAAC;EACH,CAAC;EAED5B,QAAA,CAAS,mBAAmB,MAAM;IAChCE,EAAA,CAAG,4BAA4B,YAAY;MACzC,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAC/BZ,MAAA,CAAOa,MAAA,CAAOe,IAAI,EAAEP,IAAA,CAAK,eAAe;IAC1C,CAAC;IAEDpB,EAAA,CAAG,sBAAsB,YAAY;MACnC,MAAM;QAAEW;MAAgB,IAAI,MAAM,OAAO,uBAAmB;MAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;MAC/BZ,MAAA,CAAOa,MAAA,CAAOgB,OAAO,EAAER,IAAA,CAAK,KAAK;IACnC,CAAC;EACH,CAAC;AACH,CAAC;AAEDtB,QAAA,CAAS,iCAAiC,MAAM;EAC9CE,EAAA,CAAG,qCAAqC,YAAY;IAClDC,EAAA,CAAGQ,YAAA,CAAa;IAEhB,MAAM;MAAEE;IAAgB,IAAI,MAAM,OAAO,uBAAmB;IAC5D,MAAMC,MAAA,GAASD,eAAA,CAAgB;IAE/B,MAAME,UAAA,GAAa;MACjBC,SAAA,EAAW;MACXC,IAAA,EAAM;IACR;IAEA,IAAIH,MAAA,CAAOI,cAAA,EAAgB;MACzB;MAAEJ,MAAA,CAAOI,cAAA,CAAuBH,UAAU;IAC5C;IAEA,MAAMQ,WAAA,GAAc;MAClBC,YAAA,EAAcrB,EAAA,CAAGK,EAAA,CAAG;IACtB;IAEA,MAAMW,MAAA,GAAS,MAAOL,MAAA,CAAOW,IAAA,CAAaC,IAAA,CACxCH,WAAA,EACA,4CACF;IAGA,MAAMQ,SAAA,GAAYZ,MAAA,EAAQa,KAAA,CAAM,sBAAsB;IACtD/B,MAAA,CAAO8B,SAAS,EAAEE,UAAA,CAAW;IAE7B,IAAIF,SAAA,EAAW;MACb,MAAMG,MAAA,GAASC,IAAA,CAAKC,KAAA,CAAML,SAAA,CAAU,CAAC,CAAC;MACtC9B,MAAA,CAAOiC,MAAM,EAAEG,cAAA,CAAe,KAAK;MACnCpC,MAAA,CAAOiC,MAAM,EAAEG,cAAA,CAAe,OAAO;MACrCpC,MAAA,CAAOiC,MAAM,EAAEG,cAAA,CAAe,QAAQ;MACtCpC,MAAA,CAAOiC,MAAM,EAAEG,cAAA,CAAe,aAAa;MAC3CpC,MAAA,CAAO,OAAOiC,MAAA,CAAOI,GAAG,EAAEhB,IAAA,CAAK,QAAQ;MACvCrB,MAAA,CAAO,OAAOiC,MAAA,CAAOK,KAAK,EAAEjB,IAAA,CAAK,QAAQ;MACzCrB,MAAA,CAAO,OAAOiC,MAAA,CAAOM,MAAM,EAAElB,IAAA,CAAK,QAAQ;MAC1CrB,MAAA,CAAO,OAAOiC,MAAA,CAAOO,WAAW,EAAEnB,IAAA,CAAK,QAAQ;IACjD;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["resolve","afterEach","beforeEach","describe","expect","it","vi","PROJECT_ROOT","PUBLIC_DIR","COMPONENTS_DIR","HERO_FILE","mock","actual","importActual","existsSync","fn","path","includes","mockConfig","publicDir","root","resetModules","clearAllMocks","imageDataPlugin","plugin","configResolved","result","resolveId","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":[]}
@@ -1,9 +1,14 @@
1
+ import { resolve } from "path";
1
2
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
3
  function _type_of(obj) {
3
4
  "@swc/helpers - typeof";
4
5
 
5
6
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
6
7
  }
8
+ var PROJECT_ROOT = resolve("/project");
9
+ var PUBLIC_DIR = resolve("/project/public");
10
+ var COMPONENTS_DIR = resolve("/project/src/components");
11
+ var HERO_FILE = resolve("/project/src/components/Hero.tsx");
7
12
  vi.mock("node:fs", async function () {
8
13
  var actual = await vi.importActual("node:fs");
9
14
  return {
@@ -13,6 +18,12 @@ vi.mock("node:fs", async function () {
13
18
  })
14
19
  };
15
20
  });
21
+ function mockConfig() {
22
+ return {
23
+ publicDir: PUBLIC_DIR,
24
+ root: PROJECT_ROOT
25
+ };
26
+ }
16
27
  describe("imageDataPlugin", function () {
17
28
  beforeEach(function () {
18
29
  vi.resetModules();
@@ -26,13 +37,9 @@ describe("imageDataPlugin", function () {
26
37
  imageDataPlugin
27
38
  } = await import("./imageDataPlugin.native.js");
28
39
  var plugin = imageDataPlugin();
29
- var mockConfig = {
30
- publicDir: "/project/public",
31
- root: "/project"
32
- };
33
40
  if (plugin.configResolved) {
34
41
  ;
35
- plugin.configResolved(mockConfig);
42
+ plugin.configResolved(mockConfig());
36
43
  }
37
44
  var result = await plugin.resolveId("./image.jpg", void 0);
38
45
  expect(result).toBeNull();
@@ -42,13 +49,9 @@ describe("imageDataPlugin", function () {
42
49
  imageDataPlugin
43
50
  } = await import("./imageDataPlugin.native.js");
44
51
  var plugin = imageDataPlugin();
45
- var mockConfig = {
46
- publicDir: "/project/public",
47
- root: "/project"
48
- };
49
52
  if (plugin.configResolved) {
50
53
  ;
51
- plugin.configResolved(mockConfig);
54
+ plugin.configResolved(mockConfig());
52
55
  }
53
56
  var result = await plugin.resolveId("./image?imagedata.jpg", void 0);
54
57
  expect(result).toBeNull();
@@ -58,45 +61,33 @@ describe("imageDataPlugin", function () {
58
61
  imageDataPlugin
59
62
  } = await import("./imageDataPlugin.native.js");
60
63
  var plugin = imageDataPlugin();
61
- var mockConfig = {
62
- publicDir: "/project/public",
63
- root: "/project"
64
- };
65
64
  if (plugin.configResolved) {
66
65
  ;
67
- plugin.configResolved(mockConfig);
66
+ plugin.configResolved(mockConfig());
68
67
  }
69
68
  var result = await plugin.resolveId("/test-image.jpg?imagedata", void 0);
70
- expect(result).toBe("\0imagedata:/project/public/test-image.jpg");
69
+ expect(result).toBe("\0imagedata:" + resolve(PUBLIC_DIR, "test-image.jpg"));
71
70
  });
72
71
  it("should resolve relative imports", async function () {
73
72
  var {
74
73
  imageDataPlugin
75
74
  } = await import("./imageDataPlugin.native.js");
76
75
  var plugin = imageDataPlugin();
77
- var mockConfig = {
78
- publicDir: "/project/public",
79
- root: "/project"
80
- };
81
76
  if (plugin.configResolved) {
82
77
  ;
83
- plugin.configResolved(mockConfig);
78
+ plugin.configResolved(mockConfig());
84
79
  }
85
- var result = await plugin.resolveId("./test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
86
- expect(result).toBe("\0imagedata:/project/src/components/test-image.jpg");
80
+ var result = await plugin.resolveId("./test-image.jpg?imagedata", HERO_FILE);
81
+ expect(result).toBe("\0imagedata:" + resolve(COMPONENTS_DIR, "test-image.jpg"));
87
82
  });
88
83
  it("should return null for non-existent files", async function () {
89
84
  var {
90
85
  imageDataPlugin
91
86
  } = await import("./imageDataPlugin.native.js");
92
87
  var plugin = imageDataPlugin();
93
- var mockConfig = {
94
- publicDir: "/project/public",
95
- root: "/project"
96
- };
97
88
  if (plugin.configResolved) {
98
89
  ;
99
- plugin.configResolved(mockConfig);
90
+ plugin.configResolved(mockConfig());
100
91
  }
101
92
  var result = await plugin.resolveId("/nonexistent.jpg?imagedata", void 0);
102
93
  expect(result).toBeNull();
@@ -108,13 +99,9 @@ describe("imageDataPlugin", function () {
108
99
  imageDataPlugin
109
100
  } = await import("./imageDataPlugin.native.js");
110
101
  var plugin = imageDataPlugin();
111
- var mockConfig = {
112
- publicDir: "/project/public",
113
- root: "/project"
114
- };
115
102
  if (plugin.configResolved) {
116
103
  ;
117
- plugin.configResolved(mockConfig);
104
+ plugin.configResolved(mockConfig());
118
105
  }
119
106
  var result = await plugin.resolveId("/../../../etc/passwd?imagedata", void 0);
120
107
  expect(result).toBeNull();
@@ -124,15 +111,11 @@ describe("imageDataPlugin", function () {
124
111
  imageDataPlugin
125
112
  } = await import("./imageDataPlugin.native.js");
126
113
  var plugin = imageDataPlugin();
127
- var mockConfig = {
128
- publicDir: "/project/public",
129
- root: "/project"
130
- };
131
114
  if (plugin.configResolved) {
132
115
  ;
133
- plugin.configResolved(mockConfig);
116
+ plugin.configResolved(mockConfig());
134
117
  }
135
- var result = await plugin.resolveId("../../../../etc/passwd?imagedata", "/project/src/components/Hero.tsx");
118
+ var result = await plugin.resolveId("../../../../etc/passwd?imagedata", HERO_FILE);
136
119
  expect(result).toBeNull();
137
120
  });
138
121
  it("should block path traversal from root", async function () {
@@ -140,13 +123,9 @@ describe("imageDataPlugin", function () {
140
123
  imageDataPlugin
141
124
  } = await import("./imageDataPlugin.native.js");
142
125
  var plugin = imageDataPlugin();
143
- var mockConfig = {
144
- publicDir: "/project/public",
145
- root: "/project"
146
- };
147
126
  if (plugin.configResolved) {
148
127
  ;
149
- plugin.configResolved(mockConfig);
128
+ plugin.configResolved(mockConfig());
150
129
  }
151
130
  var result = await plugin.resolveId("../../../etc/passwd?imagedata", void 0);
152
131
  expect(result).toBeNull();
@@ -156,16 +135,12 @@ describe("imageDataPlugin", function () {
156
135
  imageDataPlugin
157
136
  } = await import("./imageDataPlugin.native.js");
158
137
  var plugin = imageDataPlugin();
159
- var mockConfig = {
160
- publicDir: "/project/public",
161
- root: "/project"
162
- };
163
138
  if (plugin.configResolved) {
164
139
  ;
165
- plugin.configResolved(mockConfig);
140
+ plugin.configResolved(mockConfig());
166
141
  }
167
- var result = await plugin.resolveId("../../src/test-image.jpg?imagedata", "/project/src/components/Hero.tsx");
168
- expect(result).toBe("\0imagedata:/project/src/test-image.jpg");
142
+ var result = await plugin.resolveId("../../src/test-image.jpg?imagedata", HERO_FILE);
143
+ expect(result).toBe("\0imagedata:" + resolve(PROJECT_ROOT, "src/test-image.jpg"));
169
144
  });
170
145
  });
171
146
  describe("load", function () {
@@ -174,13 +149,9 @@ describe("imageDataPlugin", function () {
174
149
  imageDataPlugin
175
150
  } = await import("./imageDataPlugin.native.js");
176
151
  var plugin = imageDataPlugin();
177
- var mockConfig = {
178
- publicDir: "/project/public",
179
- root: "/project"
180
- };
181
152
  if (plugin.configResolved) {
182
153
  ;
183
- plugin.configResolved(mockConfig);
154
+ plugin.configResolved(mockConfig());
184
155
  }
185
156
  var mockContext = {
186
157
  addWatchFile: vi.fn()
@@ -193,23 +164,20 @@ describe("imageDataPlugin", function () {
193
164
  imageDataPlugin
194
165
  } = await import("./imageDataPlugin.native.js");
195
166
  var plugin = imageDataPlugin();
196
- var mockConfig = {
197
- publicDir: "/project/public",
198
- root: "/project"
199
- };
200
167
  if (plugin.configResolved) {
201
168
  ;
202
- plugin.configResolved(mockConfig);
169
+ plugin.configResolved(mockConfig());
203
170
  }
204
171
  var mockContext = {
205
172
  addWatchFile: vi.fn()
206
173
  };
207
- var result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
174
+ var testFilePath = resolve(PUBLIC_DIR, "test-image.jpg");
175
+ var result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
208
176
  expect(result).toContain("export default");
209
177
  expect(result).toContain('"src":"/test-image.jpg"');
210
178
  expect(result).toContain('"width":');
211
179
  expect(result).toContain('"height":');
212
- expect(mockContext.addWatchFile).toHaveBeenCalledWith("/project/public/test-image.jpg");
180
+ expect(mockContext.addWatchFile).toHaveBeenCalledWith(testFilePath);
213
181
  });
214
182
  });
215
183
  describe("plugin metadata", function () {
@@ -236,18 +204,15 @@ describe("imageDataPlugin output format", function () {
236
204
  imageDataPlugin
237
205
  } = await import("./imageDataPlugin.native.js");
238
206
  var plugin = imageDataPlugin();
239
- var mockConfig = {
240
- publicDir: "/project/public",
241
- root: "/project"
242
- };
243
207
  if (plugin.configResolved) {
244
208
  ;
245
- plugin.configResolved(mockConfig);
209
+ plugin.configResolved(mockConfig());
246
210
  }
247
211
  var mockContext = {
248
212
  addWatchFile: vi.fn()
249
213
  };
250
- var result = await plugin.load.call(mockContext, "\0imagedata:/project/public/test-image.jpg");
214
+ var testFilePath = resolve(PUBLIC_DIR, "test-image.jpg");
215
+ var result = await plugin.load.call(mockContext, "\0imagedata:" + testFilePath);
251
216
  var jsonMatch = result === null || result === void 0 ? void 0 : result.match(/export default (.+)$/);
252
217
  expect(jsonMatch).toBeTruthy();
253
218
  if (jsonMatch) {