@shivaedev/work-board 0.1.0 → 0.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0 - 2026-09-28
4
+
5
+ ### Changed
6
+
7
+ - Add `@effect/platform-node-shared` as a peer dependency pinned to the same
8
+ exact version as the `effect` and `@effect/platform-node` peers, so an
9
+ install holds one copy of Effect. An application that embeds `boardLayer` and
10
+ already depends on the Effect stack adds `@effect/platform-node-shared` at
11
+ that version; pnpm, npm and Bun install it otherwise.
12
+
13
+ ### Fixed
14
+
15
+ - Pin `@effect/platform-node-shared` to the `effect` version, so the
16
+ `work-board` command starts after a fresh install. Before,
17
+ `@effect/platform-node` resolved a newer `@effect/platform-node-shared`
18
+ prerelease than its `effect`, and the command crashed on start importing
19
+ modules that `effect` lacks.
20
+
3
21
  ## 0.1.0 - 2026-09-26
4
22
 
5
23
  ### Added
package/README.md CHANGED
@@ -145,3 +145,14 @@ const board = HttpRouter.toWebHandler(
145
145
  Layer.provide(boardLayer({ root: "./project-notes", home: "plan.md" }), NodeServices.layer),
146
146
  )
147
147
  ```
148
+
149
+ On pnpm 11, installing into a project needs a decision on `msgpackr-extract`,
150
+ which `effect` pulls in: pnpm refuses its build script by default, and
151
+ `pnpm add` fails with `ERR_PNPM_IGNORED_BUILDS`. Record the decision under
152
+ `allowBuilds` in `pnpm-workspace.yaml`, or run `pnpm approve-builds`; `false`
153
+ skips the build. `pnpm dlx` and `pnpm add --global` need no setting.
154
+
155
+ ```yaml
156
+ allowBuilds:
157
+ msgpackr-extract: false
158
+ ```
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import { NodeRuntime, NodeServices } from "@effect/platform-node";
3
3
  import { Effect, Layer, Option, Path } from "effect";
4
4
  import { Argument, Command, Flag } from "effect/unstable/cli";
5
5
  import { HOST, serveBoard } from "./serve.js";
6
- const VERSION = "0.1.0";
6
+ const VERSION = "0.2.0";
7
7
  const serve = Effect.fn("WorkBoard.serve")(function* (input) {
8
8
  const path = yield* Path.Path;
9
9
  return yield* Layer.launch(serveBoard({ root: path.resolve(input.dir), home: Option.getOrUndefined(input.home), port: input.port }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/work-board",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Serve a folder of markdown files as a live local page that updates in place when a file changes",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,10 +46,12 @@
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@effect/platform-node": "4.0.0-rc.112",
49
+ "@effect/platform-node-shared": "4.0.0-rc.112",
49
50
  "effect": "4.0.0-rc.112"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@effect/platform-node": "4.0.0-rc.112",
54
+ "@effect/platform-node-shared": "4.0.0-rc.112",
53
55
  "@types/hast": "3.0.5",
54
56
  "@types/mdast": "4.0.4",
55
57
  "@types/node": "24.10.1",
package/src/cli.ts CHANGED
@@ -4,7 +4,7 @@ import { Effect, Layer, Option, Path } from "effect";
4
4
  import { Argument, Command, Flag } from "effect/unstable/cli";
5
5
  import { HOST, serveBoard } from "./serve.ts";
6
6
 
7
- const VERSION = "0.1.0";
7
+ const VERSION = "0.2.0";
8
8
 
9
9
  const serve = Effect.fn("WorkBoard.serve")(function* (input: { readonly dir: string; readonly port: number; readonly home: Option.Option<string> }) {
10
10
  const path = yield* Path.Path;