@byline/cli 4.0.0 → 4.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/dist/manifest/deps.d.ts.map +1 -1
- package/dist/manifest/deps.js +6 -0
- package/dist/manifest/deps.js.map +1 -1
- package/dist/phases/scaffold-smoke.test.js +10 -3
- package/dist/phases/scaffold-smoke.test.js.map +1 -1
- package/dist/templates/byline/collection-types.contract.ts +1 -1
- package/dist/templates/byline/collections/index.ts +1 -1
- package/dist/templates/byline/generated/collection-types.ts +14 -6
- package/dist/templates/byline/server.config.ts +8 -1
- package/dist/templates/byline-examples/collection-types.contract.ts +1 -1
- package/dist/templates/byline-examples/collections/docs/hooks.ts +2 -2
- package/dist/templates/byline-examples/collections/index.ts +1 -1
- package/dist/templates/byline-examples/generated/collection-types.ts +138 -130
- package/dist/templates/byline-examples/scripts/import-docs.ts +3 -3
- package/dist/templates/byline-examples/scripts/regenerate-media-operation.ts +112 -0
- package/dist/templates/byline-examples/scripts/regenerate-media.ts +126 -90
- package/dist/templates/byline-examples/server.config.ts +10 -3
- package/dist/templates/ui-byline/blocks/richtext-block/index.tsx +1 -1
- package/dist/templates/ui-byline/types/content.ts +1 -1
- package/dist/ui-template-contract.test.js +27 -7
- package/dist/ui-template-contract.test.js.map +1 -1
- package/dist/workspace-root.test.js +5 -1
- package/dist/workspace-root.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/templates/byline/clients.server.ts +0 -77
- package/dist/templates/byline-examples/clients.server.ts +0 -77
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/manifest/deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAA;AAE1C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAA;IACf,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AAKD,eAAO,MAAM,cAAc,QAAwC,CAAA;AAEnE,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/manifest/deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAA;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAA;AAE1C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAA;IACf,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B;AAKD,eAAO,MAAM,cAAc,QAAwC,CAAA;AAEnE,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,EA0L9B,CAAA"}
|
package/dist/manifest/deps.js
CHANGED
|
@@ -51,6 +51,12 @@ export const DEP_SPECS = [
|
|
|
51
51
|
group: 'byline',
|
|
52
52
|
note: 'types, config, patches, workflow, Zod schema builder',
|
|
53
53
|
},
|
|
54
|
+
{
|
|
55
|
+
name: '@byline/generated-types',
|
|
56
|
+
version: BYLINE_VERSION,
|
|
57
|
+
group: 'byline',
|
|
58
|
+
note: 'declaration-merge target for the app-generated collection types',
|
|
59
|
+
},
|
|
54
60
|
{
|
|
55
61
|
name: '@byline/db-postgres',
|
|
56
62
|
version: BYLINE_VERSION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/manifest/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/manifest/deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,8 +51,15 @@ describe('temporary host scaffold smoke contracts', () => {
|
|
|
51
51
|
expect(inventory.includes('byline/scripts/import-docs.ts')).toBe(answers.importDocs);
|
|
52
52
|
expect(inventory.some((path) => path.startsWith('byline/scripts/lib/'))).toBe(answers.importDocs);
|
|
53
53
|
expect(inventory.includes('src/ui/byline/render-blocks.tsx')).toBe(answers.examples);
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
// Without examples, the only generated imports are the structural
|
|
55
|
+
// registry aliases used by collections/index.ts and the contract file —
|
|
56
|
+
// no collection field shapes.
|
|
57
|
+
if (!answers.examples) {
|
|
58
|
+
expect([...new Set(generatedImports)].sort()).toEqual([
|
|
59
|
+
'CollectionFieldsAllLocalesByPath',
|
|
60
|
+
'CollectionFieldsByPath',
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
56
63
|
});
|
|
57
64
|
it('assembles a custom nested sign-in route fixture with matching config and route ID', async () => {
|
|
58
65
|
const ctx = createTestContext({
|
|
@@ -144,7 +151,7 @@ function packageBoundary(specifier) {
|
|
|
144
151
|
}
|
|
145
152
|
function importedGeneratedNames(source) {
|
|
146
153
|
const names = [];
|
|
147
|
-
for (const match of source.matchAll(/import type \{([^}]+)\} from ['"]
|
|
154
|
+
for (const match of source.matchAll(/import type \{([^}]+)\} from ['"]@byline\/generated-types['"]/g)) {
|
|
148
155
|
for (const item of match[1]?.split(',') ?? []) {
|
|
149
156
|
const name = item.trim().split(/\s+as\s+/)[0];
|
|
150
157
|
if (name)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold-smoke.test.js","sourceRoot":"","sources":["../../src/phases/scaffold-smoke.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scaffold-smoke.test.js","sourceRoot":"","sources":["../../src/phases/scaffold-smoke.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ import type { collections } from './collections/index.js'
|
|
|
29
29
|
import type {
|
|
30
30
|
CollectionFieldsAllLocalesByPath,
|
|
31
31
|
CollectionFieldsByPath,
|
|
32
|
-
} from '
|
|
32
|
+
} from '@byline/generated-types'
|
|
33
33
|
|
|
34
34
|
type InferredFieldsByPath = {
|
|
35
35
|
[Definition in (typeof collections)[number] as Definition['path']]: CollectionFieldData<Definition>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import type { InferCollectionRegistry } from '@byline/core'
|
|
10
10
|
|
|
11
|
-
import type { CollectionFieldsByPath } from '
|
|
11
|
+
import type { CollectionFieldsByPath } from '@byline/generated-types'
|
|
12
12
|
|
|
13
13
|
/** Add schema-only collection imports here; keep admin presentation separate. */
|
|
14
14
|
export const collections = [] as const
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
// Generated by @byline/core/codegen
|
|
2
|
-
// Format version:
|
|
3
|
-
// Hash:
|
|
2
|
+
// Format version: 2
|
|
3
|
+
// Hash: 32dbd34eba8597c598229b7b278d5c1ef1bebb005b57986331bc2f393c49e673
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
declare module '@byline/generated-types' {
|
|
6
|
+
export type CollectionFieldsByPath = {
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type CollectionFieldsAllLocalesByPath = {
|
|
10
|
+
}
|
|
7
11
|
|
|
8
|
-
export type
|
|
12
|
+
export type CollectionPath = keyof CollectionFieldsByPath
|
|
9
13
|
}
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
declare module '@byline/client' {
|
|
16
|
+
interface Register {
|
|
17
|
+
collections: import('@byline/generated-types').CollectionFieldsByPath
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -29,7 +29,8 @@ import {
|
|
|
29
29
|
} from '@byline/richtext-lexical/server'
|
|
30
30
|
import { localStorageProvider } from '@byline/storage-local'
|
|
31
31
|
|
|
32
|
-
import { getAdminBylineClient } from '
|
|
32
|
+
import { getAdminBylineClient } from '@byline/client/server'
|
|
33
|
+
import { registerTanstackStartHostBridge } from '@byline/host-tanstack-start/integrations/host-bridge'
|
|
33
34
|
import { collections } from './collections/index.js'
|
|
34
35
|
import { serverHooks } from './collections/server-hooks.js'
|
|
35
36
|
import { i18n } from './i18n.js'
|
|
@@ -87,6 +88,12 @@ async function buildBylineCore(): Promise<BylineCore<AdminStore>> {
|
|
|
87
88
|
signingSecret,
|
|
88
89
|
})
|
|
89
90
|
|
|
91
|
+
// Register the TanStack Start `HostRequestBridge` before any
|
|
92
|
+
// request-bound client getter (`@byline/client/server`) can run —
|
|
93
|
+
// structural at server boot rather than dependent on which host
|
|
94
|
+
// module happens to load first.
|
|
95
|
+
registerTanstackStartHostBridge()
|
|
96
|
+
|
|
90
97
|
const core = await initBylineCore<AdminStore>({
|
|
91
98
|
serverURL,
|
|
92
99
|
i18n,
|
|
@@ -29,7 +29,7 @@ import type { collections } from './collections/index.js'
|
|
|
29
29
|
import type {
|
|
30
30
|
CollectionFieldsAllLocalesByPath,
|
|
31
31
|
CollectionFieldsByPath,
|
|
32
|
-
} from '
|
|
32
|
+
} from '@byline/generated-types'
|
|
33
33
|
|
|
34
34
|
type InferredFieldsByPath = {
|
|
35
35
|
[Definition in (typeof collections)[number] as Definition['path']]: CollectionFieldData<Definition>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* the client. Hook *bodies*, however, only ever run server-side.
|
|
19
19
|
*
|
|
20
20
|
* Search indexing is the canonical reason this matters: it imports the
|
|
21
|
-
* server-only
|
|
21
|
+
* server-only client getters from `@byline/client/server`. Importing
|
|
22
22
|
* that from the schema would drag server code into the browser bundle (fatal
|
|
23
23
|
* in dev). The server bootstrap avoids it by registering these hooks from a
|
|
24
24
|
* server-only module:
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
*/
|
|
51
51
|
|
|
52
52
|
import { defineHooks } from '@byline/core'
|
|
53
|
-
import { getSystemBylineClient } from '
|
|
53
|
+
import { getSystemBylineClient } from '@byline/client/server'
|
|
54
54
|
|
|
55
55
|
export default defineHooks({
|
|
56
56
|
beforeCreate: async ({ data, collectionPath }) => {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import type { InferCollectionRegistry } from '@byline/core'
|
|
10
10
|
|
|
11
|
-
import type { CollectionFieldsByPath } from '
|
|
11
|
+
import type { CollectionFieldsByPath } from '@byline/generated-types'
|
|
12
12
|
|
|
13
13
|
import { Docs } from './docs/schema.js'
|
|
14
14
|
import { Media } from './media/schema.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Generated by @byline/core/codegen
|
|
2
|
-
// Format version:
|
|
3
|
-
// Hash:
|
|
2
|
+
// Format version: 2
|
|
3
|
+
// Hash: 7c42f9892f94559081c07b01952f1149e7c4cc112569bbed5861c0a32d735448
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
JsonValue,
|
|
@@ -8,132 +8,140 @@ import type {
|
|
|
8
8
|
StoredFileValue,
|
|
9
9
|
} from '@byline/core'
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
declare module '@byline/generated-types' {
|
|
12
|
+
export type PhotoBlockData = {
|
|
13
|
+
_id: string
|
|
14
|
+
_type: 'photoBlock'
|
|
15
|
+
display?: 'default' | 'wide' | 'full_width' | undefined
|
|
16
|
+
photo?: RelatedDocumentValue | undefined
|
|
17
|
+
alt: string
|
|
18
|
+
caption?: JsonValue | undefined
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type PhotoBlockDataAllLocales = {
|
|
22
|
+
_id: string
|
|
23
|
+
_type: 'photoBlock'
|
|
24
|
+
display?: 'default' | 'wide' | 'full_width' | undefined
|
|
25
|
+
photo?: RelatedDocumentValue | undefined
|
|
26
|
+
alt: string
|
|
27
|
+
caption?: { [locale: string]: JsonValue } | undefined
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type RichTextBlockData = {
|
|
31
|
+
_id: string
|
|
32
|
+
_type: 'richTextBlock'
|
|
33
|
+
richText: JsonValue
|
|
34
|
+
constrainedWidth?: boolean | undefined
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export type RichTextBlockDataAllLocales = {
|
|
38
|
+
_id: string
|
|
39
|
+
_type: 'richTextBlock'
|
|
40
|
+
richText: { [locale: string]: JsonValue }
|
|
41
|
+
constrainedWidth?: boolean | undefined
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type DocsFields = {
|
|
45
|
+
title: string
|
|
46
|
+
summary: string
|
|
47
|
+
featureImage?: RelatedDocumentValue | undefined
|
|
48
|
+
publishedOn: Date
|
|
49
|
+
content?: Array<RichTextBlockData | PhotoBlockData> | undefined
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export type DocsFieldsAllLocales = {
|
|
53
|
+
title: { [locale: string]: string }
|
|
54
|
+
summary: { [locale: string]: string }
|
|
55
|
+
featureImage?: RelatedDocumentValue | undefined
|
|
56
|
+
publishedOn: Date
|
|
57
|
+
content?: Array<RichTextBlockDataAllLocales | PhotoBlockDataAllLocales> | undefined
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type MediaFields = {
|
|
61
|
+
image: StoredFileValue
|
|
62
|
+
title: string
|
|
63
|
+
altText: string
|
|
64
|
+
caption?: string | undefined
|
|
65
|
+
credit?: string | undefined
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export type MediaFieldsAllLocales = {
|
|
69
|
+
image: StoredFileValue
|
|
70
|
+
title: string
|
|
71
|
+
altText: string
|
|
72
|
+
caption?: string | undefined
|
|
73
|
+
credit?: string | undefined
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export type NewsCategoriesFields = {
|
|
77
|
+
name: string
|
|
78
|
+
description: string
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export type NewsCategoriesFieldsAllLocales = {
|
|
82
|
+
name: { [locale: string]: string }
|
|
83
|
+
description: { [locale: string]: string }
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export type NewsFields = {
|
|
87
|
+
title: string
|
|
88
|
+
summary: string
|
|
89
|
+
category: RelatedDocumentValue
|
|
90
|
+
featureImage?: RelatedDocumentValue | undefined
|
|
91
|
+
featured?: boolean | undefined
|
|
92
|
+
content: JsonValue
|
|
93
|
+
publishedOn: Date
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export type NewsFieldsAllLocales = {
|
|
97
|
+
title: { [locale: string]: string }
|
|
98
|
+
summary: { [locale: string]: string }
|
|
99
|
+
category: RelatedDocumentValue
|
|
100
|
+
featureImage?: RelatedDocumentValue | undefined
|
|
101
|
+
featured?: boolean | undefined
|
|
102
|
+
content: { [locale: string]: JsonValue }
|
|
103
|
+
publishedOn: Date
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export type PagesFields = {
|
|
107
|
+
title: string
|
|
108
|
+
summary: string
|
|
109
|
+
featureImage?: RelatedDocumentValue | undefined
|
|
110
|
+
area: 'root' | 'about' | 'legal'
|
|
111
|
+
content?: Array<RichTextBlockData | PhotoBlockData> | undefined
|
|
112
|
+
publishedOn: Date
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export type PagesFieldsAllLocales = {
|
|
116
|
+
title: { [locale: string]: string }
|
|
117
|
+
summary: { [locale: string]: string }
|
|
118
|
+
featureImage?: RelatedDocumentValue | undefined
|
|
119
|
+
area: 'root' | 'about' | 'legal'
|
|
120
|
+
content?: Array<RichTextBlockDataAllLocales | PhotoBlockDataAllLocales> | undefined
|
|
121
|
+
publishedOn: Date
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export type CollectionFieldsByPath = {
|
|
125
|
+
docs: DocsFields
|
|
126
|
+
media: MediaFields
|
|
127
|
+
news: NewsFields
|
|
128
|
+
'news-categories': NewsCategoriesFields
|
|
129
|
+
pages: PagesFields
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export type CollectionFieldsAllLocalesByPath = {
|
|
133
|
+
docs: DocsFieldsAllLocales
|
|
134
|
+
media: MediaFieldsAllLocales
|
|
135
|
+
news: NewsFieldsAllLocales
|
|
136
|
+
'news-categories': NewsCategoriesFieldsAllLocales
|
|
137
|
+
pages: PagesFieldsAllLocales
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export type CollectionPath = keyof CollectionFieldsByPath
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
declare module '@byline/client' {
|
|
144
|
+
interface Register {
|
|
145
|
+
collections: import('@byline/generated-types').CollectionFieldsByPath
|
|
146
|
+
}
|
|
18
147
|
}
|
|
19
|
-
|
|
20
|
-
export type PhotoBlockDataAllLocales = {
|
|
21
|
-
_id: string
|
|
22
|
-
_type: 'photoBlock'
|
|
23
|
-
display?: 'default' | 'wide' | 'full_width' | undefined
|
|
24
|
-
photo?: RelatedDocumentValue | undefined
|
|
25
|
-
alt: string
|
|
26
|
-
caption?: { [locale: string]: JsonValue } | undefined
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export type RichTextBlockData = {
|
|
30
|
-
_id: string
|
|
31
|
-
_type: 'richTextBlock'
|
|
32
|
-
richText: JsonValue
|
|
33
|
-
constrainedWidth?: boolean | undefined
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export type RichTextBlockDataAllLocales = {
|
|
37
|
-
_id: string
|
|
38
|
-
_type: 'richTextBlock'
|
|
39
|
-
richText: { [locale: string]: JsonValue }
|
|
40
|
-
constrainedWidth?: boolean | undefined
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type DocsFields = {
|
|
44
|
-
title: string
|
|
45
|
-
summary: string
|
|
46
|
-
featureImage?: RelatedDocumentValue | undefined
|
|
47
|
-
publishedOn: Date
|
|
48
|
-
content?: Array<RichTextBlockData | PhotoBlockData> | undefined
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export type DocsFieldsAllLocales = {
|
|
52
|
-
title: { [locale: string]: string }
|
|
53
|
-
summary: { [locale: string]: string }
|
|
54
|
-
featureImage?: RelatedDocumentValue | undefined
|
|
55
|
-
publishedOn: Date
|
|
56
|
-
content?: Array<RichTextBlockDataAllLocales | PhotoBlockDataAllLocales> | undefined
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export type MediaFields = {
|
|
60
|
-
image: StoredFileValue
|
|
61
|
-
title: string
|
|
62
|
-
altText: string
|
|
63
|
-
caption?: string | undefined
|
|
64
|
-
credit?: string | undefined
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export type MediaFieldsAllLocales = {
|
|
68
|
-
image: StoredFileValue
|
|
69
|
-
title: string
|
|
70
|
-
altText: string
|
|
71
|
-
caption?: string | undefined
|
|
72
|
-
credit?: string | undefined
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export type NewsCategoriesFields = {
|
|
76
|
-
name: string
|
|
77
|
-
description: string
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export type NewsCategoriesFieldsAllLocales = {
|
|
81
|
-
name: { [locale: string]: string }
|
|
82
|
-
description: { [locale: string]: string }
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export type NewsFields = {
|
|
86
|
-
title: string
|
|
87
|
-
summary: string
|
|
88
|
-
category: RelatedDocumentValue
|
|
89
|
-
featureImage?: RelatedDocumentValue | undefined
|
|
90
|
-
featured?: boolean | undefined
|
|
91
|
-
content: JsonValue
|
|
92
|
-
publishedOn: Date
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export type NewsFieldsAllLocales = {
|
|
96
|
-
title: { [locale: string]: string }
|
|
97
|
-
summary: { [locale: string]: string }
|
|
98
|
-
category: RelatedDocumentValue
|
|
99
|
-
featureImage?: RelatedDocumentValue | undefined
|
|
100
|
-
featured?: boolean | undefined
|
|
101
|
-
content: { [locale: string]: JsonValue }
|
|
102
|
-
publishedOn: Date
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export type PagesFields = {
|
|
106
|
-
title: string
|
|
107
|
-
summary: string
|
|
108
|
-
featureImage?: RelatedDocumentValue | undefined
|
|
109
|
-
area: 'root' | 'about' | 'legal'
|
|
110
|
-
content?: Array<RichTextBlockData | PhotoBlockData> | undefined
|
|
111
|
-
publishedOn: Date
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export type PagesFieldsAllLocales = {
|
|
115
|
-
title: { [locale: string]: string }
|
|
116
|
-
summary: { [locale: string]: string }
|
|
117
|
-
featureImage?: RelatedDocumentValue | undefined
|
|
118
|
-
area: 'root' | 'about' | 'legal'
|
|
119
|
-
content?: Array<RichTextBlockDataAllLocales | PhotoBlockDataAllLocales> | undefined
|
|
120
|
-
publishedOn: Date
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export type CollectionFieldsByPath = {
|
|
124
|
-
docs: DocsFields
|
|
125
|
-
media: MediaFields
|
|
126
|
-
news: NewsFields
|
|
127
|
-
'news-categories': NewsCategoriesFields
|
|
128
|
-
pages: PagesFields
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export type CollectionFieldsAllLocalesByPath = {
|
|
132
|
-
docs: DocsFieldsAllLocales
|
|
133
|
-
media: MediaFieldsAllLocales
|
|
134
|
-
news: NewsFieldsAllLocales
|
|
135
|
-
'news-categories': NewsCategoriesFieldsAllLocales
|
|
136
|
-
pages: PagesFieldsAllLocales
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export type CollectionPath = keyof CollectionFieldsByPath
|
|
@@ -62,14 +62,14 @@ import { type MdastToLexicalWarning, mdastToLexical } from './lib/mdast-to-lexic
|
|
|
62
62
|
import { parseBodyToMdast } from './lib/parse-markdown.js'
|
|
63
63
|
import { type DocLinkRewriteWarning, rewriteDocLinks } from './lib/rewrite-doc-links.js'
|
|
64
64
|
import { stripLeadingH1IfMatches } from './lib/strip-leading-h1.js'
|
|
65
|
-
import type {
|
|
65
|
+
import type { DocsFields } from '@byline/generated-types'
|
|
66
66
|
|
|
67
67
|
const DOCS_COLLECTION = 'docs'
|
|
68
68
|
const MEDIA_COLLECTION = 'media'
|
|
69
69
|
const DOCS_URL_PREFIX = '/docs'
|
|
70
70
|
const DEFAULT_IMPORT_STATUS = 'published'
|
|
71
71
|
|
|
72
|
-
type AppBylineClient = BylineClient
|
|
72
|
+
type AppBylineClient = BylineClient
|
|
73
73
|
type DocsHandle = CollectionHandle<DocsFields>
|
|
74
74
|
|
|
75
75
|
interface Flags {
|
|
@@ -391,7 +391,7 @@ async function run(): Promise<void> {
|
|
|
391
391
|
|
|
392
392
|
const config = getServerConfig()
|
|
393
393
|
const requestContext = createSuperAdminContext({ id: 'import-docs-script' })
|
|
394
|
-
const client = createBylineClient
|
|
394
|
+
const client = createBylineClient({ config, requestContext })
|
|
395
395
|
const handle = client.collection(DOCS_COLLECTION)
|
|
396
396
|
|
|
397
397
|
// Pre-pass: map each source file to the path its imported doc will
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maintenance helpers for `regenerate-media.ts`.
|
|
3
|
+
*
|
|
4
|
+
* Kept separate from the executable so the safety-critical behaviour can be
|
|
5
|
+
* unit tested without loading the application server config or touching real
|
|
6
|
+
* storage.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { CollectionHandle } from '@byline/client'
|
|
10
|
+
import {
|
|
11
|
+
getDefaultStatus,
|
|
12
|
+
getWorkflowStatuses,
|
|
13
|
+
type CollectionDefinition,
|
|
14
|
+
type IDbAdapter,
|
|
15
|
+
type StoredFileValue,
|
|
16
|
+
} from '@byline/core'
|
|
17
|
+
|
|
18
|
+
export function storedFilePaths(value: StoredFileValue): Set<string> {
|
|
19
|
+
return new Set([
|
|
20
|
+
value.storagePath,
|
|
21
|
+
...(value.variants ?? [])
|
|
22
|
+
.map((variant) => variant.storagePath)
|
|
23
|
+
.filter((storagePath): storagePath is string => Boolean(storagePath)),
|
|
24
|
+
])
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Reject a partial image-processor result before it replaces a complete
|
|
29
|
+
* persisted value. Core uploads deliberately tolerate an individual variant
|
|
30
|
+
* failure for interactive requests; this maintenance operation must be
|
|
31
|
+
* stricter because it is about bringing every stored asset up to the schema.
|
|
32
|
+
*/
|
|
33
|
+
export function assertCompleteVariantSet(
|
|
34
|
+
storedFile: StoredFileValue,
|
|
35
|
+
expectedVariantNames: readonly string[]
|
|
36
|
+
): void {
|
|
37
|
+
const expected = [...expectedVariantNames].sort()
|
|
38
|
+
const actual = (storedFile.variants ?? []).map((variant) => variant.name).sort()
|
|
39
|
+
if (
|
|
40
|
+
expected.length !== actual.length ||
|
|
41
|
+
expected.some((variantName, index) => variantName !== actual[index])
|
|
42
|
+
) {
|
|
43
|
+
throw new Error(
|
|
44
|
+
`regenerate-media: incomplete variant set for '${storedFile.storagePath}' ` +
|
|
45
|
+
`(expected: ${expected.join(', ') || 'none'}; generated: ${actual.join(', ') || 'none'}).`
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Write the regenerated fields and restore the captured workflow status as
|
|
52
|
+
* one transaction.
|
|
53
|
+
*
|
|
54
|
+
* `CollectionHandle.update()` creates a new immutable version at the
|
|
55
|
+
* collection's default status. For this maintenance operation, changing that
|
|
56
|
+
* newly-created row to the captured status inside the same transaction is not
|
|
57
|
+
* an editorial transition: no caller can observe the intermediate draft, and
|
|
58
|
+
* an archived item never passes through published. The final version row and
|
|
59
|
+
* its normal `document.updated` activity entry retain the resulting status;
|
|
60
|
+
* the explicit status mutation is additionally audited as a system action.
|
|
61
|
+
*
|
|
62
|
+
* Direct adapter commands are intentional here and should not be copied into
|
|
63
|
+
* ordinary application writes. Scripts are the supported escape hatch for
|
|
64
|
+
* migrations that must preserve metadata while still using the lifecycle for
|
|
65
|
+
* the content update itself.
|
|
66
|
+
*/
|
|
67
|
+
export async function replaceMediaVersionPreservingStatus(params: {
|
|
68
|
+
db: IDbAdapter
|
|
69
|
+
definition: CollectionDefinition
|
|
70
|
+
collectionId: string
|
|
71
|
+
handle: Pick<CollectionHandle, 'update'>
|
|
72
|
+
documentId: string
|
|
73
|
+
fields: Record<string, any>
|
|
74
|
+
targetStatus: string
|
|
75
|
+
}): Promise<{ documentVersionId: string }> {
|
|
76
|
+
const statuses = getWorkflowStatuses(params.definition).map((status) => status.name)
|
|
77
|
+
if (!statuses.includes(params.targetStatus)) {
|
|
78
|
+
throw new Error(
|
|
79
|
+
`regenerate-media: status '${params.targetStatus}' is not declared on collection ` +
|
|
80
|
+
`'${params.definition.path}' (declared: ${statuses.join(', ')}).`
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const defaultStatus = getDefaultStatus(params.definition)
|
|
85
|
+
return params.db.withTransaction(async () => {
|
|
86
|
+
const result = await params.handle.update(params.documentId, params.fields)
|
|
87
|
+
if (params.targetStatus === defaultStatus) return result
|
|
88
|
+
|
|
89
|
+
await params.db.commands.documents.setDocumentStatus({
|
|
90
|
+
document_version_id: result.documentVersionId,
|
|
91
|
+
status: params.targetStatus,
|
|
92
|
+
})
|
|
93
|
+
if (params.targetStatus === 'published') {
|
|
94
|
+
await params.db.commands.documents.archivePublishedVersions({
|
|
95
|
+
document_id: params.documentId,
|
|
96
|
+
excludeVersionId: result.documentVersionId,
|
|
97
|
+
})
|
|
98
|
+
}
|
|
99
|
+
await params.db.commands.audit.append({
|
|
100
|
+
documentId: params.documentId,
|
|
101
|
+
collectionId: params.collectionId,
|
|
102
|
+
actorId: null,
|
|
103
|
+
actorRealm: 'system',
|
|
104
|
+
action: 'document.status.changed',
|
|
105
|
+
field: 'status',
|
|
106
|
+
before: defaultStatus,
|
|
107
|
+
after: params.targetStatus,
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
return result
|
|
111
|
+
})
|
|
112
|
+
}
|