@farm.js/core 0.1.0-beta.51 → 0.1.0-beta.52
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/{chunk-HSHA3H3U.mjs → chunk-3E2WRUR2.mjs} +15 -1
- package/dist/chunk-3E2WRUR2.mjs.map +1 -0
- package/dist/{chunk-235ZOXDY.mjs → chunk-BTFOMBWK.mjs} +2 -2
- package/dist/{chunk-QCSOE6HT.mjs → chunk-JK6YAQ3E.mjs} +52 -9
- package/dist/chunk-JK6YAQ3E.mjs.map +1 -0
- package/dist/{chunk-ZAW3D2TI.mjs → chunk-M2DI67UZ.mjs} +2 -2
- package/dist/{chunk-7XJV5RZO.mjs → chunk-TW74WBSB.mjs} +2 -2
- package/dist/{chunk-7XJV5RZO.mjs.map → chunk-TW74WBSB.mjs.map} +1 -1
- package/dist/{chunk-FRN7PNL4.mjs → chunk-XMUPYG2D.mjs} +2 -2
- package/dist/client/lifecycle.mjs +2 -2
- package/dist/client-plugins.cjs +1 -1
- package/dist/client-plugins.cjs.map +1 -1
- package/dist/client-plugins.mjs +2 -2
- package/dist/client.cjs +15 -1
- package/dist/client.cjs.map +1 -1
- package/dist/client.mjs +4 -4
- package/dist/index.cjs +72 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +6 -6
- package/dist/internal/build-runtime.cjs +58 -8
- package/dist/internal/build-runtime.cjs.map +1 -1
- package/dist/internal/build-runtime.mjs +3 -3
- package/dist/internal/client-runtime.cjs +1 -1
- package/dist/internal/client-runtime.cjs.map +1 -1
- package/dist/internal/client-runtime.mjs +2 -2
- package/dist/plugin.cjs +51 -8
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.mjs +2 -2
- package/dist/renderer-client.cjs +14 -0
- package/dist/renderer-client.cjs.map +1 -1
- package/dist/renderer-client.mjs +1 -1
- package/dist/server-query-client.cjs +14 -0
- package/dist/server-query-client.cjs.map +1 -1
- package/dist/server-query-client.mjs +2 -2
- package/dist/server.cjs +51 -8
- package/dist/server.cjs.map +1 -1
- package/dist/server.mjs +2 -2
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +51 -8
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-HSHA3H3U.mjs.map +0 -1
- package/dist/chunk-QCSOE6HT.mjs.map +0 -1
- /package/dist/{chunk-235ZOXDY.mjs.map → chunk-BTFOMBWK.mjs.map} +0 -0
- /package/dist/{chunk-ZAW3D2TI.mjs.map → chunk-M2DI67UZ.mjs.map} +0 -0
- /package/dist/{chunk-FRN7PNL4.mjs.map → chunk-XMUPYG2D.mjs.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createClientPluginManager,
|
|
3
3
|
installChunkErrorRecovery
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-XMUPYG2D.mjs";
|
|
5
5
|
import {
|
|
6
6
|
searchParamsToObject
|
|
7
7
|
} from "../chunk-4DCGM2BW.mjs";
|
|
8
8
|
import "../chunk-FXG2PS27.mjs";
|
|
9
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-TW74WBSB.mjs";
|
|
10
10
|
import {
|
|
11
11
|
__name
|
|
12
12
|
} from "../chunk-CGILA3WO.mjs";
|
package/dist/plugin.cjs
CHANGED
|
@@ -19037,7 +19037,7 @@ _setFarmThemeServerSnapshotResolver(() => {
|
|
|
19037
19037
|
});
|
|
19038
19038
|
|
|
19039
19039
|
// package.json
|
|
19040
|
-
var version = "0.1.0-beta.
|
|
19040
|
+
var version = "0.1.0-beta.52";
|
|
19041
19041
|
|
|
19042
19042
|
// src/version.ts
|
|
19043
19043
|
var FARM_VERSION = version;
|
|
@@ -23641,6 +23641,14 @@ __name(_withAfterNodeMiddleware, "_withAfterNodeMiddleware");
|
|
|
23641
23641
|
// src/dev-static.ts
|
|
23642
23642
|
var fs9 = __toESM(require("fs"));
|
|
23643
23643
|
var path20 = __toESM(require("path"));
|
|
23644
|
+
function shouldBypassFarmRouterForDottedPath(pathname, routeManager, baseDirs) {
|
|
23645
|
+
if (!pathname.includes(".") || pathname.endsWith(".html")) return false;
|
|
23646
|
+
const matchesAppRoute = Boolean(
|
|
23647
|
+
routeManager?.matchRoute(pathname)?.route || routeManager?.matchMetadataRoute(pathname) || routeManager?.matchMetadataImage(pathname)
|
|
23648
|
+
);
|
|
23649
|
+
return !matchesAppRoute || devServableFileExists(pathname, baseDirs);
|
|
23650
|
+
}
|
|
23651
|
+
__name(shouldBypassFarmRouterForDottedPath, "shouldBypassFarmRouterForDottedPath");
|
|
23644
23652
|
function devServableFileExists(pathname, baseDirs) {
|
|
23645
23653
|
let decodedPathname;
|
|
23646
23654
|
try {
|
|
@@ -23666,6 +23674,34 @@ function devServableFileExists(pathname, baseDirs) {
|
|
|
23666
23674
|
}
|
|
23667
23675
|
__name(devServableFileExists, "devServableFileExists");
|
|
23668
23676
|
|
|
23677
|
+
// src/server-query-boundary.ts
|
|
23678
|
+
var SERVER_FN_FACTORIES = ["createServerQuery", "createServerFn"];
|
|
23679
|
+
var FARM_CORE_IMPORT_RE = /import\s*(?!type\b)(?:[\w$]+\s*,\s*)?\{([^}]*)\}\s*from\s*(["'])@farm\.js\/core(?:\/[\w./-]+)?\2/g;
|
|
23680
|
+
function findClientServerFnViolation(code, id) {
|
|
23681
|
+
if (id.startsWith("\0") || id.startsWith("virtual:") || id.includes("node_modules")) return null;
|
|
23682
|
+
if (!code.includes("@farm.js/core")) return null;
|
|
23683
|
+
for (const match of code.matchAll(FARM_CORE_IMPORT_RE)) {
|
|
23684
|
+
const specifiers = match[1];
|
|
23685
|
+
for (const factory of SERVER_FN_FACTORIES) {
|
|
23686
|
+
if (!new RegExp(`(?:^|[\\s{,])${factory}(?:[\\s},]|$)`).test(specifiers)) continue;
|
|
23687
|
+
if (new RegExp(`(?<![\\w$.])${factory}\\s*(?:<[^>]*>)?\\s*\\(`).test(code)) {
|
|
23688
|
+
return { factory };
|
|
23689
|
+
}
|
|
23690
|
+
}
|
|
23691
|
+
}
|
|
23692
|
+
return null;
|
|
23693
|
+
}
|
|
23694
|
+
__name(findClientServerFnViolation, "findClientServerFnViolation");
|
|
23695
|
+
function formatServerFnBoundaryError(violation, id) {
|
|
23696
|
+
return [
|
|
23697
|
+
`${violation.factory} handlers run only on the server, but ${id} is being bundled into the client.`,
|
|
23698
|
+
`Importing a ${violation.factory} module from client code executes the server handler (and its Node-only imports) in the browser.`,
|
|
23699
|
+
`Either enable the server-function transform (add @farm.js/plugin/rsc and set experimental.serverActions: true in farm.config.ts) so client imports become server references,`,
|
|
23700
|
+
`or keep the query on the server: call it from server components, or expose an API route and use createAPIClient from the client.`
|
|
23701
|
+
].join("\n");
|
|
23702
|
+
}
|
|
23703
|
+
__name(formatServerFnBoundaryError, "formatServerFnBoundaryError");
|
|
23704
|
+
|
|
23669
23705
|
// src/vite.ts
|
|
23670
23706
|
init_deployment();
|
|
23671
23707
|
init_image_config();
|
|
@@ -25081,13 +25117,11 @@ window.__FARM_MANIFEST__ = ${inlineValue({
|
|
|
25081
25117
|
if (req.url?.startsWith("/@") || req.url?.startsWith("/node_modules")) {
|
|
25082
25118
|
return next();
|
|
25083
25119
|
}
|
|
25084
|
-
if (requestPathname
|
|
25085
|
-
|
|
25086
|
-
|
|
25087
|
-
|
|
25088
|
-
|
|
25089
|
-
return next();
|
|
25090
|
-
}
|
|
25120
|
+
if (shouldBypassFarmRouterForDottedPath(requestPathname, farmApp?.getRouteManager(), [
|
|
25121
|
+
server.config.publicDir,
|
|
25122
|
+
server.config.root
|
|
25123
|
+
])) {
|
|
25124
|
+
return next();
|
|
25091
25125
|
}
|
|
25092
25126
|
if (req.url?.startsWith("/__farm/page-data")) {
|
|
25093
25127
|
const urlObj = new URL(req.url, `http://${req.headers.host || "localhost:3000"}`);
|
|
@@ -25741,6 +25775,15 @@ export const manifest = getManifest();
|
|
|
25741
25775
|
}
|
|
25742
25776
|
},
|
|
25743
25777
|
async transform(code, id, transformOptions) {
|
|
25778
|
+
if (!transformOptions?.ssr) {
|
|
25779
|
+
const currentConfig = farmApp?.getConfig() ?? options;
|
|
25780
|
+
if (currentConfig.experimental?.serverActions !== true) {
|
|
25781
|
+
const violation = findClientServerFnViolation(code, id);
|
|
25782
|
+
if (violation) {
|
|
25783
|
+
this.error(formatServerFnBoundaryError(violation, id));
|
|
25784
|
+
}
|
|
25785
|
+
}
|
|
25786
|
+
}
|
|
25744
25787
|
if (typeof imageImports.transform === "function") {
|
|
25745
25788
|
const imageModule = await imageImports.transform.call(this, code, id, transformOptions);
|
|
25746
25789
|
if (imageModule) return imageModule;
|