-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathconstants.mjs
More file actions
99 lines (95 loc) · 2.94 KB
/
constants.mjs
File metadata and controls
99 lines (95 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import { resolve, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
export const ROOT = dirname(fileURLToPath(import.meta.url));
/**
* @typedef {Object} JSXImportConfig
* @property {string} name - The name of the component to be imported.
* @property {string} source - The path to the component's source file or package.
* @property {boolean} [isDefaultExport=true] - Indicates if it's a default export (true) or named export (false). Defaults to true if not specified.
*/
/**
* An object containing mappings for various JSX components to their import paths.
*/
export const JSX_IMPORTS = {
AnnouncementBanner: {
name: 'AnnouncementBanner',
source: resolve(ROOT, './ui/components/AnnouncementBanner'),
},
NavBar: {
name: 'NavBar',
source: resolve(ROOT, './ui/components/NavBar'),
},
SideBar: {
name: 'SideBar',
source: resolve(ROOT, './ui/components/SideBar'),
},
MetaBar: {
name: 'MetaBar',
source: resolve(ROOT, './ui/components/MetaBar'),
},
CodeBox: {
name: 'CodeBox',
source: resolve(ROOT, './ui/components/CodeBox'),
},
CodeTabs: {
name: 'CodeTabs',
source: '@node-core/ui-components/MDX/CodeTabs',
},
MDXTooltip: {
name: 'MDXTooltip',
isDefaultExport: false,
source: '@node-core/ui-components/MDX/Tooltip',
},
MDXTooltipContent: {
name: 'MDXTooltipContent',
isDefaultExport: false,
source: '@node-core/ui-components/MDX/Tooltip',
},
MDXTooltipTrigger: {
name: 'MDXTooltipTrigger',
isDefaultExport: false,
source: '@node-core/ui-components/MDX/Tooltip',
},
TableOfContents: {
name: 'TableOfContents',
source: '@node-core/ui-components/Common/TableOfContents',
},
ChangeHistory: {
name: 'ChangeHistory',
source: '@node-core/ui-components/Common/ChangeHistory',
},
AlertBox: {
name: 'AlertBox',
source: '@node-core/ui-components/Common/AlertBox',
},
Article: {
name: 'Article',
source: '@node-core/ui-components/Containers/Article',
},
Blockquote: {
name: 'Blockquote',
source: '@node-core/ui-components/Common/Blockquote',
},
DataTag: {
name: 'DataTag',
source: '@node-core/ui-components/Common/DataTag',
},
ArrowUpRightIcon: {
name: 'ArrowUpRightIcon',
source: '@heroicons/react/24/solid/ArrowUpRightIcon',
},
};
/**
* Specification rules for resource hints like prerendering and prefetching.
* @see https://developer.mozilla.org/en-US/docs/Web/API/Speculation_Rules_API
*/
export const SPECULATION_RULES = JSON.stringify({
// Eagerly prefetch all links that point to the API docs themselves
// in a moderate eagerness to improve resource loading
prefetch: [{ where: { href_matches: '/*' }, eagerness: 'eager' }],
prerender: [
// Eagerly prerender Sidebar links for faster navigation
// These will be done in a moderate eagerness (hover, likely next navigation)
{ where: { selector_matches: '[rel~=prefetch]' }, eagerness: 'moderate' },
],
});