@actuate-media/plugin-seo 0.0.13 → 0.0.14
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 +22 -0
- package/dist/hooks.d.ts +7 -4
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +8 -11
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @actuate-media/plugin-seo
|
|
2
2
|
|
|
3
|
+
## 0.0.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 041a228: Add the MIT `license` field to every published package (previously missing) and correct `repository.url` to `github.com/actuate-media/actuatecms` (13 packages carried the wrong org).
|
|
8
|
+
- de419f2: Give plugin hooks a frozen, typed event contract. cms-core now exports
|
|
9
|
+
`PluginHook`, `PluginHookEvent`, and `PluginHookPayload` (document + upload
|
|
10
|
+
variants) as the single source of truth, and dispatches a complete, consistent
|
|
11
|
+
set of events: `afterCreate` / `afterUpdate` / `afterDelete` — each also in a
|
|
12
|
+
collection-namespaced form (`afterUpdate:navigations`, `afterCreate:orders`) —
|
|
13
|
+
plus `afterUpload` (fired post-upload from the media route). Every handler now
|
|
14
|
+
receives one typed payload; document field values live on `payload.data`.
|
|
15
|
+
|
|
16
|
+
Previously core fired only bare `afterCreate`/`afterUpdate` with the raw row, so
|
|
17
|
+
several shipped plugins' hooks were dead: `plugin-media`'s `afterUpload` never
|
|
18
|
+
fired, `plugin-navigation` read fields that didn't exist, and the namespaced
|
|
19
|
+
events `plugin-forms`/`plugin-commerce` declared were never dispatched. Each
|
|
20
|
+
plugin has been aligned to the shared type and dispatched events (and
|
|
21
|
+
`plugin-redirects`' request-time `onRedirectMatch` hook — which the lifecycle
|
|
22
|
+
bus never dispatched — was removed). Undispatched event names are now a
|
|
23
|
+
compile-time error.
|
|
24
|
+
|
|
3
25
|
## 0.0.13
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/dist/hooks.d.ts
CHANGED
|
@@ -4,9 +4,12 @@
|
|
|
4
4
|
* Schema defaults and structured-data stamping are handled in cms-core
|
|
5
5
|
* (`prepareContentStructuredData` on document create/update). Hooks here are
|
|
6
6
|
* limited to cache invalidation side effects.
|
|
7
|
+
*
|
|
8
|
+
* These hooks use the shared `PluginHook` contract from cms-core: each handler
|
|
9
|
+
* receives a single typed payload. For document-lifecycle events the top-level
|
|
10
|
+
* `collection` identifies the collection; field values live under
|
|
11
|
+
* `payload.data`.
|
|
7
12
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
handler: (...args: unknown[]) => Promise<void> | void;
|
|
11
|
-
}>;
|
|
13
|
+
import type { PluginHook } from '@actuate-media/cms-core';
|
|
14
|
+
export declare const seoHooks: PluginHook[];
|
|
12
15
|
//# sourceMappingURL=hooks.d.ts.map
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAA6B,MAAM,yBAAyB,CAAA;AAEpF,eAAO,MAAM,QAAQ,EAAE,UAAU,EAoBhC,CAAA"}
|
package/dist/hooks.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin lifecycle hooks.
|
|
3
|
-
*
|
|
4
|
-
* Schema defaults and structured-data stamping are handled in cms-core
|
|
5
|
-
* (`prepareContentStructuredData` on document create/update). Hooks here are
|
|
6
|
-
* limited to cache invalidation side effects.
|
|
7
|
-
*/
|
|
8
1
|
export const seoHooks = [
|
|
9
2
|
{
|
|
3
|
+
// `afterUpdate` is a dispatched document-lifecycle event. When a document
|
|
4
|
+
// changes we drop its cached sitemap fragment so the next request rebuilds.
|
|
10
5
|
event: 'afterUpdate',
|
|
11
|
-
handler: async (
|
|
12
|
-
|
|
13
|
-
if (!data)
|
|
6
|
+
handler: async (payload) => {
|
|
7
|
+
if (!payload)
|
|
14
8
|
return;
|
|
15
|
-
const
|
|
9
|
+
const doc = payload;
|
|
10
|
+
// The collection lives at the top level of the payload (NOT in
|
|
11
|
+
// `payload.data`, and NOT under a `_collection` field).
|
|
12
|
+
const cacheKey = `sitemap:${doc.collection ?? 'global'}`;
|
|
16
13
|
if (typeof globalThis !== 'undefined') {
|
|
17
14
|
const cache = globalThis.__sitemapCache;
|
|
18
15
|
cache?.delete(cacheKey);
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,QAAQ,GAAiB;IACpC;QACE,0EAA0E;QAC1E,4EAA4E;QAC5E,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,MAAM,GAAG,GAAG,OAAoC,CAAA;YAEhD,+DAA+D;YAC/D,wDAAwD;YACxD,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAA;YACxD,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAI,UAAsC,CAAC,cAEzC,CAAA;gBACb,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;KACF;CACF,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FieldDefinition, CollectionDefinition } from '@actuate-media/cms-core';
|
|
1
|
+
import type { FieldDefinition, CollectionDefinition, PluginHook } from '@actuate-media/cms-core';
|
|
2
2
|
export interface ActuatePlugin {
|
|
3
3
|
name: string;
|
|
4
4
|
fields?: Record<string, FieldDefinition>;
|
|
@@ -8,10 +8,7 @@ export interface ActuatePlugin {
|
|
|
8
8
|
icon: string;
|
|
9
9
|
path: string;
|
|
10
10
|
}>;
|
|
11
|
-
hooks?:
|
|
12
|
-
event: string;
|
|
13
|
-
handler: (...args: unknown[]) => Promise<void> | void;
|
|
14
|
-
}>;
|
|
11
|
+
hooks?: PluginHook[];
|
|
15
12
|
}
|
|
16
13
|
export interface SEOPluginConfig {
|
|
17
14
|
sitemap?: {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAyCrC,sDAAsD;AACtD,MAAM,UAAU,SAAS,CAAC,SAA0B,EAAE;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE;QACxB,WAAW,EAAE,EAAE,GAAG,cAAc,EAAE;QAClC,aAAa,EAAE;YACb,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACvD,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE;YACvD,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE;SACjE;QACD,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,IAAI;YACP,aAAa,EAAE,MAAM;SACtB,CAAC,CAA2B;KAC9B,CAAA;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACnG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/plugin-seo",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"repository": {
|
|
5
6
|
"type": "git",
|
|
6
|
-
"url": "https://github.com/
|
|
7
|
+
"url": "https://github.com/actuate-media/actuatecms.git",
|
|
7
8
|
"directory": "packages/plugin-seo"
|
|
8
9
|
},
|
|
9
10
|
"publishConfig": {
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
"@types/react": "^19.0.0",
|
|
28
29
|
"typescript": "^5.7.0",
|
|
29
30
|
"vitest": "^4.1.0",
|
|
30
|
-
"@actuate-media/cms-core": "0.
|
|
31
|
+
"@actuate-media/cms-core": "0.91.0"
|
|
31
32
|
},
|
|
32
33
|
"peerDependencies": {
|
|
33
34
|
"@actuate-media/cms-core": ">=0.1.0",
|