@moku-labs/web 2.4.3 → 2.4.5

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
@@ -34,11 +34,11 @@ Built on the [@moku-labs/core](https://github.com/moku-labs/core) micro-kernel
34
34
  ---
35
35
 
36
36
  ```sh
37
- bun add @moku-labs/web preact preact-render-to-string
37
+ bun add @moku-labs/web @moku-labs/core @moku-labs/common preact preact-render-to-string
38
38
  ```
39
39
 
40
40
  > [!NOTE]
41
- > `preact` (and `preact-render-to-string`, used by the SSG build) are **peer dependencies** — your app compiles its JSX against the same single `preact` instance the framework renders with. Most package managers install peers automatically, but declare them explicitly so *you* own the version: a second nested copy of preact silently breaks hooks and island hydration.
41
+ > `@moku-labs/core` (`^1.7.1`), `@moku-labs/common` (`^0.3.4`), `preact` and `preact-render-to-string` (used by the SSG build) are **peer dependencies** — your app compiles its JSX against the same single `preact` instance the framework renders with, and shares one `core`/`common` instance with the rest of the Moku family. Most package managers install peers automatically, but declare them explicitly so *you* own the version: a second nested copy of preact silently breaks hooks and island hydration. `mermaid-isomorphic` is an **optional** peer, needed only for build-time Mermaid diagrams in `content` (see its [README](src/plugins/content/README.md#mermaid-diagrams)).
42
42
 
43
43
  > [!NOTE]
44
44
  > **Status: `1.x` — stable.** The architecture and public API are stable and follow [semver](https://semver.org) — breaking changes land only in a new major. The npm badge above tracks the current release.
@@ -262,6 +262,7 @@ Each plugin is small, single-purpose, and documented on its own. **Click a name
262
262
  | [`deploy`](src/plugins/deploy/README.md) | node-only | Cloudflare Pages: `wrangler.jsonc` scaffolding, secret scrubbing, deploy |
263
263
  | [`cli`](src/plugins/cli/README.md) | node-only | Developer CLI — `build` / `serve` / `preview` / `deploy` with the animated Velocity Panel UI (lockup + version banner, live phase tree, boxed panels, live pulse) |
264
264
  | [`data`](src/plugins/data/README.md) | optional provider | Agnostic `page path → JSON` contract: `write()` on Node, `at()` in the browser, for DATA nav |
265
+ | [`collection`](src/plugins/collection/README.md) | optional provider | Agnostic `(collection, shard) → JSON` contract: `write()` on Node, `at()` in the browser, for on-demand collection reads |
265
266
  | [`env`](src/plugins/env/README.md) | core | Multi-provider environment / secret injection, validated and frozen at `onInit` |
266
267
  | [`log`](src/plugins/log/README.md) | core | Structured logging + an in-memory trace with an `expect()` DSL for testable workflows |
267
268
 
@@ -2802,7 +2802,7 @@ declare const createApp: <const ExtraPlugins extends readonly import("@moku-labs
2802
2802
  name: string;
2803
2803
  el: Element;
2804
2804
  };
2805
- }> & Record<never, never>) | ExtraPlugins[number], [...ExtraPlugins], import("@moku-labs/core").CoreApisFromTuple<[import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi>, import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>]>> | undefined) => import("@moku-labs/core").App<Config$5, Events, (import("@moku-labs/core").PluginInstance<"site", Config$4, Record<string, never>, Api$4, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"i18n", Config$3, Record<string, never>, Api$3, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"router", RouterConfig, RouterState, RouterApi, {}> & {
2805
+ }> & Record<never, never>) | ExtraPlugins[number], [...ExtraPlugins], import("@moku-labs/core").CoreApisFromTuple<[import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi>, import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>]>, import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi> | import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>> | undefined) => import("@moku-labs/core").App<Config$5, Events, (import("@moku-labs/core").PluginInstance<"site", Config$4, Record<string, never>, Api$4, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"i18n", Config$3, Record<string, never>, Api$3, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"router", RouterConfig, RouterState, RouterApi, {}> & {
2806
2806
  route: typeof route;
2807
2807
  defineRoutes: typeof defineRoutes;
2808
2808
  createUrls: typeof createUrls;
package/dist/index.d.cts CHANGED
@@ -4160,7 +4160,7 @@ declare const createApp: <const ExtraPlugins extends readonly import("@moku-labs
4160
4160
  name: string;
4161
4161
  el: Element;
4162
4162
  };
4163
- }> & Record<never, never>) | ExtraPlugins[number], [...ExtraPlugins], import("@moku-labs/core").CoreApisFromTuple<[import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi>, import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>]>> | undefined) => import("@moku-labs/core").App<Config$8, Events, (import("@moku-labs/core").PluginInstance<"site", Config$7, Record<string, never>, Api$7, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"i18n", Config$6, Record<string, never>, Api$6, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"router", RouterConfig, RouterState, RouterApi, {}> & {
4163
+ }> & Record<never, never>) | ExtraPlugins[number], [...ExtraPlugins], import("@moku-labs/core").CoreApisFromTuple<[import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi>, import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>]>, import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi> | import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>> | undefined) => import("@moku-labs/core").App<Config$8, Events, (import("@moku-labs/core").PluginInstance<"site", Config$7, Record<string, never>, Api$7, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"i18n", Config$6, Record<string, never>, Api$6, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"router", RouterConfig, RouterState, RouterApi, {}> & {
4164
4164
  route: typeof route;
4165
4165
  defineRoutes: typeof defineRoutes;
4166
4166
  createUrls: typeof createUrls;
package/dist/index.d.mts CHANGED
@@ -4158,7 +4158,7 @@ declare const createApp: <const ExtraPlugins extends readonly import("@moku-labs
4158
4158
  name: string;
4159
4159
  el: Element;
4160
4160
  };
4161
- }> & Record<never, never>) | ExtraPlugins[number], [...ExtraPlugins], import("@moku-labs/core").CoreApisFromTuple<[import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi>, import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>]>> | undefined) => import("@moku-labs/core").App<Config$8, Events, (import("@moku-labs/core").PluginInstance<"site", Config$7, Record<string, never>, Api$7, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"i18n", Config$6, Record<string, never>, Api$6, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"router", RouterConfig, RouterState, RouterApi, {}> & {
4161
+ }> & Record<never, never>) | ExtraPlugins[number], [...ExtraPlugins], import("@moku-labs/core").CoreApisFromTuple<[import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi>, import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>]>, import("@moku-labs/core").CorePluginInstance<"log", import("@moku-labs/common").LogConfig, import("@moku-labs/common").LogState, import("@moku-labs/common").LogApi> | import("@moku-labs/core").CorePluginInstance<"env", import("@moku-labs/common").EnvConfig, import("@moku-labs/common").EnvState, import("@moku-labs/common").EnvApi>> | undefined) => import("@moku-labs/core").App<Config$8, Events, (import("@moku-labs/core").PluginInstance<"site", Config$7, Record<string, never>, Api$7, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"i18n", Config$6, Record<string, never>, Api$6, {}> & Record<never, never>) | (import("@moku-labs/core").PluginInstance<"router", RouterConfig, RouterState, RouterApi, {}> & {
4162
4162
  route: typeof route;
4163
4163
  defineRoutes: typeof defineRoutes;
4164
4164
  createUrls: typeof createUrls;
package/package.json CHANGED
@@ -64,8 +64,6 @@
64
64
  "bun": ">=1.3.14"
65
65
  },
66
66
  "dependencies": {
67
- "@moku-labs/common": "0.3.2",
68
- "@moku-labs/core": "1.6.0",
69
67
  "@resvg/resvg-js": "2.6.2",
70
68
  "@shikijs/rehype": "3.22.0",
71
69
  "feed": "5.2.0",
@@ -87,10 +85,30 @@
87
85
  "unist-util-visit": "5.1.0"
88
86
  },
89
87
  "peerDependencies": {
88
+ "@moku-labs/common": "^0.3.4",
89
+ "@moku-labs/core": "^1.7.1",
90
90
  "mermaid-isomorphic": "^3.0.0",
91
91
  "preact": "^10.29.2",
92
92
  "preact-render-to-string": "^6.6.0"
93
93
  },
94
+ "scripts": {
95
+ "build": "tsdown",
96
+ "validate": "publint",
97
+ "check:bundle": "bun scripts/verify-browser-bundle.ts",
98
+ "lint": "biome check . && eslint .",
99
+ "lint:fix": "biome check --write . && eslint --fix .",
100
+ "format": "biome format --write .",
101
+ "test": "vitest run",
102
+ "test:unit": "vitest run --project unit",
103
+ "test:integration": "vitest run --project integration",
104
+ "test:cli-e2e": "bun test --timeout 30000 src/plugins/cli/__tests__/e2e/",
105
+ "test:build-e2e": "bun test src/plugins/build/__tests__/e2e/",
106
+ "test:coverage": "vitest run --project unit --project integration --coverage",
107
+ "typecheck": "tsc --noEmit",
108
+ "release:setup": "moku-release setup",
109
+ "release:doctor": "moku-release doctor",
110
+ "release": "moku-release"
111
+ },
94
112
  "peerDependenciesMeta": {
95
113
  "mermaid-isomorphic": {
96
114
  "optional": true
@@ -98,7 +116,9 @@
98
116
  },
99
117
  "devDependencies": {
100
118
  "@biomejs/biome": "2.4.16",
101
- "@moku-labs/ci": "1.2.6",
119
+ "@moku-labs/ci": "1.3.0",
120
+ "@moku-labs/common": "0.3.4",
121
+ "@moku-labs/core": "1.7.1",
102
122
  "@types/bun": "1.3.14",
103
123
  "@vitest/coverage-istanbul": "4.0.18",
104
124
  "eslint": "9.39.3",
@@ -119,23 +139,5 @@
119
139
  "typescript-eslint": "8.58.0",
120
140
  "vitest": "4.0.18"
121
141
  },
122
- "scripts": {
123
- "build": "tsdown",
124
- "validate": "publint",
125
- "check:bundle": "bun scripts/verify-browser-bundle.ts",
126
- "lint": "biome check . && eslint .",
127
- "lint:fix": "biome check --write . && eslint --fix .",
128
- "format": "biome format --write .",
129
- "test": "vitest run",
130
- "test:unit": "vitest run --project unit",
131
- "test:integration": "vitest run --project integration",
132
- "test:cli-e2e": "bun test --timeout 30000 src/plugins/cli/__tests__/e2e/",
133
- "test:build-e2e": "bun test src/plugins/build/__tests__/e2e/",
134
- "test:coverage": "vitest run --project unit --project integration --coverage",
135
- "typecheck": "tsc --noEmit",
136
- "release:setup": "moku-release setup",
137
- "release:doctor": "moku-release doctor",
138
- "release": "moku-release"
139
- },
140
- "version": "2.4.3"
142
+ "version": "2.4.5"
141
143
  }