@techdocs/cli 1.13.0 → 1.14.0-next.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/CHANGELOG.md +15 -0
- package/dist/commands/generate/generate.cjs.js +9 -3
- package/dist/commands/generate/generate.cjs.js.map +1 -1
- package/dist/commands/index.cjs.js +17 -25
- package/dist/commands/index.cjs.js.map +1 -1
- package/dist/commands/serve/mkdocs.cjs.js +18 -7
- package/dist/commands/serve/mkdocs.cjs.js.map +1 -1
- package/dist/commands/serve/serve.cjs.js +26 -20
- package/dist/commands/serve/serve.cjs.js.map +1 -1
- package/dist/commands/serve/utils.cjs.js +11 -0
- package/dist/commands/serve/utils.cjs.js.map +1 -1
- package/dist/embedded-app/.config-schema.json +160 -160
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/index.html.tmpl +1 -1
- package/dist/embedded-app/static/123.62e39427e387.chunk.js +2 -0
- package/dist/embedded-app/static/123.62e39427e387.chunk.js.map +1 -0
- package/dist/embedded-app/static/1659.834cbdaa7cf5.chunk.js +2 -0
- package/dist/embedded-app/static/1659.834cbdaa7cf5.chunk.js.map +1 -0
- package/dist/embedded-app/static/4587.9743bb6b94a7.chunk.js +2 -0
- package/dist/embedded-app/static/4587.9743bb6b94a7.chunk.js.map +1 -0
- package/dist/embedded-app/static/{4609.afdaf67e3d37.chunk.js → 4609.cac0ebf6bb92.chunk.js} +2 -2
- package/dist/embedded-app/static/{4609.afdaf67e3d37.chunk.js.map → 4609.cac0ebf6bb92.chunk.js.map} +1 -1
- package/dist/embedded-app/static/{5124.bf809bc06c78.chunk.js → 5124.7da4bbeaafd0.chunk.js} +2 -2
- package/dist/embedded-app/static/{5124.bf809bc06c78.chunk.js.map → 5124.7da4bbeaafd0.chunk.js.map} +1 -1
- package/dist/embedded-app/static/5877.dcbb54defb88.chunk.js +2 -0
- package/dist/embedded-app/static/5877.dcbb54defb88.chunk.js.map +1 -0
- package/dist/embedded-app/static/main.7dc68125121e.js.map +1 -1
- package/dist/embedded-app/static/{runtime.fa776ba09ef1.js → runtime.1a8d862d04e5.js} +2 -2
- package/dist/embedded-app/static/{runtime.fa776ba09ef1.js.map → runtime.1a8d862d04e5.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/lib/{engineConfig.cjs.js → engines/mkdocs.cjs.js} +5 -24
- package/dist/lib/engines/mkdocs.cjs.js.map +1 -0
- package/dist/lib/engines/registry.cjs.js +29 -0
- package/dist/lib/engines/registry.cjs.js.map +1 -0
- package/dist/lib/engines/zensical.cjs.js +119 -0
- package/dist/lib/engines/zensical.cjs.js.map +1 -0
- package/dist/lib/httpServer.cjs.js +4 -2
- package/dist/lib/httpServer.cjs.js.map +1 -1
- package/dist/lib/livereload.cjs.js +9 -6
- package/dist/lib/livereload.cjs.js.map +1 -1
- package/dist/lib/prepareServeConfig.cjs.js +17 -0
- package/dist/lib/prepareServeConfig.cjs.js.map +1 -0
- package/dist/lib/server.cjs.js +2 -1
- package/dist/lib/server.cjs.js.map +1 -1
- package/dist/{package.json.cjs.js → packages/techdocs-cli/package.json.cjs.js} +1 -1
- package/dist/plugins/techdocs-zensical-internal/src/TechdocsZensicalGenerator.cjs.js +178 -0
- package/dist/plugins/techdocs-zensical-internal/src/TechdocsZensicalGenerator.cjs.js.map +1 -0
- package/dist/plugins/techdocs-zensical-internal/src/zensicalHelpers.cjs.js +185 -0
- package/dist/plugins/techdocs-zensical-internal/src/zensicalHelpers.cjs.js.map +1 -0
- package/package.json +13 -8
- package/dist/embedded-app/static/123.b7794a0eee64.chunk.js +0 -2
- package/dist/embedded-app/static/123.b7794a0eee64.chunk.js.map +0 -1
- package/dist/embedded-app/static/1659.b8b0e908d038.chunk.js +0 -2
- package/dist/embedded-app/static/1659.b8b0e908d038.chunk.js.map +0 -1
- package/dist/embedded-app/static/4587.fa2bf602f965.chunk.js +0 -2
- package/dist/embedded-app/static/4587.fa2bf602f965.chunk.js.map +0 -1
- package/dist/embedded-app/static/5877.a2e28865fc9e.chunk.js +0 -2
- package/dist/embedded-app/static/5877.a2e28865fc9e.chunk.js.map +0 -1
- package/dist/lib/engineConfig.cjs.js.map +0 -1
- /package/dist/{package.json.cjs.js.map → packages/techdocs-cli/package.json.cjs.js.map} +0 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs-extra');
|
|
4
|
+
var entities = require('entities');
|
|
5
|
+
var yaml = require('js-yaml');
|
|
6
|
+
var path = require('node:path');
|
|
7
|
+
var node_crypto = require('node:crypto');
|
|
8
|
+
var alpha = require('@backstage/plugin-techdocs-node/alpha');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
13
|
+
var yaml__default = /*#__PURE__*/_interopDefaultCompat(yaml);
|
|
14
|
+
var path__default = /*#__PURE__*/_interopDefaultCompat(path);
|
|
15
|
+
|
|
16
|
+
const TECHDOCS_ZENSICAL_CORE_EXTENSIONS = [
|
|
17
|
+
"admonition",
|
|
18
|
+
"toc",
|
|
19
|
+
"pymdownx.details",
|
|
20
|
+
"pymdownx.tabbed",
|
|
21
|
+
"pymdownx.caret",
|
|
22
|
+
"pymdownx.critic",
|
|
23
|
+
"pymdownx.emoji",
|
|
24
|
+
"pymdownx.inlinehilite",
|
|
25
|
+
"pymdownx.magiclink",
|
|
26
|
+
"pymdownx.mark",
|
|
27
|
+
"pymdownx.smartsymbols",
|
|
28
|
+
"pymdownx.snippets",
|
|
29
|
+
"pymdownx.highlight",
|
|
30
|
+
"pymdownx.extra",
|
|
31
|
+
"pymdownx.tasklist",
|
|
32
|
+
"pymdownx.tilde"
|
|
33
|
+
];
|
|
34
|
+
const TECHDOCS_ZENSICAL_EXTRA_EXTENSIONS = [
|
|
35
|
+
"plantuml_markdown",
|
|
36
|
+
"markdown_inline_graphviz",
|
|
37
|
+
"mdx_truly_sane_lists"
|
|
38
|
+
];
|
|
39
|
+
const TECHDOCS_ZENSICAL_EXTENSION_OPTIONS = {
|
|
40
|
+
"pymdownx.snippets": {
|
|
41
|
+
restrict_base_path: true
|
|
42
|
+
},
|
|
43
|
+
"pymdownx.tabbed": {
|
|
44
|
+
alternate_style: true
|
|
45
|
+
},
|
|
46
|
+
toc: {
|
|
47
|
+
permalink: true
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const TECHDOCS_ZENSICAL_LOCKED_EXTENSIONS = /* @__PURE__ */ new Set(["pymdownx.snippets"]);
|
|
51
|
+
const TECHDOCS_ZENSICAL_EXTENSION_ALIASES = {
|
|
52
|
+
"pymdownx.snippets:SnippetExtension": "pymdownx.snippets"
|
|
53
|
+
};
|
|
54
|
+
function isRecord(value) {
|
|
55
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
56
|
+
}
|
|
57
|
+
function readNamedEntries(value) {
|
|
58
|
+
const entries = /* @__PURE__ */ new Map();
|
|
59
|
+
const add = (name, options) => {
|
|
60
|
+
entries.set(name, isRecord(options) ? options : void 0);
|
|
61
|
+
};
|
|
62
|
+
if (Array.isArray(value)) {
|
|
63
|
+
for (const item of value) {
|
|
64
|
+
if (typeof item === "string") {
|
|
65
|
+
add(item, void 0);
|
|
66
|
+
} else if (isRecord(item)) {
|
|
67
|
+
for (const [name, options] of Object.entries(item)) {
|
|
68
|
+
add(name, options);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
} else if (isRecord(value)) {
|
|
73
|
+
for (const [name, options] of Object.entries(value)) {
|
|
74
|
+
add(name, options);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return entries;
|
|
78
|
+
}
|
|
79
|
+
function writeNamedEntries(entries) {
|
|
80
|
+
return [...entries].map(
|
|
81
|
+
([name, options]) => options ? { [name]: options } : name
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
async function patchZensicalConfig(mkdocsYmlPath, siteDir, logger) {
|
|
85
|
+
const content = await fs__default.default.readFile(mkdocsYmlPath, "utf8");
|
|
86
|
+
const config = yaml__default.default.load(content, { schema: alpha.MKDOCS_SCHEMA });
|
|
87
|
+
const theme = isRecord(config.theme) ? config.theme : {};
|
|
88
|
+
const features = Array.isArray(theme.features) ? theme.features : [];
|
|
89
|
+
config.theme = {
|
|
90
|
+
...theme,
|
|
91
|
+
name: "material",
|
|
92
|
+
custom_dir: void 0,
|
|
93
|
+
features: [.../* @__PURE__ */ new Set([...features, "navigation.footer"])],
|
|
94
|
+
font: false
|
|
95
|
+
};
|
|
96
|
+
delete config.theme.palette;
|
|
97
|
+
config.site_dir = siteDir;
|
|
98
|
+
const extensions = readNamedEntries(config.markdown_extensions);
|
|
99
|
+
for (const [alias, name] of Object.entries(
|
|
100
|
+
TECHDOCS_ZENSICAL_EXTENSION_ALIASES
|
|
101
|
+
)) {
|
|
102
|
+
if (extensions.has(alias)) {
|
|
103
|
+
const options = extensions.get(alias);
|
|
104
|
+
extensions.delete(alias);
|
|
105
|
+
extensions.set(name, { ...options, ...extensions.get(name) });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
for (const name of [
|
|
109
|
+
...TECHDOCS_ZENSICAL_CORE_EXTENSIONS,
|
|
110
|
+
...TECHDOCS_ZENSICAL_EXTRA_EXTENSIONS
|
|
111
|
+
]) {
|
|
112
|
+
const defaults = TECHDOCS_ZENSICAL_EXTENSION_OPTIONS[name];
|
|
113
|
+
const existing = TECHDOCS_ZENSICAL_LOCKED_EXTENSIONS.has(name) ? void 0 : extensions.get(name);
|
|
114
|
+
extensions.set(
|
|
115
|
+
name,
|
|
116
|
+
defaults || existing ? { ...defaults, ...existing } : void 0
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
config.markdown_extensions = writeNamedEntries(extensions);
|
|
120
|
+
if (config.plugins !== void 0) {
|
|
121
|
+
const plugins = readNamedEntries(config.plugins);
|
|
122
|
+
plugins.delete("techdocs-core");
|
|
123
|
+
config.plugins = writeNamedEntries(plugins);
|
|
124
|
+
}
|
|
125
|
+
const zensicalConfigPath = path__default.default.join(
|
|
126
|
+
path__default.default.dirname(mkdocsYmlPath),
|
|
127
|
+
`.mkdocs.zensical-${node_crypto.randomUUID()}.yml`
|
|
128
|
+
);
|
|
129
|
+
await fs__default.default.writeFile(
|
|
130
|
+
zensicalConfigPath,
|
|
131
|
+
yaml__default.default.dump(config, { schema: alpha.MKDOCS_SCHEMA })
|
|
132
|
+
);
|
|
133
|
+
logger.info(`Wrote Zensical config to ${zensicalConfigPath}`);
|
|
134
|
+
return zensicalConfigPath;
|
|
135
|
+
}
|
|
136
|
+
async function cleanupZensicalConfig(zensicalConfigPath) {
|
|
137
|
+
try {
|
|
138
|
+
await fs__default.default.remove(zensicalConfigPath);
|
|
139
|
+
} catch {
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async function normalizeSearchIndex(outputDir, logger) {
|
|
143
|
+
const zensicalSearchPath = path__default.default.join(outputDir, "search.json");
|
|
144
|
+
const mkdocsSearchDir = path__default.default.join(outputDir, "search");
|
|
145
|
+
const mkdocsSearchPath = path__default.default.join(mkdocsSearchDir, "search_index.json");
|
|
146
|
+
if (!await fs__default.default.pathExists(zensicalSearchPath)) {
|
|
147
|
+
logger.warn("Zensical search.json not found; search indexing may not work");
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
const raw = await fs__default.default.readJson(zensicalSearchPath);
|
|
152
|
+
const items = raw.items ?? raw.docs ?? [];
|
|
153
|
+
const docs = items.map(
|
|
154
|
+
(item) => ({
|
|
155
|
+
title: item.title ?? "",
|
|
156
|
+
text: stripHtmlTags(item.text ?? ""),
|
|
157
|
+
location: item.location ?? ""
|
|
158
|
+
})
|
|
159
|
+
);
|
|
160
|
+
await fs__default.default.ensureDir(mkdocsSearchDir);
|
|
161
|
+
await fs__default.default.writeJson(mkdocsSearchPath, {
|
|
162
|
+
config: raw.config ?? {},
|
|
163
|
+
docs
|
|
164
|
+
});
|
|
165
|
+
logger.info(
|
|
166
|
+
`Normalized search index: ${docs.length} entries written to search/search_index.json`
|
|
167
|
+
);
|
|
168
|
+
} catch (error) {
|
|
169
|
+
logger.warn(`Failed to normalize search index: ${error}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function stripHtmlTags(html) {
|
|
173
|
+
let text = html;
|
|
174
|
+
let previous;
|
|
175
|
+
do {
|
|
176
|
+
previous = text;
|
|
177
|
+
text = text.replace(/<[^>]*>/g, "");
|
|
178
|
+
} while (text !== previous);
|
|
179
|
+
return entities.decodeHTML(text.replace(/[<>]/g, "")).replace(/\s+/g, " ").trim();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
exports.cleanupZensicalConfig = cleanupZensicalConfig;
|
|
183
|
+
exports.normalizeSearchIndex = normalizeSearchIndex;
|
|
184
|
+
exports.patchZensicalConfig = patchZensicalConfig;
|
|
185
|
+
//# sourceMappingURL=zensicalHelpers.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zensicalHelpers.cjs.js","sources":["../../../../../../plugins/techdocs-zensical-internal/src/zensicalHelpers.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport fs from 'fs-extra';\nimport { decodeHTML } from 'entities';\nimport yaml from 'js-yaml';\nimport path from 'node:path';\nimport { randomUUID } from 'node:crypto';\nimport { LoggerService } from '@backstage/backend-plugin-api';\nimport { MKDOCS_SCHEMA } from '@backstage/plugin-techdocs-node/alpha';\n\ntype NamedOptions = Record<string, unknown> | undefined;\n\nconst TECHDOCS_ZENSICAL_CORE_EXTENSIONS = [\n 'admonition',\n 'toc',\n 'pymdownx.details',\n 'pymdownx.tabbed',\n 'pymdownx.caret',\n 'pymdownx.critic',\n 'pymdownx.emoji',\n 'pymdownx.inlinehilite',\n 'pymdownx.magiclink',\n 'pymdownx.mark',\n 'pymdownx.smartsymbols',\n 'pymdownx.snippets',\n 'pymdownx.highlight',\n 'pymdownx.extra',\n 'pymdownx.tasklist',\n 'pymdownx.tilde',\n];\n\nconst TECHDOCS_ZENSICAL_EXTRA_EXTENSIONS = [\n 'plantuml_markdown',\n 'markdown_inline_graphviz',\n 'mdx_truly_sane_lists',\n];\n\n/**\n * Options for the TechDocs extensions, set inline on each markdown_extensions\n * entry. Zensical rebuilds mdx_configs from markdown_extensions, so options\n * set through mdx_configs are ignored.\n */\nconst TECHDOCS_ZENSICAL_EXTENSION_OPTIONS: Record<string, NamedOptions> = {\n 'pymdownx.snippets': {\n restrict_base_path: true,\n },\n 'pymdownx.tabbed': {\n alternate_style: true,\n },\n toc: {\n permalink: true,\n },\n};\n\n/**\n * Extensions whose user options are ignored. Snippets options such as\n * `restrict_base_path: false` or `base_path` let docs include files from\n * outside the docs directory, and `techdocs-cli serve` doesn't sanitize\n * mkdocs.yml before building.\n */\nconst TECHDOCS_ZENSICAL_LOCKED_EXTENSIONS = new Set(['pymdownx.snippets']);\n\n/**\n * Alternate names the sanitizer accepts for TechDocs extensions, so they are\n * merged with (and locked like) the canonical entry instead of listed twice.\n */\nconst TECHDOCS_ZENSICAL_EXTENSION_ALIASES: Record<string, string> = {\n 'pymdownx.snippets:SnippetExtension': 'pymdownx.snippets',\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/**\n * Reads an mkdocs.yml list of named entries (markdown_extensions or plugins)\n * into name/options pairs. Accepts every form MkDocs accepts: a list of\n * names, a list mixing names and single-key mappings, or a mapping.\n */\nfunction readNamedEntries(value: unknown): Map<string, NamedOptions> {\n const entries = new Map<string, NamedOptions>();\n const add = (name: string, options: unknown) => {\n entries.set(name, isRecord(options) ? options : undefined);\n };\n if (Array.isArray(value)) {\n for (const item of value) {\n if (typeof item === 'string') {\n add(item, undefined);\n } else if (isRecord(item)) {\n for (const [name, options] of Object.entries(item)) {\n add(name, options);\n }\n }\n }\n } else if (isRecord(value)) {\n for (const [name, options] of Object.entries(value)) {\n add(name, options);\n }\n }\n return entries;\n}\n\n/** Writes name/options pairs back as an mkdocs.yml list. */\nfunction writeNamedEntries(\n entries: Map<string, NamedOptions>,\n): Array<string | Record<string, unknown>> {\n return [...entries].map(([name, options]) =>\n options ? { [name]: options } : name,\n );\n}\n\n/**\n * Patches mkdocs.yml for Zensical builds: sets classic theme, injects markdown\n * extensions, sets site_dir, and removes the techdocs-core plugin.\n *\n * Writes to a uniquely named temporary file so the original config is not modified.\n *\n * @param mkdocsYmlPath - Path to the mkdocs.yml to patch.\n * @param siteDir - Output directory, relative to the mkdocs.yml directory.\n * @param logger - Logger for progress messages.\n * @returns Path to the patched temporary config.\n *\n * @public\n */\nexport async function patchZensicalConfig(\n mkdocsYmlPath: string,\n siteDir: string,\n logger: Pick<LoggerService, 'info'>,\n): Promise<string> {\n const content = await fs.readFile(mkdocsYmlPath, 'utf8');\n const config = yaml.load(content, { schema: MKDOCS_SCHEMA }) as Record<\n string,\n unknown\n >;\n\n const theme = isRecord(config.theme) ? config.theme : {};\n const features = Array.isArray(theme.features) ? theme.features : [];\n config.theme = {\n ...theme,\n name: 'material',\n custom_dir: undefined,\n features: [...new Set([...features, 'navigation.footer'])],\n font: false,\n };\n // Remove palette entirely — the TechDocs frontend handles dark/light\n // theming via CSS variable overrides in the shadow DOM. Leaving palette\n // in causes Zensical to emit data-md-color-scheme=\"default\" on <body>\n // which locks the output to light mode.\n delete (config.theme as Record<string, unknown>).palette;\n\n config.site_dir = siteDir;\n\n const extensions = readNamedEntries(config.markdown_extensions);\n for (const [alias, name] of Object.entries(\n TECHDOCS_ZENSICAL_EXTENSION_ALIASES,\n )) {\n if (extensions.has(alias)) {\n const options = extensions.get(alias);\n extensions.delete(alias);\n extensions.set(name, { ...options, ...extensions.get(name) });\n }\n }\n for (const name of [\n ...TECHDOCS_ZENSICAL_CORE_EXTENSIONS,\n ...TECHDOCS_ZENSICAL_EXTRA_EXTENSIONS,\n ]) {\n const defaults = TECHDOCS_ZENSICAL_EXTENSION_OPTIONS[name];\n const existing = TECHDOCS_ZENSICAL_LOCKED_EXTENSIONS.has(name)\n ? undefined\n : extensions.get(name);\n extensions.set(\n name,\n defaults || existing ? { ...defaults, ...existing } : undefined,\n );\n }\n config.markdown_extensions = writeNamedEntries(extensions);\n\n if (config.plugins !== undefined) {\n const plugins = readNamedEntries(config.plugins);\n plugins.delete('techdocs-core');\n config.plugins = writeNamedEntries(plugins);\n }\n\n const zensicalConfigPath = path.join(\n path.dirname(mkdocsYmlPath),\n `.mkdocs.zensical-${randomUUID()}.yml`,\n );\n await fs.writeFile(\n zensicalConfigPath,\n yaml.dump(config, { schema: MKDOCS_SCHEMA }),\n );\n\n logger.info(`Wrote Zensical config to ${zensicalConfigPath}`);\n return zensicalConfigPath;\n}\n\n/**\n * Removes a temporary config written by {@link patchZensicalConfig}.\n *\n * @public\n */\nexport async function cleanupZensicalConfig(\n zensicalConfigPath: string,\n): Promise<void> {\n try {\n await fs.remove(zensicalConfigPath);\n } catch {\n // Ignore cleanup errors\n }\n}\n\n/**\n * Normalizes Zensical's search output to the MkDocs format expected by the\n * TechDocs search collator.\n *\n * Zensical: search.json with { config, items: [...] } (HTML in text)\n * MkDocs: search/search_index.json with { config, docs: [...] } (plain text)\n */\nexport async function normalizeSearchIndex(\n outputDir: string,\n logger: LoggerService,\n): Promise<void> {\n const zensicalSearchPath = path.join(outputDir, 'search.json');\n const mkdocsSearchDir = path.join(outputDir, 'search');\n const mkdocsSearchPath = path.join(mkdocsSearchDir, 'search_index.json');\n\n if (!(await fs.pathExists(zensicalSearchPath))) {\n logger.warn('Zensical search.json not found; search indexing may not work');\n return;\n }\n\n try {\n const raw = await fs.readJson(zensicalSearchPath);\n const items = raw.items ?? raw.docs ?? [];\n\n const docs = items.map(\n (item: { title?: string; text?: string; location?: string }) => ({\n title: item.title ?? '',\n text: stripHtmlTags(item.text ?? ''),\n location: item.location ?? '',\n }),\n );\n\n await fs.ensureDir(mkdocsSearchDir);\n await fs.writeJson(mkdocsSearchPath, {\n config: raw.config ?? {},\n docs,\n });\n\n logger.info(\n `Normalized search index: ${docs.length} entries written to search/search_index.json`,\n );\n } catch (error) {\n logger.warn(`Failed to normalize search index: ${error}`);\n }\n}\n\nfunction stripHtmlTags(html: string): string {\n // Repeat until stable so removing one tag can't join fragments into another.\n let text = html;\n let previous;\n do {\n previous = text;\n text = text.replace(/<[^>]*>/g, '');\n } while (text !== previous);\n // Decode last, so entities like < become text rather than tags.\n return decodeHTML(text.replace(/[<>]/g, '')).replace(/\\s+/g, ' ').trim();\n}\n"],"names":["fs","yaml","MKDOCS_SCHEMA","path","randomUUID","decodeHTML"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techdocs/cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0-next.0",
|
|
4
4
|
"description": "Utility CLI for managing TechDocs sites in Backstage.",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "cli"
|
|
@@ -44,27 +44,32 @@
|
|
|
44
44
|
"watch": "./src"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@backstage/backend-defaults": "
|
|
48
|
-
"@backstage/
|
|
49
|
-
"@backstage/
|
|
50
|
-
"@backstage/
|
|
51
|
-
"@backstage/
|
|
47
|
+
"@backstage/backend-defaults": "0.18.2-next.0",
|
|
48
|
+
"@backstage/backend-plugin-api": "1.11.1-next.0",
|
|
49
|
+
"@backstage/catalog-model": "1.10.2",
|
|
50
|
+
"@backstage/cli-common": "0.3.2",
|
|
51
|
+
"@backstage/config": "1.3.10",
|
|
52
|
+
"@backstage/errors": "1.3.2",
|
|
53
|
+
"@backstage/plugin-techdocs-node": "2.2.0-next.0",
|
|
52
54
|
"commander": "^14.0.3",
|
|
55
|
+
"entities": "^4.5.0",
|
|
53
56
|
"fs-extra": "^11.0.0",
|
|
54
57
|
"http-proxy": "^1.18.1",
|
|
55
58
|
"js-yaml": "^5.4.2",
|
|
56
59
|
"json5": "^2.1.3",
|
|
57
60
|
"react-dev-utils": "^12.0.0-next.60",
|
|
58
61
|
"serve-handler": "^6.1.3",
|
|
59
|
-
"winston": "^3.2.1"
|
|
62
|
+
"winston": "^3.2.1",
|
|
63
|
+
"ws": "^8.0.0"
|
|
60
64
|
},
|
|
61
65
|
"devDependencies": {
|
|
62
|
-
"@backstage/cli": "
|
|
66
|
+
"@backstage/cli": "0.36.8-next.0",
|
|
63
67
|
"@types/fs-extra": "^11.0.0",
|
|
64
68
|
"@types/http-proxy": "^1.17.4",
|
|
65
69
|
"@types/node": "^22.13.14",
|
|
66
70
|
"@types/serve-handler": "^6.1.0",
|
|
67
71
|
"@types/webpack-env": "^1.15.3",
|
|
72
|
+
"@types/ws": "^8.0.0",
|
|
68
73
|
"find-process": "^2.0.0",
|
|
69
74
|
"nodemon": "^3.0.1",
|
|
70
75
|
"techdocs-cli-embedded-app": "link:../techdocs-cli-embedded-app"
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["123"],{79894(a){a.exports=JSON.parse('{"name":"@backstage/plugin-catalog","version":"2.0.10","description":"The Backstage plugin for browsing the Backstage catalog","backstage":{"role":"frontend-plugin","pluginId":"catalog","pluginPackages":["@backstage/plugin-catalog","@backstage/plugin-catalog-backend","@backstage/plugin-catalog-common","@backstage/plugin-catalog-node","@backstage/plugin-catalog-react"]},"publishConfig":{"access":"public"},"keywords":["backstage"],"homepage":"https://backstage.io","repository":{"type":"git","url":"https://github.com/backstage/backstage","directory":"plugins/catalog"},"license":"Apache-2.0","sideEffects":false,"exports":{".":"./src/index.ts","./alpha":"./src/alpha/index.ts","./package.json":"./package.json"},"main":"src/index.ts","types":"src/index.ts","typesVersions":{"*":{"alpha":["src/alpha/index.ts"],"package.json":["package.json"]}},"files":["dist","config.d.ts"],"scripts":{"build":"backstage-cli package build","clean":"backstage-cli package clean","lint":"backstage-cli package lint","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","start":"backstage-cli package start","test":"backstage-cli package test"},"dependencies":{"@backstage/catalog-client":"workspace:^","@backstage/catalog-model":"workspace:^","@backstage/core-compat-api":"workspace:^","@backstage/core-components":"workspace:^","@backstage/core-plugin-api":"workspace:^","@backstage/errors":"workspace:^","@backstage/filter-predicates":"workspace:^","@backstage/frontend-plugin-api":"workspace:^","@backstage/integration-react":"workspace:^","@backstage/plugin-catalog-common":"workspace:^","@backstage/plugin-catalog-react":"workspace:^","@backstage/plugin-permission-react":"workspace:^","@backstage/plugin-scaffolder-common":"workspace:^","@backstage/plugin-search-common":"workspace:^","@backstage/plugin-search-react":"workspace:^","@backstage/plugin-techdocs-common":"workspace:^","@backstage/plugin-techdocs-react":"workspace:^","@backstage/types":"workspace:^","@backstage/ui":"workspace:^","@backstage/version-bridge":"workspace:^","@material-ui/core":"^4.12.2","@material-ui/icons":"^4.9.1","@material-ui/lab":"4.0.0-alpha.61","@mui/utils":"^5.14.15","@remixicon/react":"^4.6.0","classnames":"^2.3.1","csv-stringify":"^5.6.5","dataloader":"^2.0.0","lodash":"^4.17.21","pluralize":"^8.0.0","react-helmet":"6.1.0","react-use":"^17.2.4","zen-observable":"^0.10.0","zod":"^4.0.0"},"devDependencies":{"@backstage/cli":"workspace:^","@backstage/core-app-api":"workspace:^","@backstage/dev-utils":"workspace:^","@backstage/frontend-test-utils":"workspace:^","@backstage/plugin-permission-common":"workspace:^","@backstage/test-utils":"workspace:^","@testing-library/dom":"^10.0.0","@testing-library/jest-dom":"^6.0.0","@testing-library/react":"^16.0.0","@testing-library/user-event":"^14.0.0","@types/pluralize":"^0.0.33","@types/react":"^18.0.0","react":"^18.0.2","react-dom":"^18.0.2","react-router-dom":"^6.30.2","swr":"^2.2.5"},"peerDependencies":{"@types/react":"^17.0.0 || ^18.0.0","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","react-router-dom":"^6.30.2"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"configSchema":"config.d.ts"}')}}]);
|
|
2
|
-
//# sourceMappingURL=123.b7794a0eee64.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/123.b7794a0eee64.chunk.js","sources":["webpack://techdocs-cli-embedded-app/json|/home/runner/work/publishing/publishing/plugins/catalog/package.json"],"sourcesContent":["module.exports = JSON.parse('{\"name\":\"@backstage/plugin-catalog\",\"version\":\"2.0.10\",\"description\":\"The Backstage plugin for browsing the Backstage catalog\",\"backstage\":{\"role\":\"frontend-plugin\",\"pluginId\":\"catalog\",\"pluginPackages\":[\"@backstage/plugin-catalog\",\"@backstage/plugin-catalog-backend\",\"@backstage/plugin-catalog-common\",\"@backstage/plugin-catalog-node\",\"@backstage/plugin-catalog-react\"]},\"publishConfig\":{\"access\":\"public\"},\"keywords\":[\"backstage\"],\"homepage\":\"https://backstage.io\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/backstage/backstage\",\"directory\":\"plugins/catalog\"},\"license\":\"Apache-2.0\",\"sideEffects\":false,\"exports\":{\".\":\"./src/index.ts\",\"./alpha\":\"./src/alpha/index.ts\",\"./package.json\":\"./package.json\"},\"main\":\"src/index.ts\",\"types\":\"src/index.ts\",\"typesVersions\":{\"*\":{\"alpha\":[\"src/alpha/index.ts\"],\"package.json\":[\"package.json\"]}},\"files\":[\"dist\",\"config.d.ts\"],\"scripts\":{\"build\":\"backstage-cli package build\",\"clean\":\"backstage-cli package clean\",\"lint\":\"backstage-cli package lint\",\"prepack\":\"backstage-cli package prepack\",\"postpack\":\"backstage-cli package postpack\",\"start\":\"backstage-cli package start\",\"test\":\"backstage-cli package test\"},\"dependencies\":{\"@backstage/catalog-client\":\"workspace:^\",\"@backstage/catalog-model\":\"workspace:^\",\"@backstage/core-compat-api\":\"workspace:^\",\"@backstage/core-components\":\"workspace:^\",\"@backstage/core-plugin-api\":\"workspace:^\",\"@backstage/errors\":\"workspace:^\",\"@backstage/filter-predicates\":\"workspace:^\",\"@backstage/frontend-plugin-api\":\"workspace:^\",\"@backstage/integration-react\":\"workspace:^\",\"@backstage/plugin-catalog-common\":\"workspace:^\",\"@backstage/plugin-catalog-react\":\"workspace:^\",\"@backstage/plugin-permission-react\":\"workspace:^\",\"@backstage/plugin-scaffolder-common\":\"workspace:^\",\"@backstage/plugin-search-common\":\"workspace:^\",\"@backstage/plugin-search-react\":\"workspace:^\",\"@backstage/plugin-techdocs-common\":\"workspace:^\",\"@backstage/plugin-techdocs-react\":\"workspace:^\",\"@backstage/types\":\"workspace:^\",\"@backstage/ui\":\"workspace:^\",\"@backstage/version-bridge\":\"workspace:^\",\"@material-ui/core\":\"^4.12.2\",\"@material-ui/icons\":\"^4.9.1\",\"@material-ui/lab\":\"4.0.0-alpha.61\",\"@mui/utils\":\"^5.14.15\",\"@remixicon/react\":\"^4.6.0\",\"classnames\":\"^2.3.1\",\"csv-stringify\":\"^5.6.5\",\"dataloader\":\"^2.0.0\",\"lodash\":\"^4.17.21\",\"pluralize\":\"^8.0.0\",\"react-helmet\":\"6.1.0\",\"react-use\":\"^17.2.4\",\"zen-observable\":\"^0.10.0\",\"zod\":\"^4.0.0\"},\"devDependencies\":{\"@backstage/cli\":\"workspace:^\",\"@backstage/core-app-api\":\"workspace:^\",\"@backstage/dev-utils\":\"workspace:^\",\"@backstage/frontend-test-utils\":\"workspace:^\",\"@backstage/plugin-permission-common\":\"workspace:^\",\"@backstage/test-utils\":\"workspace:^\",\"@testing-library/dom\":\"^10.0.0\",\"@testing-library/jest-dom\":\"^6.0.0\",\"@testing-library/react\":\"^16.0.0\",\"@testing-library/user-event\":\"^14.0.0\",\"@types/pluralize\":\"^0.0.33\",\"@types/react\":\"^18.0.0\",\"react\":\"^18.0.2\",\"react-dom\":\"^18.0.2\",\"react-router-dom\":\"^6.30.2\",\"swr\":\"^2.2.5\"},\"peerDependencies\":{\"@types/react\":\"^17.0.0 || ^18.0.0\",\"react\":\"^17.0.0 || ^18.0.0\",\"react-dom\":\"^17.0.0 || ^18.0.0\",\"react-router-dom\":\"^6.30.2\"},\"peerDependenciesMeta\":{\"@types/react\":{\"optional\":true}},\"configSchema\":\"config.d.ts\"}')"],"names":["JSON"],"mappings":"iIAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,wnG"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["1659"],{23494(e){e.exports=JSON.parse('{"name":"@backstage/plugin-techdocs","version":"1.19.0","description":"The Backstage plugin that renders technical documentation for your components","backstage":{"role":"frontend-plugin","pluginId":"techdocs","pluginPackages":["@backstage/plugin-techdocs","@backstage/plugin-techdocs-backend","@backstage/plugin-techdocs-common","@backstage/plugin-techdocs-node","@backstage/plugin-techdocs-react"]},"publishConfig":{"access":"public"},"keywords":["backstage","techdocs"],"homepage":"https://backstage.io","repository":{"type":"git","url":"https://github.com/backstage/backstage","directory":"plugins/techdocs"},"license":"Apache-2.0","sideEffects":false,"exports":{".":"./src/index.ts","./alpha":"./src/alpha/index.tsx","./package.json":"./package.json"},"main":"src/index.ts","types":"src/index.ts","typesVersions":{"*":{"alpha":["src/alpha/index.tsx"],"package.json":["package.json"]}},"files":["dist","config.d.ts"],"scripts":{"build":"backstage-cli package build","clean":"backstage-cli package clean","lint":"backstage-cli package lint","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","start":"backstage-cli package start","test":"backstage-cli package test"},"dependencies":{"@backstage/catalog-client":"workspace:^","@backstage/catalog-model":"workspace:^","@backstage/config":"workspace:^","@backstage/core-components":"workspace:^","@backstage/core-plugin-api":"workspace:^","@backstage/errors":"workspace:^","@backstage/filter-predicates":"workspace:^","@backstage/frontend-plugin-api":"workspace:^","@backstage/integration":"workspace:^","@backstage/integration-react":"workspace:^","@backstage/plugin-auth-react":"workspace:^","@backstage/plugin-catalog-react":"workspace:^","@backstage/plugin-search-common":"workspace:^","@backstage/plugin-search-react":"workspace:^","@backstage/plugin-techdocs-common":"workspace:^","@backstage/plugin-techdocs-react":"workspace:^","@backstage/theme":"workspace:^","@backstage/ui":"workspace:^","@material-ui/core":"^4.12.2","@material-ui/icons":"^4.9.1","@material-ui/lab":"4.0.0-alpha.61","@material-ui/styles":"^4.10.0","@microsoft/fetch-event-source":"^2.0.1","@remixicon/react":">=4.6.0 <4.9.0","dompurify":"^3.4.12","git-url-parse":"^15.0.0","lodash":"^4.17.21","react-helmet":"6.1.0","react-use":"^17.2.4","zod":"^4.0.0"},"devDependencies":{"@backstage/cli":"workspace:^","@backstage/core-app-api":"workspace:^","@backstage/dev-utils":"workspace:^","@backstage/plugin-catalog":"workspace:^","@backstage/plugin-techdocs-module-addons-contrib":"workspace:^","@backstage/test-utils":"workspace:^","@testing-library/dom":"^10.0.0","@testing-library/jest-dom":"^6.0.0","@testing-library/react":"^16.0.0","@testing-library/user-event":"^14.0.0","@types/dompurify":"^3.0.0","@types/react":"^18.0.0","react":"^18.0.2","react-dom":"^18.0.2","react-router-dom":"^6.30.2"},"peerDependencies":{"@types/react":"^17.0.0 || ^18.0.0","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","react-router-dom":"^6.30.2"},"peerDependenciesMeta":{"@types/react":{"optional":true}},"configSchema":"config.d.ts"}')}}]);
|
|
2
|
-
//# sourceMappingURL=1659.b8b0e908d038.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/1659.b8b0e908d038.chunk.js","sources":["webpack://techdocs-cli-embedded-app/json|/home/runner/work/publishing/publishing/plugins/techdocs/package.json"],"sourcesContent":["module.exports = JSON.parse('{\"name\":\"@backstage/plugin-techdocs\",\"version\":\"1.19.0\",\"description\":\"The Backstage plugin that renders technical documentation for your components\",\"backstage\":{\"role\":\"frontend-plugin\",\"pluginId\":\"techdocs\",\"pluginPackages\":[\"@backstage/plugin-techdocs\",\"@backstage/plugin-techdocs-backend\",\"@backstage/plugin-techdocs-common\",\"@backstage/plugin-techdocs-node\",\"@backstage/plugin-techdocs-react\"]},\"publishConfig\":{\"access\":\"public\"},\"keywords\":[\"backstage\",\"techdocs\"],\"homepage\":\"https://backstage.io\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/backstage/backstage\",\"directory\":\"plugins/techdocs\"},\"license\":\"Apache-2.0\",\"sideEffects\":false,\"exports\":{\".\":\"./src/index.ts\",\"./alpha\":\"./src/alpha/index.tsx\",\"./package.json\":\"./package.json\"},\"main\":\"src/index.ts\",\"types\":\"src/index.ts\",\"typesVersions\":{\"*\":{\"alpha\":[\"src/alpha/index.tsx\"],\"package.json\":[\"package.json\"]}},\"files\":[\"dist\",\"config.d.ts\"],\"scripts\":{\"build\":\"backstage-cli package build\",\"clean\":\"backstage-cli package clean\",\"lint\":\"backstage-cli package lint\",\"prepack\":\"backstage-cli package prepack\",\"postpack\":\"backstage-cli package postpack\",\"start\":\"backstage-cli package start\",\"test\":\"backstage-cli package test\"},\"dependencies\":{\"@backstage/catalog-client\":\"workspace:^\",\"@backstage/catalog-model\":\"workspace:^\",\"@backstage/config\":\"workspace:^\",\"@backstage/core-components\":\"workspace:^\",\"@backstage/core-plugin-api\":\"workspace:^\",\"@backstage/errors\":\"workspace:^\",\"@backstage/filter-predicates\":\"workspace:^\",\"@backstage/frontend-plugin-api\":\"workspace:^\",\"@backstage/integration\":\"workspace:^\",\"@backstage/integration-react\":\"workspace:^\",\"@backstage/plugin-auth-react\":\"workspace:^\",\"@backstage/plugin-catalog-react\":\"workspace:^\",\"@backstage/plugin-search-common\":\"workspace:^\",\"@backstage/plugin-search-react\":\"workspace:^\",\"@backstage/plugin-techdocs-common\":\"workspace:^\",\"@backstage/plugin-techdocs-react\":\"workspace:^\",\"@backstage/theme\":\"workspace:^\",\"@backstage/ui\":\"workspace:^\",\"@material-ui/core\":\"^4.12.2\",\"@material-ui/icons\":\"^4.9.1\",\"@material-ui/lab\":\"4.0.0-alpha.61\",\"@material-ui/styles\":\"^4.10.0\",\"@microsoft/fetch-event-source\":\"^2.0.1\",\"@remixicon/react\":\">=4.6.0 <4.9.0\",\"dompurify\":\"^3.4.12\",\"git-url-parse\":\"^15.0.0\",\"lodash\":\"^4.17.21\",\"react-helmet\":\"6.1.0\",\"react-use\":\"^17.2.4\",\"zod\":\"^4.0.0\"},\"devDependencies\":{\"@backstage/cli\":\"workspace:^\",\"@backstage/core-app-api\":\"workspace:^\",\"@backstage/dev-utils\":\"workspace:^\",\"@backstage/plugin-catalog\":\"workspace:^\",\"@backstage/plugin-techdocs-module-addons-contrib\":\"workspace:^\",\"@backstage/test-utils\":\"workspace:^\",\"@testing-library/dom\":\"^10.0.0\",\"@testing-library/jest-dom\":\"^6.0.0\",\"@testing-library/react\":\"^16.0.0\",\"@testing-library/user-event\":\"^14.0.0\",\"@types/dompurify\":\"^3.0.0\",\"@types/react\":\"^18.0.0\",\"react\":\"^18.0.2\",\"react-dom\":\"^18.0.2\",\"react-router-dom\":\"^6.30.2\"},\"peerDependencies\":{\"@types/react\":\"^17.0.0 || ^18.0.0\",\"react\":\"^17.0.0 || ^18.0.0\",\"react-dom\":\"^17.0.0 || ^18.0.0\",\"react-router-dom\":\"^6.30.2\"},\"peerDependenciesMeta\":{\"@types/react\":{\"optional\":true}},\"configSchema\":\"config.d.ts\"}')"],"names":["JSON"],"mappings":"kIAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,whG"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["4587"],{20534(e){e.exports=JSON.parse('{"name":"@backstage/plugin-app","version":"0.5.4","backstage":{"role":"frontend-plugin","pluginId":"app","pluginPackages":["@backstage/plugin-app","@backstage/plugin-app-backend","@backstage/plugin-app-node","@backstage/plugin-app-react"]},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"https://github.com/backstage/backstage","directory":"plugins/app"},"license":"Apache-2.0","sideEffects":false,"exports":{".":"./src/index.ts","./alpha":"./src/alpha/index.ts","./package.json":"./package.json"},"main":"src/index.ts","types":"src/index.ts","typesVersions":{"*":{"alpha":["src/alpha/index.ts"],"package.json":["package.json"]}},"files":["dist"],"scripts":{"build":"backstage-cli package build","clean":"backstage-cli package clean","lint":"backstage-cli package lint","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","start":"backstage-cli package start","test":"backstage-cli package test"},"dependencies":{"@backstage/config":"workspace:^","@backstage/core-components":"workspace:^","@backstage/core-plugin-api":"workspace:^","@backstage/filter-predicates":"workspace:^","@backstage/frontend-plugin-api":"workspace:^","@backstage/integration-react":"workspace:^","@backstage/plugin-app-react":"workspace:^","@backstage/plugin-permission-react":"workspace:^","@backstage/theme":"workspace:^","@backstage/types":"workspace:^","@backstage/ui":"workspace:^","@backstage/version-bridge":"workspace:^","@material-ui/core":"^4.9.13","@material-ui/icons":"^4.9.1","@material-ui/lab":"^4.0.0-alpha.61","@react-hookz/web":"^24.0.0","@remixicon/react":">=4.6.0 <4.9.0","i18next":"^22.4.15","lodash":"^4.17.21","motion":"^12.0.0","prop-types":"^15.7.2","react-aria":"~3.53.0","react-stately":"~3.51.0","react-use":"^17.2.4","use-sync-external-store":"^1.4.0","zen-observable":"^0.10.0","zod":"^4.0.0"},"devDependencies":{"@backstage/cli":"workspace:^","@backstage/dev-utils":"workspace:^","@backstage/frontend-defaults":"workspace:^","@backstage/frontend-test-utils":"workspace:^","@backstage/test-utils":"workspace:^","@testing-library/dom":"^10.0.0","@testing-library/jest-dom":"^6.0.0","@testing-library/react":"^16.0.0","@testing-library/user-event":"^14.0.0","@types/react":"^18.0.0","react":"^18.0.2","react-dom":"^18.0.2","react-router-dom":"^6.30.2"},"peerDependencies":{"@types/react":"^17.0.0 || ^18.0.0","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","react-router-dom":"^6.30.2"},"peerDependenciesMeta":{"@types/react":{"optional":true}}}')}}]);
|
|
2
|
-
//# sourceMappingURL=4587.fa2bf602f965.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/4587.fa2bf602f965.chunk.js","sources":["webpack://techdocs-cli-embedded-app/json|/home/runner/work/publishing/publishing/plugins/app/package.json"],"sourcesContent":["module.exports = JSON.parse('{\"name\":\"@backstage/plugin-app\",\"version\":\"0.5.4\",\"backstage\":{\"role\":\"frontend-plugin\",\"pluginId\":\"app\",\"pluginPackages\":[\"@backstage/plugin-app\",\"@backstage/plugin-app-backend\",\"@backstage/plugin-app-node\",\"@backstage/plugin-app-react\"]},\"publishConfig\":{\"access\":\"public\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/backstage/backstage\",\"directory\":\"plugins/app\"},\"license\":\"Apache-2.0\",\"sideEffects\":false,\"exports\":{\".\":\"./src/index.ts\",\"./alpha\":\"./src/alpha/index.ts\",\"./package.json\":\"./package.json\"},\"main\":\"src/index.ts\",\"types\":\"src/index.ts\",\"typesVersions\":{\"*\":{\"alpha\":[\"src/alpha/index.ts\"],\"package.json\":[\"package.json\"]}},\"files\":[\"dist\"],\"scripts\":{\"build\":\"backstage-cli package build\",\"clean\":\"backstage-cli package clean\",\"lint\":\"backstage-cli package lint\",\"prepack\":\"backstage-cli package prepack\",\"postpack\":\"backstage-cli package postpack\",\"start\":\"backstage-cli package start\",\"test\":\"backstage-cli package test\"},\"dependencies\":{\"@backstage/config\":\"workspace:^\",\"@backstage/core-components\":\"workspace:^\",\"@backstage/core-plugin-api\":\"workspace:^\",\"@backstage/filter-predicates\":\"workspace:^\",\"@backstage/frontend-plugin-api\":\"workspace:^\",\"@backstage/integration-react\":\"workspace:^\",\"@backstage/plugin-app-react\":\"workspace:^\",\"@backstage/plugin-permission-react\":\"workspace:^\",\"@backstage/theme\":\"workspace:^\",\"@backstage/types\":\"workspace:^\",\"@backstage/ui\":\"workspace:^\",\"@backstage/version-bridge\":\"workspace:^\",\"@material-ui/core\":\"^4.9.13\",\"@material-ui/icons\":\"^4.9.1\",\"@material-ui/lab\":\"^4.0.0-alpha.61\",\"@react-hookz/web\":\"^24.0.0\",\"@remixicon/react\":\">=4.6.0 <4.9.0\",\"i18next\":\"^22.4.15\",\"lodash\":\"^4.17.21\",\"motion\":\"^12.0.0\",\"prop-types\":\"^15.7.2\",\"react-aria\":\"~3.53.0\",\"react-stately\":\"~3.51.0\",\"react-use\":\"^17.2.4\",\"use-sync-external-store\":\"^1.4.0\",\"zen-observable\":\"^0.10.0\",\"zod\":\"^4.0.0\"},\"devDependencies\":{\"@backstage/cli\":\"workspace:^\",\"@backstage/dev-utils\":\"workspace:^\",\"@backstage/frontend-defaults\":\"workspace:^\",\"@backstage/frontend-test-utils\":\"workspace:^\",\"@backstage/test-utils\":\"workspace:^\",\"@testing-library/dom\":\"^10.0.0\",\"@testing-library/jest-dom\":\"^6.0.0\",\"@testing-library/react\":\"^16.0.0\",\"@testing-library/user-event\":\"^14.0.0\",\"@types/react\":\"^18.0.0\",\"react\":\"^18.0.2\",\"react-dom\":\"^18.0.2\",\"react-router-dom\":\"^6.30.2\"},\"peerDependencies\":{\"@types/react\":\"^17.0.0 || ^18.0.0\",\"react\":\"^17.0.0 || ^18.0.0\",\"react-dom\":\"^17.0.0 || ^18.0.0\",\"react-router-dom\":\"^6.30.2\"},\"peerDependenciesMeta\":{\"@types/react\":{\"optional\":true}}}')"],"names":["JSON"],"mappings":"kIAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,u9E"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["5877"],{90292(e,t,n){"use strict";var r=n(4293),o=n(78920);t.default=void 0;var i=o(n(14041));t.default=(0,r(n(74044)).default)(i.createElement("path",{d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17l-.59.59-.58.58V4h16v12zm-9-4h2v2h-2zm0-6h2v4h-2z"}),"FeedbackOutlined")},55290(e,t,n){"use strict";var r=n(4293),o=n(78920);t.default=void 0;var i=o(n(14041));t.default=(0,r(n(74044)).default)(i.createElement("path",{d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z"}),"Share")},48209(e,t,n){"use strict";n.d(t,{A:()=>S});var r=n(39850),o=n(89575),i=n(14041),a=n(57384),l=n(268),c=n(7031),u=n(4321),s=n(38483);let f=(0,s.A)(i.createElement("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),p=(0,s.A)(i.createElement("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),m=(0,s.A)(i.createElement("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),d=(0,s.A)(i.createElement("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined");var h=n(68430),g=n(29365),y=n(11192),b={success:i.createElement(f,{fontSize:"inherit"}),warning:i.createElement(p,{fontSize:"inherit"}),error:i.createElement(m,{fontSize:"inherit"}),info:i.createElement(d,{fontSize:"inherit"})},v=i.createElement(h.A,{fontSize:"small"}),A=i.forwardRef(function(e,t){var n=e.action,l=e.children,c=e.classes,s=e.className,f=e.closeText,p=void 0===f?"Close":f,m=e.color,d=e.icon,h=e.iconMapping,A=void 0===h?b:h,S=e.onClose,E=e.role,T=e.severity,w=void 0===T?"success":T,x=e.variant,_=(0,r.A)(e,["action","children","classes","className","closeText","color","icon","iconMapping","onClose","role","severity","variant"]);return i.createElement(u.A,(0,o.A)({role:void 0===E?"alert":E,square:!0,elevation:0,className:(0,a.A)(c.root,c["".concat(void 0===x?"standard":x).concat((0,y.A)(m||w))],s),ref:t},_),!1!==d?i.createElement("div",{className:c.icon},d||A[w]||b[w]):null,i.createElement("div",{className:c.message},l),null!=n?i.createElement("div",{className:c.action},n):null,null==n&&S?i.createElement("div",{className:c.action},i.createElement(g.A,{size:"small","aria-label":p,title:p,color:"inherit",onClick:S},v)):null)});let S=(0,c.A)(function(e){var t="light"===e.palette.type?l.e$:l.a,n="light"===e.palette.type?l.a:l.e$;return{root:(0,o.A)({},e.typography.body2,{borderRadius:e.shape.borderRadius,backgroundColor:"transparent",display:"flex",padding:"6px 16px"}),standardSuccess:{color:t(e.palette.success.main,.6),backgroundColor:n(e.palette.success.main,.9),"& $icon":{color:e.palette.success.main}},standardInfo:{color:t(e.palette.info.main,.6),backgroundColor:n(e.palette.info.main,.9),"& $icon":{color:e.palette.info.main}},standardWarning:{color:t(e.palette.warning.main,.6),backgroundColor:n(e.palette.warning.main,.9),"& $icon":{color:e.palette.warning.main}},standardError:{color:t(e.palette.error.main,.6),backgroundColor:n(e.palette.error.main,.9),"& $icon":{color:e.palette.error.main}},outlinedSuccess:{color:t(e.palette.success.main,.6),border:"1px solid ".concat(e.palette.success.main),"& $icon":{color:e.palette.success.main}},outlinedInfo:{color:t(e.palette.info.main,.6),border:"1px solid ".concat(e.palette.info.main),"& $icon":{color:e.palette.info.main}},outlinedWarning:{color:t(e.palette.warning.main,.6),border:"1px solid ".concat(e.palette.warning.main),"& $icon":{color:e.palette.warning.main}},outlinedError:{color:t(e.palette.error.main,.6),border:"1px solid ".concat(e.palette.error.main),"& $icon":{color:e.palette.error.main}},filledSuccess:{color:"#fff",fontWeight:e.typography.fontWeightMedium,backgroundColor:e.palette.success.main},filledInfo:{color:"#fff",fontWeight:e.typography.fontWeightMedium,backgroundColor:e.palette.info.main},filledWarning:{color:"#fff",fontWeight:e.typography.fontWeightMedium,backgroundColor:e.palette.warning.main},filledError:{color:"#fff",fontWeight:e.typography.fontWeightMedium,backgroundColor:e.palette.error.main},icon:{marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9},message:{padding:"8px 0"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}}},{name:"MuiAlert"})(A)},4387(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(89575),o=n(39850),i=n(14041),a=n(57384),l=n(268),c=n(7031),u=i.forwardRef(function(e,t){var n=e.animation,l=void 0===n?"pulse":n,c=e.classes,u=e.className,s=e.component,f=e.height,p=e.variant,m=e.width,d=(0,o.A)(e,["animation","classes","className","component","height","variant","width"]),h=!!d.children;return i.createElement(void 0===s?"span":s,(0,r.A)({ref:t,className:(0,a.A)(c.root,c[void 0===p?"text":p],u,h&&[c.withChildren,!m&&c.fitContent,!f&&c.heightAuto],!1!==l&&c[l])},d,{style:(0,r.A)({width:m,height:f},d.style)}))});let s=(0,c.A)(function(e){return{root:{display:"block",backgroundColor:(0,l.X4)(e.palette.text.primary,"light"===e.palette.type?.11:.13),height:"1.2em"},text:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 60%",transform:"scale(1, 0.60)",borderRadius:e.shape.borderRadius,"&:empty:before":{content:'"\\00a0"'}},rect:{},circle:{borderRadius:"50%"},pulse:{animation:"$pulse 1.5s ease-in-out 0.5s infinite"},"@keyframes pulse":{"0%":{opacity:1},"50%":{opacity:.4},"100%":{opacity:1}},wave:{position:"relative",overflow:"hidden","&::after":{animation:"$wave 1.6s linear 0.5s infinite",background:"linear-gradient(90deg, transparent, ".concat(e.palette.action.hover,", transparent)"),content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}},"@keyframes wave":{"0%":{transform:"translateX(-100%)"},"60%":{transform:"translateX(100%)"},"100%":{transform:"translateX(100%)"}},withChildren:{"& > *":{visibility:"hidden"}},fitContent:{maxWidth:"fit-content"},heightAuto:{height:"auto"}}},{name:"MuiSkeleton"})(u)},52837(e){e.exports=function(e){return e.split("")}},73501(e){e.exports=function(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r<o;)i[r]=e[r+t];return i}},28931(e,t,n){var r=n(73501);e.exports=function(e,t,n){var o=e.length;return n=void 0===n?o:n,!t&&n>=o?e:r(e,t,n)}},4326(e,t,n){var r=n(28931),o=n(83417),i=n(82237),a=n(95243);e.exports=function(e){return function(t){var n=o(t=a(t))?i(t):void 0,l=n?n[0]:t.charAt(0),c=n?r(n,1).join(""):t.slice(1);return l[e]()+c}}},83417(e){var t=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return t.test(e)}},82237(e,t,n){var r=n(52837),o=n(83417),i=n(92013);e.exports=function(e){return o(e)?i(e):r(e)}},92013(e){var t="\\ud800-\\udfff",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",r="\\ud83c[\\udffb-\\udfff]",o="[^"+t+"]",i="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",l="(?:"+n+"|"+r+")?",c="[\\ufe0e\\ufe0f]?",u="(?:\\u200d(?:"+[o,i,a].join("|")+")"+c+l+")*",s=RegExp(r+"(?="+r+")|"+("(?:"+[o+n+"?",n,i,a,"["+t+"]"].join("|"))+")"+(c+l+u),"g");e.exports=function(e){return e.match(s)||[]}},56005(e,t,n){var r=n(95243),o=n(5485);e.exports=function(e){return o(r(e).toLowerCase())}},5485(e,t,n){e.exports=n(4326)("toUpperCase")},5877(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(14041);function o(e){var t=(0,r.useRef)();return(0,r.useEffect)(function(){t.current=e}),t.current}},91042(e,t,n){"use strict";n.d(t,{Y:()=>i});var r=n(14041),o=n(16261);function i(e,t){let[n,i]=(0,r.useState)({status:"not-executed",error:void 0,result:t}),a=(0,r.useRef)(),l=(0,r.useRef)(),c=(0,o.J)({execute(...t){l.current=t;let n=e(...t);return a.current=n,i(e=>({...e,status:"loading"})),n.then(e=>{n===a.current&&i(t=>({...t,status:"success",error:void 0,result:e}))},e=>{n===a.current&&i(t=>({...t,status:"error",error:e}))}),n},reset(){i({status:"not-executed",error:void 0,result:t}),a.current=void 0,l.current=void 0}});return[n,(0,r.useMemo)(()=>({reset(){c.current.reset()},execute:(...e)=>c.current.execute(...e)}),[]),{promise:a.current,lastArgs:l.current}]}},97519(e,t,n){"use strict";let r;function o(e,t){this.v=e,this.k=t}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function a(e){var t,n;function r(t,n){try{var a=e[t](n),l=a.value,c=l instanceof o;Promise.resolve(c?l.v:l).then(function(n){if(c){var o="return"===t&&l.k?t:"next";if(!l.k||n.done)return r(o,n);n=e[o](n).value}i(!!a.done,n)},function(e){r("throw",e)})}catch(e){i(2,e)}}function i(e,o){2===e?t.reject(o):t.resolve({value:o,done:e}),(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,o){return new Promise(function(i,a){var l={key:e,arg:o,resolve:i,reject:a,next:null};n?n=n.next=l:(t=n=l,r(e,o))})},"function"!=typeof e.return&&(this.return=void 0)}n.d(t,{A:()=>eS}),a.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},a.prototype.next=function(e){return this._invoke("next",e)},a.prototype.throw=function(e){return this._invoke("throw",e)},a.prototype.return=function(e){return this._invoke("return",e)};let l=Object.entries,c=Object.setPrototypeOf,u=Object.isFrozen,s=Object.getPrototypeOf,f=Object.getOwnPropertyDescriptor,p=Object.freeze,m=Object.seal,d=Object.create,h="u">typeof Reflect&&Reflect,g=h.apply,y=h.construct;p||(p=function(e){return e}),m||(m=function(e){return e}),g||(g=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return e.apply(t,r)}),y||(y=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)});let b=U(Array.prototype.forEach);Array.prototype.indexOf;let v=U(Array.prototype.lastIndexOf),A=U(Array.prototype.pop),S=U(Array.prototype.push);Array.prototype.slice;let E=U(Array.prototype.splice),T=Array.isArray,w=U(String.prototype.toLowerCase),x=U(String.prototype.toString),_=U(String.prototype.match),k=U(String.prototype.replace),C=U(String.prototype.indexOf),N=U(String.prototype.trim),O=U(Number.prototype.toString),R=U(Boolean.prototype.toString),D="u"<typeof BigInt?null:U(BigInt.prototype.toString),L="u"<typeof Symbol?null:U(Symbol.prototype.toString),I=U(Object.prototype.hasOwnProperty),M=U(Object.prototype.toString),z=U(RegExp.prototype.test),P=(eA=TypeError,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return y(eA,t)});function U(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return g(e,t,r)}}function F(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:w;if(c&&c(e,null),!T(t))return e;let r=t.length;for(;r--;){let o=t[r];if("string"==typeof o){let e=n(o);e!==o&&(u(t)||(t[r]=e),o=e)}e[o]=!0}return e}function H(e){let t=d(null);for(let r of l(e)){var n=function(e){if(Array.isArray(e))return e}(r)||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,o,i,a=[],l=!0,c=!1;try{o=(t=t.call(e)).next,!1;for(;!(l=(n=o.call(t)).done)&&(a.push(n.value),2!==a.length);l=!0);}catch(e){c=!0,r=e}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw r}}return a}}(r)||function(e){if(e){if("string"==typeof e)return i(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,2):void 0}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let o=n[0],a=n[1];I(e,o)&&(T(a)?t[o]=function(e){for(let t=0;t<e.length;t++)I(e,t)||(e[t]=null);return e}(a):a&&"object"==typeof a&&a.constructor===Object?t[o]=H(a):t[o]=a)}return t}function W(e,t){for(;null!==e;){let n=f(e,t);if(n){if(n.get)return U(n.get);if("function"==typeof n.value)return U(n.value)}e=s(e)}return function(){return null}}let j=p(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),B=p(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Y=p(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),$=p(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),G=p(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),X=p(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),q=p(["#text"]),V=p(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),K=p(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Z=p(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),J=p(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Q=m(/{{[\w\W]*|^[\w\W]*}}/g),ee=m(/<%[\w\W]*|^[\w\W]*%>/g),et=m(/\${[\w\W]*/g),en=m(/^data-[\-\w.\u00B7-\uFFFF]+$/),er=m(/^aria-[\-\w]+$/),eo=m(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ei=m(/^(?:\w+script|data):/i),ea=m(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),el=m(/^html$/i),ec=m(/^[a-z][.\w]*(-[.\w]+)+$/i),eu=m(/<[/\w!]/g),es=m(/<[/\w]/g),ef=m(/<\/no(script|embed|frames)/i),ep=m(/\/>/i),em=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],ed=p(F({},em)),eh=(r={},b(em,e=>{r[e]=m(RegExp("</"+e+"(?=[\\t\\n\\f\\r />])","i"))}),p(r)),eg=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+o+" could not be created."),null}},ey=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},eb=function(e,t,n,r){return I(e,t)&&T(e[t])?F(r.base?H(r.base):{},e[t],r.transform):n},ev=function(e,t,n){let r=I(e,t)?e[t]:void 0;return r&&"object"==typeof r?H(r):n()};var eA,eS=function e(){let t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,o=t=>e(t);if(o.version="3.4.16",o.removed=[],!r||!r.document||9!==r.document.nodeType||!r.Element)return o.isSupported=!1,o;let i=r.document,a=i,c=a.currentScript;r.DocumentFragment;let u=r.HTMLTemplateElement,s=r.Node,f=r.Element,h=r.NodeFilter;void 0===r.NamedNodeMap&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let g=r.DOMParser,y=r.trustedTypes,U=f.prototype,em=W(U,"cloneNode"),eA=W(U,"remove"),eS=W(U,"removeAttributeNode"),eE=W(U,"nextSibling"),eT=W(U,"childNodes"),ew=W(U,"parentNode"),ex=W(U,"shadowRoot"),e_=W(U,"attributes"),ek=s&&s.prototype?W(s.prototype,"nodeType"):null,eC=s&&s.prototype?W(s.prototype,"nodeName"):null,eN=s&&s.prototype?W(s.prototype,"ownerDocument"):null,eO=function(e){return ek?ek(e):e.nodeType},eR=function(e){return eC?eC(e):e.nodeName};if("function"==typeof u){let e=i.createElement("template");e.content&&e.content.ownerDocument&&(i=e.content.ownerDocument)}let eD="",eL=!1,eI=0,eM=function(){if(eI>0)throw P('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},ez=function(e){eM(),eI++;try{return t.createHTML(e)}finally{eI--}},eP=function(e){eM(),eI++;try{return t.createScriptURL(e)}finally{eI--}},eU=i,eF=eU.implementation,eH=eU.createNodeIterator,eW=eU.createDocumentFragment,ej=eU.getElementsByTagName,eB=a.importNode,eY=ey();o.isSupported="function"==typeof l&&"function"==typeof ew&&eF&&void 0!==eF.createHTMLDocument;let e$=eo,eG=null,eX=F({},[...j,...B,...Y,...G,...q]),eq=null,eV=F({},[...V,...K,...Z,...J]),eK=Object.seal(d(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),eZ=null,eJ=null,eQ=Object.seal(d(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),e0=!0,e1=!0,e2=!1,e4=!0,e9=!1,e3=!0,e8=!1,e5=!1,e7=null,e6=null,te=!1,tt=!1,tn=!1,tr=!1,to=!0,ti=!1,ta="user-content-",tl=!0,tc=!1,tu={},ts=null,tf=F({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),tp=null,tm=F({},["audio","video","img","source","image","track"]),td=null,th=F({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tg="http://www.w3.org/1998/Math/MathML",ty="http://www.w3.org/2000/svg",tb="http://www.w3.org/1999/xhtml",tv=tb,tA=!1,tS=null,tE=F({},[tg,ty,tb],x),tT=p(["mi","mo","mn","ms","mtext"]),tw=F({},tT),tx=p(["annotation-xml"]),t_=F({},tx),tk=F({},["title","style","font","a","script"]),tC=null,tN=["application/xhtml+xml","text/html"],tO=null,tR=null,tD=i.createElement("form"),tL=function(e){return e instanceof RegExp||e instanceof Function},tI=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(tR&&tR===e)return;e&&"object"==typeof e||(e={}),e=H(e),tO="application/xhtml+xml"===(tC=-1===tN.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE)?x:w,eG=eb(e,"ALLOWED_TAGS",eX,{transform:tO}),eq=eb(e,"ALLOWED_ATTR",eV,{transform:tO}),tS=eb(e,"ALLOWED_NAMESPACES",tE,{transform:x}),td=eb(e,"ADD_URI_SAFE_ATTR",th,{transform:tO,base:th}),tp=eb(e,"ADD_DATA_URI_TAGS",tm,{transform:tO,base:tm}),ts=eb(e,"FORBID_CONTENTS",tf,{transform:tO}),eZ=eb(e,"FORBID_TAGS",H({}),{transform:tO}),eJ=eb(e,"FORBID_ATTR",H({}),{transform:tO}),tu=!!I(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?H(e.USE_PROFILES):e.USE_PROFILES),e0=!1!==e.ALLOW_ARIA_ATTR,e1=!1!==e.ALLOW_DATA_ATTR,e2=e.ALLOW_UNKNOWN_PROTOCOLS||!1,e4=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,e9=e.SAFE_FOR_TEMPLATES||!1,e3=!1!==e.SAFE_FOR_XML,e8=e.WHOLE_DOCUMENT||!1,tt=e.RETURN_DOM||!1,tn=e.RETURN_DOM_FRAGMENT||!1,tr=e.RETURN_TRUSTED_TYPE||!1,te=e.FORCE_BODY||!1,to=!1!==e.SANITIZE_DOM,ti=e.SANITIZE_NAMED_PROPS||!1,tl=!1!==e.KEEP_CONTENT,tc=e.IN_PLACE||!1,e$=!function(e){try{return z(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?eo:e.ALLOWED_URI_REGEXP,tv="string"==typeof e.NAMESPACE?e.NAMESPACE:tb,tw=ev(e,"MATHML_TEXT_INTEGRATION_POINTS",()=>F({},tT)),t_=ev(e,"HTML_INTEGRATION_POINTS",()=>F({},tx));let r=ev(e,"CUSTOM_ELEMENT_HANDLING",()=>d(null));if(eK=d(null),I(r,"tagNameCheck")&&tL(r.tagNameCheck)&&(eK.tagNameCheck=r.tagNameCheck),I(r,"attributeNameCheck")&&tL(r.attributeNameCheck)&&(eK.attributeNameCheck=r.attributeNameCheck),I(r,"allowCustomizedBuiltInElements")&&"boolean"==typeof r.allowCustomizedBuiltInElements&&(eK.allowCustomizedBuiltInElements=r.allowCustomizedBuiltInElements),m(eK),e9&&(e1=!1),tn&&(tt=!0),tu&&(eG=F({},q),eq=d(null),!0===tu.html&&(F(eG,j),F(eq,V)),!0===tu.svg&&(F(eG,B),F(eq,K),F(eq,J)),!0===tu.svgFilters&&(F(eG,Y),F(eq,K),F(eq,J)),!0===tu.mathMl&&(F(eG,G),F(eq,Z),F(eq,J))),eQ.tagCheck=null,eQ.attributeCheck=null,I(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?eQ.tagCheck=e.ADD_TAGS:T(e.ADD_TAGS)&&(eG===eX&&(eG=H(eG)),F(eG,e.ADD_TAGS,tO))),I(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?eQ.attributeCheck=e.ADD_ATTR:T(e.ADD_ATTR)&&(eq===eV&&(eq=H(eq)),F(eq,e.ADD_ATTR,tO))),I(e,"ADD_FORBID_CONTENTS")&&T(e.ADD_FORBID_CONTENTS)&&(ts===tf&&(ts=H(ts)),F(ts,e.ADD_FORBID_CONTENTS,tO)),tl&&(eG["#text"]=!0),e8&&F(eG,["html","head","body"]),eG.table&&(F(eG,["tbody"]),delete eZ.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw P('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw P('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let n=t;t=e.TRUSTED_TYPES_POLICY;try{eD=ez("")}catch(e){throw t=n,e}}else null===e.TRUSTED_TYPES_POLICY?(t=void 0,eD=""):(void 0===t&&(eL||(n=eg(y,c),eL=!0),t=n),t&&"string"==typeof eD&&(eD=ez("")));p&&p(e),tR=e},tM=F({},[...B,...Y,...$]),tz=F({},[...G,...X]),tP=function(e){var t,n,r;let o=ew(e);o&&o.tagName||(o={namespaceURI:tv,tagName:"template"});let i=w(e.tagName),a=w(o.tagName);return!!tS[e.namespaceURI]&&(e.namespaceURI===ty?(t=o).namespaceURI===tb?"svg"===i:t.namespaceURI===tg?"svg"===i&&("annotation-xml"===a||tw[a]):!!tM[i]:e.namespaceURI===tg?(n=o).namespaceURI===tb?"math"===i:n.namespaceURI===ty?"math"===i&&t_[a]:!!tz[i]:e.namespaceURI===tb?((r=o).namespaceURI!==ty||!!t_[a])&&(r.namespaceURI!==tg||!!tw[a])&&!tz[i]&&(tk[i]||!tM[i]):"application/xhtml+xml"===tC&&!!tS[e.namespaceURI])},tU=function(e){S(o.removed,{element:e});try{ew(e).removeChild(e)}catch(t){if(eA(e),!ew(e))throw P("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},tF=function(e,t,n){try{eS(e,t)}catch(t){try{e.removeAttribute(n)}catch(e){}}},tH=function(e){tB(e);let t=eT(e);if(t){let e=[];b(t,t=>{S(e,t)}),b(e,e=>{try{eA(e)}catch(e){}})}let n=e_(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],o=r&&r.name;"string"==typeof o&&tF(e,r,o)}},tW=function(e,t,n){if(!n)try{n=t.getAttributeNode(e)}catch(e){n=null}S(o.removed,{attribute:n||null,from:t});try{n?eS(t,n):t.removeAttribute(e)}catch(n){try{t.removeAttribute(e)}catch(e){}}if("is"===e)if(tt||tn)try{tU(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},tj=function(e){let t=e_(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],o=r&&r.name;"string"!=typeof o||eq[tO(o)]||tF(e,r,o)}},tB=function(e){let t=[e];for(;t.length>0;){let e=t.pop();1===eO(e)&&tj(e);let n=eT(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},tY=function(e,t){return!!e3&&("patchsrc"===e||"for"===e&&"label"!==t&&"output"!==t)},t$=function(e){if(!e3)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=eO(e);if(7===n||8===n&&z(es,e.data)){try{eA(e)}catch(e){}continue}if(1===n){let t=tO(eR(e));try{e.hasAttribute&&e.hasAttribute("patchsrc")&&e.removeAttribute("patchsrc"),e.hasAttribute&&e.hasAttribute("for")&&tY("for",t)&&e.removeAttribute("for")}catch(e){}}let r=eT(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},tG=function(e){let n=null,r=null;if(te)e="<remove></remove>"+e;else{let t=_(e,/^[\r\n\t ]+/);r=t&&t[0]}"application/xhtml+xml"===tC&&tv===tb&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let o=t?ez(e):e;if(tv===tb)try{n=new g().parseFromString(o,tC)}catch(e){}if(!n||!n.documentElement){n=eF.createDocument(tv,"template",null);try{n.documentElement.innerHTML=tA?eD:o}catch(e){}}let a=n.body||n.documentElement;return(e&&r&&a.insertBefore(i.createTextNode(r),a.childNodes[0]||null),tv===tb)?ej.call(n,e8?"html":"body")[0]:e8?n.documentElement:a},tX=function(e){let t=eN?eN(e):e.ownerDocument;return eH.call(t||e,e,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},tq=function(e){return e=k(e,Q," "),e=k(e,ee," "),e=k(e,et," ")},tV=function(e){var t;e.normalize();let n=eN?eN(e):e.ownerDocument,r=eH.call(n||e,e,h.SHOW_TEXT|h.SHOW_COMMENT|h.SHOW_CDATA_SECTION|h.SHOW_PROCESSING_INSTRUCTION,null),o=r.nextNode();for(;o;)o.data=tq(o.data),o=r.nextNode();let i=null==(t=e.querySelectorAll)?void 0:t.call(e,"template");i&&b(i,e=>{tZ(e.content)&&tV(e.content)})},tK=function(e){let t=eC?eC(e):null;return"string"==typeof t&&"form"===tO(t)&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||e.attributes!==e_(e)||"function"!=typeof e.removeAttribute||"function"!=typeof e.removeAttributeNode||"function"!=typeof e.getAttributeNode||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes||e.nodeType!==ek(e)||e.childNodes!==eT(e))},tZ=function(e){if(!ek||"object"!=typeof e||null===e)return!1;try{return 11===ek(e)}catch(e){return!1}},tJ=function(e){if(!ek||"object"!=typeof e||null===e)return!1;try{return"number"==typeof ek(e)}catch(e){return!1}};function tQ(e,t,n){0!==e.length&&b(e,e=>{e.call(o,t,n,tR)})}let t0=function(e,t){if(e instanceof RegExp)return z(e,t);if(e instanceof Function){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return!!e(t,...r)}return!1},t1=function(e,t,n){if(!eZ[t]&&t5(t)&&t0(eK.tagNameCheck,t))return!1;if(tl&&!ts[t]){let t=ew(e),r=eT(e);if(r&&t){let o=r.length;for(let i=o-1;i>=0;--i){let o=e===n?em(r[i],!0):r[i];t.insertBefore(o,eE(e))}}}return tU(e),!0},t2=function(e,t,n,r){return 0===e.length?t:t===n||t===r?H(t):t},t4=function(e,t){return e!==t&&null===ew(e)&&(tc&&tB(e),!0)},t9=function(e,t){if(tQ(eY.beforeSanitizeElements,e,null),t4(e,t))return!0;if(tK(e))return tU(e),!0;let n=tO(eR(e));if(eG=t2(eY.uponSanitizeElement,eG,eX,e7),tQ(eY.uponSanitizeElement,e,{tagName:n,allowedTags:eG}),t4(e,t))return!0;if(e3&&e.hasChildNodes()&&!tJ(e.firstElementChild)&&z(eu,e.textContent)&&z(eu,e.innerHTML)||e3&&e.namespaceURI===tb&&ed[n]&&(tJ(e.firstElementChild)||"string"==typeof e.textContent&&z(eh[n],e.textContent))||7===e.nodeType||e3&&8===e.nodeType&&z(es,e.data))return tU(e),!0;if(eZ[n]||!(eQ.tagCheck instanceof Function&&eQ.tagCheck(n))&&!eG[n]){let r=t1(e,n,t);return!!(!1===r&&(tQ(eY.afterSanitizeElements,e,null),t4(e,t)))||r}if(1===eO(e)&&!tP(e)||("noscript"===n||"noembed"===n||"noframes"===n)&&z(ef,e.innerHTML))return tU(e),!0;if(e9&&3===e.nodeType){let t=tq(e.textContent);e.textContent!==t&&(S(o.removed,{element:e.cloneNode()}),e.textContent=t)}return tQ(eY.afterSanitizeElements,e,null),t4(e,t)},t3=function(e,t,n){if(eJ[t]||tY(t,e)||to&&("id"===t||"name"===t)&&(n in i||n in tD))return!1;let r=eq[t]||eQ.attributeCheck instanceof Function&&eQ.attributeCheck(t,e);return!!(e1&&z(en,t)||e0&&z(er,t))||(r?!(!(td[t]||z(e$,k(n,ea,"")))&&("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==C(n,"data:")||!tp[e])&&(!e2||z(ei,k(n,ea,""))))||!n:t5(e)&&t0(eK.tagNameCheck,e)&&t0(eK.attributeNameCheck,t,e)||"is"===t&&eK.allowCustomizedBuiltInElements&&t0(eK.tagNameCheck,n))},t8=F({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),t5=function(e){return!t8[w(e)]&&z(ec,e)},t7=function(e,n,r,o){if(t&&"object"==typeof y&&"function"==typeof y.getAttributeType&&!r)switch(y.getAttributeType(e,n)){case"TrustedHTML":return ez(o);case"TrustedScriptURL":return eP(o)}return o},t6=function(e,t,n,r){try{if(n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),tK(e))return tU(e),!1;return!0}catch(n){return tW(t,e),!1}},ne=function(e,t){if(tQ(eY.beforeSanitizeAttributes,e,null),t4(e,t))return;let n=e.attributes;if(!n||tK(e))return;let r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:eq=t2(eY.uponSanitizeAttribute,eq,eV,e6),forceKeepAttr:void 0},i=n.length,a=tO(e.nodeName);for(;i--;){let t=n[i],l=t.name,c=t.namespaceURI,u=t.value,s=tO(l),f="value"===l?u:N(u),p=!1;if(r.attrName=s,r.attrValue=f,r.keepAttr=!0,r.forceKeepAttr=void 0,tQ(eY.uponSanitizeAttribute,e,r),f=r.attrValue,ti&&("id"===s||"name"===s)&&0!==C(f,ta)&&(tW(l,e,t),f=ta+f,p=!0),e3&&z(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,f)||"attributename"===s&&_(f,"href")){tW(l,e,t);continue}if(!r.forceKeepAttr){if(!r.keepAttr||!e4&&z(ep,f)||(e9&&(f=tq(f)),!t3(a,s,f))){tW(l,e,t);continue}(f=t7(a,s,c,f))!==u&&t6(e,l,c,f)&&p&&A(o.removed)}}tQ(eY.afterSanitizeAttributes,e,null),t4(e,t)},nt=function(e){let t=null,n=tX(e);for(tQ(eY.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(tQ(eY.uponSanitizeShadowNode,t,null),t9(t,e),ne(t,e),tZ(t.content)&&nt(t.content),1===eO(t)){let e=ex(t);tZ(e)&&(nn(e),nt(e))}tQ(eY.afterSanitizeShadowDOM,e,null)},nn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){nt(e.shadow);continue}let n=e.node,r=1===eO(n),o=eT(n);if(o)for(let e=o.length-1;e>=0;--e)t.push({node:o[e],shadow:null});if(r){let e=eC?eC(n):null;if("string"==typeof e&&"template"===tO(e)){let e=n.content;tZ(e)&&t.push({node:e,shadow:null})}}if(r){let e=ex(n);tZ(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return o.sanitize=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,i=null,l=null,c=null;if((tA=!e)&&(e="\x3c!--\x3e"),"string"!=typeof e&&!tJ(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return O(e);case"boolean":return R(e);case"bigint":return D?D(e):"0";case"symbol":return L?L(e):"Symbol()";case"undefined":default:return M(e);case"function":case"object":{if(null===e)return M(e);let t=W(e,"toString");if("function"==typeof t){let n=t(e);return"string"==typeof n?n:M(n)}return M(e)}}}(e)))throw P("dirty is not a string, aborting");if(!o.isSupported)return e;e5?(eG=e7,eq=e6):tI(n),(eY.uponSanitizeElement.length>0||eY.uponSanitizeAttribute.length>0)&&(eG=H(eG)),eY.uponSanitizeAttribute.length>0&&(eq=H(eq)),o.removed=[];let u=tc&&"string"!=typeof e&&tJ(e);if(u){t$(e);let t=eR(e);if("string"==typeof t){let n=tO(t);if(!eG[n]||eZ[n])throw tH(e),P("root node is forbidden and cannot be sanitized in-place")}if(tK(e))throw tH(e),P("root node is clobbered and cannot be sanitized in-place");try{nn(e)}catch(t){throw tH(e),t}}else if(tJ(e))1===(i=(r=tG("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===i.nodeName||"HTML"===i.nodeName?r=i:r.appendChild(i),nn(r);else{if(!tt&&!e9&&!e8&&-1===e.indexOf("<"))return t&&tr?ez(e):e;if(!(r=tG(e)))return tt?null:tr?eD:""}r&&te&&tU(r.firstChild);let s=u?e:r;try{let e=tX(s);for(;l=e.nextNode();)t9(l,s),ne(l,s),tZ(l.content)&&nt(l.content)}catch(t){throw u&&(tH(e),b(o.removed,e=>{e.element&&tB(e.element)})),t}if(u){let t=!1;if(b(o.removed,n=>{n.element&&(n.element===e&&(t=!0),tB(n.element))}),t)throw P("a node selected for removal could not be safely returned; refusing to sanitize in place");return e9&&tV(e),e}if(tt){if(e9&&tV(r),tn)for(c=eW.call(r.ownerDocument);r.firstChild;)c.appendChild(r.firstChild);else c=r;return(eq.shadowroot||eq.shadowrootmode)&&(c=eB.call(a,c,!0)),c}let f=e8?r.outerHTML:r.innerHTML;return e8&&eG["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&z(el,r.ownerDocument.doctype.name)&&(f="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+f),e9&&(f=tq(f)),t&&tr?ez(f):f},o.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};tI(e),e5=!0,e7=eG,e6=eq},o.clearConfig=function(){tR=null,e5=!1,e7=null,e6=null,t=n,eD=""},o.isValidAttribute=function(e,t,n){return tR||tI({}),t3(tO(e),tO(t),n)},o.addHook=function(e,t){"function"!=typeof t||I(eY,e)&&S(eY[e],t)},o.removeHook=function(e,t){if(I(eY,e)){if(void 0!==t){let n=v(eY[e],t);return -1===n?void 0:E(eY[e],n,1)[0]}return A(eY[e])}},o.removeHooks=function(e){I(eY,e)&&(eY[e]=[])},o.removeAllHooks=function(){eY=ey()},o}()}}]);
|
|
2
|
-
//# sourceMappingURL=5877.a2e28865fc9e.chunk.js.map
|