@notionx/create-notionx-app 1.0.0 → 2.0.1

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.
Files changed (63) hide show
  1. package/dist/cli-notionx.js +25 -1
  2. package/dist/cli-notionx.js.map +1 -1
  3. package/dist/locale-add/persist.js +113 -0
  4. package/dist/locale-add/persist.js.map +1 -0
  5. package/dist/locale-add/plan.js +202 -21
  6. package/dist/locale-add/plan.js.map +1 -1
  7. package/dist/metadata.js.map +1 -1
  8. package/dist/notion-translation-sources/apply.js +11 -26
  9. package/dist/notion-translation-sources/apply.js.map +1 -1
  10. package/dist/notion-translation-sources/plan.js +25 -0
  11. package/dist/notion-translation-sources/plan.js.map +1 -1
  12. package/dist/provision/__tests__/translation-properties.test.js +86 -0
  13. package/dist/provision/__tests__/translation-properties.test.js.map +1 -0
  14. package/dist/provision/credentials.js +67 -0
  15. package/dist/provision/credentials.js.map +1 -0
  16. package/dist/provision/index.js +188 -11
  17. package/dist/provision/index.js.map +1 -1
  18. package/dist/provision/notion.js +422 -269
  19. package/dist/provision/notion.js.map +1 -1
  20. package/dist/provision/notion.test.js +143 -116
  21. package/dist/provision/notion.test.js.map +1 -1
  22. package/dist/provision/wire.js +16 -0
  23. package/dist/provision/wire.js.map +1 -1
  24. package/dist/registry/install.test.js +2 -0
  25. package/dist/registry/install.test.js.map +1 -1
  26. package/dist/registry/project-meta.js +4 -2
  27. package/dist/registry/project-meta.js.map +1 -1
  28. package/dist/registry/registry-types.js.map +1 -1
  29. package/dist/registry/render-content-source-files.js +1 -0
  30. package/dist/registry/render-content-source-files.js.map +1 -1
  31. package/dist/registry/render-multi-source.js +72 -28
  32. package/dist/registry/render-multi-source.js.map +1 -1
  33. package/dist/registry/update.test.js +2 -0
  34. package/dist/registry/update.test.js.map +1 -1
  35. package/dist/render.js +2 -0
  36. package/dist/render.js.map +1 -1
  37. package/dist/render.test.js +18 -12
  38. package/dist/render.test.js.map +1 -1
  39. package/dist/templates/.dev.vars.example.tmpl +4 -0
  40. package/dist/templates/__tests__/middleware-integration.test.ts +58 -0
  41. package/dist/templates/app/{{contentSourceListPath}}/[slug]/page.tsx.tmpl +8 -4
  42. package/dist/templates/app/{{contentSourceListPath}}/page.tsx.tmpl +8 -4
  43. package/dist/templates/components/page-blocks/feature-grid-block.tsx.tmpl +4 -56
  44. package/dist/templates/components/page-blocks/hero-block.tsx.tmpl +6 -67
  45. package/dist/templates/components/page-blocks/latest-posts-block.tsx.tmpl +11 -19
  46. package/dist/templates/components/page-blocks/story-block.tsx.tmpl +4 -62
  47. package/dist/templates/components/page-blocks.tsx.tmpl +5 -5
  48. package/dist/templates/components/site/site-header.tsx.tmpl +5 -3
  49. package/dist/templates/env.d.ts.tmpl +8 -0
  50. package/dist/templates/lib/blocks/translations.ts.tmpl +22 -1
  51. package/dist/templates/lib/blog/translations.ts.tmpl +19 -3
  52. package/dist/templates/lib/content/models.ts.tmpl +6 -0
  53. package/dist/templates/lib/locale-contract/index.ts.tmpl +1 -1
  54. package/dist/templates/lib/pages/source.ts.tmpl +140 -335
  55. package/dist/templates/lib/pages/translations.ts.tmpl +23 -1
  56. package/dist/templates/lib/search/config.ts.tmpl +17 -4
  57. package/dist/templates/lib/site/request-env.ts.tmpl +21 -3
  58. package/dist/templates/lib/site/settings.ts.tmpl +99 -179
  59. package/dist/templates/lib/site/translations.ts.tmpl +34 -11
  60. package/dist/templates/middleware.ts.tmpl +56 -0
  61. package/dist/templates/worker/index.ts.tmpl +14 -5
  62. package/dist/templates/wrangler.jsonc.tmpl +5 -1
  63. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  // sources. The planner never calls the `ntn` CLI; it returns a
