@farming-labs/farmjs 0.2.92 → 0.2.95

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/README.md CHANGED
@@ -26,8 +26,9 @@ export default withDocs(
26
26
  ```
27
27
 
28
28
  Farm discovers `docs.config.ts` from the application root. The wrapper writes
29
- Farm's native `docs` configuration and leaves routing, development middleware,
30
- and production output to `@farm.js/core`. A different path can
29
+ an adapter runtime descriptor into Farm's `docs` configuration. Farm uses that
30
+ versioned contract to load page rendering, server behavior, and MDX integration
31
+ from `@farming-labs/farmjs` without selecting a docs theme itself. A different path can
31
32
  be provided explicitly:
32
33
 
33
34
  ```ts
@@ -36,6 +37,21 @@ export default withDocs(defineConfig({}), {
36
37
  });
37
38
  ```
38
39
 
40
+ Import the selected theme from the application-owned global stylesheet. This
41
+ also gives the application a normal place for project-specific overrides:
42
+
43
+ ```css
44
+ /* src/app/globals.css */
45
+ @import "@farming-labs/theme/pixel-border/css";
46
+
47
+ :root {
48
+ --color-fd-primary: #8b5cf6;
49
+ }
50
+ ```
51
+
52
+ The theme factory in `docs.config.ts` and the CSS entrypoint must describe the
53
+ same theme.
54
+
39
55
  ## Server wrapper
40
56
 
41
57
  `withDocs()` is the normal integration. The lower-level server wrapper is
package/dist/config.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  import type { DocsConfig } from "@farming-labs/docs";
2
+ import { type FarmDocsRuntimeAdapter } from "./runtime.js";
2
3
  export interface FarmDocsCoreConfig extends Partial<DocsConfig> {
3
4
  enabled?: boolean;
4
5
  configPath?: string;
5
6
  config?: Partial<DocsConfig>;
7
+ /** Runtime entrypoints owned by the official Farm adapter. */
8
+ adapter?: FarmDocsRuntimeAdapter;
6
9
  }
7
10
  export interface FarmDocsAdapterOptions {
8
11
  /** Enable the docs runtime. Defaults to true when withDocs is used. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IACvF,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAOF;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,SAAS,cAAc,EACrD,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,sBAA2B,GACnC,kBAAkB,CAAC,OAAO,CAAC,CAoB7B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IACvF,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAOF;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,SAAS,cAAc,EACrD,UAAU,EAAE,OAAO,EACnB,OAAO,GAAE,sBAA2B,GACnC,kBAAkB,CAAC,OAAO,CAAC,CAqB7B"}
package/dist/config.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { farmDocsRuntimeAdapter } from "./runtime.js";
1
2
  function normalizeExistingDocs(value) {
2
3
  if (!value || value === true)
3
4
  return {};
@@ -18,6 +19,7 @@ export function withDocs(farmConfig, options = {}) {
18
19
  docs: {
19
20
  ...existing,
20
21
  enabled,
22
+ adapter: farmDocsRuntimeAdapter,
21
23
  ...(options.configPath ? { configPath: options.configPath } : {}),
22
24
  ...(options.config
23
25
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA0BA,SAAS,qBAAqB,CAAC,KAA6B;IAC1D,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,UAAmB,EACnB,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAExC,OAAO;QACL,GAAG,UAAU;QACb,IAAI,EAAE;YACJ,GAAG,QAAQ;YACX,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAChB,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,GAAG,QAAQ,CAAC,MAAM;wBAClB,GAAG,OAAO,CAAC,MAAM;qBAClB;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAA+B,MAAM,cAAc,CAAC;AA4BnF,SAAS,qBAAqB,CAAC,KAA6B;IAC1D,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,UAAmB,EACnB,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAExC,OAAO;QACL,GAAG,UAAU;QACb,IAAI,EAAE;YACJ,GAAG,QAAQ;YACX,OAAO;YACP,OAAO,EAAE,sBAAsB;YAC/B,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAChB,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,GAAG,QAAQ,CAAC,MAAM;wBAClB,GAAG,OAAO,CAAC,MAAM;qBAClB;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,5 +3,6 @@ export { loadDocsContent, loadDocsNavTree, flattenNavTree, type ContentPage, typ
3
3
  export { createDocsServer, type DocsServer, type DocsServerLoadResult } from "./server.js";
4
4
  export { FarmDocsPage } from "./react.js";
5
5
  export { docsMdx } from "./vite.js";
6
+ export { FARM_DOCS_ADAPTER_ID, FARM_DOCS_ADAPTER_PROTOCOL, farmDocsRuntimeAdapter, type FarmDocsRuntimeAdapter, } from "./runtime.js";
6
7
  export { createFarmjsApiReference } from "./api-reference.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -3,5 +3,6 @@ export { loadDocsContent, loadDocsNavTree, flattenNavTree, } from "./content.js"
3
3
  export { createDocsServer } from "./server.js";
4
4
  export { FarmDocsPage } from "./react.js";
5
5
  export { docsMdx } from "./vite.js";
6
+ export { FARM_DOCS_ADAPTER_ID, FARM_DOCS_ADAPTER_PROTOCOL, farmDocsRuntimeAdapter, } from "./runtime.js";
6
7
  export { createFarmjsApiReference } from "./api-reference.js";
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GAKT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,GAMf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAA8C,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GAKT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,GAMf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAA8C,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,GAEvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Stable identifier used by Farm core to discover the official docs runtime. */
2
+ export declare const FARM_DOCS_ADAPTER_ID: "@farming-labs/farmjs";
3
+ /**
4
+ * Versioned boundary between Farm core and the official adapter.
5
+ *
6
+ * Increment this only when Farm must change how it loads an adapter entrypoint.
7
+ */
8
+ export declare const FARM_DOCS_ADAPTER_PROTOCOL: 1;
9
+ export interface FarmDocsRuntimeAdapter {
10
+ id: typeof FARM_DOCS_ADAPTER_ID;
11
+ protocol: typeof FARM_DOCS_ADAPTER_PROTOCOL;
12
+ server: "@farming-labs/farmjs/server";
13
+ react: "@farming-labs/farmjs/react";
14
+ vite: "@farming-labs/farmjs/vite";
15
+ }
16
+ /** Serializable runtime descriptor placed in Farm's resolved docs config. */
17
+ export declare const farmDocsRuntimeAdapter: FarmDocsRuntimeAdapter;
18
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAG,sBAA+B,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,oBAAoB,CAAC;IAChC,QAAQ,EAAE,OAAO,0BAA0B,CAAC;IAC5C,MAAM,EAAE,6BAA6B,CAAC;IACtC,KAAK,EAAE,4BAA4B,CAAC;IACpC,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,EAAE,sBAMnC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** Stable identifier used by Farm core to discover the official docs runtime. */
2
+ export const FARM_DOCS_ADAPTER_ID = "@farming-labs/farmjs";
3
+ /**
4
+ * Versioned boundary between Farm core and the official adapter.
5
+ *
6
+ * Increment this only when Farm must change how it loads an adapter entrypoint.
7
+ */
8
+ export const FARM_DOCS_ADAPTER_PROTOCOL = 1;
9
+ /** Serializable runtime descriptor placed in Farm's resolved docs config. */
10
+ export const farmDocsRuntimeAdapter = Object.freeze({
11
+ id: FARM_DOCS_ADAPTER_ID,
12
+ protocol: FARM_DOCS_ADAPTER_PROTOCOL,
13
+ server: "@farming-labs/farmjs/server",
14
+ react: "@farming-labs/farmjs/react",
15
+ vite: "@farming-labs/farmjs/vite",
16
+ });
17
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAA+B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AAUrD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAA2B,MAAM,CAAC,MAAM,CAAC;IAC1E,EAAE,EAAE,oBAAoB;IACxB,QAAQ,EAAE,0BAA0B;IACpC,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,4BAA4B;IACnC,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/farmjs",
3
- "version": "0.2.92",
3
+ "version": "0.2.95",
4
4
  "description": "Farm.js adapter for @farming-labs/docs",
5
5
  "keywords": [
6
6
  "docs",
@@ -52,6 +52,11 @@
52
52
  "types": "./dist/vite.d.ts",
53
53
  "import": "./dist/vite.js",
54
54
  "default": "./dist/vite.js"
55
+ },
56
+ "./runtime": {
57
+ "types": "./dist/runtime.d.ts",
58
+ "import": "./dist/runtime.js",
59
+ "default": "./dist/runtime.js"
55
60
  }
56
61
  },
57
62
  "dependencies": {
@@ -72,8 +77,8 @@
72
77
  "typescript": "^5.9.3",
73
78
  "vite": "^7.3.5",
74
79
  "vitest": "^4.1.8",
75
- "@farming-labs/docs": "0.2.93",
76
- "@farming-labs/theme": "0.2.93"
80
+ "@farming-labs/docs": "0.2.95",
81
+ "@farming-labs/theme": "0.2.95"
77
82
  },
78
83
  "peerDependencies": {
79
84
  "@farm.js/core": "^0.1.0-beta.19",