@liminis/editor 0.1.0-rc.1 → 0.1.0-rc.2

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
@@ -28,10 +28,16 @@ travelled with the code, are recorded in [`docs/provenance.md`](./docs/provenanc
28
28
 
29
29
  ## Install
30
30
 
31
- > **This package is not published.** It is `private: true` and `@liminis/editor`
32
- > does not exist on the npm registry, so `pnpm add @liminis/editor` will fail.
33
- > That is deliberate — see [Consuming it](#consuming-it) below for the mechanism
34
- > that actually works, and `docs/decisions/adr-078.md` for why.
31
+ > **This package is published as a prerelease.** `0.1.0-rc.1` is on npm under the
32
+ > `next` tag, so `pnpm add @liminis/editor` resolves nothing — ask for the tag:
33
+ >
34
+ > ```bash
35
+ > pnpm add @liminis/editor@next
36
+ > ```
37
+ >
38
+ > The prerelease exists to prove the registry install path, which nothing had
39
+ > exercised: both consuming applications resolved this package locally. `latest`
40
+ > stays unset until `0.1.0`.
35
41
 
36
42
  React and Lexical are **peer dependencies**, so your app resolves exactly one
37
43
  copy of each. Two React copies produce `Invalid hook call`; two Lexical copies
@@ -259,8 +265,9 @@ inert).
259
265
 
260
266
  ## Consuming it
261
267
 
262
- Because the package is unpublished, consumers install a **packed tarball** rather
263
- than a registry version:
268
+ The registry is now the normal route (`pnpm add @liminis/editor@next`). The
269
+ **packed tarball** below remains the way to consume an unreleased change — a
270
+ local build, or a commit that has not been tagged:
264
271
 
265
272
  ```bash
266
273
  # in this repository
@@ -271,9 +278,10 @@ pnpm add /tmp/liminis-editor-0.1.0.tgz
271
278
  ```
272
279
 
273
280
  Applications that do this commit the tarball into their own tree (typically under
274
- `vendor/`) and pin it by filename, so the install is reproducible and needs no
275
- credentials for this private repository. `pnpm pack` works on a private package;
276
- only `npm publish` is blocked, which is exactly the guard intended.
281
+ `vendor/`) and pin it by filename, so the install is reproducible and pinned to
282
+ an exact build. `pnpm pack` is unaffected by the publish guard — that guard runs
283
+ from `prepublishOnly`, so packing, installing and vendoring all work normally
284
+ while publishing stays a deliberate act.
277
285
 
278
286
  A git dependency on this repository does **not** work, and the reasons are
279
287
  measured rather than assumed: `files` excludes the directory `main` points at, so
@@ -89,6 +89,16 @@ the built path is exercised only in CI — which is what SC-005 mandates anyway.
89
89
  `private: true` is kept: publishing is out of scope for #940, and `private`
90
90
  blocks `publish` without blocking `pack`.
91
91
 
92
+ > **Amended 2026-08-16 — this clause no longer holds.** The package was
93
+ > published as `0.1.0-rc.1`, so `private: true` is gone. It was also a weaker
94
+ > guard than assumed: `npm publish --dry-run` (npm 10.8.2) builds, packs every
95
+ > file and reports it would publish, exiting 0 without mentioning that the
96
+ > package is private. The guard is now `prepublishOnly` →
97
+ > `scripts/guard-publish.mjs`, which refuses unless `LIMINIS_ALLOW_PUBLISH=1`
98
+ > is set — a script rather than a flag precisely so that it can be tested, and
99
+ > it is, in `tests/package-manifest-contract.test.ts`. The rest of this ADR is
100
+ > unaffected: `publishConfig` and the non-bundling `tsc` emit stand as decided.
101
+
92
102
  ### 3. `mdast-util-wiki-link` is vendored, not merely un-patched.
93
103
 
94
104
  The upstream package is vendored under
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liminis/editor",
3
- "version": "0.1.0-rc.1",
3
+ "version": "0.1.0-rc.2",
4
4
  "//publishing": "Publishing is deliberate, never incidental. `private: true` was this package's guard until verveguy/liminis-editor#39 took the publish decision; it is gone because that decision was taken, not because it was tidied away. The guard is now `prepublishOnly` -> scripts/guard-publish.mjs, which refuses unless LIMINIS_ALLOW_PUBLISH=1 is set explicitly. That variable is set at step scope in .github/workflows/publish.yml and nowhere else, so a release is the only path that publishes. Note that `npm publish --dry-run` does NOT report a private package as blocked (npm 10.8.2), which is why the guard is a script rather than a flag.",
5
5
  "license": "MIT",
6
6
  "description": "Lexical-based markdown WYSIWYG editor with mdast round-trip and a host-injection seam",