@apimatic/cli 2.0.0-beta.4 → 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 (137) hide show
  1. package/README.md +15 -64
  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/portal/generate.js +3 -3
  13. package/lib/actions/portal/generate.js.map +1 -1
  14. package/lib/actions/quickstart.d.ts +1 -9
  15. package/lib/actions/quickstart.js +122 -102
  16. package/lib/actions/quickstart.js.map +1 -1
  17. package/lib/commands/api/transform.d.ts +1 -1
  18. package/lib/commands/api/transform.js +2 -2
  19. package/lib/commands/api/transform.js.map +1 -1
  20. package/lib/commands/api/validate.d.ts +3 -3
  21. package/lib/commands/api/validate.js +28 -17
  22. package/lib/commands/api/validate.js.map +1 -1
  23. package/lib/commands/plugin/generate.d.ts +1 -1
  24. package/lib/commands/portal/generate.d.ts +2 -2
  25. package/lib/commands/portal/generate.js +1 -1
  26. package/lib/commands/portal/generate.js.map +1 -1
  27. package/lib/commands/portal/serve.d.ts +2 -2
  28. package/lib/commands/portal/serve.js +1 -1
  29. package/lib/commands/sdk/generate.d.ts +1 -1
  30. package/lib/infrastructure/file-service.d.ts +3 -0
  31. package/lib/infrastructure/file-service.js +24 -0
  32. package/lib/infrastructure/file-service.js.map +1 -1
  33. package/lib/infrastructure/portal-dev-server-service.js +2 -1
  34. package/lib/infrastructure/portal-dev-server-service.js.map +1 -1
  35. package/lib/infrastructure/portal-project-service.d.ts +1 -0
  36. package/lib/infrastructure/portal-project-service.js +7 -3
  37. package/lib/infrastructure/portal-project-service.js.map +1 -1
  38. package/lib/infrastructure/services/file-download-service.d.ts +4 -4
  39. package/lib/infrastructure/services/file-download-service.js +14 -14
  40. package/lib/infrastructure/services/file-download-service.js.map +1 -1
  41. package/lib/prompts/api/transform.d.ts +0 -2
  42. package/lib/prompts/api/transform.js +0 -3
  43. package/lib/prompts/api/transform.js.map +1 -1
  44. package/lib/prompts/api/validate.d.ts +2 -2
  45. package/lib/prompts/api/validate.js +35 -3
  46. package/lib/prompts/api/validate.js.map +1 -1
  47. package/lib/prompts/format.d.ts +1 -1
  48. package/lib/prompts/format.js.map +1 -1
  49. package/lib/prompts/portal/generate.d.ts +2 -1
  50. package/lib/prompts/portal/generate.js +22 -6
  51. package/lib/prompts/portal/generate.js.map +1 -1
  52. package/lib/prompts/portal/prepare-project.js +5 -0
  53. package/lib/prompts/portal/prepare-project.js.map +1 -1
  54. package/lib/prompts/portal/serve.js +4 -3
  55. package/lib/prompts/portal/serve.js.map +1 -1
  56. package/lib/prompts/portal/source.d.ts +2 -5
  57. package/lib/prompts/portal/source.js +7 -17
  58. package/lib/prompts/portal/source.js.map +1 -1
  59. package/lib/prompts/quickstart.d.ts +14 -13
  60. package/lib/prompts/quickstart.js +43 -27
  61. package/lib/prompts/quickstart.js.map +1 -1
  62. package/lib/types/apimatic-config/document.d.ts +2 -0
  63. package/lib/types/apimatic-config/document.js +4 -0
  64. package/lib/types/apimatic-config/document.js.map +1 -1
  65. package/lib/types/file/resource-input.d.ts +7 -5
  66. package/lib/types/file/resource-input.js +16 -15
  67. package/lib/types/file/resource-input.js.map +1 -1
  68. package/lib/types/flags-provider.d.ts +6 -1
  69. package/lib/types/flags-provider.js +22 -12
  70. package/lib/types/flags-provider.js.map +1 -1
  71. package/lib/types/plugin-config-context.d.ts +3 -0
  72. package/lib/types/plugin-config-context.js +33 -12
  73. package/lib/types/plugin-config-context.js.map +1 -1
  74. package/lib/types/portal/config/site-address.d.ts +16 -0
  75. package/lib/types/portal/config/site-address.js +67 -0
  76. package/lib/types/portal/config/site-address.js.map +1 -0
  77. package/lib/types/portal/config/site-config.d.ts +3 -5
  78. package/lib/types/portal/config/site-config.js +10 -33
  79. package/lib/types/portal/config/site-config.js.map +1 -1
  80. package/lib/types/portal/config/static-asset.d.ts +2 -2
  81. package/lib/types/portal/config/static-asset.js +2 -2
  82. package/lib/types/portal/config/static-asset.js.map +1 -1
  83. package/lib/types/portal/content-tree.d.ts +11 -4
  84. package/lib/types/portal/content-tree.js +19 -4
  85. package/lib/types/portal/content-tree.js.map +1 -1
  86. package/lib/types/portal/page.js +16 -1
  87. package/lib/types/portal/page.js.map +1 -1
  88. package/lib/types/portal/portal-config.d.ts +6 -3
  89. package/lib/types/portal/portal-config.js +8 -4
  90. package/lib/types/portal/portal-config.js.map +1 -1
  91. package/lib/types/portal/portal-languages.d.ts +2 -0
  92. package/lib/types/portal/portal-languages.js +5 -1
  93. package/lib/types/portal/portal-languages.js.map +1 -1
  94. package/lib/types/portal/portal-source.d.ts +9 -3
  95. package/lib/types/portal-source-context.d.ts +7 -8
  96. package/lib/types/portal-source-context.js +51 -26
  97. package/lib/types/portal-source-context.js.map +1 -1
  98. package/lib/types/project-context.d.ts +18 -0
  99. package/lib/types/project-context.js +18 -1
  100. package/lib/types/project-context.js.map +1 -1
  101. package/lib/types/resource-context.d.ts +25 -10
  102. package/lib/types/resource-context.js +40 -23
  103. package/lib/types/resource-context.js.map +1 -1
  104. package/oclif.manifest.json +88 -70
  105. package/package.json +1 -1
  106. package/portal-template/dependency-directories.ts +31 -40
  107. package/portal-template/downloads.ts +6 -3
  108. package/portal-template/portal-config.ts +2 -0
  109. package/portal-template/prerender-pages.ts +8 -2
  110. package/portal-template/src/components/api-markdown.tsx +32 -0
  111. package/portal-template/src/components/api-page.tsx +8 -1
  112. package/portal-template/src/components/authorization-failure.tsx +63 -0
  113. package/portal-template/src/components/markdown-copy-button.tsx +2 -2
  114. package/portal-template/src/components/plugin-install.tsx +6 -5
  115. package/portal-template/src/components/sdk-actions.tsx +3 -2
  116. package/portal-template/src/components/sdk-cards.tsx +2 -1
  117. package/portal-template/src/components/search.tsx +9 -2
  118. package/portal-template/src/lib/base-path.ts +14 -0
  119. package/portal-template/src/lib/code-titles.ts +8 -0
  120. package/portal-template/src/lib/copy-markdown.ts +4 -2
  121. package/portal-template/src/lib/install-command.ts +5 -5
  122. package/portal-template/src/lib/layout.shared.tsx +5 -3
  123. package/portal-template/src/lib/llms.server.ts +29 -5
  124. package/portal-template/src/lib/oauth-callback.ts +63 -0
  125. package/portal-template/src/lib/portal-types.ts +3 -3
  126. package/portal-template/src/lib/rehype-code-titles.ts +3 -5
  127. package/portal-template/src/lib/remark-image-references.ts +35 -0
  128. package/portal-template/src/lib/search-content.ts +28 -0
  129. package/portal-template/src/lib/search-options.ts +7 -0
  130. package/portal-template/src/lib/source.server.ts +2 -0
  131. package/portal-template/src/router.tsx +3 -1
  132. package/portal-template/src/routes/$.tsx +3 -2
  133. package/portal-template/src/routes/__root.tsx +8 -1
  134. package/portal-template/src/routes/api/search[.]json.ts +23 -2
  135. package/portal-template/src/routes/oauth.callback.tsx +54 -0
  136. package/portal-template/static-functions-base.ts +41 -0
  137. package/portal-template/vite.config.ts +14 -7
