@liminis/editor 0.1.0-rc.1 → 0.1.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/README.md +15 -9
- package/docs/decisions/adr-078.md +10 -0
- package/package.json +13 -1
package/README.md
CHANGED
|
@@ -28,10 +28,14 @@ travelled with the code, are recorded in [`docs/provenance.md`](./docs/provenanc
|
|
|
28
28
|
|
|
29
29
|
## Install
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
```bash
|
|
32
|
+
pnpm add @liminis/editor
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
> **This is `0.x`.** Minor versions may contain breaking changes; patch versions
|
|
36
|
+
> will not. The seven declared subpath exports are the public API — anything
|
|
37
|
+
> reachable by a deeper path is private and may move without notice. Breaking
|
|
38
|
+
> changes are listed in the changelog with a migration note.
|
|
35
39
|
|
|
36
40
|
React and Lexical are **peer dependencies**, so your app resolves exactly one
|
|
37
41
|
copy of each. Two React copies produce `Invalid hook call`; two Lexical copies
|
|
@@ -259,8 +263,9 @@ inert).
|
|
|
259
263
|
|
|
260
264
|
## Consuming it
|
|
261
265
|
|
|
262
|
-
|
|
263
|
-
|
|
266
|
+
The registry is the normal route (`pnpm add @liminis/editor`). The
|
|
267
|
+
**packed tarball** below remains the way to consume an unreleased change — a
|
|
268
|
+
local build, or a commit that has not been tagged:
|
|
264
269
|
|
|
265
270
|
```bash
|
|
266
271
|
# in this repository
|
|
@@ -271,9 +276,10 @@ pnpm add /tmp/liminis-editor-0.1.0.tgz
|
|
|
271
276
|
```
|
|
272
277
|
|
|
273
278
|
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
|
-
|
|
279
|
+
`vendor/`) and pin it by filename, so the install is reproducible and pinned to
|
|
280
|
+
an exact build. `pnpm pack` is unaffected by the publish guard — that guard runs
|
|
281
|
+
from `prepublishOnly`, so packing, installing and vendoring all work normally
|
|
282
|
+
while publishing stays a deliberate act.
|
|
277
283
|
|
|
278
284
|
A git dependency on this repository does **not** work, and the reasons are
|
|
279
285
|
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,9 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liminis/editor",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
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",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"markdown",
|
|
9
|
+
"markdown-editor",
|
|
10
|
+
"wysiwyg",
|
|
11
|
+
"rich-text",
|
|
12
|
+
"editor",
|
|
13
|
+
"lexical",
|
|
14
|
+
"react",
|
|
15
|
+
"mdast",
|
|
16
|
+
"round-trip",
|
|
17
|
+
"annotations"
|
|
18
|
+
],
|
|
7
19
|
"//packageManager": "Not cosmetic. This field used to live in the monorepo root manifest and did not travel with the package, so `pnpm/action-setup` had no version to read and CI failed before installing anything. It is also what pins the pnpm that resolves the lockfile.",
|
|
8
20
|
"packageManager": "pnpm@10.33.0",
|
|
9
21
|
"type": "module",
|