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.
- package/dist/cjs/cli/build.cjs +98 -58
- package/dist/cjs/cli/build.native.js +106 -63
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +3 -3
- package/dist/cjs/cli/buildPage.native.js +3 -3
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/constants.cjs +2 -0
- package/dist/cjs/constants.native.js +2 -0
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createAPIRoute.native.js.map +1 -1
- package/dist/cjs/createApp.cjs +2 -6
- package/dist/cjs/createHandleRequest.cjs +2 -2
- package/dist/cjs/createHandleRequest.native.js +2 -2
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/hooks.cjs +5 -1
- package/dist/cjs/hooks.native.js +7 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +10 -7
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +13 -10
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.test.cjs +23 -0
- package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js +26 -0
- package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js.map +1 -0
- package/dist/cjs/router/Route.cjs +21 -1
- package/dist/cjs/router/Route.native.js +22 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/interceptRoutes.cjs +6 -6
- package/dist/cjs/router/interceptRoutes.native.js +6 -6
- package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
- package/dist/cjs/router/params.cjs +46 -0
- package/dist/cjs/router/params.native.js +70 -0
- package/dist/cjs/router/params.native.js.map +1 -0
- package/dist/cjs/router/useScreens.cjs +3 -0
- package/dist/cjs/router/useScreens.native.js +2 -0
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/serve-worker.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.cjs +6 -6
- package/dist/cjs/server/getServerManifest.native.js +6 -6
- package/dist/cjs/server/getServerManifest.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +9 -5
- package/dist/cjs/server/oneServe.native.js +9 -5
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/workerHandler.cjs +2 -2
- package/dist/cjs/server/workerHandler.native.js +2 -2
- package/dist/cjs/server/workerHandler.native.js.map +1 -1
- package/dist/cjs/skewProtection.cjs +48 -7
- package/dist/cjs/skewProtection.native.js +48 -7
- package/dist/cjs/skewProtection.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +67 -69
- package/dist/cjs/useLoader.native.js +113 -117
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/utils/dynamicImport.cjs +3 -1
- package/dist/cjs/utils/dynamicImport.native.js +22 -1
- package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
- package/dist/cjs/utils/toAbsolute.cjs +5 -2
- package/dist/cjs/utils/toAbsolute.native.js +6 -1
- package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
- package/dist/cjs/utils/workerImport.cjs +1 -1
- package/dist/cjs/utils/workerImport.native.js +1 -1
- package/dist/cjs/utils/workerImport.native.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.cjs +114 -117
- package/dist/cjs/views/RootErrorBoundary.native.js +126 -146
- package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/Try.cjs +17 -18
- package/dist/cjs/views/Try.native.js +28 -42
- package/dist/cjs/views/Try.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +2 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +2 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +26 -20
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +28 -20
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.cjs +3 -2
- package/dist/cjs/vite/plugins/imageDataPlugin.native.js +3 -2
- package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.test.cjs +34 -69
- package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js +34 -69
- package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +20 -2
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +23 -2
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.cjs +21 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js +28 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -0
- package/dist/cjs/vite/resolveResponse.cjs +7 -2
- package/dist/cjs/vite/resolveResponse.native.js +7 -2
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/esm/cli/build.mjs +100 -60
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +108 -65
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +4 -4
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +4 -4
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/constants.mjs +2 -1
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +2 -1
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createAPIRoute.mjs.map +1 -1
- package/dist/esm/createAPIRoute.native.js.map +1 -1
- package/dist/esm/createApp.mjs +2 -6
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createHandleRequest.mjs +2 -2
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +2 -2
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/hooks.mjs +5 -1
- package/dist/esm/hooks.mjs.map +1 -1
- package/dist/esm/hooks.native.js +7 -1
- package/dist/esm/hooks.native.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +9 -7
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +12 -10
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs +24 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs.map +1 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js +24 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js.map +1 -0
- package/dist/esm/router/Route.mjs +21 -1
- package/dist/esm/router/Route.mjs.map +1 -1
- package/dist/esm/router/Route.native.js +22 -1
- package/dist/esm/router/Route.native.js.map +1 -1
- package/dist/esm/router/interceptRoutes.mjs +7 -7
- package/dist/esm/router/interceptRoutes.mjs.map +1 -1
- package/dist/esm/router/interceptRoutes.native.js +7 -7
- package/dist/esm/router/interceptRoutes.native.js.map +1 -1
- package/dist/esm/router/params.mjs +21 -0
- package/dist/esm/router/params.mjs.map +1 -0
- package/dist/esm/router/params.native.js +42 -0
- package/dist/esm/router/params.native.js.map +1 -0
- package/dist/esm/router/useScreens.mjs +3 -0
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +2 -0
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/serve-worker.mjs.map +1 -1
- package/dist/esm/serve-worker.native.js.map +1 -1
- package/dist/esm/server/getServerManifest.mjs +6 -6
- package/dist/esm/server/getServerManifest.mjs.map +1 -1
- package/dist/esm/server/getServerManifest.native.js +6 -6
- package/dist/esm/server/getServerManifest.native.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +11 -7
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +11 -7
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/workerHandler.mjs +2 -2
- package/dist/esm/server/workerHandler.mjs.map +1 -1
- package/dist/esm/server/workerHandler.native.js +2 -2
- package/dist/esm/server/workerHandler.native.js.map +1 -1
- package/dist/esm/skewProtection.mjs +48 -8
- package/dist/esm/skewProtection.mjs.map +1 -1
- package/dist/esm/skewProtection.native.js +48 -8
- package/dist/esm/skewProtection.native.js.map +1 -1
- package/dist/esm/useLoader.mjs +64 -66
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +112 -116
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/dynamicImport.mjs +1 -1
- package/dist/esm/utils/dynamicImport.mjs.map +1 -1
- package/dist/esm/utils/dynamicImport.native.js +20 -1
- package/dist/esm/utils/dynamicImport.native.js.map +1 -1
- package/dist/esm/utils/toAbsolute.mjs +3 -1
- package/dist/esm/utils/toAbsolute.mjs.map +1 -1
- package/dist/esm/utils/toAbsolute.native.js +5 -1
- package/dist/esm/utils/toAbsolute.native.js.map +1 -1
- package/dist/esm/utils/workerImport.mjs +2 -2
- package/dist/esm/utils/workerImport.mjs.map +1 -1
- package/dist/esm/utils/workerImport.native.js +2 -2
- package/dist/esm/utils/workerImport.native.js.map +1 -1
- package/dist/esm/views/RootErrorBoundary.mjs +114 -117
- package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
- package/dist/esm/views/RootErrorBoundary.native.js +126 -146
- package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/esm/views/Try.mjs +17 -18
- package/dist/esm/views/Try.mjs.map +1 -1
- package/dist/esm/views/Try.native.js +28 -42
- package/dist/esm/views/Try.native.js.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +2 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +2 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +26 -20
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +28 -20
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.mjs +4 -3
- package/dist/esm/vite/plugins/imageDataPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.native.js +4 -3
- package/dist/esm/vite/plugins/imageDataPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.test.mjs +34 -69
- package/dist/esm/vite/plugins/imageDataPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.test.native.js +34 -69
- package/dist/esm/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +19 -3
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +22 -3
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs +22 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.mjs.map +1 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js +26 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -0
- package/dist/esm/vite/resolveResponse.mjs +7 -2
- package/dist/esm/vite/resolveResponse.mjs.map +1 -1
- package/dist/esm/vite/resolveResponse.native.js +7 -2
- package/dist/esm/vite/resolveResponse.native.js.map +1 -1
- package/expo-plugin.cjs +1 -0
- package/package.json +15 -10
- package/react-native-commands.cjs +1 -0
- package/src/cli/build.ts +156 -99
- package/src/cli/buildPage.ts +4 -4
- package/src/constants.ts +15 -0
- package/src/createAPIRoute.ts +35 -2
- package/src/createApp.tsx +2 -6
- package/src/createHandleRequest.ts +6 -2
- package/src/hooks.tsx +9 -1
- package/src/index.ts +8 -1
- package/src/metro-config/getViteMetroPluginOptions.test.ts +34 -0
- package/src/metro-config/getViteMetroPluginOptions.ts +14 -11
- package/src/router/Route.tsx +52 -2
- package/src/router/interceptRoutes.ts +7 -7
- package/src/router/params.ts +32 -0
- package/src/router/useScreens.tsx +18 -0
- package/src/serve-worker.ts +4 -2
- package/src/server/getServerManifest.ts +11 -7
- package/src/server/oneServe.ts +12 -14
- package/src/server/workerHandler.ts +13 -2
- package/src/skewProtection.ts +45 -5
- package/src/useLoader.ts +6 -4
- package/src/utils/dynamicImport.ts +2 -2
- package/src/utils/toAbsolute.ts +5 -0
- package/src/utils/workerImport.ts +2 -2
- package/src/views/RootErrorBoundary.tsx +18 -0
- package/src/views/Try.tsx +18 -0
- package/src/vite/plugins/criticalCSSPlugin.test.ts +34 -24
- package/src/vite/plugins/criticalCSSPlugin.ts +3 -2
- package/src/vite/plugins/imageDataPlugin.test.ts +39 -83
- package/src/vite/plugins/imageDataPlugin.ts +5 -4
- package/src/vite/plugins/sourceInspectorPlugin.test.ts +40 -0
- package/src/vite/plugins/sourceInspectorPlugin.ts +30 -2
- package/src/vite/resolveResponse.ts +6 -2
- package/types/cli/build.d.ts.map +1 -1
- package/types/constants.d.ts +9 -0
- package/types/constants.d.ts.map +1 -1
- package/types/createAPIRoute.d.ts +28 -3
- package/types/createAPIRoute.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +1 -1
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/headless-server.d.ts +1 -1
- package/types/hooks.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.d.ts +5 -0
- package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.test.d.ts +2 -0
- package/types/metro-config/getViteMetroPluginOptions.test.d.ts.map +1 -0
- package/types/router/Route.d.ts +1 -0
- package/types/router/Route.d.ts.map +1 -1
- package/types/router/params.d.ts +3 -0
- package/types/router/params.d.ts.map +1 -0
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/serve-worker.d.ts +5 -3
- package/types/serve-worker.d.ts.map +1 -1
- package/types/server/getServerManifest.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/server/workerHandler.d.ts +1 -1
- package/types/server/workerHandler.d.ts.map +1 -1
- package/types/skewProtection.d.ts +1 -0
- package/types/skewProtection.d.ts.map +1 -1
- package/types/useLoader.d.ts.map +1 -1
- package/types/utils/dynamicImport.d.ts +2 -0
- package/types/utils/dynamicImport.d.ts.map +1 -1
- package/types/utils/toAbsolute.d.ts +3 -0
- package/types/utils/toAbsolute.d.ts.map +1 -1
- package/types/views/RootErrorBoundary.d.ts.map +1 -1
- package/types/views/Try.d.ts.map +1 -1
- package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -1
- package/types/vite/plugins/imageDataPlugin.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.d.ts +2 -0
- package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.test.d.ts +2 -0
- package/types/vite/plugins/sourceInspectorPlugin.test.d.ts.map +1 -0
- package/types/vite/resolveResponse.d.ts +1 -1
- 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 +
|
|
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 +
|
|
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":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,uBAAA;AAAAC,QAAA,CAAAD,uBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAA2B,CAAAK,uBAAA;AAC3B,IAAAK,SAAA,GAAAC,
|
|
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
|
|
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",
|
|
105
|
-
(0, import_vitest.expect)(result).toBe("\0imagedata
|
|
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",
|
|
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",
|
|
187
|
-
(0, import_vitest.expect)(result).toBe("\0imagedata
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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",
|
|
112
|
-
(0, import_vitest.expect)(result).toBe("\0imagedata
|
|
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",
|
|
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",
|
|
194
|
-
(0, import_vitest.expect)(result).toBe("\0imagedata
|
|
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
|
|
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(
|
|
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
|
|
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":["
|
|
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":[]}
|