@objectstack/sdui-parser 17.0.0-rc.6 → 17.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,76 @@
1
1
  # @objectstack/sdui-parser
2
2
 
3
+ ## 17.1.0
4
+
5
+ ## 17.0.0
6
+
7
+ ### Patch Changes
8
+
9
+ - 2e836de: chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)
10
+
11
+ The AGENTS.md post-task checklist requires breaking changesets to carry their
12
+ FROM → TO migration because "this text ships to consumers as `CHANGELOG.md`
13
+ inside the npm package and is what an upgrading agent greps after the tombstone
14
+ error." That delivery path was severed for 68 of the 69 publishable packages:
15
+ npm packs `package.json` / `README*` / `LICENSE*` unconditionally but — unlike
16
+ older npm versions — not `CHANGELOG.md`, and the canonical
17
+ `"files": ["dist", "README.md"]` whitelist never named it. Measured on npm
18
+ 10.9.7: `npm pack --dry-run` on `@objectstack/types` shipped 3 files while its
19
+ 70KB `CHANGELOG.md` stayed behind. Only `@objectstack/spec` listed it
20
+ explicitly.
21
+
22
+ The tombstone-error scenario is precisely the one where the repo is out of
23
+ reach — the upgrading agent has `node_modules` and nothing else — so the
24
+ migration text has to ride in the tarball. Every publishable package now
25
+ declares `CHANGELOG.md` in `files`, and the canonical whitelist is
26
+ `["dist", "README.md", "CHANGELOG.md"]`.
27
+
28
+ The other half is the gate: `check:published-files` gains a fifth invariant,
29
+ COMPLETE — a whitelist that fails to cover `CHANGELOG.md` fails the
30
+ always-required lint job, so the next package cannot silently sever the path
31
+ again. `@objectstack/spec`'s per-package EXTRA_ENTRIES exemption dissolves
32
+ into the canonical set.
33
+
34
+ Consumer-visible change: one more file per install (the package's changelog,
35
+ e.g. 70.8KB for `@objectstack/types`), and `grep -r "removed key"
36
+ node_modules/@objectstack/*/CHANGELOG.md` now finds the migration it was
37
+ promised.
38
+
39
+ - cc2de0e: chore(packaging): 20 packages stop publishing their sources, tests and build tooling (#4248)
40
+
41
+ These 20 packages declared no `files` field, so npm fell back to packing the
42
+ whole package directory. `npm pack --dry-run` on `@objectstack/plugin-webhooks`
43
+ listed **21 files** — 15 under `src/`, three of them unit tests
44
+ (`auto-enqueuer.test.ts`, `bootstrap-declared-webhooks.test.ts`, …), plus the
45
+ build-time `scripts/i18n-extract.config.ts`. `dist/` lands on top of that at
46
+ publish time rather than instead of it, so consumers were installing the
47
+ TypeScript sources and the test suite alongside the artifact they asked for.
48
+
49
+ Each now declares `"files": ["dist", "README.md"]`, matching the 29 packages
50
+ that already did. Nothing a consumer imports moves: every `main` / `types` /
51
+ `exports` target in all 20 already resolved inside `dist/`, which the new
52
+ `check:published-files` guard verifies rather than assumes. The visible change
53
+ is a smaller install and a smaller dependency-scanning surface — `npm pack` on
54
+ `@objectstack/plugin-webhooks` now yields 2 files plus `dist/`.
55
+
56
+ The other half of the fix is the gate. Half the packages declaring `files` and
57
+ half not was the #3786 shape — a hand-copied convention with nothing enforcing
58
+ it, where whoever forgets the line gets no signal at all. `check:published-files`
59
+ (new, wired into the always-required `lint` job) holds every non-private
60
+ workspace package to four invariants: `files` is **declared**; it is
61
+ **sufficient** (covers every entry point, so tightening a whitelist cannot ship
62
+ a package that fails to resolve); it is **minimal** (admits no test, test-harness
63
+ config or build script); and anything beyond `dist` + `README.md` is
64
+ **registered** with a reason, reconciled in both directions so a stale exemption
65
+ is an error rather than dead text. `@objectstack/spec` is the one package with
66
+ registered extras — its `.zod.ts` sources, JSON Schemas, liveness ledgers and
67
+ `CHANGELOG.md` are product, not build input.
68
+
69
+ This also closes an assumption #4206 was resting on. Excluding `<pkg>/scripts/**`
70
+ from the docs-drift implementation test is sound only while no package publishes
71
+ `scripts/` as runtime code; that held, but it held because someone read all three
72
+ offenders by hand. It is now checked on every PR.
73
+
3
74
  ## 17.0.0-rc.6
4
75
 
5
76
  ## 17.0.0-rc.5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectstack/sdui-parser",
3
- "version": "17.0.0-rc.6",
3
+ "version": "17.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "ObjectStack constrained JSX-source → SDUI SchemaNode tree compiler (parse, never execute). Isomorphic, zero React. ADR-0080.",
6
6
  "main": "dist/index.js",