@cbnventures/docusaurus-preset-nova 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/package.json +8 -5
- package/build/src/lib/regex.d.ts +2 -0
- package/build/src/lib/regex.d.ts.map +1 -1
- package/build/src/lib/regex.js +47 -42
- package/build/src/lib/regex.js.map +1 -1
- package/build/src/lib/search/indexer.d.ts.map +1 -1
- package/build/src/lib/search/indexer.js +3 -1
- package/build/src/lib/search/indexer.js.map +1 -1
- package/build/src/lib/search/worker.js +4 -3
- package/build/src/lib/search/worker.js.map +1 -1
- package/build/src/lib/translations.d.ts.map +1 -1
- package/build/src/lib/translations.js +20 -14
- package/build/src/lib/translations.js.map +1 -1
- package/build/src/lib/use-navbar-active-item.d.ts.map +1 -1
- package/build/src/lib/use-navbar-active-item.js +12 -1
- package/build/src/lib/use-navbar-active-item.js.map +1 -1
- package/build/src/styles/presets/envoy/theme/Navbar/Bridge/style.css +39 -10
- package/build/src/styles/presets/envoy/theme/Navbar/Canopy/style.css +50 -11
- package/build/src/styles/presets/envoy/theme/Navbar/Compass/style.css +41 -11
- package/build/src/styles/presets/envoy/theme/Navbar/Monolith/style.css +20 -5
- package/build/src/styles/presets/envoy/theme/Navbar/More/style.css +4 -3
- package/build/src/styles/presets/envoy/theme/Navbar/style.css +13 -5
- package/build/src/styles/presets/foundry/theme/Navbar/Bridge/style.css +41 -11
- package/build/src/styles/presets/foundry/theme/Navbar/Canopy/style.css +40 -11
- package/build/src/styles/presets/foundry/theme/Navbar/Compass/style.css +41 -11
- package/build/src/styles/presets/foundry/theme/Navbar/Monolith/style.css +20 -5
- package/build/src/styles/presets/foundry/theme/Navbar/More/style.css +4 -3
- package/build/src/styles/presets/foundry/theme/Navbar/style.css +13 -5
- package/build/src/styles/presets/lantern/theme/Navbar/Bridge/style.css +37 -10
- package/build/src/styles/presets/lantern/theme/Navbar/Canopy/style.css +45 -12
- package/build/src/styles/presets/lantern/theme/Navbar/Compass/style.css +37 -11
- package/build/src/styles/presets/lantern/theme/Navbar/Monolith/style.css +23 -5
- package/build/src/styles/presets/lantern/theme/Navbar/More/style.css +4 -3
- package/build/src/styles/presets/lantern/theme/Navbar/style.css +13 -4
- package/build/src/styles/presets/marshal/theme/Navbar/Bridge/style.css +50 -10
- package/build/src/styles/presets/marshal/theme/Navbar/Canopy/style.css +41 -12
- package/build/src/styles/presets/marshal/theme/Navbar/Compass/style.css +41 -10
- package/build/src/styles/presets/marshal/theme/Navbar/Monolith/style.css +34 -3
- package/build/src/styles/presets/marshal/theme/Navbar/More/style.css +4 -3
- package/build/src/styles/presets/marshal/theme/Navbar/style.css +16 -5
- package/build/src/styles/presets/sample/theme/Navbar/Canopy/style.css +16 -0
- package/build/src/styles/presets/sentinel/theme/Navbar/Bridge/style.css +41 -11
- package/build/src/styles/presets/sentinel/theme/Navbar/Canopy/style.css +40 -11
- package/build/src/styles/presets/sentinel/theme/Navbar/Compass/style.css +41 -11
- package/build/src/styles/presets/sentinel/theme/Navbar/Monolith/style.css +20 -5
- package/build/src/styles/presets/sentinel/theme/Navbar/More/style.css +4 -3
- package/build/src/styles/presets/sentinel/theme/Navbar/style.css +14 -4
- package/build/src/styles/presets/signal/theme/Navbar/Bridge/style.css +36 -13
- package/build/src/styles/presets/signal/theme/Navbar/Canopy/style.css +28 -11
- package/build/src/styles/presets/signal/theme/Navbar/Compass/style.css +41 -12
- package/build/src/styles/presets/signal/theme/Navbar/Monolith/style.css +22 -5
- package/build/src/styles/presets/signal/theme/Navbar/style.css +19 -5
- package/build/src/styles/theme/Navbar/Bridge/style.css +33 -0
- package/build/src/styles/theme/Navbar/Canopy/style.css +33 -0
- package/build/src/styles/theme/Navbar/Compass/style.css +33 -0
- package/build/src/styles/theme/Navbar/Monolith/style.css +33 -0
- package/build/src/styles/theme/NavbarItem/style.css +68 -0
- package/build/src/tests/bin-git-tracked.test.d.ts +2 -0
- package/build/src/tests/bin-git-tracked.test.d.ts.map +1 -0
- package/build/src/tests/bin-git-tracked.test.js +43 -0
- package/build/src/tests/bin-git-tracked.test.js.map +1 -0
- package/build/src/tests/lib/search/worker.test.js +15 -0
- package/build/src/tests/lib/search/worker.test.js.map +1 -1
- package/build/src/tests/lib/translations.test.js +20 -20
- package/build/src/tests/lib/translations.test.js.map +1 -1
- package/build/src/tests/since-version.test.js +2 -1
- package/build/src/tests/since-version.test.js.map +1 -1
- package/build/src/theme/BlogArchivePage/index.js +1 -1
- package/build/src/theme/BlogArchivePage/index.js.map +1 -1
- package/build/src/theme/Navbar/Bridge/mobile-menu.d.ts.map +1 -1
- package/build/src/theme/Navbar/Bridge/mobile-menu.js +29 -1
- package/build/src/theme/Navbar/Bridge/mobile-menu.js.map +1 -1
- package/build/src/theme/Navbar/Canopy/mobile-menu.d.ts.map +1 -1
- package/build/src/theme/Navbar/Canopy/mobile-menu.js +29 -1
- package/build/src/theme/Navbar/Canopy/mobile-menu.js.map +1 -1
- package/build/src/theme/Navbar/Compass/mobile-menu.d.ts.map +1 -1
- package/build/src/theme/Navbar/Compass/mobile-menu.js +29 -1
- package/build/src/theme/Navbar/Compass/mobile-menu.js.map +1 -1
- package/build/src/theme/Navbar/Monolith/mobile-menu.d.ts.map +1 -1
- package/build/src/theme/Navbar/Monolith/mobile-menu.js +29 -1
- package/build/src/theme/Navbar/Monolith/mobile-menu.js.map +1 -1
- package/build/src/theme/NavbarItem/dropdown-navbar-item.d.ts.map +1 -1
- package/build/src/theme/NavbarItem/dropdown-navbar-item.js +14 -1
- package/build/src/theme/NavbarItem/dropdown-navbar-item.js.map +1 -1
- package/build/src/types/lib/search/indexer.d.ts +4 -0
- package/build/src/types/lib/search/worker.d.ts +7 -0
- package/build/src/types/lib/translations.d.ts +4 -0
- package/build/src/types/lib/use-navbar-active-item.d.ts +6 -0
- package/build/src/types/tests/bin-git-tracked.test.d.ts +52 -0
- package/build/src/types/tests/lib/search/worker.test.d.ts +13 -0
- package/build/src/types/theme/Navbar/Bridge/mobile-menu.d.ts +21 -5
- package/build/src/types/theme/Navbar/Canopy/mobile-menu.d.ts +21 -5
- package/build/src/types/theme/Navbar/Compass/mobile-menu.d.ts +23 -7
- package/build/src/types/theme/Navbar/Monolith/mobile-menu.d.ts +21 -5
- package/build/src/types/theme/NavbarItem/index.d.ts +12 -0
- package/nova-config.d.ts +14 -2
- package/nova-sidebars.d.ts +1 -0
- package/package.json +8 -5
- package/build/src/tests/demo-coverage.test.d.ts +0 -2
- package/build/src/tests/demo-coverage.test.d.ts.map +0 -1
- package/build/src/tests/demo-coverage.test.js +0 -178
- package/build/src/tests/demo-coverage.test.js.map +0 -1
- package/build/src/tests/demo-logo-override.test.d.ts +0 -2
- package/build/src/tests/demo-logo-override.test.d.ts.map +0 -1
- package/build/src/tests/demo-logo-override.test.js +0 -42
- package/build/src/tests/demo-logo-override.test.js.map +0 -1
- package/build/src/types/tests/demo-coverage.test.d.ts +0 -176
- package/build/src/types/tests/demo-logo-override.test.d.ts +0 -45
|
@@ -240,6 +240,18 @@ export type Theme_NavbarItem_DropdownNavbarItem_Label = string | undefined;
|
|
|
240
240
|
|
|
241
241
|
export type Theme_NavbarItem_DropdownNavbarItem_Items = Theme_NavbarItem_DropdownNavbarItem_ChildItem[];
|
|
242
242
|
|
|
243
|
+
export type Theme_NavbarItem_DropdownNavbarItem_IsActive = boolean;
|
|
244
|
+
|
|
245
|
+
export type Theme_NavbarItem_DropdownNavbarItem_Pathname = string;
|
|
246
|
+
|
|
247
|
+
export type Theme_NavbarItem_DropdownNavbarItem_DetailsClassName = string;
|
|
248
|
+
|
|
249
|
+
export type Theme_NavbarItem_DropdownNavbarItem_DetailsRef = React.RefObject<HTMLDetailsElement | null>;
|
|
250
|
+
|
|
251
|
+
export type Theme_NavbarItem_DropdownNavbarItem_ChildTo = string | undefined;
|
|
252
|
+
|
|
253
|
+
export type Theme_NavbarItem_DropdownNavbarItem_ChildIsActive = boolean;
|
|
254
|
+
|
|
243
255
|
/**
|
|
244
256
|
* Theme - Navbar Item - HTML Navbar Item.
|
|
245
257
|
*
|
package/nova-config.d.ts
CHANGED
|
@@ -1186,8 +1186,20 @@ export type NovaThemeConfigFooterCopyright = string | undefined;
|
|
|
1186
1186
|
// Show "Built with Nova" credit in the footer. Defaults to true.
|
|
1187
1187
|
export type NovaThemeConfigFooterCredit = boolean | undefined;
|
|
1188
1188
|
|
|
1189
|
-
// Call-to-action
|
|
1190
|
-
export type
|
|
1189
|
+
// Call-to-action label for the footer CTA button.
|
|
1190
|
+
export type NovaThemeConfigFooterCtaLabel = string;
|
|
1191
|
+
|
|
1192
|
+
// Call-to-action href for the footer CTA button.
|
|
1193
|
+
export type NovaThemeConfigFooterCtaHref = string;
|
|
1194
|
+
|
|
1195
|
+
// Call-to-action object with a label and link displayed in the footer.
|
|
1196
|
+
export type NovaThemeConfigFooterCtaObject = {
|
|
1197
|
+
label: NovaThemeConfigFooterCtaLabel;
|
|
1198
|
+
href: NovaThemeConfigFooterCtaHref;
|
|
1199
|
+
};
|
|
1200
|
+
|
|
1201
|
+
// Call-to-action displayed in the footer. Can be a plain string, an object with label and href, or undefined.
|
|
1202
|
+
export type NovaThemeConfigFooterCta = string | NovaThemeConfigFooterCtaObject | undefined;
|
|
1191
1203
|
|
|
1192
1204
|
// Footer configuration. Set as false to disable the footer entirely. Defaults to false.
|
|
1193
1205
|
export type NovaThemeConfigFooter = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cbnventures/docusaurus-preset-nova",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Scripts, templates, and project configuration for the common JavaScript and TypeScript developer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -52,13 +52,15 @@
|
|
|
52
52
|
"./blocks": "./build/src/blocks/index.js",
|
|
53
53
|
"./icons": "./build/src/icons.js",
|
|
54
54
|
"./types/theme": "./nova-theme.d.ts",
|
|
55
|
-
"./types/config": "./nova-config.d.ts"
|
|
55
|
+
"./types/config": "./nova-config.d.ts",
|
|
56
|
+
"./types/sidebars": "./nova-sidebars.d.ts"
|
|
56
57
|
},
|
|
57
58
|
"files": [
|
|
58
59
|
"./assets",
|
|
59
60
|
"./bin",
|
|
60
61
|
"./build",
|
|
61
62
|
"./nova-config.d.ts",
|
|
63
|
+
"./nova-sidebars.d.ts",
|
|
62
64
|
"./nova-theme.d.ts",
|
|
63
65
|
"./translations"
|
|
64
66
|
],
|
|
@@ -72,14 +74,14 @@
|
|
|
72
74
|
"dev:watch-styles": "node ../../scripts/copy-styles.mjs --watch",
|
|
73
75
|
"dev:watch-theme": "tsc --project tsconfig.theme.json --watch",
|
|
74
76
|
"dev:watch-cli": "tsc --project tsconfig.cli.json --watch",
|
|
75
|
-
"dev:fix-
|
|
77
|
+
"dev:fix-shiki-import": "node ../../scripts/fix-shiki-import.mjs --watch",
|
|
76
78
|
"build": "node ../../scripts/nova-run-scripts.mjs --sequential 'build:*'",
|
|
77
79
|
"build:transpile-theme": "tsc --project tsconfig.theme.json --outDir ./build --skipLibCheck",
|
|
78
80
|
"build:transpile-plugin": "tsc --project tsconfig.plugin.json --outDir ./build --skipLibCheck",
|
|
79
81
|
"build:transpile-worker": "tsc --project tsconfig.worker.json --outDir ./build --skipLibCheck",
|
|
80
82
|
"build:transpile-cli": "tsc --project tsconfig.cli.json --outDir ./build --skipLibCheck",
|
|
81
83
|
"build:copy-types": "shx rm -rf \"./build/src/types\" && shx cp -r \"./src/types\" \"./build/src/types\"",
|
|
82
|
-
"build:fix-
|
|
84
|
+
"build:fix-shiki-import": "node ../../scripts/fix-shiki-import.mjs",
|
|
83
85
|
"build:copy-styles": "node ../../scripts/copy-styles.mjs",
|
|
84
86
|
"build:fix-perms": "shx chmod +x ./build/src/cli/index.js",
|
|
85
87
|
"check": "node ../../scripts/nova-run-scripts.mjs --sequential 'check:*'",
|
|
@@ -88,6 +90,7 @@
|
|
|
88
90
|
"check:types-theme": "node ../../scripts/nova-type-check.mjs --project tsconfig.theme.json",
|
|
89
91
|
"check:types-worker": "node ../../scripts/nova-type-check.mjs --project tsconfig.worker.json",
|
|
90
92
|
"check:types-cli": "node ../../scripts/nova-type-check.mjs --project tsconfig.cli.json",
|
|
93
|
+
"check:types-config": "node ../../scripts/nova-type-check.mjs --project tsconfig.config.json",
|
|
91
94
|
"check:test": "vitest run",
|
|
92
95
|
"clean": "node ../../scripts/nova-run-scripts.mjs --parallel 'clean:*'",
|
|
93
96
|
"clean:build": "shx rm -rf ./build"
|
|
@@ -96,7 +99,7 @@
|
|
|
96
99
|
"node": "^22 || ^24"
|
|
97
100
|
},
|
|
98
101
|
"dependencies": {
|
|
99
|
-
"@cbnventures/nova": "0.
|
|
102
|
+
"@cbnventures/nova": "0.22.0",
|
|
100
103
|
"@codesandbox/sandpack-react": "2.20.0",
|
|
101
104
|
"@docusaurus/plugin-content-blog": "3.10.0",
|
|
102
105
|
"@docusaurus/plugin-content-docs": "3.10.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo-coverage.test.d.ts","sourceRoot":"","sources":["../../../src/tests/demo-coverage.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { strictEqual } from 'node:assert/strict';
|
|
2
|
-
import { readFile } from 'node:fs/promises';
|
|
3
|
-
import { dirname, resolve } from 'node:path';
|
|
4
|
-
import { pathToFileURL } from 'node:url';
|
|
5
|
-
import { fileURLToPath } from 'node:url';
|
|
6
|
-
import { describe, it } from 'vitest';
|
|
7
|
-
import { LIB_REGEX_NOVA_THEME_CONFIG_OBJECT_TYPE, LIB_REGEX_NOVA_THEME_CONFIG_TYPE_REFERENCE, LIB_REGEX_TYPE_DECLARATION_FIELD, } from '../lib/regex.js';
|
|
8
|
-
import { presetsIndexNames } from '../presets/index.js';
|
|
9
|
-
const demos = presetsIndexNames.map((name) => ({
|
|
10
|
-
name,
|
|
11
|
-
path: `apps/demo-${name}/docusaurus.config.ts`,
|
|
12
|
-
}));
|
|
13
|
-
const requiredLeafPaths = [
|
|
14
|
-
'themeConfig.site.logo.alt',
|
|
15
|
-
'themeConfig.site.logo.src.light',
|
|
16
|
-
'themeConfig.site.logo.src.dark',
|
|
17
|
-
'themeConfig.site.logo.href',
|
|
18
|
-
'themeConfig.site.logo.target',
|
|
19
|
-
'themeConfig.site.logo.rel',
|
|
20
|
-
'themeConfig.site.logo.ariaLabel',
|
|
21
|
-
'themeConfig.site.logo.wordmark.light',
|
|
22
|
-
'themeConfig.site.logo.wordmark.dark',
|
|
23
|
-
'themeConfig.site.image',
|
|
24
|
-
'themeConfig.site.metadata',
|
|
25
|
-
'themeConfig.colorMode.defaultMode',
|
|
26
|
-
'themeConfig.colorMode.disableSwitch',
|
|
27
|
-
'themeConfig.navbar.hideOnScroll',
|
|
28
|
-
'themeConfig.navbar.items',
|
|
29
|
-
'themeConfig.docs.versionPersistence',
|
|
30
|
-
'themeConfig.docs.sidebar.hideable',
|
|
31
|
-
'themeConfig.docs.sidebar.autoCollapseCategories',
|
|
32
|
-
'themeConfig.blog.sidebar.groupByYear',
|
|
33
|
-
'themeConfig.blog.layout.heading',
|
|
34
|
-
'themeConfig.blog.layout.description',
|
|
35
|
-
'themeConfig.blog.share.platforms',
|
|
36
|
-
'themeConfig.tableOfContents.minHeadingLevel',
|
|
37
|
-
'themeConfig.tableOfContents.maxHeadingLevel',
|
|
38
|
-
'themeConfig.announcementBar.id',
|
|
39
|
-
'themeConfig.announcementBar.content',
|
|
40
|
-
'themeConfig.announcementBar.backgroundColor',
|
|
41
|
-
'themeConfig.announcementBar.textColor',
|
|
42
|
-
'themeConfig.announcementBar.isCloseable',
|
|
43
|
-
'themeConfig.backToTopButton',
|
|
44
|
-
'themeConfig.errorPages.notFound.title',
|
|
45
|
-
'themeConfig.errorPages.notFound.description',
|
|
46
|
-
'themeConfig.errorPages.notFound.backHomeLabel',
|
|
47
|
-
'themeConfig.errorPages.notFound.backHomeHref',
|
|
48
|
-
'themeConfig.errorPages.errorPageContent.title',
|
|
49
|
-
'themeConfig.errorPages.errorPageContent.retryLabel',
|
|
50
|
-
'themeConfig.errorPages.error.retryLabel',
|
|
51
|
-
'themeConfig.footer.sections',
|
|
52
|
-
'themeConfig.footer.layout',
|
|
53
|
-
'themeConfig.footer.socialLinks',
|
|
54
|
-
'themeConfig.footer.copyright',
|
|
55
|
-
'themeConfig.footer.credit',
|
|
56
|
-
'themeConfig.footer.cta',
|
|
57
|
-
];
|
|
58
|
-
async function deriveRequiredLeafPaths(typeFilePath) {
|
|
59
|
-
const fileText = await readFile(typeFilePath, 'utf-8');
|
|
60
|
-
const objectTypes = new Map();
|
|
61
|
-
const blockPattern = new RegExp(LIB_REGEX_NOVA_THEME_CONFIG_OBJECT_TYPE.source, 'g');
|
|
62
|
-
let blockMatch = blockPattern.exec(fileText);
|
|
63
|
-
while (blockMatch !== null) {
|
|
64
|
-
const typeName = blockMatch[1] ?? '';
|
|
65
|
-
const blockBody = blockMatch[2] ?? '';
|
|
66
|
-
const fields = new Map();
|
|
67
|
-
const fieldPattern = new RegExp(LIB_REGEX_TYPE_DECLARATION_FIELD.source, 'gm');
|
|
68
|
-
let fieldMatch = fieldPattern.exec(blockBody);
|
|
69
|
-
while (fieldMatch !== null) {
|
|
70
|
-
const fieldName = fieldMatch[1] ?? '';
|
|
71
|
-
const fieldExpression = (fieldMatch[2] ?? '').trim();
|
|
72
|
-
const fieldTypeMatch = fieldExpression.match(LIB_REGEX_NOVA_THEME_CONFIG_TYPE_REFERENCE);
|
|
73
|
-
const fieldType = (fieldTypeMatch !== null && fieldTypeMatch[1] !== undefined) ? fieldTypeMatch[1] : fieldExpression;
|
|
74
|
-
fields.set(fieldName, fieldType);
|
|
75
|
-
fieldMatch = fieldPattern.exec(blockBody);
|
|
76
|
-
}
|
|
77
|
-
objectTypes.set(typeName, fields);
|
|
78
|
-
blockMatch = blockPattern.exec(fileText);
|
|
79
|
-
}
|
|
80
|
-
const leaves = [];
|
|
81
|
-
const walkStack = [{
|
|
82
|
-
typeName: 'NovaThemeConfig',
|
|
83
|
-
path: ['themeConfig'],
|
|
84
|
-
}];
|
|
85
|
-
while (walkStack.length > 0) {
|
|
86
|
-
const entry = walkStack.pop();
|
|
87
|
-
const entryFields = objectTypes.get(entry['typeName']);
|
|
88
|
-
if (entryFields === undefined) {
|
|
89
|
-
leaves.push(entry['path'].join('.'));
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
for (const fieldEntry of entryFields) {
|
|
93
|
-
const walkFieldEntry = fieldEntry;
|
|
94
|
-
const walkFieldName = walkFieldEntry[0];
|
|
95
|
-
const walkFieldType = walkFieldEntry[1];
|
|
96
|
-
walkStack.push({
|
|
97
|
-
typeName: walkFieldType,
|
|
98
|
-
path: [
|
|
99
|
-
...entry['path'],
|
|
100
|
-
walkFieldName,
|
|
101
|
-
],
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return leaves;
|
|
106
|
-
}
|
|
107
|
-
function getPackageRoot() {
|
|
108
|
-
const currentFilePath = fileURLToPath(import.meta.url);
|
|
109
|
-
const currentFileDirectory = dirname(currentFilePath);
|
|
110
|
-
return resolve(currentFileDirectory, '..', '..');
|
|
111
|
-
}
|
|
112
|
-
function getRepoRoot() {
|
|
113
|
-
return resolve(getPackageRoot(), '..', '..');
|
|
114
|
-
}
|
|
115
|
-
async function loadDemoConfig(demoPath) {
|
|
116
|
-
const configUrl = pathToFileURL(resolve(getRepoRoot(), demoPath)).href;
|
|
117
|
-
const moduleNamespace = await import(configUrl);
|
|
118
|
-
return moduleNamespace['default'];
|
|
119
|
-
}
|
|
120
|
-
function resolveLeaf(config, path) {
|
|
121
|
-
const segments = path.split('.');
|
|
122
|
-
let cursor = config;
|
|
123
|
-
for (let index = 0; index < segments.length; index += 1) {
|
|
124
|
-
const segmentName = segments[index] ?? '';
|
|
125
|
-
if (cursor === null
|
|
126
|
-
|| cursor === undefined
|
|
127
|
-
|| typeof cursor !== 'object') {
|
|
128
|
-
return segments.slice(0, index + 1).join('.');
|
|
129
|
-
}
|
|
130
|
-
if (Object.hasOwn(cursor, segmentName) === false) {
|
|
131
|
-
return segments.slice(0, index + 1).join('.');
|
|
132
|
-
}
|
|
133
|
-
cursor = cursor[segmentName];
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
describe('demo coverage', () => {
|
|
138
|
-
it('registry matches every leaf reachable from NovaThemeConfig', async () => {
|
|
139
|
-
const typeFilePath = resolve(getPackageRoot(), 'nova-config.d.ts');
|
|
140
|
-
const derived = await deriveRequiredLeafPaths(typeFilePath);
|
|
141
|
-
const derivedSet = new Set(derived);
|
|
142
|
-
const registrySet = new Set(requiredLeafPaths);
|
|
143
|
-
const missingInRegistry = derived.filter((leaf) => registrySet.has(leaf) === false);
|
|
144
|
-
const staleInRegistry = requiredLeafPaths.filter((leaf) => derivedSet.has(leaf) === false);
|
|
145
|
-
const registryMessage = [
|
|
146
|
-
'Registry / NovaThemeConfig drift:',
|
|
147
|
-
` Missing in registry (in type but not registered): ${missingInRegistry.length}`,
|
|
148
|
-
...missingInRegistry.map((leaf) => ` + ${leaf}`),
|
|
149
|
-
` Stale in registry (registered but not in type): ${staleInRegistry.length}`,
|
|
150
|
-
...staleInRegistry.map((leaf) => ` - ${leaf}`),
|
|
151
|
-
].join('\n');
|
|
152
|
-
strictEqual(missingInRegistry.length + staleInRegistry.length, 0, registryMessage);
|
|
153
|
-
return;
|
|
154
|
-
});
|
|
155
|
-
for (const demo of demos) {
|
|
156
|
-
const demoContext = demo;
|
|
157
|
-
it(`'${demoContext['name']}' demo sets every required NovaThemeConfig leaf`, async () => {
|
|
158
|
-
const demoParam = demoContext;
|
|
159
|
-
const config = await loadDemoConfig(demoParam['path']);
|
|
160
|
-
const misses = [];
|
|
161
|
-
for (const leaf of requiredLeafPaths) {
|
|
162
|
-
const leafPath = leaf;
|
|
163
|
-
const missAt = resolveLeaf(config, leafPath);
|
|
164
|
-
if (missAt !== null) {
|
|
165
|
-
misses.push(` - ${leafPath} (missing at: ${missAt})`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
const message = [
|
|
169
|
-
`'${demoParam['name']}' demo has ${misses.length} undefined required leaves:`,
|
|
170
|
-
...misses,
|
|
171
|
-
].join('\n');
|
|
172
|
-
strictEqual(misses.length, 0, message);
|
|
173
|
-
return;
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
return;
|
|
177
|
-
});
|
|
178
|
-
//# sourceMappingURL=demo-coverage.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo-coverage.test.js","sourceRoot":"","sources":["../../../src/tests/demo-coverage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo-logo-override.test.d.ts","sourceRoot":"","sources":["../../../src/tests/demo-logo-override.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ok, strictEqual } from 'node:assert/strict';
|
|
2
|
-
import { readFile, stat } from 'node:fs/promises';
|
|
3
|
-
import { dirname, resolve } from 'node:path';
|
|
4
|
-
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
5
|
-
import { describe, it } from 'vitest';
|
|
6
|
-
import { presetsIndexNames } from '../presets/index.js';
|
|
7
|
-
const currentFilePath = fileURLToPath(import.meta.url);
|
|
8
|
-
const currentFileDirectory = dirname(currentFilePath);
|
|
9
|
-
const packageRoot = resolve(currentFileDirectory, '..', '..');
|
|
10
|
-
const repoRoot = resolve(packageRoot, '..', '..');
|
|
11
|
-
describe('demo logo override', () => {
|
|
12
|
-
for (const presetName of presetsIndexNames) {
|
|
13
|
-
const presetLogoPath = resolve(packageRoot, 'assets', 'presets', presetName, 'logo.svg');
|
|
14
|
-
const demoLogoPath = resolve(repoRoot, 'apps', `demo-${presetName}`, 'static', 'images', 'logo.svg');
|
|
15
|
-
it(`preset '${presetName}' ships a non-empty canonical logo at assets/presets/${presetName}/logo.svg`, async () => {
|
|
16
|
-
const presetStats = await stat(presetLogoPath);
|
|
17
|
-
ok(presetStats.isFile());
|
|
18
|
-
ok(presetStats.size > 0);
|
|
19
|
-
return;
|
|
20
|
-
});
|
|
21
|
-
it(`demo-${presetName} override logo bytes equal preset canonical (preset is source of truth)`, async () => {
|
|
22
|
-
const presetBytes = await readFile(presetLogoPath);
|
|
23
|
-
const demoBytes = await readFile(demoLogoPath);
|
|
24
|
-
ok(presetBytes.equals(demoBytes));
|
|
25
|
-
return;
|
|
26
|
-
});
|
|
27
|
-
it(`demo-${presetName} wires the override via site.logo.src.light in docusaurus.config.ts`, async () => {
|
|
28
|
-
const configUrl = pathToFileURL(resolve(repoRoot, 'apps', `demo-${presetName}`, 'docusaurus.config.ts')).href;
|
|
29
|
-
const moduleNamespace = await import(configUrl);
|
|
30
|
-
const config = moduleNamespace['default'];
|
|
31
|
-
const themeConfig = config['themeConfig'];
|
|
32
|
-
const site = themeConfig['site'];
|
|
33
|
-
const logo = site['logo'];
|
|
34
|
-
const logoSrc = logo['src'];
|
|
35
|
-
const logoSrcLight = logoSrc['light'];
|
|
36
|
-
strictEqual(logoSrcLight, '/images/logo.svg');
|
|
37
|
-
return;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
return;
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=demo-logo-override.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"demo-logo-override.test.js","sourceRoot":"","sources":["../../../src/tests/demo-logo-override.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAsBxD,MAAM,eAAe,GAA2C,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/F,MAAM,oBAAoB,GAAgD,OAAO,CAAC,eAAe,CAAC,CAAC;AACnG,MAAM,WAAW,GAAuC,OAAO,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClG,MAAM,QAAQ,GAAoC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAuBnF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAA0C,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAChI,MAAM,YAAY,GAAwC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE1I,EAAE,CAAC,WAAW,UAAU,wDAAwD,UAAU,WAAW,EAAE,KAAK,IAAI,EAAE;YAChH,MAAM,WAAW,GAAuC,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC;YAEnF,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACzB,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAEzB,OAAO;QACT,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,QAAQ,UAAU,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,WAAW,GAAuC,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvF,MAAM,SAAS,GAAqC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEjF,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAElC,OAAO;QACT,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,QAAQ,UAAU,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACrG,MAAM,SAAS,GAAqC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAU,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;YAChJ,MAAM,eAAe,GAA4D,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACzG,MAAM,MAAM,GAAkC,eAAe,CAAC,SAAS,CAAkC,CAAC;YAC1G,MAAM,WAAW,GAAuC,MAAM,CAAC,aAAa,CAAuC,CAAC;YACpH,MAAM,IAAI,GAAgC,WAAW,CAAC,MAAM,CAAgC,CAAC;YAC7F,MAAM,IAAI,GAAgC,IAAI,CAAC,MAAM,CAAgC,CAAC;YACtF,MAAM,OAAO,GAAmC,IAAI,CAAC,KAAK,CAAmC,CAAC;YAC9F,MAAM,YAAY,GAAwC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE3E,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;YAE9C,OAAO;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;AACT,CAAC,CAAC,CAAC"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests - Demo Coverage.
|
|
3
|
-
*
|
|
4
|
-
* @since 0.18.0
|
|
5
|
-
*/
|
|
6
|
-
export type Tests_DemoCoverage_DemoEntryName = string;
|
|
7
|
-
|
|
8
|
-
export type Tests_DemoCoverage_DemoEntryPath = string;
|
|
9
|
-
|
|
10
|
-
export type Tests_DemoCoverage_DemoEntry = {
|
|
11
|
-
readonly name: Tests_DemoCoverage_DemoEntryName;
|
|
12
|
-
readonly path: Tests_DemoCoverage_DemoEntryPath;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type Tests_DemoCoverage_Demos = readonly Tests_DemoCoverage_DemoEntry[];
|
|
16
|
-
|
|
17
|
-
export type Tests_DemoCoverage_RequiredLeafPaths = readonly string[];
|
|
18
|
-
|
|
19
|
-
export type Tests_DemoCoverage_DemoRecord = Record<string, unknown>;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Tests - Demo Coverage - Demo Coverage.
|
|
23
|
-
*
|
|
24
|
-
* @since 0.18.0
|
|
25
|
-
*/
|
|
26
|
-
export type Tests_DemoCoverage_DemoCoverage_DemoContext_Name = string;
|
|
27
|
-
|
|
28
|
-
export type Tests_DemoCoverage_DemoCoverage_DemoContext_Path = string;
|
|
29
|
-
|
|
30
|
-
export type Tests_DemoCoverage_DemoCoverage_DemoContext = {
|
|
31
|
-
readonly name: Tests_DemoCoverage_DemoCoverage_DemoContext_Name;
|
|
32
|
-
readonly path: Tests_DemoCoverage_DemoCoverage_DemoContext_Path;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export type Tests_DemoCoverage_DemoCoverage_DemoParam = Tests_DemoCoverage_DemoCoverage_DemoContext;
|
|
36
|
-
|
|
37
|
-
export type Tests_DemoCoverage_DemoCoverage_Config = Record<string, unknown>;
|
|
38
|
-
|
|
39
|
-
export type Tests_DemoCoverage_DemoCoverage_Misses = string[];
|
|
40
|
-
|
|
41
|
-
export type Tests_DemoCoverage_DemoCoverage_LeafPath = string;
|
|
42
|
-
|
|
43
|
-
export type Tests_DemoCoverage_DemoCoverage_MissAt = string | null;
|
|
44
|
-
|
|
45
|
-
export type Tests_DemoCoverage_DemoCoverage_Message = string;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Tests - Demo Coverage - Demo Coverage - Registry Matches Every Leaf Reachable From Nova Theme Config.
|
|
49
|
-
*
|
|
50
|
-
* @since 0.18.0
|
|
51
|
-
*/
|
|
52
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_TypeFilePath = string;
|
|
53
|
-
|
|
54
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_Derived = readonly string[];
|
|
55
|
-
|
|
56
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_DerivedSet = Set<string>;
|
|
57
|
-
|
|
58
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_RegistrySet = Set<string>;
|
|
59
|
-
|
|
60
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_MissingInRegistry = string[];
|
|
61
|
-
|
|
62
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_StaleInRegistry = string[];
|
|
63
|
-
|
|
64
|
-
export type Tests_DemoCoverage_DemoCoverage_RegistryMatchesEveryLeafReachableFromNovaThemeConfig_RegistryMessage = string;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Tests - Demo Coverage - Derive Required Leaf Paths.
|
|
68
|
-
*
|
|
69
|
-
* @since 0.18.0
|
|
70
|
-
*/
|
|
71
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_TypeFilePath = string;
|
|
72
|
-
|
|
73
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_Returns = Promise<readonly string[]>;
|
|
74
|
-
|
|
75
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FileText = string;
|
|
76
|
-
|
|
77
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_ObjectTypes = Map<string, Map<string, string>>;
|
|
78
|
-
|
|
79
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_BlockPattern = RegExp;
|
|
80
|
-
|
|
81
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_BlockMatch = RegExpExecArray | null;
|
|
82
|
-
|
|
83
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_TypeName = string;
|
|
84
|
-
|
|
85
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_BlockBody = string;
|
|
86
|
-
|
|
87
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_Fields = Map<string, string>;
|
|
88
|
-
|
|
89
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FieldPattern = RegExp;
|
|
90
|
-
|
|
91
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FieldMatch = RegExpExecArray | null;
|
|
92
|
-
|
|
93
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FieldName = string;
|
|
94
|
-
|
|
95
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FieldExpression = string;
|
|
96
|
-
|
|
97
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FieldTypeMatch = RegExpMatchArray | null;
|
|
98
|
-
|
|
99
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_FieldType = string;
|
|
100
|
-
|
|
101
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_Leaves = string[];
|
|
102
|
-
|
|
103
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry_TypeName = string;
|
|
104
|
-
|
|
105
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry_Path = string[];
|
|
106
|
-
|
|
107
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry = {
|
|
108
|
-
typeName: Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry_TypeName;
|
|
109
|
-
path: Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry_Path;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkStack = Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry[];
|
|
113
|
-
|
|
114
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_Entry = Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkEntry;
|
|
115
|
-
|
|
116
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_EntryFields = Tests_DemoCoverage_DeriveRequiredLeafPaths_Fields | undefined;
|
|
117
|
-
|
|
118
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkFieldEntry = readonly [string, string];
|
|
119
|
-
|
|
120
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkFieldName = string;
|
|
121
|
-
|
|
122
|
-
export type Tests_DemoCoverage_DeriveRequiredLeafPaths_WalkFieldType = string;
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Tests - Demo Coverage - Get Package Root.
|
|
126
|
-
*
|
|
127
|
-
* @since 0.18.0
|
|
128
|
-
*/
|
|
129
|
-
export type Tests_DemoCoverage_GetPackageRoot_Returns = string;
|
|
130
|
-
|
|
131
|
-
export type Tests_DemoCoverage_GetPackageRoot_CurrentFilePath = string;
|
|
132
|
-
|
|
133
|
-
export type Tests_DemoCoverage_GetPackageRoot_CurrentFileDirectory = string;
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Tests - Demo Coverage - Get Repo Root.
|
|
137
|
-
*
|
|
138
|
-
* @since 0.18.0
|
|
139
|
-
*/
|
|
140
|
-
export type Tests_DemoCoverage_GetRepoRoot_Returns = string;
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Tests - Demo Coverage - Load Demo Config.
|
|
144
|
-
*
|
|
145
|
-
* @since 0.18.0
|
|
146
|
-
*/
|
|
147
|
-
export type Tests_DemoCoverage_LoadDemoConfig_DemoPath = string;
|
|
148
|
-
|
|
149
|
-
export type Tests_DemoCoverage_LoadDemoConfig_Returns = Promise<Record<string, unknown>>;
|
|
150
|
-
|
|
151
|
-
export type Tests_DemoCoverage_LoadDemoConfig_ConfigUrl = string;
|
|
152
|
-
|
|
153
|
-
export type Tests_DemoCoverage_LoadDemoConfig_ModuleNamespace_Default = Record<string, unknown>;
|
|
154
|
-
|
|
155
|
-
export type Tests_DemoCoverage_LoadDemoConfig_ModuleNamespace = {
|
|
156
|
-
default: Tests_DemoCoverage_LoadDemoConfig_ModuleNamespace_Default;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Tests - Demo Coverage - Resolve Leaf.
|
|
161
|
-
*
|
|
162
|
-
* @since 0.18.0
|
|
163
|
-
*/
|
|
164
|
-
export type Tests_DemoCoverage_ResolveLeaf_Config = Record<string, unknown>;
|
|
165
|
-
|
|
166
|
-
export type Tests_DemoCoverage_ResolveLeaf_Path = string;
|
|
167
|
-
|
|
168
|
-
export type Tests_DemoCoverage_ResolveLeaf_Returns = string | null;
|
|
169
|
-
|
|
170
|
-
export type Tests_DemoCoverage_ResolveLeaf_Segments = readonly string[];
|
|
171
|
-
|
|
172
|
-
export type Tests_DemoCoverage_ResolveLeaf_Cursor = unknown;
|
|
173
|
-
|
|
174
|
-
export type Tests_DemoCoverage_ResolveLeaf_Index = number;
|
|
175
|
-
|
|
176
|
-
export type Tests_DemoCoverage_ResolveLeaf_SegmentName = string;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { Stats } from 'node:fs';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Tests - Demo Logo Override - Demo Logo Override.
|
|
5
|
-
*
|
|
6
|
-
* @since 0.18.0
|
|
7
|
-
*/
|
|
8
|
-
export type Tests_DemoLogoOverride_CurrentFilePath = string;
|
|
9
|
-
|
|
10
|
-
export type Tests_DemoLogoOverride_CurrentFileDirectory = string;
|
|
11
|
-
|
|
12
|
-
export type Tests_DemoLogoOverride_PackageRoot = string;
|
|
13
|
-
|
|
14
|
-
export type Tests_DemoLogoOverride_RepoRoot = string;
|
|
15
|
-
|
|
16
|
-
export type Tests_DemoLogoOverride_PresetLogoPath = string;
|
|
17
|
-
|
|
18
|
-
export type Tests_DemoLogoOverride_DemoLogoPath = string;
|
|
19
|
-
|
|
20
|
-
export type Tests_DemoLogoOverride_PresetStats = Stats;
|
|
21
|
-
|
|
22
|
-
export type Tests_DemoLogoOverride_PresetBytes = Buffer;
|
|
23
|
-
|
|
24
|
-
export type Tests_DemoLogoOverride_DemoBytes = Buffer;
|
|
25
|
-
|
|
26
|
-
export type Tests_DemoLogoOverride_ConfigUrl = string;
|
|
27
|
-
|
|
28
|
-
export type Tests_DemoLogoOverride_Config = Record<string, unknown>;
|
|
29
|
-
|
|
30
|
-
export type Tests_DemoLogoOverride_ThemeConfig = Record<string, unknown>;
|
|
31
|
-
|
|
32
|
-
export type Tests_DemoLogoOverride_Site = Record<string, unknown>;
|
|
33
|
-
|
|
34
|
-
export type Tests_DemoLogoOverride_Logo = Record<string, unknown>;
|
|
35
|
-
|
|
36
|
-
export type Tests_DemoLogoOverride_LogoSrc = Record<string, unknown>;
|
|
37
|
-
|
|
38
|
-
export type Tests_DemoLogoOverride_LogoSrcLight = unknown;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Tests - Demo Logo Override - Demo Logo Override (describe section).
|
|
42
|
-
*
|
|
43
|
-
* @since 0.18.0
|
|
44
|
-
*/
|
|
45
|
-
export type Tests_DemoLogoOverride_DemoLogoOverride_ModuleNamespace = Record<string, unknown>;
|