@apimatic/cli 2.0.0-beta.3 → 2.0.0-beta.5

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 (157) hide show
  1. package/README.md +18 -67
  2. package/apimatic.schema.json +2 -2
  3. package/lib/actions/action-result.d.ts +4 -2
  4. package/lib/actions/action-result.js +8 -3
  5. package/lib/actions/action-result.js.map +1 -1
  6. package/lib/actions/api/transform.d.ts +7 -6
  7. package/lib/actions/api/transform.js +12 -13
  8. package/lib/actions/api/transform.js.map +1 -1
  9. package/lib/actions/api/validate.d.ts +4 -5
  10. package/lib/actions/api/validate.js +30 -32
  11. package/lib/actions/api/validate.js.map +1 -1
  12. package/lib/actions/plugin/record-metadata.js +1 -1
  13. package/lib/actions/plugin/record-metadata.js.map +1 -1
  14. package/lib/actions/portal/generate.js +3 -3
  15. package/lib/actions/portal/generate.js.map +1 -1
  16. package/lib/actions/quickstart.d.ts +1 -9
  17. package/lib/actions/quickstart.js +122 -102
  18. package/lib/actions/quickstart.js.map +1 -1
  19. package/lib/commands/api/transform.d.ts +1 -1
  20. package/lib/commands/api/transform.js +2 -2
  21. package/lib/commands/api/transform.js.map +1 -1
  22. package/lib/commands/api/validate.d.ts +3 -3
  23. package/lib/commands/api/validate.js +28 -17
  24. package/lib/commands/api/validate.js.map +1 -1
  25. package/lib/commands/plugin/generate.d.ts +1 -1
  26. package/lib/commands/portal/generate.d.ts +2 -2
  27. package/lib/commands/portal/generate.js +1 -1
  28. package/lib/commands/portal/generate.js.map +1 -1
  29. package/lib/commands/portal/serve.d.ts +2 -2
  30. package/lib/commands/portal/serve.js +1 -1
  31. package/lib/commands/quickstart.d.ts +1 -1
  32. package/lib/commands/quickstart.js +1 -1
  33. package/lib/commands/quickstart.js.map +1 -1
  34. package/lib/commands/sdk/generate.d.ts +2 -2
  35. package/lib/commands/sdk/generate.js +4 -2
  36. package/lib/commands/sdk/generate.js.map +1 -1
  37. package/lib/infrastructure/file-service.d.ts +3 -0
  38. package/lib/infrastructure/file-service.js +24 -0
  39. package/lib/infrastructure/file-service.js.map +1 -1
  40. package/lib/infrastructure/portal-dev-server-service.js +2 -1
  41. package/lib/infrastructure/portal-dev-server-service.js.map +1 -1
  42. package/lib/infrastructure/portal-project-service.d.ts +1 -0
  43. package/lib/infrastructure/portal-project-service.js +7 -3
  44. package/lib/infrastructure/portal-project-service.js.map +1 -1
  45. package/lib/infrastructure/service-error.js +15 -15
  46. package/lib/infrastructure/service-error.js.map +1 -1
  47. package/lib/infrastructure/services/file-download-service.d.ts +4 -4
  48. package/lib/infrastructure/services/file-download-service.js +14 -14
  49. package/lib/infrastructure/services/file-download-service.js.map +1 -1
  50. package/lib/prompts/api/transform.d.ts +0 -2
  51. package/lib/prompts/api/transform.js +0 -3
  52. package/lib/prompts/api/transform.js.map +1 -1
  53. package/lib/prompts/api/validate.d.ts +2 -2
  54. package/lib/prompts/api/validate.js +35 -3
  55. package/lib/prompts/api/validate.js.map +1 -1
  56. package/lib/prompts/format.d.ts +1 -1
  57. package/lib/prompts/format.js.map +1 -1
  58. package/lib/prompts/plugin/record-metadata.d.ts +1 -1
  59. package/lib/prompts/plugin/record-metadata.js +2 -2
  60. package/lib/prompts/portal/generate.d.ts +2 -1
  61. package/lib/prompts/portal/generate.js +22 -6
  62. package/lib/prompts/portal/generate.js.map +1 -1
  63. package/lib/prompts/portal/prepare-project.js +5 -0
  64. package/lib/prompts/portal/prepare-project.js.map +1 -1
  65. package/lib/prompts/portal/serve.js +4 -3
  66. package/lib/prompts/portal/serve.js.map +1 -1
  67. package/lib/prompts/portal/source.d.ts +2 -5
  68. package/lib/prompts/portal/source.js +7 -17
  69. package/lib/prompts/portal/source.js.map +1 -1
  70. package/lib/prompts/publishing/links.d.ts +1 -1
  71. package/lib/prompts/publishing/links.js +1 -1
  72. package/lib/prompts/publishing/links.js.map +1 -1
  73. package/lib/prompts/quickstart.d.ts +14 -13
  74. package/lib/prompts/quickstart.js +44 -29
  75. package/lib/prompts/quickstart.js.map +1 -1
  76. package/lib/types/apimatic-config/document.d.ts +2 -0
  77. package/lib/types/apimatic-config/document.js +4 -0
  78. package/lib/types/apimatic-config/document.js.map +1 -1
  79. package/lib/types/apimatic-config-context.d.ts +1 -1
  80. package/lib/types/apimatic-config-context.js +1 -1
  81. package/lib/types/apimatic-config-context.js.map +1 -1
  82. package/lib/types/file/resource-input.d.ts +7 -5
  83. package/lib/types/file/resource-input.js +16 -15
  84. package/lib/types/file/resource-input.js.map +1 -1
  85. package/lib/types/flags-provider.d.ts +6 -1
  86. package/lib/types/flags-provider.js +22 -12
  87. package/lib/types/flags-provider.js.map +1 -1
  88. package/lib/types/plugin-config-context.d.ts +3 -0
  89. package/lib/types/plugin-config-context.js +33 -12
  90. package/lib/types/plugin-config-context.js.map +1 -1
  91. package/lib/types/portal/config/site-address.d.ts +16 -0
  92. package/lib/types/portal/config/site-address.js +67 -0
  93. package/lib/types/portal/config/site-address.js.map +1 -0
  94. package/lib/types/portal/config/site-config.d.ts +3 -5
  95. package/lib/types/portal/config/site-config.js +10 -33
  96. package/lib/types/portal/config/site-config.js.map +1 -1
  97. package/lib/types/portal/config/static-asset.d.ts +2 -2
  98. package/lib/types/portal/config/static-asset.js +2 -2
  99. package/lib/types/portal/config/static-asset.js.map +1 -1
  100. package/lib/types/portal/content-tree.d.ts +11 -4
  101. package/lib/types/portal/content-tree.js +19 -4
  102. package/lib/types/portal/content-tree.js.map +1 -1
  103. package/lib/types/portal/page.js +16 -1
  104. package/lib/types/portal/page.js.map +1 -1
  105. package/lib/types/portal/portal-config.d.ts +6 -3
  106. package/lib/types/portal/portal-config.js +8 -4
  107. package/lib/types/portal/portal-config.js.map +1 -1
  108. package/lib/types/portal/portal-languages.d.ts +2 -0
  109. package/lib/types/portal/portal-languages.js +5 -1
  110. package/lib/types/portal/portal-languages.js.map +1 -1
  111. package/lib/types/portal/portal-source.d.ts +9 -3
  112. package/lib/types/portal-source-context.d.ts +7 -8
  113. package/lib/types/portal-source-context.js +51 -26
  114. package/lib/types/portal-source-context.js.map +1 -1
  115. package/lib/types/project-context.d.ts +18 -0
  116. package/lib/types/project-context.js +18 -1
  117. package/lib/types/project-context.js.map +1 -1
  118. package/lib/types/resource-context.d.ts +25 -10
  119. package/lib/types/resource-context.js +40 -23
  120. package/lib/types/resource-context.js.map +1 -1
  121. package/lib/types/sdk/generate.d.ts +1 -4
  122. package/lib/types/sdk/generate.js +6 -6
  123. package/lib/types/sdk/generate.js.map +1 -1
  124. package/oclif.manifest.json +90 -72
  125. package/package.json +2 -2
  126. package/portal-template/dependency-directories.ts +45 -0
  127. package/portal-template/downloads.ts +6 -3
  128. package/portal-template/portal-config.ts +2 -0
  129. package/portal-template/prerender-pages.ts +8 -2
  130. package/portal-template/src/components/api-markdown.tsx +32 -0
  131. package/portal-template/src/components/api-page.tsx +8 -1
  132. package/portal-template/src/components/authorization-failure.tsx +63 -0
  133. package/portal-template/src/components/markdown-copy-button.tsx +60 -0
  134. package/portal-template/src/components/plugin-install.tsx +6 -5
  135. package/portal-template/src/components/sdk-actions.tsx +3 -2
  136. package/portal-template/src/components/sdk-cards.tsx +2 -1
  137. package/portal-template/src/components/search.tsx +9 -2
  138. package/portal-template/src/lib/base-path.ts +14 -0
  139. package/portal-template/src/lib/code-titles.ts +8 -0
  140. package/portal-template/src/lib/copy-markdown.ts +14 -0
  141. package/portal-template/src/lib/install-command.ts +5 -5
  142. package/portal-template/src/lib/layout.shared.tsx +5 -3
  143. package/portal-template/src/lib/llms.server.ts +29 -5
  144. package/portal-template/src/lib/oauth-callback.ts +63 -0
  145. package/portal-template/src/lib/portal-types.ts +3 -3
  146. package/portal-template/src/lib/rehype-code-titles.ts +3 -5
  147. package/portal-template/src/lib/remark-image-references.ts +35 -0
  148. package/portal-template/src/lib/search-content.ts +28 -0
  149. package/portal-template/src/lib/search-options.ts +7 -0
  150. package/portal-template/src/lib/source.server.ts +2 -0
  151. package/portal-template/src/router.tsx +3 -1
  152. package/portal-template/src/routes/$.tsx +6 -10
  153. package/portal-template/src/routes/__root.tsx +8 -1
  154. package/portal-template/src/routes/api/search[.]json.ts +23 -2
  155. package/portal-template/src/routes/oauth.callback.tsx +54 -0
  156. package/portal-template/static-functions-base.ts +41 -0
  157. package/portal-template/vite.config.ts +22 -2
