@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 +17 -9
- package/docs/decisions/adr-078.md +10 -0
- package/package.json +1 -1
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
|
|
32
|
-
>
|
|
33
|
-
>
|
|
34
|
-
>
|
|
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
|
-
|
|
263
|
-
|
|
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
|
|
275
|
-
|
|
276
|
-
|
|
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.
|
|
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",
|