@mano8/astro-media-m8 2.3.0 → 2.3.1
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 +43 -0
- package/README.md +2 -2
- package/package.json +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,49 @@ service line, so the contract can move without moving the major.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [2.3.1] - 2026-09-26 · tracks media-service 3.0.2
|
|
15
|
+
|
|
16
|
+
**Patch.** Tracks the published `@mano8/astro-ui-m8` `1.5.2` and
|
|
17
|
+
`@mano8/astro-auth-m8` `2.7.1` (`B39-astro-ui-changelog-release`, finding
|
|
18
|
+
`G38`). The only shipped change is `package.json`'s floors, with the README
|
|
19
|
+
that states them. The contract stays `media-service-m8@1.1`, range
|
|
20
|
+
`>=2.0.0 <4.0.0`, and the tested service version stays `3.0.2`.
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **A lock that does not pin every package fails the build**
|
|
25
|
+
(`B34-npm-lock-integrity-guard`, finding `G34`(b)).
|
|
26
|
+
`scripts/verify-lock-integrity.mjs` (`npm run verify:lock-integrity`)
|
|
27
|
+
refuses a `package-lock.json` below `lockfileVersion` 3, or one with any
|
|
28
|
+
entry that lacks `integrity` or `resolved`, carries a non-`sha512` hash,
|
|
29
|
+
resolves outside `https://registry.npmjs.org/`, or is a link or `file:`
|
|
30
|
+
source, and names every offending key. `npm ci` installs an entry with no
|
|
31
|
+
`integrity` without checking a hash and says nothing, which is how `G33`
|
|
32
|
+
went unseen. CI runs it before `npm ci` in every job that installs.
|
|
33
|
+
`tests/lock-integrity.test.ts` proves each refusal against a fixture lock
|
|
34
|
+
and asserts this repository's own lock passes. The script is
|
|
35
|
+
dependency-free and byte-identical in the fleet's six npm repositories.
|
|
36
|
+
This lock already passed; the fixtures prove the red path. Only
|
|
37
|
+
`package.json`'s `scripts` gains an entry, so no release is owed.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- `@mano8/astro-ui-m8` floor `^1.5.1` → `^1.5.2` (`dependencies`) and
|
|
42
|
+
`@mano8/astro-auth-m8` `^2.7.0` → `^2.7.1` (`peerDependencies` and
|
|
43
|
+
`devDependencies`, still equal), the newest published releases (§0.5's
|
|
44
|
+
explicit-pin rule). The lock moves those two entries, each with its
|
|
45
|
+
registry `resolved` and `sha512` `integrity`. The README states the new
|
|
46
|
+
floors.
|
|
47
|
+
|
|
48
|
+
### Security
|
|
49
|
+
|
|
50
|
+
- **The publish job verifies the lock before it installs**
|
|
51
|
+
(`B37-publish-lock-guard`, finding `G36`). `B34` guarded every `CI.yaml`
|
|
52
|
+
job but not the one that holds `id-token: write` and builds the tarball,
|
|
53
|
+
and the environment's `tag:v*` rule matches a tag by name, not by where it
|
|
54
|
+
points. `npm-publish.yml` now runs `npm run verify:lock-integrity` before
|
|
55
|
+
`npm ci`, and `tests/publish-workflow.test.ts` holds the order.
|
|
56
|
+
|
|
14
57
|
## [2.3.0] - 2026-09-26 · tracks media-service 3.0.2
|
|
15
58
|
|
|
16
59
|
**Minor bump.** Tracks the published `media-service-m8` `3.0.2` patch release
|
package/README.md
CHANGED
|
@@ -65,12 +65,12 @@ elsewhere.
|
|
|
65
65
|
npm i @mano8/astro-media-m8 @mano8/astro-auth-m8 zod
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
`@mano8/astro-auth-m8` is a required peer at **`^2.7.
|
|
68
|
+
`@mano8/astro-auth-m8` is a required peer at **`^2.7.1` or newer**:
|
|
69
69
|
`media-service-m8` only accepts `fa-auth-m8`-issued tokens, so the plugin's auth
|
|
70
70
|
adapter must be backed by `fa-auth-m8` (the official plugin, or a custom adapter
|
|
71
71
|
that obtains those tokens). A 1.x auth is not supported — upgrade auth first, or
|
|
72
72
|
the install resolves nothing that satisfies the peer.
|
|
73
|
-
`@mano8/astro-ui-m8` (`^1.5.
|
|
73
|
+
`@mano8/astro-ui-m8` (`^1.5.2`) is a normal dependency because the media registry
|
|
74
74
|
skins compose the canonical shared table from its packaged registry output.
|
|
75
75
|
`react`/`react-dom` are optional — only `./react`, `./hooks` and the starter
|
|
76
76
|
views need them; `@tanstack/react-query` is a required peer once you use
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mano8/astro-media-m8",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Astro integration and headless client for media-service-m8.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"preview:dev": "vite --config fixtures/preview/vite.config.ts",
|
|
58
58
|
"preview:build": "tsc -p fixtures/preview/tsconfig.json --noEmit && vite build --config fixtures/preview/vite.config.ts",
|
|
59
59
|
"verify:fleet-gates": "node scripts/verify-fleet-gates.mjs",
|
|
60
|
+
"verify:lock-integrity": "node scripts/verify-lock-integrity.mjs",
|
|
60
61
|
"verify:registry-consumer": "node scripts/verify-registry-consumer.mjs",
|
|
61
62
|
"verify:registry-drift": "node scripts/verify-registry-drift.mjs",
|
|
62
63
|
"verify:starter-routes": "node scripts/verify-starter-routes.mjs",
|
|
@@ -67,12 +68,12 @@
|
|
|
67
68
|
"test:unit": "vitest run"
|
|
68
69
|
},
|
|
69
70
|
"dependencies": {
|
|
70
|
-
"@mano8/astro-ui-m8": "^1.5.
|
|
71
|
+
"@mano8/astro-ui-m8": "^1.5.2"
|
|
71
72
|
},
|
|
72
73
|
"peerDependencies": {
|
|
73
74
|
"@astrojs/react": "^6.0.1",
|
|
74
75
|
"@astrojs/starlight": "^0.41.3",
|
|
75
|
-
"@mano8/astro-auth-m8": "^2.7.
|
|
76
|
+
"@mano8/astro-auth-m8": "^2.7.1",
|
|
76
77
|
"@tanstack/react-query": "^5.102.8",
|
|
77
78
|
"astro": "^7.0.9",
|
|
78
79
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
"@astrojs/starlight": "^0.41.10",
|
|
93
94
|
"@eslint-react/eslint-plugin": "^5.18.6",
|
|
94
95
|
"@eslint/js": "^10.0.1",
|
|
95
|
-
"@mano8/astro-auth-m8": "^2.7.
|
|
96
|
+
"@mano8/astro-auth-m8": "^2.7.1",
|
|
96
97
|
"@tanstack/react-query": "^5.102.8",
|
|
97
98
|
"@tanstack/react-table": "^8.21.3",
|
|
98
99
|
"@types/node": "^26.4.0",
|