@growth-labs/cms 0.3.0 → 0.4.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 +101 -5
- package/dist/cli/migrations.d.ts +3 -0
- package/dist/cli/migrations.d.ts.map +1 -0
- package/dist/cli/migrations.js +73 -0
- package/dist/cli/migrations.js.map +1 -0
- package/dist/engine/content-metadata.d.ts +13 -0
- package/dist/engine/content-metadata.d.ts.map +1 -0
- package/dist/engine/content-metadata.js +80 -0
- package/dist/engine/content-metadata.js.map +1 -0
- package/dist/engine/index.d.ts +3 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +5 -1
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/publication.d.ts +29 -1
- package/dist/engine/publication.d.ts.map +1 -1
- package/dist/engine/publication.js +197 -15
- package/dist/engine/publication.js.map +1 -1
- package/dist/engine/published-content.d.ts +40 -0
- package/dist/engine/published-content.d.ts.map +1 -0
- package/dist/engine/published-content.js +388 -0
- package/dist/engine/published-content.js.map +1 -0
- package/dist/engine/publisher.d.ts +16 -1
- package/dist/engine/publisher.d.ts.map +1 -1
- package/dist/engine/publisher.js +74 -11
- package/dist/engine/publisher.js.map +1 -1
- package/dist/engine/revisions.d.ts.map +1 -1
- package/dist/engine/revisions.js +2 -0
- package/dist/engine/revisions.js.map +1 -1
- package/dist/migration-vendor-files.d.ts +17 -0
- package/dist/migration-vendor-files.d.ts.map +1 -0
- package/dist/migration-vendor-files.js +67 -0
- package/dist/migration-vendor-files.js.map +1 -0
- package/dist/migration-vendor.d.ts +26 -0
- package/dist/migration-vendor.d.ts.map +1 -0
- package/dist/migration-vendor.js +321 -0
- package/dist/migration-vendor.js.map +1 -0
- package/dist/schema/migrations.d.ts.map +1 -1
- package/dist/schema/migrations.js +24 -0
- package/dist/schema/migrations.js.map +1 -1
- package/dist/schema/types.d.ts +6 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js.map +1 -1
- package/migrations/0020_content_metadata_read_model.sql +19 -0
- package/migrations/0021_published_revision_slug_index.sql +5 -0
- package/package.json +8 -1
- package/src/cli/migrations.ts +85 -0
- package/src/engine/content-metadata.ts +122 -0
- package/src/engine/index.ts +26 -0
- package/src/engine/publication.ts +329 -18
- package/src/engine/published-content.ts +581 -0
- package/src/engine/publisher.ts +106 -10
- package/src/engine/revisions.ts +4 -0
- package/src/migration-vendor-files.ts +100 -0
- package/src/migration-vendor.ts +450 -0
- package/src/schema/migrations.ts +24 -0
- package/src/schema/types.ts +6 -0
package/dist/engine/publisher.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { serializeContentMetadata } from './content-metadata.js';
|
|
1
2
|
import { evaluateArticleBody } from './publish-guard.js';
|
|
2
3
|
import { slugify } from './slug.js';
|
|
3
4
|
function isBodyBackedContentType(type) {
|
|
@@ -40,16 +41,66 @@ export function estimateReadTime(wordCount) {
|
|
|
40
41
|
function isBodyBackedContentInput(input) {
|
|
41
42
|
return isBodyBackedContentType(input.type);
|
|
42
43
|
}
|
|
44
|
+
function normalizeSourceId(value) {
|
|
45
|
+
if (value === null || value === undefined)
|
|
46
|
+
return null;
|
|
47
|
+
if (typeof value !== 'string' || !value || value !== value.trim() || value.length > 256) {
|
|
48
|
+
throw new TypeError('sourceId must be a trimmed non-empty string of at most 256 characters');
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
function normalizeInitialTimestamps(value) {
|
|
53
|
+
const timestamps = value ?? {};
|
|
54
|
+
for (const [field, candidate] of [
|
|
55
|
+
['publishedAt', timestamps.publishedAt],
|
|
56
|
+
['createdAt', timestamps.createdAt],
|
|
57
|
+
['updatedAt', timestamps.updatedAt],
|
|
58
|
+
]) {
|
|
59
|
+
if (candidate !== null && candidate !== undefined) {
|
|
60
|
+
if (!Number.isSafeInteger(candidate) || candidate < 0) {
|
|
61
|
+
throw new TypeError(`${field} must be a non-negative epoch second`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const publishTz = timestamps.publishTz;
|
|
66
|
+
if (publishTz !== null &&
|
|
67
|
+
publishTz !== undefined &&
|
|
68
|
+
(typeof publishTz !== 'string' ||
|
|
69
|
+
!publishTz.trim() ||
|
|
70
|
+
publishTz !== publishTz.trim() ||
|
|
71
|
+
publishTz.length > 64)) {
|
|
72
|
+
throw new TypeError('publishTz must be a trimmed non-empty string of at most 64 characters');
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
publishedAt: timestamps.publishedAt ?? null,
|
|
76
|
+
createdAt: timestamps.createdAt ?? null,
|
|
77
|
+
updatedAt: timestamps.updatedAt ?? null,
|
|
78
|
+
publishTz: publishTz ?? null,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
43
81
|
export async function ensureUniqueSlug(db, slug, excludeId) {
|
|
44
82
|
const base = slugify(slug);
|
|
45
83
|
let candidate = base;
|
|
46
84
|
let suffix = 2;
|
|
47
85
|
while (true) {
|
|
48
|
-
const
|
|
86
|
+
const draftRow = await db
|
|
49
87
|
.prepare('SELECT id FROM content_items WHERE slug = ? LIMIT 1')
|
|
50
88
|
.bind(candidate)
|
|
51
89
|
.first();
|
|
52
|
-
|
|
90
|
+
const publishedRow = await db
|
|
91
|
+
.prepare(`SELECT ci.id
|
|
92
|
+
FROM content_items ci
|
|
93
|
+
JOIN content_revisions cr
|
|
94
|
+
ON cr.id = ci.published_revision_id AND cr.content_id = ci.id
|
|
95
|
+
WHERE ci.status = 'published'
|
|
96
|
+
AND ci.deleted_at IS NULL
|
|
97
|
+
AND json_extract(cr.payload_json, '$.item.slug') = ?
|
|
98
|
+
LIMIT 1`)
|
|
99
|
+
.bind(candidate)
|
|
100
|
+
.first();
|
|
101
|
+
const draftAvailable = !draftRow || (excludeId !== undefined && draftRow.id === excludeId);
|
|
102
|
+
const publishedAvailable = !publishedRow || (excludeId !== undefined && publishedRow.id === excludeId);
|
|
103
|
+
if (draftAvailable && publishedAvailable) {
|
|
53
104
|
return candidate;
|
|
54
105
|
}
|
|
55
106
|
candidate = `${base}-${suffix}`;
|
|
@@ -126,15 +177,20 @@ export async function createContent(db, input) {
|
|
|
126
177
|
const slug = await ensureUniqueSlug(db, input.slug);
|
|
127
178
|
const visibility = input.visibility || 'free';
|
|
128
179
|
const primaryCategory = input.primaryCategory || 'analysis';
|
|
180
|
+
const metadataJson = serializeContentMetadata(input.metadata);
|
|
181
|
+
const sourceId = normalizeSourceId(input.sourceId);
|
|
182
|
+
const initialTimestamps = normalizeInitialTimestamps(input.initialTimestamps);
|
|
129
183
|
await db
|
|
130
184
|
.prepare(`
|
|
131
185
|
INSERT INTO content_items (
|
|
132
186
|
id, type, status, visibility, slug, title, seo_title, description, excerpt,
|
|
133
187
|
byline, channel, primary_topic, featured, author_id, hero_image_id,
|
|
134
|
-
hero_image_alt, hero_image_caption, social_image_id, canonical_url
|
|
135
|
-
|
|
188
|
+
hero_image_alt, hero_image_caption, social_image_id, canonical_url,
|
|
189
|
+
metadata_json, source_id, published_at, created_at, updated_at, publish_tz
|
|
190
|
+
) VALUES (?, ?, 'draft', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
|
|
191
|
+
COALESCE(?, unixepoch()), COALESCE(?, unixepoch()), COALESCE(?, 'Europe/Paris'))
|
|
136
192
|
`)
|
|
137
|
-
.bind(id, input.type, visibility, slug, input.title, input.seoTitle || null, input.description || null, input.excerpt || null, input.byline || null, primaryCategory, input.primaryTopic || null, input.featured ? 1 : 0, input.authorId || null, input.heroImageId || null, input.heroImageAlt || null, input.heroImageCaption || null, input.socialImageId || null, input.canonicalUrl || null)
|
|
193
|
+
.bind(id, input.type, visibility, slug, input.title, input.seoTitle || null, input.description || null, input.excerpt || null, input.byline || null, primaryCategory, input.primaryTopic || null, input.featured ? 1 : 0, input.authorId || null, input.heroImageId || null, input.heroImageAlt || null, input.heroImageCaption || null, input.socialImageId || null, input.canonicalUrl || null, metadataJson, sourceId, initialTimestamps.publishedAt, initialTimestamps.createdAt, initialTimestamps.updatedAt, initialTimestamps.publishTz)
|
|
138
194
|
.run();
|
|
139
195
|
if (isBodyBackedContentInput(input)) {
|
|
140
196
|
const wc = input.content.wordCount ?? countWords(input.content.bodyMarkdown);
|
|
@@ -221,6 +277,9 @@ export async function updateContentItem(db, id, input) {
|
|
|
221
277
|
const seoFocusKeyword = hasOwn(input, 'seoFocusKeyword')
|
|
222
278
|
? (input.seoFocusKeyword ?? null)
|
|
223
279
|
: (existing.seo_focus_keyword ?? null);
|
|
280
|
+
const metadataJson = hasOwn(input, 'metadata')
|
|
281
|
+
? serializeContentMetadata(input.metadata)
|
|
282
|
+
: existing.metadata_json;
|
|
224
283
|
await db
|
|
225
284
|
.prepare(`
|
|
226
285
|
UPDATE content_items SET
|
|
@@ -242,10 +301,11 @@ export async function updateContentItem(db, id, input) {
|
|
|
242
301
|
canonical_url = ?,
|
|
243
302
|
ai_locked_fields = ?,
|
|
244
303
|
seo_focus_keyword = ?,
|
|
304
|
+
metadata_json = ?,
|
|
245
305
|
updated_at = unixepoch()
|
|
246
306
|
WHERE id = ?
|
|
247
307
|
`)
|
|
248
|
-
.bind(slug, title, seoTitle, description, excerpt, byline, primaryCategory, primaryTopic, featured, visibility, authorId, heroImageId, heroImageAlt, heroImageCaption, socialImageId, canonicalUrl, aiLockedFields, seoFocusKeyword, id)
|
|
308
|
+
.bind(slug, title, seoTitle, description, excerpt, byline, primaryCategory, primaryTopic, featured, visibility, authorId, heroImageId, heroImageAlt, heroImageCaption, socialImageId, canonicalUrl, aiLockedFields, seoFocusKeyword, metadataJson, id)
|
|
249
309
|
.run();
|
|
250
310
|
if (input.tags !== undefined) {
|
|
251
311
|
await setContentTags(db, id, input.tags);
|
|
@@ -483,7 +543,8 @@ export async function duplicateContentItem(db, sourceId) {
|
|
|
483
543
|
// DEFAULT (unixepoch()) timestamps; status forced to 'draft', featured to
|
|
484
544
|
// 0, publish_at/published_at/published_revision_id to NULL. (inventory §6)
|
|
485
545
|
//
|
|
486
|
-
// SEO
|
|
546
|
+
// SEO and declared metadata carry over (seo_title, seo_focus_keyword,
|
|
547
|
+
// seo_score, ai_og_image_id, metadata_json)
|
|
487
548
|
// — a duplicate should keep the SEO work already done on the source. But
|
|
488
549
|
// board_position is the source item's slot in the editorial board ordering;
|
|
489
550
|
// a fresh draft copy must NOT inherit it, so it is reset to NULL.
|
|
@@ -494,7 +555,8 @@ export async function duplicateContentItem(db, sourceId) {
|
|
|
494
555
|
hero_image_id, hero_image_alt, hero_image_caption, social_image_id,
|
|
495
556
|
canonical_url, publish_at, published_at,
|
|
496
557
|
publish_tz, ai_locked_fields, published_revision_id,
|
|
497
|
-
seo_focus_keyword, seo_score, ai_og_image_id, board_position
|
|
558
|
+
seo_focus_keyword, seo_score, ai_og_image_id, board_position,
|
|
559
|
+
metadata_json
|
|
498
560
|
)
|
|
499
561
|
SELECT
|
|
500
562
|
?, type, 'draft', visibility, ?, title || ' (Copy)', seo_title, description, excerpt,
|
|
@@ -502,7 +564,8 @@ export async function duplicateContentItem(db, sourceId) {
|
|
|
502
564
|
hero_image_id, hero_image_alt, hero_image_caption, social_image_id,
|
|
503
565
|
canonical_url, NULL, NULL,
|
|
504
566
|
publish_tz, ai_locked_fields, NULL,
|
|
505
|
-
seo_focus_keyword, seo_score, ai_og_image_id, NULL
|
|
567
|
+
seo_focus_keyword, seo_score, ai_og_image_id, NULL,
|
|
568
|
+
metadata_json
|
|
506
569
|
FROM content_items
|
|
507
570
|
WHERE id = ?`)
|
|
508
571
|
.bind(newId, newSlug, sourceId)
|
|
@@ -586,11 +649,11 @@ export async function getContentSnapshot(db, contentId) {
|
|
|
586
649
|
.first();
|
|
587
650
|
}
|
|
588
651
|
const tags = await db
|
|
589
|
-
.prepare('SELECT t.slug FROM content_tag_links l JOIN content_tags t ON t.id = l.tag_id WHERE l.content_id = ?')
|
|
652
|
+
.prepare('SELECT t.slug FROM content_tag_links l JOIN content_tags t ON t.id = l.tag_id WHERE l.content_id = ? ORDER BY t.slug ASC')
|
|
590
653
|
.bind(contentId)
|
|
591
654
|
.all();
|
|
592
655
|
const related = await db
|
|
593
|
-
.prepare('SELECT related_id, rank, reason FROM content_relations WHERE content_id = ? ORDER BY rank ASC')
|
|
656
|
+
.prepare('SELECT related_id, rank, reason FROM content_relations WHERE content_id = ? ORDER BY rank ASC, related_id ASC')
|
|
594
657
|
.bind(contentId)
|
|
595
658
|
.all();
|
|
596
659
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/engine/publisher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/engine/publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACvC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAC3E;AAED,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB;AA4BD,6EAA6E;AAC7E,wBAAsB,uBAAuB,CAC5C,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAyCjC;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAwBjG;AAED,wBAAsB,WAAW,CAChC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,sBAAsB,CAAA;CAAE,GAAG,IAAI,CAAC,CAmC/E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACtC,OAAO,CAAC,OAAO,CAAC,CAoHlB"}
|
package/dist/engine/revisions.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// existing content_revisions table (0001 baseline) + the 0005 delta columns
|
|
5
5
|
// (words_added, words_removed, tag). Snapshot shape is formalized as
|
|
6
6
|
// ContentRevisionPayload, aligned to getContentSnapshot's output.
|
|
7
|
+
import { parseContentMetadata } from './content-metadata.js';
|
|
7
8
|
import { countWords, getContentItem, getContentSnapshot, updateContentItem } from './publisher.js';
|
|
8
9
|
function bodyWordCount(payload) {
|
|
9
10
|
const md = payload?.content && typeof payload.content.body_markdown === 'string'
|
|
@@ -153,6 +154,7 @@ export async function restoreRevision(db, contentId, revisionId, opts = {}) {
|
|
|
153
154
|
canonicalUrl: item.canonical_url ?? null,
|
|
154
155
|
// SEO focus keyword is part of the snapshot — restore it too.
|
|
155
156
|
seoFocusKeyword: item.seo_focus_keyword ?? null,
|
|
157
|
+
metadata: parseContentMetadata(typeof item.metadata_json === 'string' ? item.metadata_json : '{}'),
|
|
156
158
|
tags: target.payload.tags,
|
|
157
159
|
relations: target.payload.related.map((r) => ({
|
|
158
160
|
relatedId: r.related_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revisions.js","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE;AACrE,kEAAkE;
|
|
1
|
+
{"version":3,"file":"revisions.js","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface StagedMigrationVendorFile {
|
|
2
|
+
tempPath: string;
|
|
3
|
+
targetPath: string;
|
|
4
|
+
}
|
|
5
|
+
export interface MigrationVendorFileOperations {
|
|
6
|
+
link(source: string, target: string): Promise<void>;
|
|
7
|
+
unlink(path: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare function rollbackNewFiles(paths: string[], operations?: MigrationVendorFileOperations): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Link every pre-staged file without replacing an existing directory entry.
|
|
12
|
+
* A later failure removes all targets linked by this attempt and every temp.
|
|
13
|
+
*/
|
|
14
|
+
export declare function commitNewFilesAtomically(files: StagedMigrationVendorFile[], operations?: MigrationVendorFileOperations): Promise<string[]>;
|
|
15
|
+
/** Commit staged SQL, then run the receipt/final verification boundary. */
|
|
16
|
+
export declare function commitStagedMigrationBatch(files: StagedMigrationVendorFile[], finalize: () => Promise<void>, operations?: MigrationVendorFileOperations): Promise<string[]>;
|
|
17
|
+
//# sourceMappingURL=migration-vendor-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-vendor-files.d.ts","sourceRoot":"","sources":["../src/migration-vendor-files.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC7C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC;AAmBD,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,GAAE,6BAAkD,GAC5D,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC7C,KAAK,EAAE,yBAAyB,EAAE,EAClC,UAAU,GAAE,6BAAkD,GAC5D,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BnB;AAED,2EAA2E;AAC3E,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,yBAAyB,EAAE,EAClC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC7B,UAAU,GAAE,6BAAkD,GAC5D,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { link, unlink } from 'node:fs/promises';
|
|
2
|
+
const DEFAULT_OPERATIONS = { link, unlink };
|
|
3
|
+
async function removePaths(paths, operations) {
|
|
4
|
+
const errors = [];
|
|
5
|
+
for (const path of [...paths].reverse()) {
|
|
6
|
+
try {
|
|
7
|
+
await operations.unlink(path);
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
if (error.code !== 'ENOENT')
|
|
11
|
+
errors.push(error);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return errors;
|
|
15
|
+
}
|
|
16
|
+
export async function rollbackNewFiles(paths, operations = DEFAULT_OPERATIONS) {
|
|
17
|
+
const errors = await removePaths(paths, operations);
|
|
18
|
+
if (errors.length > 0) {
|
|
19
|
+
throw new AggregateError(errors, 'failed to roll back newly linked CMS migration files');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Link every pre-staged file without replacing an existing directory entry.
|
|
24
|
+
* A later failure removes all targets linked by this attempt and every temp.
|
|
25
|
+
*/
|
|
26
|
+
export async function commitNewFilesAtomically(files, operations = DEFAULT_OPERATIONS) {
|
|
27
|
+
const committed = [];
|
|
28
|
+
let failure;
|
|
29
|
+
try {
|
|
30
|
+
for (const file of files) {
|
|
31
|
+
await operations.link(file.tempPath, file.targetPath);
|
|
32
|
+
committed.push(file.targetPath);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
failure = error;
|
|
37
|
+
}
|
|
38
|
+
const cleanupErrors = await removePaths(files.map((file) => file.tempPath), operations);
|
|
39
|
+
if (failure) {
|
|
40
|
+
const rollbackErrors = await removePaths(committed, operations);
|
|
41
|
+
const errors = [failure, ...cleanupErrors, ...rollbackErrors].filter((error) => error !== undefined);
|
|
42
|
+
const primary = failure instanceof Error ? `: ${failure.message}` : '';
|
|
43
|
+
throw new AggregateError(errors, `CMS migration file commit failed${primary}`);
|
|
44
|
+
}
|
|
45
|
+
// A hard-linked target remains valid when unlinking only its staged temp
|
|
46
|
+
// fails. The caller's outer finally retries temp cleanup; rolling targets
|
|
47
|
+
// back here would turn a harmless leftover temp into data loss.
|
|
48
|
+
return committed;
|
|
49
|
+
}
|
|
50
|
+
/** Commit staged SQL, then run the receipt/final verification boundary. */
|
|
51
|
+
export async function commitStagedMigrationBatch(files, finalize, operations = DEFAULT_OPERATIONS) {
|
|
52
|
+
const committed = await commitNewFilesAtomically(files, operations);
|
|
53
|
+
try {
|
|
54
|
+
await finalize();
|
|
55
|
+
return committed;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
try {
|
|
59
|
+
await rollbackNewFiles(committed, operations);
|
|
60
|
+
}
|
|
61
|
+
catch (rollbackError) {
|
|
62
|
+
throw new AggregateError([error, rollbackError], 'CMS migration batch finalization failed and rollback was incomplete');
|
|
63
|
+
}
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=migration-vendor-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-vendor-files.js","sourceRoot":"","sources":["../src/migration-vendor-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare const PACKAGE_NAME = "@growth-labs/cms";
|
|
2
|
+
export interface SyncCmsMigrationsOptions {
|
|
3
|
+
/** Existing consumer-owned Wrangler migrations directory. */
|
|
4
|
+
migrationsDir: string;
|
|
5
|
+
/** First unused sequence number reserved for the package migrations. */
|
|
6
|
+
startSequence: number;
|
|
7
|
+
/** Override only when a consumer keeps the receipt outside migrationsDir. */
|
|
8
|
+
manifestPath?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface VerifyCmsMigrationsOptions {
|
|
11
|
+
migrationsDir: string;
|
|
12
|
+
manifestPath?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CmsMigrationVendorResult {
|
|
15
|
+
packageName: typeof PACKAGE_NAME;
|
|
16
|
+
packageVersion: string;
|
|
17
|
+
startSequence: number;
|
|
18
|
+
managedFiles: string[];
|
|
19
|
+
written: number;
|
|
20
|
+
verified: number;
|
|
21
|
+
manifestPath: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function syncCmsMigrations(options: SyncCmsMigrationsOptions): Promise<CmsMigrationVendorResult>;
|
|
24
|
+
export declare function verifyCmsMigrations(options: VerifyCmsMigrationsOptions): Promise<CmsMigrationVendorResult>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=migration-vendor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-vendor.d.ts","sourceRoot":"","sources":["../src/migration-vendor.ts"],"names":[],"mappings":"AAiBA,QAAA,MAAM,YAAY,qBAAqB,CAAA;AAgCvC,MAAM,WAAW,wBAAwB;IACxC,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,wBAAwB;IACxC,WAAW,EAAE,OAAO,YAAY,CAAA;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACpB;AAgSD,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAiDnC;AAED,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,0BAA0B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAmCnC"}
|