@@ -1,9 +1,10 @@
1
- import { ResultAsync } from 'neverthrow';
1
+ import { ok, ResultAsync } from 'neverthrow';
2
2
  import { FileService } from '../infrastructure/file-service.js';
3
3
  import { ApimaticConfigContext } from './apimatic-config-context.js';
4
4
  import { findingClause } from './apimatic-config/document.js';
5
5
  import { isPublished, languagesOf } from './apimatic-config/languages-block.js';
6
6
  import { DEFAULT_PLUGIN_LICENSE } from './plugin/plugin-config.js';
7
+ import { PortalLanguages } from './portal/portal-languages.js';
7
8
  import { SOURCE_DIRECTORY_NAME } from './project-layout.js';
8
9
  import { SemVersion } from './publish/version.js';
9
10
  import { isAvailableLanguage } from './sdk/generate.js';
@@ -83,6 +84,18 @@ const recorded = (document, languages, keep) => {
83
84
  /** In the user's file a cleared language goes, unless its entry records where an SDK was published. */
84
85
  const keepsRecord = (language, entry) => !isAvailableLanguage(language) || isPublished(entry);
85
86
  const isUnavailableLanguage = (language) => !isAvailableLanguage(language);
87
+ const namesNoLanguage = (document) => PortalLanguages.namesNone(document.languages(), document.findingsFor('languages'));
88
+ const withMetadata = (document, metadata, author) => {
89
+ const plugin = (document.plugin() ?? {});
90
+ return document.with('plugin', {
91
+ ...plugin,
92
+ pluginId: metadata.pluginId,
93
+ pluginName: metadata.pluginName,
94
+ pluginVersion: metadata.pluginVersion,
95
+ ...(!plugin.author && author && { author }),
96
+ license: plugin.license ?? DEFAULT_PLUGIN_LICENSE
97
+ });
98
+ };
86
99
  export class PluginConfigContext {
87
100
  sourceDirectory;
88
101
  configContext;
@@ -106,17 +119,25 @@ export class PluginConfigContext {
106
119
  return PluginConfig.create(PluginConfigContext.configOf(state.document));
107
120
  }
108
121
  async upsertMetadata(metadata, author) {
109
- return await this.merge((document) => {
110
- const plugin = (document.plugin() ?? {});
111
- return document.with('plugin', {
112
- ...plugin,
113
- pluginId: metadata.pluginId,
114
- pluginName: metadata.pluginName,
115
- pluginVersion: metadata.pluginVersion,
116
- ...(!plugin.author && author && { author }),
117
- license: plugin.license ?? DEFAULT_PLUGIN_LICENSE
118
- });
119
- });
122
+ return await this.merge((document) => withMetadata(document, metadata, author));
123
+ }
124
+ // Merged against `plugin` alone: a file's `languages` is not what this write could spread or break.
125
+ async addMetadataIfMissing(metadata) {
126
+ const state = await this.configContext.read();
127
+ if (state.state === 'parsed' && state.document.has('plugin')) {
128
+ return ok(undefined);
129
+ }
130
+ const merged = await this.configContext.merge(['plugin'], (document) => withMetadata(document, metadata));
131
+ return merged.map(() => undefined);
132
+ }
133
+ async languagesMissing() {
134
+ const state = await this.configContext.read();
135
+ return state.state === 'parsed' && namesNoLanguage(state.document);
136
+ }
137
+ // Merged against `languages` alone, as `addMetadataIfMissing` is against `plugin`.
138
+ async addLanguagesIfMissing(languages) {
139
+ const merged = await this.configContext.merge(['languages'], (document) => namesNoLanguage(document) ? document.with('languages', recorded(document, languages, keepsRecord)) : document);
140
+ return merged.map(() => undefined);
120
141
  }
121
142
  // A published entry survives a cleared checkbox: only `sdk publish` can write that record.
122
143
  async recordLanguages(languages) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-config-context.js","sourceRoot":"","sources":["../../src/types/plugin-config-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-config-context.js","sourceRoot":"","sources":["../../src/types/plugin-config-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Parsed } from './fields.js';
2
+ /** Where the portal is hosted: an origin, and the path it is served under there. */
3
+ export declare class SiteAddress {
4
+ private readonly origin;
5
+ /** `''` at the root of the host, otherwise `/docs` or deeper, with no trailing slash. */
6
+ private readonly basePath;
7
+ private constructor();
8
+ static parse(value: unknown, path: string): Parsed<SiteAddress>;
9
+ /** Where the portal is served, in the form Vite's `base` takes: `/`, or `/docs/`. */
10
+ path(): string;
11
+ hasPath(): boolean;
12
+ /** A portal-relative path's address on the host: `/sitemap.xml` is `https://example.com/docs/sitemap.xml`. */
13
+ addressOf(portalPath: string): string;
14
+ /** The site address, with no trailing slash. */
15
+ toString(): string;
16
+ }
@@ -0,0 +1,67 @@
1
+ import { err, ok } from 'neverthrow';
2
+ import { isWebAddress } from './fields.js';
3
+ /** One spelling of the path everywhere: Vite's base, the router's prefix, the host's folder and canonical links. */
4
+ const SEGMENT = /^[A-Za-z0-9._~-]+$/;
5
+ /** The last part of a page's address, such as a home page's `index.html`, which the portal cannot be served under. */
6
+ const PAGE = /\.html?$/i;
7
+ const GIVE_THE_ADDRESS = "Give the address the portal is hosted at, for example 'https://example.com/docs'.";
8
+ /** Where the portal is hosted: an origin, and the path it is served under there. */
9
+ export class SiteAddress {
10
+ origin;
11
+ basePath;
12
+ constructor(origin,
13
+ /** `''` at the root of the host, otherwise `/docs` or deeper, with no trailing slash. */
14
+ basePath) {
15
+ this.origin = origin;
16
+ this.basePath = basePath;
17
+ }
18
+ static parse(value, path) {
19
+ const text = typeof value === 'string' ? value.trim() : '';
20
+ const hostStart = text.indexOf('//') + 2;
21
+ const pathStart = text.indexOf('/', hostStart);
22
+ // Checked as written: the URL parser drops a tab from the host and reads past extra slashes before it.
23
+ const host = text.slice(hostStart, pathStart === -1 ? undefined : pathStart);
24
+ if (!isWebAddress(text) || !/^\S+$/.test(host)) {
25
+ return err([
26
+ `'${path}' must be the address the portal is hosted at, for example 'https://docs.example.com' or 'https://example.com/docs'.`
27
+ ]);
28
+ }
29
+ // Checked as written: the URL parser reads `\` as `/` and drops an empty query or fragment.
30
+ const character = ['?', '#', '\\'].find((candidate) => text.includes(candidate));
31
+ if (character !== undefined) {
32
+ return err([`'${path}' cannot contain '${character}'. ${GIVE_THE_ADDRESS}`]);
33
+ }
34
+ const basePath = pathStart === -1 ? '' : text.slice(pathStart).replace(/\/$/, '');
35
+ const segments = basePath.split('/').slice(1);
36
+ if (segments.includes('')) {
37
+ return err([`'${path}' has an empty part ('//') in its path.`]);
38
+ }
39
+ const invalid = segments.find((segment) => !SEGMENT.test(segment) || segment === '.' || segment === '..');
40
+ if (invalid !== undefined) {
41
+ return err([
42
+ `'${path}' has '${invalid}' in its path. Each part between '/'s can use only letters, digits, '.', '_', '~' and '-', and cannot be '.' or '..'.`
43
+ ]);
44
+ }
45
+ const page = segments.at(-1);
46
+ if (page !== undefined && PAGE.test(page)) {
47
+ return err([`'${path}' ends in '${page}', which names a page. ${GIVE_THE_ADDRESS}`]);
48
+ }
49
+ return ok(new SiteAddress(new URL(text).origin, basePath));
50
+ }
51
+ /** Where the portal is served, in the form Vite's `base` takes: `/`, or `/docs/`. */
52
+ path() {
53
+ return `${this.basePath}/`;
54
+ }
55
+ hasPath() {
56
+ return this.basePath !== '';
57
+ }
58
+ /** A portal-relative path's address on the host: `/sitemap.xml` is `https://example.com/docs/sitemap.xml`. */
59
+ addressOf(portalPath) {
60
+ return `${this.origin}${this.basePath}${portalPath}`;
61
+ }
62
+ /** The site address, with no trailing slash. */
63
+ toString() {
64
+ return `${this.origin}${this.basePath}`;
65
+ }
66
+ }
67
+ //# sourceMappingURL=site-address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-address.js","sourceRoot":"","sources":["../../../../src/types/portal/config/site-address.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { UrlPath } from '../../file/urlPath.js';
2
1
  import { Parsed } from './fields.js';
2
+ import { SiteAddress } from './site-address.js';
3
3
  /** What a specification says about itself, which is what a portal is called until the block says otherwise. */
4
4
  export interface SuggestedSite {
5
5
  name: string;
@@ -8,7 +8,7 @@ export interface SuggestedSite {
8
8
  export declare const PLACEHOLDER_SITE: Readonly<SuggestedSite>;
9
9
  export declare class SiteConfig {
10
10
  private readonly name;
11
- private readonly url;
11
+ private readonly address;
12
12
  private readonly description;
13
13
  private constructor();
14
14
  /**
@@ -19,7 +19,7 @@ export declare class SiteConfig {
19
19
  static suggested(site: SuggestedSite): SiteConfig;
20
20
  siteName(): string;
21
21
  siteDescription(): string | null;
22
- origin(): UrlPath | null;
22
+ siteAddress(): SiteAddress | null;
23
23
  toJSON(): {
24
24
  name: string;
25
25
  url?: string;
@@ -27,6 +27,4 @@ export declare class SiteConfig {
27
27
  };
28
28
  private static validName;
29
29
  private static validDescription;
30
- private static validUrl;
31
- private static parseOrigin;
32
30
  }
@@ -1,15 +1,15 @@
1
1
  import { err, ok, Result } from 'neverthrow';
2
- import { UrlPath } from '../../file/urlPath.js';
3
- import { allOf, isWebAddress, namespace, nonEmptyString, unknownKeys } from './fields.js';
2
+ import { allOf, namespace, nonEmptyString, optional, unknownKeys } from './fields.js';
3
+ import { SiteAddress } from './site-address.js';
4
4
  export const PLACEHOLDER_SITE = Object.freeze({ name: 'My API', description: null });
5
5
  const KNOWN = ['name', 'url', 'description'];
6
6
  export class SiteConfig {
7
7
  name;
8
- url;
8
+ address;
9
9
  description;
10
- constructor(name, url, description) {
10
+ constructor(name, address, description) {
11
11
  this.name = name;
12
- this.url = url;
12
+ this.address = address;
13
13
  this.description = description;
14
14
  }
15
15
  /**
@@ -19,9 +19,9 @@ export class SiteConfig {
19
19
  static parse(value, path, suggested) {
20
20
  return namespace(value, path).andThen((data) => allOf(unknownKeys(data, KNOWN, path), Result.combineWithAllErrors([
21
21
  SiteConfig.validName(data.name, `${path}.name`, suggested),
22
- SiteConfig.validUrl(data.url, `${path}.url`),
22
+ optional(data.url, (url) => SiteAddress.parse(url, `${path}.url`)),
23
23
  SiteConfig.validDescription(data.description, `${path}.description`, suggested)
24
- ])).map(([name, url, description]) => new SiteConfig(name, url, description)));
24
+ ])).map(([name, address, description]) => new SiteConfig(name, address, description)));
25
25
  }
26
26
  static suggested(site) {
27
27
  return new SiteConfig(site.name, null, site.description);
@@ -32,13 +32,13 @@ export class SiteConfig {
32
32
  siteDescription() {
33
33
  return this.description;
34
34
  }
35
- origin() {
36
- return this.url;
35
+ siteAddress() {
36
+ return this.address;
37
37
  }
38
38
  toJSON() {
39
39
  return {
40
40
  name: this.name,
41
- ...(this.url === null ? {} : { url: this.url.toString() }),
41
+ ...(this.address === null ? {} : { url: this.address.toString() }),
42
42
  ...(this.description === null ? {} : { description: this.description })
43
43
  };
44
44
  }
@@ -61,28 +61,5 @@ export class SiteConfig {
61
61
  const trimmed = description.trim();
62
62
  return ok(trimmed.length > 0 ? trimmed : null);
63
63
  }
64
- // Only the origin is accepted: the portal is hosted at the root of its host, so a path,
65
- // query or fragment would produce canonical links that do not resolve.
66
- static validUrl(url, path) {
67
- if (url === undefined) {
68
- return ok(null);
69
- }
70
- const origin = typeof url === 'string' ? SiteConfig.parseOrigin(url.trim()) : null;
71
- return origin === null
72
- ? err([
73
- `'${path}' must be the address the portal is hosted at, without a path, for example 'https://docs.example.com'.`
74
- ])
75
- : ok(origin);
76
- }
77
- static parseOrigin(value) {
78
- if (!isWebAddress(value)) {
79
- return null;
80
- }
81
- const parsed = new URL(value);
82
- if (parsed.pathname !== '/' || parsed.search !== '' || parsed.hash !== '') {
83
- return null;
84
- }
85
- return new UrlPath(parsed.origin);
86
- }
87
64
  }
88
65
  //# sourceMappingURL=site-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"site-config.js","sourceRoot":"","sources":["../../../../src/types/portal/config/site-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-config.js","sourceRoot":"","sources":["../../../../src/types/portal/config/site-config.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,10 @@ export declare class StaticAsset {
13
13
  resolveIn(sourceDirectory: DirectoryPath): FilePath;
14
14
  settingPath(): string;
15
15
  /**
16
- * The `static/` prefix is the site root. Each name is escaped, since a `#`, `?` or `%` in it
16
+ * The `static/` prefix is the portal's root. Each name is escaped, since a `#`, `?` or `%` in it
17
17
  * would otherwise end or alter the path.
18
18
  */
19
- siteUrl(): string;
19
+ portalPath(): string;
20
20
  imageType(): string | null;
21
21
  isEqual(other: StaticAsset): boolean;
22
22
  toJSON(): string;
@@ -45,10 +45,10 @@ export class StaticAsset {
45
45
  return this.setting;
46
46
  }
47
47
  /**
48
- * The `static/` prefix is the site root. Each name is escaped, since a `#`, `?` or `%` in it
48
+ * The `static/` prefix is the portal's root. Each name is escaped, since a `#`, `?` or `%` in it
49
49
  * would otherwise end or alter the path.
50
50
  */
51
- siteUrl() {
51
+ portalPath() {
52
52
  return `/${this.relativePath.slice(STATIC_PREFIX.length).split('/').map(encodeURIComponent).join('/')}`;
53
53
  }
54
54
  imageType() {
@@ -1 +1 @@
1
- {"version":3,"file":"static-asset.js","sourceRoot":"","sources":["../../../../src/types/portal/config/static-asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,kGAAkG;AAClG,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,mGAAmG;AACnG,MAAM,OAAO,WAAW;IAGH,OAAO;IACP,YAAY;IAEZ,OAAO;IAL1B;IACE,uEAAuE;IACtD,OAAe,EACf,YAAoB;IACrC,0EAA0E;IACzD,OAAe;uBAHf,OAAO;4BACP,YAAY;uBAEZ,OAAO;IACvB,CAAC;IAEG,MAAM,CAAC,KAAK,CAAC,KAAc,EAAE,IAAY;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,+BAA+B,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC;gBACT,IAAI,IAAI,kFAAkF,aAAa,mBAAmB;aAC3H,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAEM,SAAS,CAAC,eAA8B;QAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1G,CAAC;IAEM,SAAS;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IAC9E,CAAC;IAEM,OAAO,CAAC,KAAkB;QAC/B,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;IAClD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,YAAoB;QAC3C,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,6FAA6F;IAC7F,sFAAsF;IAC9E,MAAM,CAAC,cAAc,CAAC,UAAkB;QAC9C,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,CACL,GAAG,KAAK,GAAG,KAAK,aAAa;YAC7B,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAC/E,CAAC;IACJ,CAAC;CACF"}
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;