@@ -1 +1 @@
1
- {"version":3,"file":"static-asset.js","sourceRoot":"","sources":["../../../../src/types/portal/config/static-asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-asset.js","sourceRoot":"","sources":["../../../../src/types/portal/config/static-asset.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,14 @@ import { FilePath } from '../file/filePath.js';
5
5
  import { ContentNotices } from './content-notices.js';
6
6
  import { GeneratedPages } from './generated-pages.js';
7
7
  import { ParsedPage } from './page.js';
8
- import { ContentProblem, MissingImage, PortalSpec } from './portal-source.js';
8
+ import { ContentProblem, MissingImage, PortalSpec, ReservedAddress } from './portal-source.js';
9
+ /**
10
+ * The page the API playground's OAuth authorization returns through, which the template serves
11
+ * from a route of its own (`portal-template/src/lib/oauth-callback.ts`). That route wins over a
12
+ * content page at the address, so such a page would build and never be shown.
13
+ */
14
+ export declare const OAUTH_CALLBACK_ADDRESS = "/oauth/callback";
15
+ export declare const OAUTH_CALLBACK: ReservedAddress;
9
16
  /** Passed over by Vite's `import.meta.glob`, which the build reads the content through. */
10
17
  export declare const isSkippedByGlob: (name: string) => boolean;
11
18
  /** Whether the glob passes over `file` below `root`, which it does for a path with any such segment. */
@@ -81,9 +88,9 @@ export declare class ContentTree {
81
88
  private static addressProblems;
82
89
  /**
83
90
  * Pages served at a generated section's address or below it, whether or not `apimatic.json`
84
- * calls for the section. Judged by the address, as the content source computes it, rather
85
- * than by the directories as written: a page in a `(group)` folder is served as if the folder
86
- * were not there, and a folder's index page at the folder's own address.
91
+ * calls for the section, and at the OAuth callback's. Judged by the address, as the content
92
+ * source computes it, rather than by the directories as written: a page in a `(group)` folder
93
+ * is served as if the folder were not there, and a folder's index page at the folder's own address.
87
94
  */
88
95
  private static reservedAddressPages;
89
96
  /** Addresses more than one page would be served at, each with its pages in the order walked. */
@@ -7,6 +7,16 @@ import { GENERATED_SECTIONS } from './generated-pages.js';
7
7
  import { API_REFERENCE_NAME, GROUP_FOLDER, INDEX_NAME, isSameTabEntry, NAVIGATION_FILE_NAME, PortalNavigation } from './portal-navigation.js';
8
8
  import { sharedTabNames, untitledTabName } from './portal-tabs.js';
9
9
  const NAVIGATION_FILE = new FileName(NAVIGATION_FILE_NAME);
10
+ /**
11
+ * The page the API playground's OAuth authorization returns through, which the template serves
12
+ * from a route of its own (`portal-template/src/lib/oauth-callback.ts`). That route wins over a
13
+ * content page at the address, so such a page would build and never be shown.
14
+ */
15
+ export const OAUTH_CALLBACK_ADDRESS = '/oauth/callback';
16
+ export const OAUTH_CALLBACK = {
17
+ address: OAUTH_CALLBACK_ADDRESS,
18
+ description: "the API playground's OAuth authorization"
19
+ };
10
20
  /** Extensions the docs collection compiles, and so the ones an entry can address. */
11
21
  const PAGE_EXTENSIONS = ['.md', '.mdx'];
12
22
  /** Passed over by Vite's `import.meta.glob`, which the build reads the content through. */
@@ -183,15 +193,20 @@ export class ContentTree {
183
193
  }
184
194
  /**
185
195
  * Pages served at a generated section's address or below it, whether or not `apimatic.json`
186
- * calls for the section. Judged by the address, as the content source computes it, rather
187
- * than by the directories as written: a page in a `(group)` folder is served as if the folder
188
- * were not there, and a folder's index page at the folder's own address.
196
+ * calls for the section, and at the OAuth callback's. Judged by the address, as the content
197
+ * source computes it, rather than by the directories as written: a page in a `(group)` folder
198
+ * is served as if the folder were not there, and a folder's index page at the folder's own address.
189
199
  */
190
200
  static reservedAddressPages(pages) {
191
201
  return pages.flatMap(({ file, segments }) => {
192
202
  const slugs = getSlugs(segments.join('/'));
203
+ const address = `/${slugs.join('/')}`;
204
+ if (address === OAUTH_CALLBACK.address)
205
+ return [{ file, address, keptFor: OAUTH_CALLBACK }];
193
206
  const section = GENERATED_SECTIONS.find((candidate) => candidate.folder === slugs[0]);
194
- return section === undefined ? [] : [{ file, address: `/${slugs.join('/')}`, section }];
207
+ return section === undefined
208
+ ? []
209
+ : [{ file, address, keptFor: { address: `/${section.folder}`, description: section.description } }];
195
210
  });
196
211
  }
197
212
  /** Addresses more than one page would be served at, each with its pages in the order walked. */
@@ -1 +1 @@
1
- {"version":3,"file":"content-tree.js","sourceRoot":"","sources":["../../../src/types/portal/content-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-tree.js","sourceRoot":"","sources":["../../../src/types/portal/content-tree.ts"],"names":[],"mappings":"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"}
@@ -70,9 +70,24 @@ async function imagesIn(body, isMdx) {
70
70
  catch {
71
71
  return [];
72
72
  }
73
+ // The template writes `![a][ref]` as `![a](url)` before the build imports it (remark-image-references.ts).
74
+ const definitions = new Map();
75
+ const define = (node) => {
76
+ // The first definition of a label wins, as CommonMark reads them.
77
+ if (node.type === 'definition' && node.identifier !== undefined && !definitions.has(node.identifier)) {
78
+ definitions.set(node.identifier, node.url ?? '');
79
+ }
80
+ node.children?.forEach(define);
81
+ };
82
+ define(tree);
73
83
  const images = [];
74
84
  const visit = (node) => {
75
- const image = node.type === 'image' && node.url !== undefined ? located(node.url) : null;
85
+ const url = node.type === 'image'
86
+ ? node.url
87
+ : node.type === 'imageReference'
88
+ ? definitions.get(node.identifier ?? '')
89
+ : undefined;
90
+ const image = url !== undefined ? located(url) : null;
76
91
  if (image !== null) {
77
92
  images.push({ ...image, line: node.position?.start.line ?? 0 });
78
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/types/portal/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/types/portal/page.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { UrlPath } from '../file/urlPath.js';
3
3
  import { AiConfig } from './config/ai-config.js';
4
4
  import { BrandConfig, ColorMode } from './config/brand-config.js';
5
5
  import { NavigationConfig } from './config/navigation-config.js';
6
+ import { SiteAddress } from './config/site-address.js';
6
7
  import { SiteConfig, SuggestedSite } from './config/site-config.js';
7
8
  import { StaticAsset } from './config/static-asset.js';
8
9
  export interface PortalLink {
@@ -19,14 +20,14 @@ export interface PortalLink {
19
20
  export interface PortalIdentity {
20
21
  name: string;
21
22
  description: string | null;
22
- /** Origin only, with no trailing slash. */
23
+ /** The site address, with no trailing slash. */
23
24
  siteUrl: string | null;
24
- /** Site-relative, one per colour mode; the same URL twice when one image serves both. */
25
+ /** Portal-relative, one per colour mode; the same URL twice when one image serves both. */
25
26
  logo: {
26
27
  light: string;
27
28
  dark: string;
28
29
  } | null;
29
- /** Site-relative, with the image type its extension names, when it names one. */
30
+ /** Portal-relative, with the image type its extension names, when it names one. */
30
31
  favicon: {
31
32
  url: string;
32
33
  type: string | null;
@@ -52,6 +53,8 @@ export declare class PortalConfig {
52
53
  */
53
54
  static fromBlock(block: unknown, suggested: SuggestedSite | null): Result<PortalConfig, string[]>;
54
55
  siteTitle(): string;
56
+ /** Where the portal is hosted, or null when `site.url` is left out. */
57
+ siteAddress(): SiteAddress | null;
55
58
  /** Where the context plugin is hosted when it is not bundled into the portal, or null when it is. */
56
59
  pluginUrl(): UrlPath | null;
57
60
  brandSettings(): BrandConfig;
@@ -52,6 +52,10 @@ export class PortalConfig {
52
52
  siteTitle() {
53
53
  return this.site.siteName();
54
54
  }
55
+ /** Where the portal is hosted, or null when `site.url` is left out. */
56
+ siteAddress() {
57
+ return this.site.siteAddress();
58
+ }
55
59
  /** Where the context plugin is hosted when it is not bundled into the portal, or null when it is. */
56
60
  pluginUrl() {
57
61
  return this.pluginAddress;
@@ -63,15 +67,15 @@ export class PortalConfig {
63
67
  return this.brand.files();
64
68
  }
65
69
  identity() {
66
- const origin = this.site.origin();
70
+ const address = this.site.siteAddress();
67
71
  const logo = this.brand.logoImages();
68
72
  const favicon = this.brand.faviconImage();
69
73
  return {
70
74
  name: this.site.siteName(),
71
75
  description: this.site.siteDescription(),
72
- siteUrl: origin === null ? null : origin.toString(),
73
- logo: logo === null ? null : { light: logo.light().siteUrl(), dark: logo.dark().siteUrl() },
74
- favicon: favicon === null ? null : { url: favicon.siteUrl(), type: favicon.imageType() },
76
+ siteUrl: address === null ? null : address.toString(),
77
+ logo: logo === null ? null : { light: logo.light().portalPath(), dark: logo.dark().portalPath() },
78
+ favicon: favicon === null ? null : { url: favicon.portalPath(), type: favicon.imageType() },
75
79
  colorMode: this.brand.mode(),
76
80
  links: this.navigation.headerLinks().map(portalLink),
77
81
  pageActions: this.ai.offersPageActions()
@@ -1 +1 @@
1
- {"version":3,"file":"portal-config.js","sourceRoot":"","sources":["../../../src/types/portal/portal-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAa,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAU,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AA8BpE,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAEzD,+FAA+F;AAC/F,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B,MAAM,OAAO,YAAY;IAEJ,IAAI;IACJ,KAAK;IACL,UAAU;IACV,EAAE;IACF,aAAa;IALhC,YACmB,IAAgB,EAChB,KAAkB,EAClB,UAA4B,EAC5B,EAAY,EACZ,aAA6B;oBAJ7B,IAAI;qBACJ,KAAK;0BACL,UAAU;kBACV,EAAE;6BACF,aAAa;IAC7B,CAAC;IAEJ,gHAAgH;IACzG,MAAM,CAAC,UAAU,CAAC,IAAmB;QAC1C,OAAO,IAAI,YAAY,CACrB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAC1B,WAAW,CAAC,QAAQ,EACpB,gBAAgB,CAAC,QAAQ,EACzB,QAAQ,CAAC,QAAQ,EACjB,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,SAAS,CAAC,KAAc,EAAE,SAA+B;QACrE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,oFAAoF;QACpF,qBAAqB;QACrB,OAAO,KAAK,CACV,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,EACtD,MAAM,CAAC,oBAAoB,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,EAAE,SAAS,CAAC;YACxD,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC;YAChD,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,aAAa,CAAC;YAC/D,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,KAAK,KAAK,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;SACrF,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,qGAAqG;IAC9F,SAAS;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACxC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnD,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3F,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE;YACxF,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAC5B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;YACpD,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,mFAAmF;IAC5E,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC,MAAM,kBAAkB,GAAG,qCAAqC,CAAC;AAEjE,qHAAqH;AACrH,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,OAAO,GAAG,KAAK,SAAS;QACtB,CAAC,CAAC,GAAG,CAAC;YACF,IAAI,IAAI,+EAA+E,kBAAkB,IAAI;SAC9G,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"portal-config.js","sourceRoot":"","sources":["../../../src/types/portal/portal-config.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export declare class PortalLanguages {
10
10
  private constructor();
11
11
  /** `findings` already covers a block or an entry of the wrong shape, so neither is checked here. */
12
12
  static fromBlock(block: Record<string, unknown> | undefined, findings: readonly ConfigFinding[]): Result<PortalLanguages, string[]>;
13
+ /** False for a block of the wrong shape, which `findings` reports instead. */
14
+ static namesNone(block: Record<string, unknown> | undefined, findings: readonly ConfigFinding[]): boolean;
13
15
  /** In the order the block lists them. */
14
16
  listed(): PortalSdk[];
15
17
  }
@@ -24,7 +24,7 @@ export class PortalLanguages {
24
24
  static fromBlock(block, findings) {
25
25
  const errors = findingSentences(findings);
26
26
  const entries = Object.entries(block ?? {});
27
- if (entries.length === 0 && findings.length === 0) {
27
+ if (PortalLanguages.namesNone(block, findings)) {
28
28
  errors.push(REQUIRED);
29
29
  }
30
30
  for (const [key] of entries.filter(([key]) => !SUPPORTED_LANGUAGES.includes(key))) {
@@ -37,6 +37,10 @@ export class PortalLanguages {
37
37
  }
38
38
  return ok(new PortalLanguages(entries.map(([key, entry]) => PortalSdk.fromEntry(key, entry))));
39
39
  }
40
+ /** False for a block of the wrong shape, which `findings` reports instead. */
41
+ static namesNone(block, findings) {
42
+ return Object.keys(block ?? {}).length === 0 && findings.length === 0;
43
+ }
40
44
  /** In the order the block lists them. */
41
45
  listed() {
42
46
  return [...this.sdks];
@@ -1 +1 @@
1
- {"version":3,"file":"portal-languages.js","sourceRoot":"","sources":["../../../src/types/portal/portal-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,eAAe,GAAsB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEnE,MAAM,mBAAmB,GAAsB,gBAAgB,CAAC;AAEhE,yFAAyF;AACzF,kCAAkC;AAClC,MAAM,QAAQ,GACZ,gEAAgE,iBAAiB,IAAI;IACrF,yFAAyF;IACzF,oCAAoC,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACW,IAAI;IAAzC,YAAqC,IAA0B;oBAA1B,IAAI;IAAyB,CAAC;IAEnE,oGAAoG;IAC7F,MAAM,CAAC,SAAS,CACrB,KAA0C,EAC1C,QAAkC;QAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC3B,CAAC,CAAC,cAAc,GAAG,+CAA+C,UAAU,CAAC,mBAAmB,CAAC,SAAS;gBAC1G,CAAC,CAAC,cAAc,GAAG,yCAAyC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CACvG,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,yCAAyC;IAClC,MAAM;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"portal-languages.js","sourceRoot":"","sources":["../../../src/types/portal/portal-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,eAAe,GAAsB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEnE,MAAM,mBAAmB,GAAsB,gBAAgB,CAAC;AAEhE,yFAAyF;AACzF,kCAAkC;AAClC,MAAM,QAAQ,GACZ,gEAAgE,iBAAiB,IAAI;IACrF,yFAAyF;IACzF,oCAAoC,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACW,IAAI;IAAzC,YAAqC,IAA0B;oBAA1B,IAAI;IAAyB,CAAC;IAEnE,oGAAoG;IAC7F,MAAM,CAAC,SAAS,CACrB,KAA0C,EAC1C,QAAkC;QAElC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,IAAI,CACT,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC3B,CAAC,CAAC,cAAc,GAAG,+CAA+C,UAAU,CAAC,mBAAmB,CAAC,SAAS;gBAC1G,CAAC,CAAC,cAAc,GAAG,yCAAyC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CACvG,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,GAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,8EAA8E;IACvE,MAAM,CAAC,SAAS,CAAC,KAA0C,EAAE,QAAkC;QACpG,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,yCAAyC;IAClC,MAAM;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { FilePath } from '../file/filePath.js';
4
4
  import { Endpoint } from './endpoint.js';
5
5
  import { SuggestedSite } from './config/site-config.js';
6
6
  import { ContentNotices } from './content-notices.js';
7
- import { GeneratedPages, GeneratedSection } from './generated-pages.js';
7
+ import { GeneratedPages } from './generated-pages.js';
8
8
  import { PortalConfig } from './portal-config.js';
9
9
  /** An OpenAPI document found in `src/spec/`, with the slug its section is mounted at. */
10
10
  export interface PortalSpec {
@@ -53,12 +53,18 @@ export interface MissingFile {
53
53
  export interface MissingStaticFile extends MissingFile {
54
54
  setting: string;
55
55
  }
56
- /** A page of the user's served at an address the CLI keeps for the pages it generates. */
56
+ /** An address the portal serves a page of its own at: a generated section's, and every one below it, or a single page's. */
57
+ export interface ReservedAddress {
58
+ address: string;
59
+ /** What a message says the address is kept for. */
60
+ description: string;
61
+ }
62
+ /** A page of the user's served at an address the portal keeps for a page of its own. */
57
63
  export interface ReservedAddressPage {
58
64
  file: FilePath;
59
65
  /** Where the page would be served, which a `(group)` folder makes differ from its path. */
60
66
  address: string;
61
- section: GeneratedSection;
67
+ keptFor: ReservedAddress;
62
68
  }
63
69
  /** Pages of the user's that would be served at one address, which only one of them can have. */
64
70
  export interface SharedAddress {
@@ -13,8 +13,11 @@ export declare class PortalSourceContext {
13
13
  private get specDirectory();
14
14
  private get contentDirectory();
15
15
  private get staticDirectory();
16
+ private get configFile();
16
17
  /** Reads and validates the whole source directory, or reports the first problem found. */
17
18
  resolve(): Promise<Result<PortalSource, PortalSourceProblem>>;
19
+ /** The `spec/` half of `resolve`, for quickstart to refuse a project the build would refuse before writing into it. */
20
+ resolveSpecs(): Promise<Result<PortalSpec[], PortalSourceProblem>>;
18
21
  /**
19
22
  * The `content/` half of `resolve`, for `portal serve` to run on each save, against the `specs`
20
23
  * it found and the generated pages the preview shows.
@@ -53,14 +56,10 @@ export declare class PortalSourceContext {
53
56
  * questions already. Answers with the `apimatic.json` it wrote.
54
57
  */
55
58
  scaffold(specPath: FilePath, schemaUrl: string): Promise<Result<FilePath, PortalScaffoldProblem>>;
56
- /** The same tree around a specification the project already carries, which is left where it is. */
57
- adopt(specPath: FilePath, schemaUrl: string): Promise<Result<FilePath, PortalScaffoldProblem>>;
58
- /**
59
- * The document the portal speaks for, and the one quickstart validates when it adopts a
60
- * project someone downloaded rather than asking for a specification the project has.
61
- */
62
- primarySpec(): Promise<FilePath | null>;
63
- private writeSourceTree;
59
+ /** Names the site after the spec and writes a starter content/, each only where the project has none. */
60
+ adopt(namedAfter: PortalSpec): Promise<Result<FilePath, PortalScaffoldProblem>>;
61
+ private mergeConfig;
62
+ private writeContent;
64
63
  private suggestedSite;
65
64
  /**
66
65
  * Files at the top of `static/` that the build would otherwise have generated itself. Only
@@ -2,6 +2,7 @@ import { ExportFormats } from '@apimatic/sdk';
2
2
  import { err, ok } from 'neverthrow';
3
3
  import { FileService } from '../infrastructure/file-service.js';
4
4
  import { errorMessage } from '../utils/error-utils.js';
5
+ import { isJsonObject } from '../utils/json-utils.js';
5
6
  import { ApimaticConfigContext } from './apimatic-config-context.js';
6
7
  import { APIMATIC_CONFIG_FILE_NAME, findingSentences } from './apimatic-config/document.js';
7
8
  import { Directory } from './file/directory.js';
@@ -9,7 +10,7 @@ import { FileName } from './file/fileName.js';
9
10
  import { FilePath } from './file/filePath.js';
10
11
  import { NOT_FOUND_FILE_NAME, SHELL_FILE_NAME } from './portal-context.js';
11
12
  import { CONTENT_DIRECTORY_NAME, SPEC_DIRECTORY_NAME, STATIC_DIRECTORY_NAME } from './project-layout.js';
12
- import { PLACEHOLDER_SITE } from './portal/config/site-config.js';
13
+ import { PLACEHOLDER_SITE, SiteConfig } from './portal/config/site-config.js';
13
14
  import { ContentTree } from './portal/content-tree.js';
14
15
  import { GeneratedPages } from './portal/generated-pages.js';
15
16
  import { OpenApiDocument } from './portal/openapi-document.js';
@@ -53,6 +54,9 @@ export class PortalSourceContext {
53
54
  get staticDirectory() {
54
55
  return this.sourceDirectory.join(STATIC_DIRECTORY_NAME);
55
56
  }
57
+ get configFile() {
58
+ return new FilePath(this.sourceDirectory, new FileName(APIMATIC_CONFIG_FILE_NAME));
59
+ }
56
60
  /** Reads and validates the whole source directory, or reports the first problem found. */
57
61
  async resolve() {
58
62
  const document = await this.readConfigDocument();
@@ -88,6 +92,10 @@ export class PortalSourceContext {
88
92
  contentNotices: accepted.value.notices
89
93
  });
90
94
  }
95
+ /** The `spec/` half of `resolve`, for quickstart to refuse a project the build would refuse before writing into it. */
96
+ async resolveSpecs() {
97
+ return (await this.specs()).map(({ specs }) => specs);
98
+ }
91
99
  /**
92
100
  * The `content/` half of `resolve`, for `portal serve` to run on each save, against the `specs`
93
101
  * it found and the generated pages the preview shows.
@@ -252,41 +260,59 @@ export class PortalSourceContext {
252
260
  if (installed.isErr()) {
253
261
  return err({ kind: 'sourceUnwritable', reason: installed.error.reason });
254
262
  }
263
+ const config = PortalConfig.scaffolded(await this.suggestedSite(specPath));
264
+ // Every default is spelled out, so the block shows what can be set, and the schema lets an
265
+ // editor complete and check the rest.
266
+ const written = await this.mergeConfig((document) => document.referencingSchema(schemaUrl).with('portal', config.toJSON()));
267
+ if (written.isErr()) {
268
+ return err(written.error);
269
+ }
270
+ await this.writeContent(config.siteTitle());
271
+ return ok(this.configFile);
255
272
  }
256
273
  catch (error) {
257
274
  return err({ kind: 'sourceUnwritable', reason: errorMessage(error) });
258
275
  }
259
- return await this.adopt(specPath, schemaUrl);
260
276
  }
261
- /** The same tree around a specification the project already carries, which is left where it is. */
262
- async adopt(specPath, schemaUrl) {
277
+ /** Names the site after the spec and writes a starter content/, each only where the project has none. */
278
+ async adopt(namedAfter) {
263
279
  try {
264
- return await this.writeSourceTree(specPath, schemaUrl);
280
+ const site = await this.suggestedSite(namedAfter.file);
281
+ // A block or a site that is not an object is left for the build to report.
282
+ const written = await this.mergeConfig((document) => {
283
+ const portal = document.portal() ?? {};
284
+ if (!isJsonObject(portal)) {
285
+ return document;
286
+ }
287
+ if (portal.site === undefined) {
288
+ return document.with('portal', { site: SiteConfig.suggested(site).toJSON(), ...portal });
289
+ }
290
+ return isJsonObject(portal.site) && portal.site.name === undefined
291
+ ? document.with('portal', { ...portal, site: { name: site.name, ...portal.site } })
292
+ : document;
293
+ });
294
+ if (written.isErr()) {
295
+ return err(written.error);
296
+ }
297
+ if (!(await this.fileService.directoryExists(this.contentDirectory))) {
298
+ const config = PortalConfig.fromBlock(written.value.portal(), site);
299
+ await this.writeContent(config.isOk() ? config.value.siteTitle() : site.name);
300
+ }
301
+ return ok(this.configFile);
265
302
  }
266
303
  catch (error) {
267
304
  return err({ kind: 'sourceUnwritable', reason: errorMessage(error) });
268
305
  }
269
306
  }
270
- /**
271
- * The document the portal speaks for, and the one quickstart validates when it adopts a
272
- * project someone downloaded rather than asking for a specification the project has.
273
- */
274
- async primarySpec() {
275
- const fileName = (await this.specDirectoryListing()).fileNames.find((name) => SPEC_EXTENSIONS.some((extension) => name.hasExtension(extension)));
276
- return fileName === undefined ? null : new FilePath(this.specDirectory, fileName);
277
- }
278
- async writeSourceTree(specPath, schemaUrl) {
279
- const site = await this.suggestedSite(specPath);
280
- const config = PortalConfig.scaffolded(site);
281
- // A downloaded build carries `spec/` and no config, so the merge creates the file on both
282
- // paths. Every default is spelled out, so the block shows what can be set, and the schema
283
- // lets an editor complete and check the rest.
284
- const written = await this.configContext.merge(['portal'], (document) => document.referencingSchema(schemaUrl).with('portal', config.toJSON()));
285
- if (written.isErr()) {
286
- return err({ kind: written.error === 'unreadable' ? 'configUnreadable' : 'configUnwritable' });
287
- }
307
+ async mergeConfig(apply) {
308
+ const written = await this.configContext.merge(['portal'], apply);
309
+ return written.mapErr((failure) => ({
310
+ kind: failure === 'unreadable' ? 'configUnreadable' : 'configUnwritable'
311
+ }));
312
+ }
313
+ async writeContent(siteTitle) {
288
314
  await this.fileService.createDirectoryIfNotExists(this.contentDirectory);
289
- const summary = `Getting started with ${config.siteTitle()}`;
315
+ const summary = `Getting started with ${siteTitle}`;
290
316
  await this.fileService.writeContents(new FilePath(this.contentDirectory, new FileName('index.md')), [
291
317
  '---',
292
318
  'title: Welcome',
@@ -295,14 +321,13 @@ export class PortalSourceContext {
295
321
  `description: ${JSON.stringify(summary)}`,
296
322
  '---',
297
323
  '',
298
- `Welcome to the ${config.siteTitle()} documentation.`,
324
+ `Welcome to the ${siteTitle} documentation.`,
299
325
  '',
300
326
  'Replace this page with your own introduction, and add more Markdown pages beside it.',
301
327
  ''
302
328
  ].join('\n'));
303
329
  // Each section a tab, as the sample portal has; Home's sidebar leads with the welcome page.
304
330
  await this.fileService.writeContents(new FilePath(this.contentDirectory, new FileName(NAVIGATION_FILE_NAME)), JSON.stringify({ tabs: TOKENS, pages: ['index', '...'] }, null, 2) + '\n');
305
- return ok(new FilePath(this.sourceDirectory, new FileName(APIMATIC_CONFIG_FILE_NAME)));
306
331
  }
307
332
  // A split specification arrives as an archive, whose parts are left to the build to read.
308
333
  async suggestedSite(specPath) {