@forumone/throughline 2.1.0 → 2.2.0-next-623d42c
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 +41 -0
- package/dist/approvals/endpoints/action.d.ts.map +1 -1
- package/dist/approvals/endpoints/action.js +27 -8
- package/dist/approvals/endpoints/action.js.map +1 -1
- package/dist/approvals/tokens.d.ts +3 -0
- package/dist/approvals/tokens.d.ts.map +1 -1
- package/dist/approvals/tokens.js +1 -1
- package/dist/approvals/tokens.js.map +1 -1
- package/dist/authoring/tools.d.ts.map +1 -1
- package/dist/authoring/tools.js +6 -1
- package/dist/authoring/tools.js.map +1 -1
- package/dist/components/tools/validate-composition.d.ts.map +1 -1
- package/dist/components/tools/validate-composition.js +4 -1
- package/dist/components/tools/validate-composition.js.map +1 -1
- package/dist/components/validation/composition.d.ts +9 -1
- package/dist/components/validation/composition.d.ts.map +1 -1
- package/dist/components/validation/composition.js +9 -7
- package/dist/components/validation/composition.js.map +1 -1
- package/dist/exports/client.d.ts +3 -0
- package/dist/exports/client.d.ts.map +1 -1
- package/dist/exports/client.js +2 -0
- package/dist/exports/client.js.map +1 -1
- package/dist/fields/slug.d.ts.map +1 -1
- package/dist/fields/slug.js +4 -1
- package/dist/fields/slug.js.map +1 -1
- package/dist/integrations/admin/SyncButton.d.ts.map +1 -1
- package/dist/integrations/admin/SyncButton.js +11 -5
- package/dist/integrations/admin/SyncButton.js.map +1 -1
- package/dist/integrations/admin/sync-client.d.ts +2 -0
- package/dist/integrations/admin/sync-client.d.ts.map +1 -1
- package/dist/integrations/admin/sync-client.js +7 -1
- package/dist/integrations/admin/sync-client.js.map +1 -1
- package/dist/integrations/collection.d.ts +1 -1
- package/dist/integrations/collection.d.ts.map +1 -1
- package/dist/integrations/collection.js +11 -4
- package/dist/integrations/collection.js.map +1 -1
- package/dist/integrations/sync/status.d.ts +17 -4
- package/dist/integrations/sync/status.d.ts.map +1 -1
- package/dist/integrations/sync/status.js +37 -6
- package/dist/integrations/sync/status.js.map +1 -1
- package/dist/media/hooks.d.ts.map +1 -1
- package/dist/media/hooks.js +11 -9
- package/dist/media/hooks.js.map +1 -1
- package/dist/migrate/exports.json +16 -0
- package/dist/publishing/admin/FirstErrorProvider.d.ts +24 -0
- package/dist/publishing/admin/FirstErrorProvider.d.ts.map +1 -0
- package/dist/publishing/admin/FirstErrorProvider.js +100 -0
- package/dist/publishing/admin/FirstErrorProvider.js.map +1 -0
- package/dist/publishing/admin/PublishButton.d.ts.map +1 -1
- package/dist/publishing/admin/PublishButton.js +18 -3
- package/dist/publishing/admin/PublishButton.js.map +1 -1
- package/dist/publishing/admin/SchedulePublishField.d.ts.map +1 -1
- package/dist/publishing/admin/SchedulePublishField.js +25 -10
- package/dist/publishing/admin/SchedulePublishField.js.map +1 -1
- package/dist/publishing/admin/UnpublishButton.d.ts.map +1 -1
- package/dist/publishing/admin/UnpublishButton.js +9 -3
- package/dist/publishing/admin/UnpublishButton.js.map +1 -1
- package/dist/publishing/admin/first-error.d.ts +60 -0
- package/dist/publishing/admin/first-error.d.ts.map +1 -0
- package/dist/publishing/admin/first-error.js +211 -0
- package/dist/publishing/admin/first-error.js.map +1 -0
- package/dist/publishing/admin/publishing-client.d.ts +33 -4
- package/dist/publishing/admin/publishing-client.d.ts.map +1 -1
- package/dist/publishing/admin/publishing-client.js +56 -21
- package/dist/publishing/admin/publishing-client.js.map +1 -1
- package/dist/publishing/admin/schedule-state.d.ts +31 -4
- package/dist/publishing/admin/schedule-state.d.ts.map +1 -1
- package/dist/publishing/admin/schedule-state.js +26 -14
- package/dist/publishing/admin/schedule-state.js.map +1 -1
- package/dist/publishing/checks/alt-text.d.ts.map +1 -1
- package/dist/publishing/checks/alt-text.js +3 -1
- package/dist/publishing/checks/alt-text.js.map +1 -1
- package/dist/publishing/checks/heading-hierarchy.d.ts +9 -3
- package/dist/publishing/checks/heading-hierarchy.d.ts.map +1 -1
- package/dist/publishing/checks/heading-hierarchy.js +19 -6
- package/dist/publishing/checks/heading-hierarchy.js.map +1 -1
- package/dist/publishing/checks/link-labels.js +1 -1
- package/dist/publishing/checks/link-labels.js.map +1 -1
- package/dist/publishing/endpoints/admin.d.ts.map +1 -1
- package/dist/publishing/endpoints/admin.js +26 -7
- package/dist/publishing/endpoints/admin.js.map +1 -1
- package/dist/publishing/events.d.ts +15 -1
- package/dist/publishing/events.d.ts.map +1 -1
- package/dist/publishing/events.js +17 -2
- package/dist/publishing/events.js.map +1 -1
- package/dist/publishing/hooks/block-status-writes.js +5 -2
- package/dist/publishing/hooks/block-status-writes.js.map +1 -1
- package/dist/publishing/hooks/schedule-events.d.ts.map +1 -1
- package/dist/publishing/hooks/schedule-events.js +5 -7
- package/dist/publishing/hooks/schedule-events.js.map +1 -1
- package/dist/publishing/index.d.ts +9 -1
- package/dist/publishing/index.d.ts.map +1 -1
- package/dist/publishing/index.js +7 -0
- package/dist/publishing/index.js.map +1 -1
- package/dist/publishing/messages.d.ts +63 -0
- package/dist/publishing/messages.d.ts.map +1 -0
- package/dist/publishing/messages.js +84 -0
- package/dist/publishing/messages.js.map +1 -0
- package/dist/publishing/options.d.ts +46 -1
- package/dist/publishing/options.d.ts.map +1 -1
- package/dist/publishing/options.js +8 -0
- package/dist/publishing/options.js.map +1 -1
- package/dist/publishing/pipeline/finish.d.ts +12 -0
- package/dist/publishing/pipeline/finish.d.ts.map +1 -0
- package/dist/publishing/pipeline/finish.js +24 -0
- package/dist/publishing/pipeline/finish.js.map +1 -0
- package/dist/publishing/pipeline/index.d.ts.map +1 -1
- package/dist/publishing/pipeline/index.js +11 -8
- package/dist/publishing/pipeline/index.js.map +1 -1
- package/dist/publishing/pipeline/steps/accessibility.d.ts +3 -3
- package/dist/publishing/pipeline/steps/accessibility.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/accessibility.js +17 -9
- package/dist/publishing/pipeline/steps/accessibility.js.map +1 -1
- package/dist/publishing/pipeline/steps/approval.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/approval.js +6 -4
- package/dist/publishing/pipeline/steps/approval.js.map +1 -1
- package/dist/publishing/pipeline/steps/composition.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/composition.js +36 -17
- package/dist/publishing/pipeline/steps/composition.js.map +1 -1
- package/dist/publishing/pipeline/steps/embargo.d.ts +4 -0
- package/dist/publishing/pipeline/steps/embargo.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/embargo.js +13 -4
- package/dist/publishing/pipeline/steps/embargo.js.map +1 -1
- package/dist/publishing/pipeline/steps/execute.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/execute.js +48 -5
- package/dist/publishing/pipeline/steps/execute.js.map +1 -1
- package/dist/publishing/pipeline/steps/exist.d.ts +2 -0
- package/dist/publishing/pipeline/steps/exist.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/exist.js +5 -3
- package/dist/publishing/pipeline/steps/exist.js.map +1 -1
- package/dist/publishing/pipeline/steps/link-targets.d.ts +3 -0
- package/dist/publishing/pipeline/steps/link-targets.d.ts.map +1 -0
- package/dist/publishing/pipeline/steps/link-targets.js +293 -0
- package/dist/publishing/pipeline/steps/link-targets.js.map +1 -0
- package/dist/publishing/pipeline/steps/required-fields.d.ts.map +1 -1
- package/dist/publishing/pipeline/steps/required-fields.js +7 -5
- package/dist/publishing/pipeline/steps/required-fields.js.map +1 -1
- package/dist/publishing/pipeline/types.d.ts +25 -0
- package/dist/publishing/pipeline/types.d.ts.map +1 -1
- package/dist/publishing/pipeline/where.d.ts +13 -0
- package/dist/publishing/pipeline/where.d.ts.map +1 -0
- package/dist/publishing/pipeline/where.js +44 -0
- package/dist/publishing/pipeline/where.js.map +1 -0
- package/dist/publishing/plugin.d.ts.map +1 -1
- package/dist/publishing/plugin.js +22 -0
- package/dist/publishing/plugin.js.map +1 -1
- package/dist/publishing/service.d.ts +26 -17
- package/dist/publishing/service.d.ts.map +1 -1
- package/dist/publishing/service.js +43 -32
- package/dist/publishing/service.js.map +1 -1
- package/dist/publishing/tools/get-publish-status.d.ts.map +1 -1
- package/dist/publishing/tools/get-publish-status.js +4 -0
- package/dist/publishing/tools/get-publish-status.js.map +1 -1
- package/dist/publishing/tools/rollback.d.ts.map +1 -1
- package/dist/publishing/tools/rollback.js +1 -1
- package/dist/publishing/tools/rollback.js.map +1 -1
- package/dist/references/UsedOnPanel.d.ts.map +1 -1
- package/dist/references/UsedOnPanel.js +1 -1
- package/dist/references/UsedOnPanel.js.map +1 -1
- package/dist/references/find.d.ts +12 -1
- package/dist/references/find.d.ts.map +1 -1
- package/dist/references/find.js +24 -5
- package/dist/references/find.js.map +1 -1
- package/dist/references/guards.d.ts.map +1 -1
- package/dist/references/guards.js +9 -2
- package/dist/references/guards.js.map +1 -1
- package/dist/references/index.d.ts +4 -2
- package/dist/references/index.d.ts.map +1 -1
- package/dist/references/index.js +2 -1
- package/dist/references/index.js.map +1 -1
- package/dist/references/links.d.ts +45 -0
- package/dist/references/links.d.ts.map +1 -0
- package/dist/references/links.js +117 -0
- package/dist/references/links.js.map +1 -0
- package/dist/references/walk.d.ts +70 -0
- package/dist/references/walk.d.ts.map +1 -1
- package/dist/references/walk.js +88 -41
- package/dist/references/walk.js.map +1 -1
- package/dist/utils/field-path.d.ts +56 -0
- package/dist/utils/field-path.d.ts.map +1 -0
- package/dist/utils/field-path.js +146 -0
- package/dist/utils/field-path.js.map +1 -0
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-status-writes.js","sourceRoot":"","sources":["../../../src/publishing/hooks/block-status-writes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"block-status-writes.js","sourceRoot":"","sources":["../../../src/publishing/hooks/block-status-writes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-events.d.ts","sourceRoot":"","sources":["../../../src/publishing/hooks/schedule-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,GAAG,yBAAyB,
|
|
1
|
+
{"version":3,"file":"schedule-events.d.ts","sourceRoot":"","sources":["../../../src/publishing/hooks/schedule-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,GAAG,yBAAyB,CA4B5B"}
|
|
@@ -29,19 +29,17 @@ export function createSendScheduledEventHook(args) {
|
|
|
29
29
|
const id = doc.id;
|
|
30
30
|
if (id === undefined || id === null)
|
|
31
31
|
return doc;
|
|
32
|
-
|
|
32
|
+
// A failure is logged and goes no further: the schedule is saved, and only
|
|
33
|
+
// the on-time wake-up is lost. The daily backstop still finds the document
|
|
34
|
+
// once it is overdue.
|
|
35
|
+
await sendEventSafely(args.inngest, {
|
|
33
36
|
name: 'content/page.scheduled',
|
|
34
37
|
data: {
|
|
35
38
|
collection: collection.slug,
|
|
36
39
|
id: String(id),
|
|
37
40
|
scheduledFor: new Date(next).toISOString(),
|
|
38
41
|
},
|
|
39
|
-
});
|
|
40
|
-
if (warning) {
|
|
41
|
-
// The schedule is saved; only the on-time wake-up is lost. The daily
|
|
42
|
-
// backstop still finds the document once it is overdue.
|
|
43
|
-
req.payload.logger.warn({ collection: collection.slug, id }, `[publishing] ${warning}`);
|
|
44
|
-
}
|
|
42
|
+
}, req.payload.logger);
|
|
45
43
|
return doc;
|
|
46
44
|
};
|
|
47
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-events.js","sourceRoot":"","sources":["../../../src/publishing/hooks/schedule-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAG5C;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAExC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,GAAG,CAAA;QAC7B,IAAI,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,GAAG,CAAA;QAEtD,MAAM,EAAE,GAAI,GAAwB,CAAC,EAAE,CAAA;QACvC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,GAAG,CAAA;QAE/C,
|
|
1
|
+
{"version":3,"file":"schedule-events.js","sourceRoot":"","sources":["../../../src/publishing/hooks/schedule-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAG5C;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAA;IAExC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,GAAG,CAAA;QAC7B,IAAI,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,GAAG,CAAA;QAEtD,MAAM,EAAE,GAAI,GAAwB,CAAC,EAAE,CAAA;QACvC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,GAAG,CAAA;QAE/C,2EAA2E;QAC3E,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,eAAe,CACnB,IAAI,CAAC,OAAO,EACZ;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE;gBACJ,UAAU,EAAE,UAAU,CAAC,IAAI;gBAC3B,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;aAC3C;SACF,EACD,GAAG,CAAC,OAAO,CAAC,MAAM,CACnB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACrC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { publishingPlugin } from './plugin.js';
|
|
2
|
-
export type { AccessibilityCheck, AccessibilityIssue, ActiveApproval, ApprovalResolver, PublishableCollection, PublishingPluginOptions, ResolvedCollection, } from './options.js';
|
|
2
|
+
export type { AccessibilityCheck, AccessibilityCheckContext, AccessibilityIssue, ActiveApproval, ApprovalResolver, PublishableCollection, PublishingPluginOptions, ResolvedCollection, } from './options.js';
|
|
3
3
|
export type { PipelineContext, PipelineResult, PipelineStep, PipelineStepResult, } from './pipeline/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Server-side publishing API. Use these from host code — a custom endpoint,
|
|
@@ -38,4 +38,12 @@ export { publishAtScheduledTimeJob } from './jobs/publish-at-scheduled-time.js';
|
|
|
38
38
|
export { createTagRevalidationHooks } from './jobs/revalidate-tag-hooks.js';
|
|
39
39
|
export type { CollectionTagHookOptions, GlobalTagHookOptions, RevalidateTagFn, TagRevalidationHooks, TagRevalidationOptions, TagSelector, } from './jobs/revalidate-tag-hooks.js';
|
|
40
40
|
export type { ExecuteScheduledPublishesOptions, PublishAtScheduledTimeOptions, RevalidateFn, RevalidateOnPublishOptions, RevalidatePathsInput, ScheduledCollectionConfig, ScheduledPublishRequest, ScheduledPublishResult, } from '../jobs/workflow-types.js';
|
|
41
|
+
/**
|
|
42
|
+
* Links, for the `link-targets` step: a host marks its own hand-written link
|
|
43
|
+
* fields with `markLinkTarget` so a link to a draft, trashed or deleted page
|
|
44
|
+
* is refused at publish. The fields the design-system generator builds are
|
|
45
|
+
* marked already.
|
|
46
|
+
*/
|
|
47
|
+
export { LINK_TARGET_KEY, linkTargetsIn, markLinkTarget } from '../references/links.js';
|
|
48
|
+
export type { LinkTarget, LinkTargetMarker, LinkTargetsInOptions } from '../references/links.js';
|
|
41
49
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/publishing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAE5B;;;;GAIG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAGtE,OAAO,EACL,6BAA6B,EAC7B,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAA;AAC3E,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,GACZ,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,gCAAgC,EAChC,6BAA6B,EAC7B,YAAY,EACZ,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/publishing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAE5B;;;;GAIG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAGtE,OAAO,EACL,6BAA6B,EAC7B,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAA;AAC3E,YAAY,EACV,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,GACZ,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,gCAAgC,EAChC,6BAA6B,EAC7B,YAAY,EACZ,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAA;AAElC;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvF,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
|
package/dist/publishing/index.js
CHANGED
|
@@ -35,4 +35,11 @@ export { revalidateOnPublishJob } from './jobs/revalidate-on-publish.js';
|
|
|
35
35
|
export { executeScheduledPublishesJob } from './jobs/execute-scheduled-publishes.js';
|
|
36
36
|
export { publishAtScheduledTimeJob } from './jobs/publish-at-scheduled-time.js';
|
|
37
37
|
export { createTagRevalidationHooks } from './jobs/revalidate-tag-hooks.js';
|
|
38
|
+
/**
|
|
39
|
+
* Links, for the `link-targets` step: a host marks its own hand-written link
|
|
40
|
+
* fields with `markLinkTarget` so a link to a draft, trashed or deleted page
|
|
41
|
+
* is refused at publish. The fields the design-system generator builds are
|
|
42
|
+
* marked already.
|
|
43
|
+
*/
|
|
44
|
+
export { LINK_TARGET_KEY, linkTargetsIn, markLinkTarget } from '../references/links.js';
|
|
38
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/publishing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/publishing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAoB9C;;;;GAIG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AAerB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,uFAAuF;AACvF,OAAO,EACL,6BAA6B,EAC7B,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAE1B,gFAAgF;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAA;AAoB3E;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Words an editor reads, shared by the server that writes them and the admin
|
|
3
|
+
* that shows them. No imports, so the admin bundle can take it.
|
|
4
|
+
*
|
|
5
|
+
* forumone-2026#805 is the brief: say what happened in the editor's terms, say
|
|
6
|
+
* what to do next, name who can fix it when the editor cannot — always "a site
|
|
7
|
+
* administrator", because Throughline serves more than one site and none of
|
|
8
|
+
* them should name a team here — and print a date as a person writes one.
|
|
9
|
+
* Detail a developer needs goes in the log and in the result's `detail`, where
|
|
10
|
+
* an MCP caller still has it alongside `code`.
|
|
11
|
+
*/
|
|
12
|
+
/** The one phrase for "somebody else has to fix this". */
|
|
13
|
+
export declare const TELL_AN_ADMINISTRATOR = "tell a site administrator";
|
|
14
|
+
/** "Try again; if it keeps happening, tell a site administrator." */
|
|
15
|
+
export declare const TRY_AGAIN = "Try again; if it keeps happening, tell a site administrator.";
|
|
16
|
+
/**
|
|
17
|
+
* A block no editor can fix: the site is set up wrongly. The setup instruction
|
|
18
|
+
* goes in the result's `detail` and the log, not here.
|
|
19
|
+
*/
|
|
20
|
+
export declare const PUBLISHING_UNAVAILABLE = "Publishing isn't working right now. Nothing was changed. Please tell a site administrator.";
|
|
21
|
+
/** When the response from the publishing endpoint was not one it could read. */
|
|
22
|
+
export declare const UNEXPECTED_PROBLEM: (action: "publish" | "unpublish" | "schedule" | "unschedule") => string;
|
|
23
|
+
export interface HumanDateOptions {
|
|
24
|
+
/**
|
|
25
|
+
* An IANA zone, e.g. `America/New_York`. Omitted, the runtime's own zone —
|
|
26
|
+
* which in a browser is the editor's.
|
|
27
|
+
*/
|
|
28
|
+
timeZone?: string | undefined;
|
|
29
|
+
/** Whether to name the zone after the time. Say it whenever the reader's own zone is not the one used. */
|
|
30
|
+
zoneName?: boolean | undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* `Tue 6 Oct 2026, 9:00 am`, or `Tue 6 Oct 2026, 1:00 pm UTC` with the zone
|
|
34
|
+
* named.
|
|
35
|
+
*
|
|
36
|
+
* Put together from parts rather than taken whole from `Intl`, whose `en-GB`
|
|
37
|
+
* output puts a comma after the weekday and whose `en-US` output puts the
|
|
38
|
+
* month first. The pieces are still `Intl`'s, so the zone arithmetic is too.
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatHumanDate(at: Date, options?: HumanDateOptions): string;
|
|
41
|
+
/**
|
|
42
|
+
* A date a message is about, in both forms: `at` for software, `text` as the
|
|
43
|
+
* server wrote it into the message. The admin swaps `text` for the same instant
|
|
44
|
+
* in the editor's own zone, which the server cannot know.
|
|
45
|
+
*/
|
|
46
|
+
export interface MessageDate {
|
|
47
|
+
at: string;
|
|
48
|
+
text: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The time the server writes into a message: in the zone the site configured,
|
|
52
|
+
* named, because the reader may be anywhere.
|
|
53
|
+
*/
|
|
54
|
+
export declare function messageDate(at: Date | number, timeZone?: string): MessageDate;
|
|
55
|
+
/**
|
|
56
|
+
* Rewrites a message's server-written date into the reader's own zone. A
|
|
57
|
+
* message with no date, or whose text no longer contains it, comes back as it
|
|
58
|
+
* was.
|
|
59
|
+
*/
|
|
60
|
+
export declare function localiseMessage(message: string, date: MessageDate | undefined, options?: HumanDateOptions): string;
|
|
61
|
+
/** `1 block` / `3 blocks`. */
|
|
62
|
+
export declare function plural(count: number, singular: string, pluralForm?: string): string;
|
|
63
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/publishing/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,8BAA8B,CAAA;AAEhE,qEAAqE;AACrE,eAAO,MAAM,SAAS,iEAAgE,CAAA;AAEtF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,+FAA8F,CAAA;AAEjI,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,WACgB,CAAA;AAS9G,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,0GAA0G;IAC1G,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAoBhF;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAKR;AAED,8BAA8B;AAC9B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAiB,GAAG,MAAM,CAE3F"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Words an editor reads, shared by the server that writes them and the admin
|
|
3
|
+
* that shows them. No imports, so the admin bundle can take it.
|
|
4
|
+
*
|
|
5
|
+
* forumone-2026#805 is the brief: say what happened in the editor's terms, say
|
|
6
|
+
* what to do next, name who can fix it when the editor cannot — always "a site
|
|
7
|
+
* administrator", because Throughline serves more than one site and none of
|
|
8
|
+
* them should name a team here — and print a date as a person writes one.
|
|
9
|
+
* Detail a developer needs goes in the log and in the result's `detail`, where
|
|
10
|
+
* an MCP caller still has it alongside `code`.
|
|
11
|
+
*/
|
|
12
|
+
/** The one phrase for "somebody else has to fix this". */
|
|
13
|
+
export const TELL_AN_ADMINISTRATOR = 'tell a site administrator';
|
|
14
|
+
/** "Try again; if it keeps happening, tell a site administrator." */
|
|
15
|
+
export const TRY_AGAIN = `Try again; if it keeps happening, ${TELL_AN_ADMINISTRATOR}.`;
|
|
16
|
+
/**
|
|
17
|
+
* A block no editor can fix: the site is set up wrongly. The setup instruction
|
|
18
|
+
* goes in the result's `detail` and the log, not here.
|
|
19
|
+
*/
|
|
20
|
+
export const PUBLISHING_UNAVAILABLE = `Publishing isn't working right now. Nothing was changed. Please ${TELL_AN_ADMINISTRATOR}.`;
|
|
21
|
+
/** When the response from the publishing endpoint was not one it could read. */
|
|
22
|
+
export const UNEXPECTED_PROBLEM = (action) => `This couldn't be ${PAST_TENSE[action]} because of an unexpected problem. Nothing was changed. ${TRY_AGAIN}`;
|
|
23
|
+
const PAST_TENSE = {
|
|
24
|
+
publish: 'published',
|
|
25
|
+
unpublish: 'unpublished',
|
|
26
|
+
schedule: 'scheduled',
|
|
27
|
+
unschedule: 'unscheduled',
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* `Tue 6 Oct 2026, 9:00 am`, or `Tue 6 Oct 2026, 1:00 pm UTC` with the zone
|
|
31
|
+
* named.
|
|
32
|
+
*
|
|
33
|
+
* Put together from parts rather than taken whole from `Intl`, whose `en-GB`
|
|
34
|
+
* output puts a comma after the weekday and whose `en-US` output puts the
|
|
35
|
+
* month first. The pieces are still `Intl`'s, so the zone arithmetic is too.
|
|
36
|
+
*/
|
|
37
|
+
export function formatHumanDate(at, options = {}) {
|
|
38
|
+
const parts = new Intl.DateTimeFormat('en-GB', {
|
|
39
|
+
weekday: 'short',
|
|
40
|
+
day: 'numeric',
|
|
41
|
+
month: 'short',
|
|
42
|
+
year: 'numeric',
|
|
43
|
+
hour: 'numeric',
|
|
44
|
+
minute: '2-digit',
|
|
45
|
+
// `h12`, not `hour12: true`: some ICU builds read the latter for `en-GB` as
|
|
46
|
+
// `h11` and write midnight as `0:05 am`.
|
|
47
|
+
hourCycle: 'h12',
|
|
48
|
+
...(options.timeZone ? { timeZone: options.timeZone } : {}),
|
|
49
|
+
...(options.zoneName ? { timeZoneName: 'short' } : {}),
|
|
50
|
+
}).formatToParts(at);
|
|
51
|
+
const part = (type) => parts.find((p) => p.type === type)?.value ?? '';
|
|
52
|
+
const time = `${part('hour')}:${part('minute')} ${part('dayPeriod').toLowerCase()}`;
|
|
53
|
+
const zone = options.zoneName ? ` ${part('timeZoneName')}` : '';
|
|
54
|
+
return `${part('weekday')} ${part('day')} ${part('month')} ${part('year')}, ${time}${zone}`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The time the server writes into a message: in the zone the site configured,
|
|
58
|
+
* named, because the reader may be anywhere.
|
|
59
|
+
*/
|
|
60
|
+
export function messageDate(at, timeZone) {
|
|
61
|
+
const date = new Date(at);
|
|
62
|
+
return {
|
|
63
|
+
at: date.toISOString(),
|
|
64
|
+
text: formatHumanDate(date, { timeZone: timeZone ?? 'UTC', zoneName: true }),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Rewrites a message's server-written date into the reader's own zone. A
|
|
69
|
+
* message with no date, or whose text no longer contains it, comes back as it
|
|
70
|
+
* was.
|
|
71
|
+
*/
|
|
72
|
+
export function localiseMessage(message, date, options = {}) {
|
|
73
|
+
if (!date || !message.includes(date.text))
|
|
74
|
+
return message;
|
|
75
|
+
const at = new Date(date.at);
|
|
76
|
+
if (Number.isNaN(at.getTime()))
|
|
77
|
+
return message;
|
|
78
|
+
return message.split(date.text).join(formatHumanDate(at, options));
|
|
79
|
+
}
|
|
80
|
+
/** `1 block` / `3 blocks`. */
|
|
81
|
+
export function plural(count, singular, pluralForm = `${singular}s`) {
|
|
82
|
+
return `${count} ${count === 1 ? singular : pluralForm}`;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/publishing/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,24 @@ export interface AccessibilityIssue {
|
|
|
27
27
|
message: string;
|
|
28
28
|
severity: 'error' | 'warning';
|
|
29
29
|
}
|
|
30
|
+
/** What a check may know beyond the document. Everything in it is optional. */
|
|
31
|
+
export interface AccessibilityCheckContext {
|
|
32
|
+
/**
|
|
33
|
+
* The design system's components, by name, when the components plugin is
|
|
34
|
+
* registered — so a check can ask what a block *is* (its contract's
|
|
35
|
+
* `category`) rather than guess from its `blockType`.
|
|
36
|
+
*/
|
|
37
|
+
components?: Readonly<Record<string, {
|
|
38
|
+
category?: string | undefined;
|
|
39
|
+
}>> | undefined;
|
|
40
|
+
}
|
|
30
41
|
export interface AccessibilityCheck {
|
|
31
42
|
name: string;
|
|
32
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Report each issue's `field` as a path into the document; the pipeline adds
|
|
45
|
+
* where that is in the editor's words, so `message` need not say it.
|
|
46
|
+
*/
|
|
47
|
+
run: (doc: Record<string, unknown>, collection: ResolvedCollection, context?: AccessibilityCheckContext) => Promise<AccessibilityIssue[]> | AccessibilityIssue[];
|
|
33
48
|
}
|
|
34
49
|
export interface ActiveApproval {
|
|
35
50
|
id: string;
|
|
@@ -67,6 +82,19 @@ export interface PublishingPluginOptions extends BaseCorePluginOptions {
|
|
|
67
82
|
* plugin ships a fix. Switch one off here and supply your own.
|
|
68
83
|
*/
|
|
69
84
|
disableAccessibilityChecks?: string[];
|
|
85
|
+
/**
|
|
86
|
+
* Optional: the `link-targets` step, which refuses a publish whose internal
|
|
87
|
+
* links go to a draft, a document in the trash, or one that has been
|
|
88
|
+
* deleted. On by default; `{ enabled: false }` switches it off.
|
|
89
|
+
*
|
|
90
|
+
* A link is a relationship field marked with `markLinkTarget` (every link
|
|
91
|
+
* the design-system generator builds already is) or an internal link in
|
|
92
|
+
* rich text. A target that is not published but has a scheduled publish
|
|
93
|
+
* time is a warning rather than a block.
|
|
94
|
+
*/
|
|
95
|
+
linkTargets?: {
|
|
96
|
+
enabled?: boolean;
|
|
97
|
+
};
|
|
70
98
|
/** Optional: resolver consulted when a document's policy requires approval. */
|
|
71
99
|
approvalResolver?: ApprovalResolver;
|
|
72
100
|
/**
|
|
@@ -90,6 +118,23 @@ export interface PublishingPluginOptions extends BaseCorePluginOptions {
|
|
|
90
118
|
* `publishDocument`).
|
|
91
119
|
*/
|
|
92
120
|
adminComponents?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Whether a failed Save, Publish or Schedule takes the editor to the first
|
|
123
|
+
* invalid field — switching tab and opening a collapsed row if it must — by
|
|
124
|
+
* an admin provider this plugin registers. Default: `true` (with
|
|
125
|
+
* `adminComponents`). Never after an autosave.
|
|
126
|
+
*/
|
|
127
|
+
goToFirstError?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* The IANA time zone a date is written in when the server writes it into a
|
|
130
|
+
* message — an embargo's end, an expiry: `America/New_York`. Default `UTC`.
|
|
131
|
+
* The zone is always named after the time.
|
|
132
|
+
*
|
|
133
|
+
* The admin shows those dates in each editor's own zone regardless, from the
|
|
134
|
+
* result's `when`; this is what an MCP caller, a log and an audit row read.
|
|
135
|
+
* Set it to the zone the site's editors work in.
|
|
136
|
+
*/
|
|
137
|
+
timeZone?: string;
|
|
93
138
|
/**
|
|
94
139
|
* Where to put this server's MCP tools so Payload's own MCP plugin can serve
|
|
95
140
|
* them.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/publishing/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAExE,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uFAAuF;IACvF,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,CACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,UAAU,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/publishing/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,14 @@ export function validateOptions(options) {
|
|
|
24
24
|
if (!options.inngest) {
|
|
25
25
|
throw new Error('publishingPlugin requires an Inngest client in options.inngest');
|
|
26
26
|
}
|
|
27
|
+
if (options.timeZone !== undefined) {
|
|
28
|
+
try {
|
|
29
|
+
new Intl.DateTimeFormat('en', { timeZone: options.timeZone });
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
throw new Error(`publishingPlugin's timeZone "${options.timeZone}" is not an IANA time zone, e.g. "America/New_York".`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
27
35
|
for (const collection of options.collections) {
|
|
28
36
|
const result = PublishableCollectionSchema.safeParse(collection);
|
|
29
37
|
if (!result.success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/publishing/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/publishing/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PipelineContext, PipelineStepResult } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* What every step's result goes through before anyone reads it, so no step has
|
|
4
|
+
* to remember either:
|
|
5
|
+
*
|
|
6
|
+
* - each issue gains `where`, its path in the editor's words;
|
|
7
|
+
* - a `detail` — the setup instruction behind a block no editor can fix — is
|
|
8
|
+
* logged, because the admin will not show it and the person who can act on
|
|
9
|
+
* it reads the log. It stays on the result for an MCP caller.
|
|
10
|
+
*/
|
|
11
|
+
export declare function finishStep(context: PipelineContext, name: string, result: PipelineStepResult): PipelineStepResult;
|
|
12
|
+
//# sourceMappingURL=finish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finish.d.ts","sourceRoot":"","sources":["../../../src/publishing/pipeline/finish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGrE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,kBAAkB,GACzB,kBAAkB,CAapB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { fieldConfigFor, withWhere } from './where.js';
|
|
2
|
+
/**
|
|
3
|
+
* What every step's result goes through before anyone reads it, so no step has
|
|
4
|
+
* to remember either:
|
|
5
|
+
*
|
|
6
|
+
* - each issue gains `where`, its path in the editor's words;
|
|
7
|
+
* - a `detail` — the setup instruction behind a block no editor can fix — is
|
|
8
|
+
* logged, because the admin will not show it and the person who can act on
|
|
9
|
+
* it reads the log. It stays on the result for an MCP caller.
|
|
10
|
+
*/
|
|
11
|
+
export function finishStep(context, name, result) {
|
|
12
|
+
if (result.detail) {
|
|
13
|
+
const logger = context.payload
|
|
14
|
+
.logger;
|
|
15
|
+
logger?.error?.(`[publishing] ${name} blocked ${context.collection.slug}/${context.documentId} (${result.code ?? 'no code'}): ${result.detail}`);
|
|
16
|
+
}
|
|
17
|
+
if (!result.issues || result.issues.length === 0)
|
|
18
|
+
return result;
|
|
19
|
+
return {
|
|
20
|
+
...result,
|
|
21
|
+
issues: withWhere(result.issues, fieldConfigFor(context), context.document),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=finish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finish.js","sourceRoot":"","sources":["../../../src/publishing/pipeline/finish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,OAAwB,EACxB,IAAY,EACZ,MAA0B;IAE1B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,MAAM,GAAI,OAAO,CAAC,OAA8D;aACnF,MAAM,CAAA;QACT,MAAM,EAAE,KAAK,EAAE,CACb,gBAAgB,IAAI,YAAY,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,MAAM,CAAC,MAAM,EAAE,CAChI,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IAC/D,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;KAC5E,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/publishing/pipeline/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/publishing/pipeline/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAA;AAqE/E;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAO1F;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAG5F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAW5F;AAED,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -2,14 +2,18 @@ import { existStep } from './steps/exist.js';
|
|
|
2
2
|
import { compositionStep } from './steps/composition.js';
|
|
3
3
|
import { accessibilityStep } from './steps/accessibility.js';
|
|
4
4
|
import { requiredFieldsStep } from './steps/required-fields.js';
|
|
5
|
+
import { linkTargetsStep } from './steps/link-targets.js';
|
|
5
6
|
import { embargoStep } from './steps/embargo.js';
|
|
6
7
|
import { approvalStep } from './steps/approval.js';
|
|
7
8
|
import { executeStep } from './steps/execute.js';
|
|
9
|
+
import { finishStep } from './finish.js';
|
|
8
10
|
const PREFLIGHT_STEPS = [
|
|
9
11
|
{ name: 'exist', step: existStep },
|
|
10
12
|
{ name: 'composition', step: compositionStep },
|
|
11
13
|
{ name: 'accessibility', step: accessibilityStep },
|
|
12
14
|
{ name: 'required-fields', step: requiredFieldsStep },
|
|
15
|
+
// The last content check, and the first to read other documents.
|
|
16
|
+
{ name: 'link-targets', step: linkTargetsStep },
|
|
13
17
|
{ name: 'embargo', step: embargoStep },
|
|
14
18
|
{ name: 'approval', step: approvalStep },
|
|
15
19
|
];
|
|
@@ -29,18 +33,15 @@ const ORDERED_STEPS = [
|
|
|
29
33
|
* differs between the two callers, and that difference is the only reason there
|
|
30
34
|
* are still two.
|
|
31
35
|
*
|
|
32
|
-
*
|
|
33
|
-
* a
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* step both warns and fails, or an earlier step learns to warn, dropping them
|
|
37
|
-
* would be silent. That is also why there is no test for it: the pipeline has no
|
|
38
|
-
* way to produce the case.
|
|
36
|
+
* A warning can reach a *failure* envelope: `link-targets` warns about a link
|
|
37
|
+
* to a scheduled page and can fail on another link in the same run, and an
|
|
38
|
+
* earlier step's warnings are carried past a later failure. `runPublishPipeline`
|
|
39
|
+
* spreads them onto the failure so neither is dropped silently.
|
|
39
40
|
*/
|
|
40
41
|
async function runSteps(context, steps) {
|
|
41
42
|
const warnings = [];
|
|
42
43
|
for (const { name, step } of steps) {
|
|
43
|
-
const result = await step(context);
|
|
44
|
+
const result = finishStep(context, name, await step(context));
|
|
44
45
|
if (result.warnings)
|
|
45
46
|
warnings.push(...result.warnings);
|
|
46
47
|
if (result.pass)
|
|
@@ -53,6 +54,8 @@ async function runSteps(context, steps) {
|
|
|
53
54
|
...(result.code ? { code: result.code } : {}),
|
|
54
55
|
...(result.issues ? { issues: result.issues } : {}),
|
|
55
56
|
...(result.suggestion ? { suggestion: result.suggestion } : {}),
|
|
57
|
+
...(result.when ? { when: result.when } : {}),
|
|
58
|
+
...(result.detail ? { detail: result.detail } : {}),
|
|
56
59
|
},
|
|
57
60
|
warnings,
|
|
58
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/publishing/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/publishing/pipeline/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import type { PipelineStep } from '../types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Runs every built-in accessibility check followed by user-supplied ones.
|
|
4
4
|
* Errors block publish; warnings don't, and reach the publish result's
|
|
5
|
-
* `warnings`, one line each,
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* `warnings`, one line each, led by where the problem is. (The built-ins raise
|
|
6
|
+
* none; a site's own checks may.) They used to be dropped here, so a check
|
|
7
|
+
* that warned said nothing to anybody.
|
|
8
8
|
*
|
|
9
9
|
* Built-ins named in `disableAccessibilityChecks` are skipped, so a host
|
|
10
10
|
* whose content shape trips one can replace it rather than wait for a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/accessibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/accessibility.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,aAAa,CAAA;AAK9D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAmC/B,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { plural } from '../../messages.js';
|
|
1
2
|
import { BUILT_IN_ACCESSIBILITY_CHECKS } from '../../checks/index.js';
|
|
3
|
+
import { COMPONENTS_MANIFEST_SYMBOL } from './composition.js';
|
|
4
|
+
import { fieldConfigFor, withWhere } from '../where.js';
|
|
2
5
|
/**
|
|
3
6
|
* Runs every built-in accessibility check followed by user-supplied ones.
|
|
4
7
|
* Errors block publish; warnings don't, and reach the publish result's
|
|
5
|
-
* `warnings`, one line each,
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
+
* `warnings`, one line each, led by where the problem is. (The built-ins raise
|
|
9
|
+
* none; a site's own checks may.) They used to be dropped here, so a check
|
|
10
|
+
* that warned said nothing to anybody.
|
|
8
11
|
*
|
|
9
12
|
* Built-ins named in `disableAccessibilityChecks` are skipped, so a host
|
|
10
13
|
* whose content shape trips one can replace it rather than wait for a
|
|
@@ -16,28 +19,33 @@ export const accessibilityStep = async (ctx) => {
|
|
|
16
19
|
...BUILT_IN_ACCESSIBILITY_CHECKS.filter((check) => !disabled.has(check.name)),
|
|
17
20
|
...(ctx.options.accessibilityChecks ?? []),
|
|
18
21
|
];
|
|
22
|
+
const context = await checkContext(ctx.payload);
|
|
19
23
|
const allIssues = [];
|
|
20
24
|
for (const check of checks) {
|
|
21
|
-
const issues = await check.run(ctx.document, ctx.collection);
|
|
25
|
+
const issues = await check.run(ctx.document, ctx.collection, context);
|
|
22
26
|
for (const issue of issues) {
|
|
23
27
|
allIssues.push({ ...issue, rule: check.name });
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
const errors = allIssues.filter((i) => i.severity === 'error');
|
|
27
|
-
const warnings = allIssues
|
|
28
|
-
.filter((i) => i.severity === 'warning')
|
|
29
|
-
.map((i) => `${i.rule}: ${i.message}${i.field ? ` (${i.field})` : ''}`);
|
|
31
|
+
const warnings = withWhere(allIssues.filter((i) => i.severity === 'warning'), fieldConfigFor(ctx), ctx.document).map((i) => `${i.where ? `${i.where}: ` : ''}${i.message}`);
|
|
30
32
|
const carried = warnings.length ? { warnings } : {};
|
|
31
33
|
if (errors.length > 0) {
|
|
32
34
|
return {
|
|
33
35
|
...carried,
|
|
34
36
|
pass: false,
|
|
35
37
|
code: 'accessibility-errors',
|
|
36
|
-
|
|
38
|
+
// No suggestion: each issue already says what to do about itself.
|
|
39
|
+
reason: `${plural(errors.length, 'thing')} to fix so everyone can use this page.`,
|
|
37
40
|
issues: errors,
|
|
38
|
-
suggestion: 'Every image needs alt text. Every link needs a label. Heading levels must not skip. Fix these before publishing.',
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
return { pass: true, ...carried };
|
|
42
44
|
};
|
|
45
|
+
async function checkContext(payload) {
|
|
46
|
+
const manifest = payload[COMPONENTS_MANIFEST_SYMBOL];
|
|
47
|
+
if (!manifest)
|
|
48
|
+
return {};
|
|
49
|
+
return { components: (await manifest()).components };
|
|
50
|
+
}
|
|
43
51
|
//# sourceMappingURL=accessibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/accessibility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/accessibility.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAiB,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG;QACb,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7E,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;KAC3C,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAoB,EAAE,CAAA;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACrE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,SAAS,CACxB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EACjD,cAAc,CAAC,GAAG,CAAC,EACnB,GAAG,CAAC,QAAQ,CACb,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,OAAO;YACV,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,sBAAsB;YAC5B,kEAAkE;YAClE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wCAAwC;YACjF,MAAM,EAAE,MAAM;SACf,CAAA;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAA;AACnC,CAAC,CAAA;AAED,KAAK,UAAU,YAAY,CAAC,OAAe;IACzC,MAAM,QAAQ,GAAI,OAAmC,CAAC,0BAA0B,CAEnE,CAAA;IACb,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,CAAA;AACtD,CAAC"}
|