@mano8/astro-media-m8 2.0.0 → 2.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
CHANGED
|
@@ -25,20 +25,23 @@ and composes into the [mano8/fa-ui-m8](https://github.com/mano8/fa-ui-m8) host a
|
|
|
25
25
|
- [`fa-ui-m8`](https://github.com/mano8/fa-ui-m8) — the Astro/Starlight host app this plugin installs into.
|
|
26
26
|
|
|
27
27
|
Pinned to `media-service-m8@1.1` (supported service-version range
|
|
28
|
-
`>=2.0.0 <
|
|
28
|
+
`>=2.0.0 <4.0.0`; see `mediaServiceM8` in `package.json`).
|
|
29
29
|
|
|
30
30
|
## Backend contract
|
|
31
31
|
|
|
32
32
|
This package targets the additive `media-service-m8@1.1` API contract and was
|
|
33
|
-
tested against `media-service-m8` service version `
|
|
34
|
-
service versions are `>=2.0.0 <
|
|
33
|
+
tested against `media-service-m8` service version `3.0.0`. Supported backend
|
|
34
|
+
service versions are `>=2.0.0 <4.0.0`.
|
|
35
35
|
|
|
36
36
|
The contract axis and the service axis move independently, and only the range
|
|
37
37
|
gates anything. The **contract** stays `1.1` because no served shape changed;
|
|
38
38
|
the **tested service version** names what this client was exercised against.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
`media-service-m8` `3.0.0` is an object-storage backend and env-var rename
|
|
40
|
+
(the `MINIO_*` deprecation shim removed in favor of provider-neutral `S3_*`)
|
|
41
|
+
with no change to the `1.1` HTTP contract, so widening the range to admit it
|
|
42
|
+
is additive. Since the range admits the whole 2.x line plus 3.x, a host on the
|
|
43
|
+
published `2.1.0` passes preflight unchanged — the tested value is a statement
|
|
44
|
+
of provenance, not a floor.
|
|
42
45
|
|
|
43
46
|
Compatibility helpers are exported from `@mano8/astro-media-m8/compatibility`.
|
|
44
47
|
`media-service-m8` (>= 0.0.10) exposes a public `GET {API_PREFIX}/meta` route
|
|
@@ -62,7 +65,7 @@ elsewhere.
|
|
|
62
65
|
npm i @mano8/astro-media-m8 @mano8/astro-auth-m8 zod
|
|
63
66
|
```
|
|
64
67
|
|
|
65
|
-
`@mano8/astro-auth-m8` is a required peer at **`^2.
|
|
68
|
+
`@mano8/astro-auth-m8` is a required peer at **`^2.6.0` or newer**:
|
|
66
69
|
`media-service-m8` only accepts `fa-auth-m8`-issued tokens, so the plugin's auth
|
|
67
70
|
adapter must be backed by `fa-auth-m8` (the official plugin, or a custom adapter
|
|
68
71
|
that obtains those tokens). A 1.x auth is not supported — upgrade auth first, or
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const MEDIA_SERVICE_M8_CONTRACT_ID = "media-service-m8";
|
|
2
2
|
export declare const MEDIA_SERVICE_M8_CONTRACT_VERSION = "1.1";
|
|
3
3
|
export declare const MEDIA_SERVICE_M8_CONTRACT: "media-service-m8@1.1";
|
|
4
|
-
export declare const MEDIA_SERVICE_M8_TESTED_SERVICE_VERSION = "
|
|
4
|
+
export declare const MEDIA_SERVICE_M8_TESTED_SERVICE_VERSION = "3.0.0";
|
|
5
5
|
export declare const MEDIA_SERVICE_M8_MIN_SERVICE_VERSION = "2.0.0";
|
|
6
|
-
export declare const MEDIA_SERVICE_M8_MAX_SERVICE_VERSION_EXCLUSIVE = "
|
|
7
|
-
export declare const MEDIA_SERVICE_M8_SERVICE_VERSION_RANGE = ">=2.0.0 <
|
|
6
|
+
export declare const MEDIA_SERVICE_M8_MAX_SERVICE_VERSION_EXCLUSIVE = "4.0.0";
|
|
7
|
+
export declare const MEDIA_SERVICE_M8_SERVICE_VERSION_RANGE = ">=2.0.0 <4.0.0";
|
|
8
8
|
export type MediaServiceM8CompatibilityStatus = "compatible" | "incompatible" | "unknown";
|
|
9
9
|
export type MediaServiceM8VersionMetadata = {
|
|
10
10
|
contract?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../../src/runtime/compatibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAC/D,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,yBAAyB,wBAAkF,CAAC;
|
|
1
|
+
{"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../../src/runtime/compatibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,qBAAqB,CAAC;AAC/D,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,yBAAyB,wBAAkF,CAAC;AAwBzH,eAAO,MAAM,uCAAuC,UAAU,CAAC;AAC/D,eAAO,MAAM,oCAAoC,UAAU,CAAC;AAC5D,eAAO,MAAM,8CAA8C,UAAU,CAAC;AACtE,eAAO,MAAM,sCAAsC,mBAAiG,CAAC;AAErJ,MAAM,MAAM,iCAAiC,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1F,MAAM,MAAM,6BAA6B,GAAG;IAG1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,iCAAiC,CAAC;IAC1C,gBAAgB,EAAE,OAAO,yBAAyB,CAAC;IACnD,2BAA2B,EAAE,OAAO,sCAAsC,CAAC;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAqDF,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIjF;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,GAAE,6BAAkC,GAC3C,2BAA2B,CAmE7B;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,6BAA6B,EACvC,YAAY,UAAO,GAClB,2BAA2B,CAM7B"}
|
|
@@ -10,24 +10,23 @@ const MEDIA_SERVICE_M8_COMPATIBLE_CONTRACTS = new Set([
|
|
|
10
10
|
// The service version range moves with media-service-m8's package version, which
|
|
11
11
|
// reached 2.0.0 for the reader/writer role tiers and the anonymous PUBLIC read
|
|
12
12
|
// surface. The contract moves to 1.1 for the additive UX API surface; the
|
|
13
|
-
// service-version gate
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
13
|
+
// service-version gate widens to admit 3.x alongside 2.x because
|
|
14
|
+
// media-service-m8 3.0.0 is an object-storage backend and env-var rename
|
|
15
|
+
// (MinIO-specific `MINIO_*` shim removed in favor of provider-neutral `S3_*`)
|
|
16
|
+
// with no change to the `1.1` HTTP contract this plugin models — so the range
|
|
17
|
+
// move is additive (a minor here), not a major. A pre-tier 1.x service is
|
|
18
|
+
// still refused: it cannot serve the authorization behavior this plugin's
|
|
19
|
+
// guards assume.
|
|
20
|
+
// The service version this client was actually exercised against: 3.0.0, the
|
|
21
|
+
// media-sdk-m8 1.0.0 / media-service-m8 3.0.0 shim-removal cut, whose tree is
|
|
22
|
+
// what every schema here was diffed against in the same pass.
|
|
20
23
|
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
// MEDIA_SERVICE_M8_SERVICE_VERSION_RANGE below, which already admits the whole
|
|
26
|
-
// 2.x line, so a host pointed at the published 2.1.0 passes preflight
|
|
27
|
-
// unchanged and this value never refuses it.
|
|
28
|
-
export const MEDIA_SERVICE_M8_TESTED_SERVICE_VERSION = "2.1.1";
|
|
24
|
+
// The gate is MEDIA_SERVICE_M8_SERVICE_VERSION_RANGE below, which admits the
|
|
25
|
+
// whole 2.x line plus 3.x, so a host pointed at the published 2.1.0 passes
|
|
26
|
+
// preflight unchanged and this value never refuses it.
|
|
27
|
+
export const MEDIA_SERVICE_M8_TESTED_SERVICE_VERSION = "3.0.0";
|
|
29
28
|
export const MEDIA_SERVICE_M8_MIN_SERVICE_VERSION = "2.0.0";
|
|
30
|
-
export const MEDIA_SERVICE_M8_MAX_SERVICE_VERSION_EXCLUSIVE = "
|
|
29
|
+
export const MEDIA_SERVICE_M8_MAX_SERVICE_VERSION_EXCLUSIVE = "4.0.0";
|
|
31
30
|
export const MEDIA_SERVICE_M8_SERVICE_VERSION_RANGE = `>=${MEDIA_SERVICE_M8_MIN_SERVICE_VERSION} <${MEDIA_SERVICE_M8_MAX_SERVICE_VERSION_EXCLUSIVE}`;
|
|
32
31
|
function stringValue(value) {
|
|
33
32
|
return typeof value === "string" && value.trim() ? value.trim() : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/runtime/compatibility.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,kBAAkB,CAAC;AAC/D,MAAM,CAAC,MAAM,iCAAiC,GAAG,KAAK,CAAC;AACvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,4BAA4B,IAAI,iCAAiC,EAAW,CAAC;AACzH,MAAM,qCAAqC,GAAG,IAAI,GAAG,CAAC;IACpD,KAAK;IACL,GAAG,4BAA4B,MAAM;IACrC,iCAAiC;IACjC,yBAAyB;CAC1B,CAAC,CAAC;AACH,iFAAiF;AACjF,+EAA+E;AAC/E,0EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/runtime/compatibility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mano8/astro-media-m8",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Astro integration and headless client for media-service-m8.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"@astrojs/react": "^6.0.1",
|
|
73
73
|
"@astrojs/starlight": "^0.41.3",
|
|
74
|
-
"@mano8/astro-auth-m8": "^2.
|
|
74
|
+
"@mano8/astro-auth-m8": "^2.6.0",
|
|
75
75
|
"@tanstack/react-query": "^5.102.8",
|
|
76
76
|
"astro": "^7.0.9",
|
|
77
77
|
"react": "^18.0.0 || ^19.0.0",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@astrojs/starlight": "^0.41.10",
|
|
92
92
|
"@eslint-react/eslint-plugin": "^5.18.6",
|
|
93
93
|
"@eslint/js": "^10.0.1",
|
|
94
|
-
"@mano8/astro-auth-m8": "^2.
|
|
94
|
+
"@mano8/astro-auth-m8": "^2.6.0",
|
|
95
95
|
"@tanstack/react-query": "^5.102.8",
|
|
96
96
|
"@tanstack/react-table": "^8.21.3",
|
|
97
97
|
"@types/node": "^26.4.0",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
},
|
|
116
116
|
"mediaServiceM8": {
|
|
117
117
|
"contract": "media-service-m8@1.1",
|
|
118
|
-
"testedServiceVersion": "
|
|
119
|
-
"serviceVersionRange": ">=2.0.0 <
|
|
118
|
+
"testedServiceVersion": "3.0.0",
|
|
119
|
+
"serviceVersionRange": ">=2.0.0 <4.0.0"
|
|
120
120
|
}
|
|
121
121
|
}
|