5
5
  // list of `NotionTranslationSourcePlan` records that the runner
6
6
  // resolves into actual Notion resources.
7
+ import { buildBlogTranslationProperties, buildPageTranslationProperties, buildBlockTranslationProperties, buildSiteSettingsTranslationProperties, } from "../provision/notion.js";
7
8
  const MODEL_ID_TO_ENV = {
8
9
  "blog-translations": "NOTION_BLOG_TRANSLATIONS_DATA_SOURCE_ID",
9
10
  "page-translations": "NOTION_PAGES_TRANSLATIONS_DATA_SOURCE_ID",
@@ -16,17 +17,41 @@ const ALL_MODEL_IDS = [
16
17
  "block-translations",
17
18
  "site-settings-translations",
18
19
  ];
20
+ /**
21
+ * Build the Notion `properties` map for a given translation model.
22
+ *
23
+ * `baseDatabaseId` is forwarded to the per-model property builder so
24
+ * the `Source` relation property can point at the right base
25
+ * database. When omitted, the relation is created without an
26
+ * explicit target database (Notion will leave it un-configured).
27
+ */
28
+ function propertiesForModel(modelId, baseDatabaseId) {
29
+ switch (modelId) {
30
+ case "blog-translations":
31
+ return buildBlogTranslationProperties(baseDatabaseId);
32
+ case "page-translations":
33
+ return buildPageTranslationProperties(baseDatabaseId);
34
+ case "block-translations":
35
+ return buildBlockTranslationProperties(baseDatabaseId);
36
+ case "site-settings-translations":
37
+ return buildSiteSettingsTranslationProperties(baseDatabaseId);
38
+ }
39
+ }
19
40
  export function planNotionTranslationSources(input) {
20
41
  return ALL_MODEL_IDS.map((modelId) => {
21
42
  const envVar = MODEL_ID_TO_ENV[modelId];
22
43
  const existing = input.existingTranslationSources[modelId];
44
+ const baseDatabaseId = input.baseDatabaseIds?.[modelId];
23
45
  return {
24
46
  modelId,
25
47
  envVar,
48
+ apiToken: input.apiToken,
26
49
  parentPageId: input.parentPageId,
27
50
  copyFrom: input.copyFrom,
28
51
  existingDataSourceId: existing?.dataSourceId,
29
52
  action: existing ? "reuse" : "create",
53
+ properties: propertiesForModel(modelId, baseDatabaseId),
54
+ baseDatabaseId,
30
55
  };
31
56
  });
32
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/notion-translation-sources/plan.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,6DAA6D;AAC7D,+DAA+D;AAC/D,gEAAgE;AAChE,yCAAyC;AAiBzC,MAAM,eAAe,GAGjB;IACF,mBAAmB,EAAE,yCAAyC;IAC9D,mBAAmB,EAAE,0CAA0C;IAC/D,oBAAoB,EAAE,2CAA2C;IACjE,4BAA4B,EAC1B,kDAAkD;CACrD,CAAC;AAEF,MAAM,aAAa,GAA6C;IAC9D,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;IACpB,4BAA4B;CAC7B,CAAC;AAUF,MAAM,UAAU,4BAA4B,CAC1C,KAAwC;IAExC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO;YACL,OAAO;YACP,MAAM;YACN,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,oBAAoB,EAAE,QAAQ,EAAE,YAAY;YAC5C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/notion-translation-sources/plan.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,6DAA6D;AAC7D,+DAA+D;AAC/D,gEAAgE;AAChE,yCAAyC;AAGzC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,+BAA+B,EAC/B,sCAAsC,GAEvC,MAAM,wBAAwB,CAAC;AAuBhC,MAAM,eAAe,GAGjB;IACF,mBAAmB,EAAE,yCAAyC;IAC9D,mBAAmB,EAAE,0CAA0C;IAC/D,oBAAoB,EAAE,2CAA2C;IACjE,4BAA4B,EAC1B,kDAAkD;CACrD,CAAC;AAEF,MAAM,aAAa,GAA6C;IAC9D,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;IACpB,4BAA4B;CAC7B,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACzB,OAA+C,EAC/C,cAAuB;IAEvB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,mBAAmB;YACtB,OAAO,8BAA8B,CAAC,cAAc,CAAC,CAAC;QACxD,KAAK,mBAAmB;YACtB,OAAO,8BAA8B,CAAC,cAAc,CAAC,CAAC;QACxD,KAAK,oBAAoB;YACvB,OAAO,+BAA+B,CAAC,cAAc,CAAC,CAAC;QACzD,KAAK,4BAA4B;YAC/B,OAAO,sCAAsC,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAsBD,MAAM,UAAU,4BAA4B,CAC1C,KAAwC;IAExC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO;YACL,OAAO;YACP,MAAM;YACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,oBAAoB,EAAE,QAAQ,EAAE,YAAY;YAC5C,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;YACrC,UAAU,EAAE,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC;YACvD,cAAc;SACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { buildBlogTranslationProperties, buildPageTranslationProperties, buildBlockTranslationProperties, buildSiteSettingsTranslationProperties, ensureTranslationDatabase, } from "../notion.js";
3
+ describe("translation property builders", () => {
4
+ it("buildBlogTranslationProperties includes Source relation, Locale select, Title, Slug (no Body field)", () => {
5
+ const props = buildBlogTranslationProperties();
6
+ expect(props.Source).toEqual({ relation: { database_property: {} } });
7
+ expect(props.Locale).toEqual({ select: {} });
8
+ expect(props.Title).toEqual({ title: {} });
9
+ expect(props.Slug).toEqual({ rich_text: {} });
10
+ // Body content lives in the translation page's children blocks,
11
+ // not a rich_text field — assert the property is absent.
12
+ expect(props.Body).toBeUndefined();
13
+ expect(props.Published).toEqual({ checkbox: {} });
14
+ expect(props.Description).toEqual({ rich_text: {} });
15
+ });
16
+ it("buildPageTranslationProperties includes Nav Label and Footer Label (no Body field)", () => {
17
+ const props = buildPageTranslationProperties();
18
+ expect(props["Nav Label"]).toEqual({ rich_text: {} });
19
+ expect(props["Footer Label"]).toEqual({ rich_text: {} });
20
+ expect(props.Body).toBeUndefined();
21
+ });
22
+ it("buildBlockTranslationProperties includes only Title, Source, Locale, Published (no content fields)", () => {
23
+ const props = buildBlockTranslationProperties();
24
+ expect(props.Title).toEqual({ title: {} });
25
+ expect(props.Locale).toEqual({ select: {} });
26
+ expect(props.Published).toEqual({ checkbox: {} });
27
+ // Body content lives in the translation page's children blocks,
28
+ // not a rich_text field — assert the property is absent.
29
+ expect(props.Body).toBeUndefined();
30
+ expect(props.Eyebrow).toBeUndefined();
31
+ expect(props.Headline).toBeUndefined();
32
+ expect(props.Subheadline).toBeUndefined();
33
+ expect(props["Primary CTA Label"]).toBeUndefined();
34
+ expect(props["Primary CTA Href"]).toBeUndefined();
35
+ expect(props.Quote).toBeUndefined();
36
+ });
37
+ it("buildSiteSettingsTranslationProperties includes Value (only translatable field)", () => {
38
+ const props = buildSiteSettingsTranslationProperties();
39
+ expect(props.Value).toEqual({ rich_text: {} });
40
+ expect(props.Locale).toEqual({ select: {} });
41
+ expect(props.Published).toEqual({ checkbox: {} });
42
+ // Section, Key, Type are NOT translated — only Value is.
43
+ expect(props.Tagline).toBeUndefined();
44
+ expect(props["Nav Labels"]).toBeUndefined();
45
+ expect(props["Footer Labels"]).toBeUndefined();
46
+ });
47
+ it("ensureTranslationDatabase is exported", () => {
48
+ expect(typeof ensureTranslationDatabase).toBe("function");
49
+ });
50
+ });
51
+ describe("build*TranslationProperties with baseDatabaseId", () => {
52
+ const baseDbId = "abc123-base-db-id";
53
+ it("buildBlogTranslationProperties links Source to base database", () => {
54
+ const props = buildBlogTranslationProperties(baseDbId);
55
+ expect(props.Source).toEqual({
56
+ relation: { single_property: { database_id: baseDbId } },
57
+ });
58
+ });
59
+ it("buildPageTranslationProperties links Source to base database", () => {
60
+ const props = buildPageTranslationProperties(baseDbId);
61
+ expect(props.Source).toEqual({
62
+ relation: { single_property: { database_id: baseDbId } },
63
+ });
64
+ });
65
+ it("buildBlockTranslationProperties links Source to base database", () => {
66
+ const props = buildBlockTranslationProperties(baseDbId);
67
+ expect(props.Source).toEqual({
68
+ relation: { single_property: { database_id: baseDbId } },
69
+ });
70
+ });
71
+ it("buildSiteSettingsTranslationProperties links Source to base database", () => {
72
+ const props = buildSiteSettingsTranslationProperties(baseDbId);
73
+ expect(props.Source).toEqual({
74
+ relation: { single_property: { database_id: baseDbId } },
75
+ });
76
+ });
77
+ it("falls back to database_property when baseDatabaseId is undefined", () => {
78
+ expect(buildBlogTranslationProperties().Source).toEqual({
79
+ relation: { database_property: {} },
80
+ });
81
+ expect(buildBlogTranslationProperties(undefined).Source).toEqual({
82
+ relation: { database_property: {} },
83
+ });
84
+ });
85
+ });
86
+ //# sourceMappingURL=translation-properties.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-properties.test.js","sourceRoot":"","sources":["../../../src/provision/__tests__/translation-properties.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ // Reusable Notion credential resolution. Extracted from provision()
2
+ // so that `notionx locale add --with-notion` can reuse the same
3
+ // env var → ntn keychain → interactive prompt chain.
4
+ import { readNtnToken } from "./ntn-credentials.js";
5
+ import { promptNotion } from "./prompts.js";
6
+ import { verifyNotionToken } from "./notion.js";
7
+ /**
8
+ * Resolve Notion API token and parent page id for operations that
9
+ * need to create databases (provision, locale add).
10
+ *
11
+ * Resolution order for apiToken:
12
+ * 1. options.apiToken (explicit flag)
13
+ * 2. process.env.NOTION_API_TOKEN
14
+ * 3. ntn keychain (readNtnToken)
15
+ * 4. Interactive: promptNotion (collects token + parent page)
16
+ *
17
+ * Resolution order for parentPageId:
18
+ * 1. options.parentPageId (explicit flag)
19
+ * 2. Interactive: promptNotion
20
+ *
21
+ * `promptNotion` collects both the token (when not pre-supplied) and
22
+ * the parent page id in a single call, so it is invoked at most once.
23
+ *
24
+ * Returns null when nonInteractive is true and credentials can't be
25
+ * resolved without prompting, or when an resolved token fails
26
+ * verification.
27
+ */
28
+ export async function resolveNotionCredentials(options = {}) {
29
+ const interactive = !options.nonInteractive;
30
+ // --- apiToken ---
31
+ let apiToken = options.apiToken ?? process.env.NOTION_API_TOKEN?.trim();
32
+ if (!apiToken) {
33
+ const ntnCred = await readNtnToken();
34
+ if (ntnCred?.token) {
35
+ apiToken = ntnCred.token;
36
+ }
37
+ }
38
+ // Verify any token we resolved non-interactively. verifyNotionToken
39
+ // returns true on success and throws on failure; a bad token should
40
+ // not silently fall through to the interactive prompt.
41
+ if (apiToken) {
42
+ try {
43
+ await verifyNotionToken(apiToken);
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ }
49
+ // --- parentPageId ---
50
+ const parentPageId = options.parentPageId;
51
+ // Fast path: both resolved without prompting.
52
+ if (apiToken && parentPageId) {
53
+ return { apiToken, parentPageId };
54
+ }
55
+ // Can't prompt → can't fill in the missing piece.
56
+ if (!interactive)
57
+ return null;
58
+ // Interactive: promptNotion collects whatever's missing in a single
59
+ // call. When we already have a verified token, pass it as
60
+ // preloadedToken so only the parent page is prompted.
61
+ const ctx = { interactive: true };
62
+ const result = await promptNotion(ctx, options.fields ?? [], apiToken, options.seedCount ?? 6);
63
+ if (!result)
64
+ return null;
65
+ return { apiToken: result.apiToken, parentPageId: result.parentPageId };
66
+ }
67
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/provision/credentials.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,gEAAgE;AAChE,qDAAqD;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAsB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAmChD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAA2C,EAAE;IAE7C,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;IAE5C,mBAAmB;IACnB,IAAI,QAAQ,GACV,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,uDAAuD;IACvD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,YAAY,GAAuB,OAAO,CAAC,YAAY,CAAC;IAE9D,8CAA8C;IAC9C,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,oEAAoE;IACpE,0DAA0D;IAC1D,sDAAsD;IACtD,MAAM,GAAG,GAAkB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,GAAG,EACH,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,QAAQ,EACR,OAAO,CAAC,SAAS,IAAI,CAAC,CACvB,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;AAC1E,CAAC"}
@@ -20,11 +20,18 @@ import * as p from "@clack/prompts";
20
20
  import { runOrThrow, run, runInteractive } from "./shell.js";
21
21
  import { defaultProvisionMode } from "./options.js";
22
22
  import { requireWranglerAuth, ensureD1, ensureKV, ensureR2, setWorkerSecret, } from "./cloudflare.js";
23
- import { isNtnAvailable, verifyNotionToken, ensureNotionDatabase, ensurePagesDatabase, ensureBlocksDatabase, ensureSiteSettingsDatabase, } from "./notion.js";
23
+ import { isNtnAvailable, verifyNotionToken, ensureNotionDatabase, ensurePagesDatabase, ensureBlocksDatabase, ensureSiteSettingsDatabase, ensureTranslationDatabase, } from "./notion.js";
24
24
  import { promptNotion } from "./prompts.js";
25
25
  import { patchSiteUrl, patchWranglerJsonc, writeDevVars, } from "./wire.js";
26
26
  import { ensureDependencies } from "./dependencies.js";
27
27
  import { readNtnToken, isNtnLoggedIn, describeNtnSource, } from "./ntn-credentials.js";
28
+ /**
29
+ * Returns true when the scaffold answers indicate bilingual mode
30
+ * (more than one supported locale).
31
+ */
32
+ export function shouldCreateTranslationSources(answers) {
33
+ return answers.supportedLocales.length > 1;
34
+ }
28
35
  export async function provision(answers, projectDir, options) {
29
36
  const mode = options.mode ?? defaultProvisionMode("create");
30
37
  const result = {
@@ -236,6 +243,7 @@ export async function provision(answers, projectDir, options) {
236
243
  // Created alongside the main content source — same parent
237
244
  // page, same Notion token, separate `NOTION_SITE_SETTINGS_…`
238
245
  // env var. Disable with `--no-site-settings`.
246
+ let siteSettingsDatabaseId;
239
247
  if (answers.enableSiteSettings) {
240
248
  const settings = await ensureSiteSettingsDatabase({
241
249
  apiToken: notionInputs.apiToken,
@@ -252,8 +260,37 @@ export async function provision(answers, projectDir, options) {
252
260
  reused: settings.reused,
253
261
  };
254
262
  result._siteSettingsDataSourceId = settings.dataSourceId;
263
+ siteSettingsDatabaseId = settings.databaseId;
255
264
  p.log.success(`Notion site settings: ${settings.reused ? "reused" : "created"} (${settings.dataSourceId.slice(0, 8)}…), seeded ${settings.seeded} page.`);
256
265
  }
266
+ // Persist the base database ids (database_id, not
267
+ // data_source_id) into registry.json so `notionx locale add`
268
+ // can read them when creating translation Source relations.
269
+ await persistBaseDatabaseIdsToRegistry(projectDir, {
270
+ content: content.databaseId,
271
+ pages: "databaseId" in pages ? pages.databaseId : undefined,
272
+ blocks: "databaseId" in blocks ? blocks.databaseId : undefined,
273
+ siteSettings: siteSettingsDatabaseId,
274
+ });
275
+ // Translation data sources: created when bilingual mode is
276
+ // enabled. Each of the four sources gets its own Notion
277
+ // database with a full property schema.
278
+ if (shouldCreateTranslationSources(answers)) {
279
+ const translationRefs = await provisionTranslationSources({
280
+ apiToken: notionInputs.apiToken,
281
+ parentPageId: notionInputs.parentPageId,
282
+ baseDatabaseIds: {
283
+ "blog-translations": content.databaseId,
284
+ "page-translations": "databaseId" in pages ? pages.databaseId : undefined,
285
+ "block-translations": "databaseId" in blocks ? blocks.databaseId : undefined,
286
+ "site-settings-translations": siteSettingsDatabaseId,
287
+ },
288
+ });
289
+ if (Object.keys(translationRefs).length > 0) {
290
+ result.translationSources = translationRefs;
291
+ await persistTranslationSourcesToMetadata(projectDir, translationRefs);
292
+ }
293
+ }
257
294
  }
258
295
  else {
259
296
  result.notion = {
@@ -287,6 +324,34 @@ export async function provision(answers, projectDir, options) {
287
324
  p.log.success(`Notion: content ${content.dataSourceId.slice(0, 8)}… seeded ${content.seeded}; Pages ${pages.dataSourceId.slice(0, 8)}… seeded ${pages.seeded}; Blocks ${blocks.dataSourceId.slice(0, 8)}… seeded ${blocks.seeded}.`);
288
325
  result._notionToken = notion.apiToken;
289
326
  result._blocksDataSourceId = blocks.dataSourceId;
327
+ // Persist the base database ids (database_id, not
328
+ // data_source_id) into registry.json so `notionx locale add`
329
+ // can read them when creating translation Source relations.
330
+ await persistBaseDatabaseIdsToRegistry(projectDir, {
331
+ content: content.databaseId,
332
+ pages: "databaseId" in pages ? pages.databaseId : undefined,
333
+ blocks: "databaseId" in blocks ? blocks.databaseId : undefined,
334
+ siteSettings: undefined,
335
+ });
336
+ // Translation data sources: created when bilingual mode is
337
+ // enabled. Each of the four sources gets its own Notion
338
+ // database with a full property schema.
339
+ if (shouldCreateTranslationSources(answers)) {
340
+ const translationRefs = await provisionTranslationSources({
341
+ apiToken: notion.apiToken,
342
+ parentPageId: notion.parentPageId,
343
+ baseDatabaseIds: {
344
+ "blog-translations": content.databaseId,
345
+ "page-translations": "databaseId" in pages ? pages.databaseId : undefined,
346
+ "block-translations": "databaseId" in blocks ? blocks.databaseId : undefined,
347
+ "site-settings-translations": undefined,
348
+ },
349
+ });
350
+ if (Object.keys(translationRefs).length > 0) {
351
+ result.translationSources = translationRefs;
352
+ await persistTranslationSourcesToMetadata(projectDir, translationRefs);
353
+ }
354
+ }
290
355
  }
291
356
  else {
292
357
  result.notion = {
@@ -327,6 +392,10 @@ export async function provision(answers, projectDir, options) {
327
392
  notionPagesDataSourceId: result.notion.pagesDataSourceId,
328
393
  notionSiteSettingsDataSourceId: result._siteSettingsDataSourceId,
329
394
  notionBlocksDataSourceId: result._blocksDataSourceId,
395
+ notionBlogTranslationsDataSourceId: result.translationSources?.["blog-translations"]?.dataSourceId,
396
+ notionPagesTranslationsDataSourceId: result.translationSources?.["page-translations"]?.dataSourceId,
397
+ notionBlocksTranslationsDataSourceId: result.translationSources?.["block-translations"]?.dataSourceId,
398
+ notionSiteSettingsTranslationsDataSourceId: result.translationSources?.["site-settings-translations"]?.dataSourceId,
330
399
  };
331
400
  wireInputs = currentWireInputs;
332
401
  try {
@@ -557,11 +626,16 @@ async function provisionNotionContentAndPages({ answers, apiToken, parentPageId,
557
626
  fields: answers.contentSource.fields,
558
627
  seedCount,
559
628
  });
560
- // Pages data source is optional — skip provisioning entirely
561
- // when `--no-pages` is set. The fallback `app/page.tsx` doesn't
562
- // read from Notion, so no data source is needed.
563
- const pages = answers.enablePages
564
- ? await ensurePagesDatabase({
629
+ // Blocks data source is optional — skip provisioning entirely
630
+ // when `--no-blocks` is set. The fallback `components/page-blocks.tsx`
631
+ // doesn't read from Notion, so no data source is needed.
632
+ //
633
+ // Blocks must be provisioned BEFORE Pages because the Pages
634
+ // database has a `Blocks` relation property that points to the
635
+ // Blocks database, and seed pages need block page IDs to set
636
+ // the relation.
637
+ const blocks = answers.enableBlocks
638
+ ? await ensureBlocksDatabase({
565
639
  apiToken,
566
640
  parentPageId,
567
641
  projectName: answers.projectName,
@@ -576,11 +650,15 @@ async function provisionNotionContentAndPages({ answers, apiToken, parentPageId,
576
650
  dataSourceId: "",
577
651
  seeded: 0,
578
652
  };
579
- // Blocks data source is optional — skip provisioning entirely
580
- // when `--no-blocks` is set. The fallback `components/page-blocks.tsx`
581
- // doesn't read from Notion, so no data source is needed.
582
- const blocks = answers.enableBlocks
583
- ? await ensureBlocksDatabase({
653
+ // Pages data source is optional — skip provisioning entirely
654
+ // when `--no-pages` is set. The fallback `app/page.tsx` doesn't
655
+ // read from Notion, so no data source is needed.
656
+ const blocksDatabaseId = "databaseId" in blocks ? blocks.databaseId : undefined;
657
+ const blockPageIdsBySlug = "seededPageIdsBySlug" in blocks
658
+ ? blocks.seededPageIdsBySlug
659
+ : undefined;
660
+ const pages = answers.enablePages
661
+ ? await ensurePagesDatabase({
584
662
  apiToken,
585
663
  parentPageId,
586
664
  projectName: answers.projectName,
@@ -588,6 +666,8 @@ async function provisionNotionContentAndPages({ answers, apiToken, parentPageId,
588
666
  contentSourceTitle: answers.contentSource.title,
589
667
  contentSourceListPath: `/${answers.contentSource.id}`,
590
668
  locale: answers.defaultLocale,
669
+ blocksDatabaseId,
670
+ blockPageIdsBySlug,
591
671
  })
592
672
  : {
593
673
  ok: true,
@@ -597,6 +677,103 @@ async function provisionNotionContentAndPages({ answers, apiToken, parentPageId,
597
677
  };
598
678
  return { content, pages, blocks };
599
679
  }
680
+ /**
681
+ * Create the four translation data sources when bilingual mode is
682
+ * enabled. Each source gets its own Notion database with a full
683
+ * property schema. Returns a map keyed by translation model id with
684
+ * `{ dataSourceId, envVar }` entries; entries are omitted on
685
+ * failure so the caller can still wire whatever succeeded.
686
+ */
687
+ async function provisionTranslationSources(input) {
688
+ const refs = {};
689
+ const translationModels = [
690
+ {
691
+ modelId: "blog-translations",
692
+ envVar: "NOTION_BLOG_TRANSLATIONS_DATA_SOURCE_ID",
693
+ },
694
+ {
695
+ modelId: "page-translations",
696
+ envVar: "NOTION_PAGES_TRANSLATIONS_DATA_SOURCE_ID",
697
+ },
698
+ {
699
+ modelId: "block-translations",
700
+ envVar: "NOTION_BLOCKS_TRANSLATIONS_DATA_SOURCE_ID",
701
+ },
702
+ {
703
+ modelId: "site-settings-translations",
704
+ envVar: "NOTION_SITE_SETTINGS_TRANSLATIONS_DATA_SOURCE_ID",
705
+ },
706
+ ];
707
+ for (const { modelId, envVar } of translationModels) {
708
+ try {
709
+ const trans = await ensureTranslationDatabase({
710
+ apiToken: input.apiToken,
711
+ parentPageId: input.parentPageId,
712
+ modelId,
713
+ baseDatabaseId: input.baseDatabaseIds?.[modelId],
714
+ });
715
+ refs[modelId] = {
716
+ dataSourceId: trans.dataSourceId,
717
+ envVar,
718
+ };
719
+ p.log.success(`Notion ${modelId}: created (${trans.dataSourceId.slice(0, 8)}…).`);
720
+ }
721
+ catch (error) {
722
+ const message = error instanceof Error ? error.message : String(error);
723
+ p.log.warn(`Notion ${modelId}: failed (${message}).`);
724
+ }
725
+ }
726
+ return refs;
727
+ }
728
+ /**
729
+ * Persist translation source refs into `.notionx/scaffold.json` so
730
+ * `notionx locale add` can reuse them and the doctor can verify them.
731
+ * Best-effort: the metadata file may not exist yet (e.g. when the
732
+ * scaffolder is run in a non-standard layout), in which case we
733
+ * silently skip.
734
+ */
735
+ async function persistTranslationSourcesToMetadata(projectDir, translationRefs) {
736
+ try {
737
+ const fs = await import("node:fs/promises");
738
+ const path = await import("node:path");
739
+ const metaPath = path.join(projectDir, ".notionx", "scaffold.json");
740
+ const raw = await fs.readFile(metaPath, "utf8");
741
+ const meta = JSON.parse(raw);
742
+ meta.translationSources = translationRefs;
743
+ await fs.writeFile(metaPath, JSON.stringify(meta, null, 2) + "\n", "utf8");
744
+ }
745
+ catch {
746
+ // Best-effort: the metadata file may not exist yet.
747
+ }
748
+ }
749
+ /**
750
+ * Persist the base (non-translation) Notion database ids into
751
+ * `.notionx/registry.json` so `notionx locale add` can read the real
752
+ * `database_id` (not the `data_source_id` stored in env vars) when
753
+ * creating translation `Source` relation properties.
754
+ *
755
+ * Best-effort: the registry manifest may not exist yet (e.g. when
756
+ * provisioning runs outside the normal scaffold flow), in which case
757
+ * we silently skip.
758
+ */
759
+ async function persistBaseDatabaseIdsToRegistry(projectDir, ids) {
760
+ try {
761
+ const { readRegistryManifest, writeRegistryManifest } = await import("../registry/registry-store.js");
762
+ const manifest = await readRegistryManifest(projectDir);
763
+ if (!manifest)
764
+ return;
765
+ manifest.baseDatabaseIds = {
766
+ content: ids.content,
767
+ pages: ids.pages,
768
+ blocks: ids.blocks,
769
+ siteSettings: ids.siteSettings,
770
+ };
771
+ await writeRegistryManifest(projectDir, manifest);
772
+ }
773
+ catch {
774
+ // Best-effort: registry.json may not exist yet.
775
+ }
776
+ }
600
777
  async function setProvisionedWorkerSecrets({ projectDir, wireInputs, requireNotionSecrets, }) {
601
778
  if (!wireInputs)
602
779
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provision/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/provision/index.ts"],"names":[],"mappings":"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"}