mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-11-05 05:14:08 +01:00
build(docs): build JSON Schema docs
Automatically build documentation for JSON Schema. This is only built when running with `--vitepress`, as it currently produces loads of markdown files, which I feel like we shouldn't be committing. This currently manually uses some internal `jsonschema2md` functions so that we can manually control the Markdown output.
This commit is contained in:
@@ -74,6 +74,7 @@
|
|||||||
"web-worker": "^1.2.0"
|
"web-worker": "^1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@adobe/jsonschema2md": "^7.1.4",
|
||||||
"@types/cytoscape": "^3.19.9",
|
"@types/cytoscape": "^3.19.9",
|
||||||
"@types/d3": "^7.4.0",
|
"@types/d3": "^7.4.0",
|
||||||
"@types/d3-sankey": "^0.12.1",
|
"@types/d3-sankey": "^0.12.1",
|
||||||
@@ -109,6 +110,7 @@
|
|||||||
"typedoc-plugin-markdown": "^3.15.2",
|
"typedoc-plugin-markdown": "^3.15.2",
|
||||||
"typescript": "^5.0.4",
|
"typescript": "^5.0.4",
|
||||||
"unist-util-flatmap": "^1.0.0",
|
"unist-util-flatmap": "^1.0.0",
|
||||||
|
"unist-util-visit": "^4.1.2",
|
||||||
"vitepress": "^1.0.0-alpha.72",
|
"vitepress": "^1.0.0-alpha.72",
|
||||||
"vitepress-plugin-search": "^1.0.4-alpha.20"
|
"vitepress-plugin-search": "^1.0.4-alpha.20"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import { readFileSync, writeFileSync, mkdirSync, existsSync, rmSync, rmdirSync }
|
|||||||
import { exec } from 'child_process';
|
import { exec } from 'child_process';
|
||||||
import { globby } from 'globby';
|
import { globby } from 'globby';
|
||||||
import { JSDOM } from 'jsdom';
|
import { JSDOM } from 'jsdom';
|
||||||
import type { Code, Root } from 'mdast';
|
import type { Code, ListItem, Root, Text } from 'mdast';
|
||||||
import { posix, dirname, relative, join } from 'path';
|
import { posix, dirname, relative, join } from 'path';
|
||||||
import prettier from 'prettier';
|
import prettier from 'prettier';
|
||||||
import { remark } from 'remark';
|
import { remark } from 'remark';
|
||||||
@@ -44,6 +44,7 @@ import chokidar from 'chokidar';
|
|||||||
import mm from 'micromatch';
|
import mm from 'micromatch';
|
||||||
// @ts-ignore No typescript declaration file
|
// @ts-ignore No typescript declaration file
|
||||||
import flatmap from 'unist-util-flatmap';
|
import flatmap from 'unist-util-flatmap';
|
||||||
|
import { visit } from 'unist-util-visit';
|
||||||
|
|
||||||
const MERMAID_MAJOR_VERSION = (
|
const MERMAID_MAJOR_VERSION = (
|
||||||
JSON.parse(readFileSync('../mermaid/package.json', 'utf8')).version as string
|
JSON.parse(readFileSync('../mermaid/package.json', 'utf8')).version as string
|
||||||
@@ -150,6 +151,7 @@ const copyTransformedContents = (filename: string, doCopy = false, transformedCo
|
|||||||
}
|
}
|
||||||
|
|
||||||
filesTransformed.add(fileInFinalDocDir);
|
filesTransformed.add(fileInFinalDocDir);
|
||||||
|
|
||||||
if (doCopy) {
|
if (doCopy) {
|
||||||
writeFileSync(fileInFinalDocDir, newBuffer);
|
writeFileSync(fileInFinalDocDir, newBuffer);
|
||||||
}
|
}
|
||||||
@@ -321,6 +323,93 @@ const transformMarkdown = (file: string) => {
|
|||||||
copyTransformedContents(file, !verifyOnly, formatted);
|
copyTransformedContents(file, !verifyOnly, formatted);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
import { load, JSON_SCHEMA } from 'js-yaml';
|
||||||
|
// @ts-ignore: we're importing internal jsonschema2md functions
|
||||||
|
import { default as schemaLoader } from '@adobe/jsonschema2md/lib/schemaProxy.js';
|
||||||
|
// @ts-ignore: we're importing internal jsonschema2md functions
|
||||||
|
import { default as traverseSchemas } from '@adobe/jsonschema2md/lib/traverseSchema.js';
|
||||||
|
// @ts-ignore: we're importing internal jsonschema2md functions
|
||||||
|
import { default as buildMarkdownFromSchema } from '@adobe/jsonschema2md/lib/markdownBuilder.js';
|
||||||
|
// @ts-ignore: we're importing internal jsonschema2md functions
|
||||||
|
import { default as jsonSchemaReadmeBuilder } from '@adobe/jsonschema2md/lib/readmeBuilder.js';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Transforms the given JSON Schema into Markdown documentation
|
||||||
|
*/
|
||||||
|
async function transormJsonSchema(file: string) {
|
||||||
|
const yamlContents = readSyncedUTF8file(file);
|
||||||
|
const jsonSchema = load(yamlContents, {
|
||||||
|
filename: file,
|
||||||
|
// only allow JSON types in our YAML doc (will probably be default in YAML 1.3)
|
||||||
|
// e.g. `true` will be parsed a boolean `true`, `True` will be parsed as string `"True"`.
|
||||||
|
schema: JSON_SCHEMA,
|
||||||
|
});
|
||||||
|
|
||||||
|
// write .schema.json files
|
||||||
|
const jsonFileName = file
|
||||||
|
.replace('.schema.yaml', '.schema.json')
|
||||||
|
.replace('src/schemas/', 'src/docs/schemas/');
|
||||||
|
copyTransformedContents(jsonFileName, !verifyOnly, JSON.stringify(jsonSchema, undefined, 2));
|
||||||
|
|
||||||
|
const schemas = traverseSchemas([schemaLoader()(file, jsonSchema)]);
|
||||||
|
|
||||||
|
// ignore output of this function
|
||||||
|
// for some reason, without calling this function, we get some broken links
|
||||||
|
// this is probably a bug in @adobe/jsonschema2md
|
||||||
|
jsonSchemaReadmeBuilder({ readme: true })(schemas);
|
||||||
|
|
||||||
|
// write Markdown files
|
||||||
|
const markdownFiles = buildMarkdownFromSchema({
|
||||||
|
header: true,
|
||||||
|
// links,
|
||||||
|
includeProperties: ['tsType'], // Custom TypeScript type
|
||||||
|
exampleFormat: 'json',
|
||||||
|
// skipProperties,
|
||||||
|
})(schemas);
|
||||||
|
|
||||||
|
for (const [name, markdownAst] of Object.entries(markdownFiles)) {
|
||||||
|
/*
|
||||||
|
* Converts list entries of shape '- tsType: () => Partial<FontConfig>'
|
||||||
|
* into '- tsType: `() => Partial<FontConfig>`' (e.g. escaping with back-ticks),
|
||||||
|
* as otherwise VitePress doesn't like the <FontConfig> bit.
|
||||||
|
*/
|
||||||
|
visit(markdownAst as Root, 'listItem', (listEntry: ListItem) => {
|
||||||
|
let listText: Text;
|
||||||
|
const blockItem = listEntry.children[0];
|
||||||
|
if (blockItem.type === 'paragraph' && blockItem.children[0].type === 'text') {
|
||||||
|
listText = blockItem.children[0];
|
||||||
|
} // @ts-expect-error: MD AST output from @adobe/jsonschema2md is technically wrong
|
||||||
|
else if (blockItem.type === 'text') {
|
||||||
|
listText = blockItem;
|
||||||
|
} else {
|
||||||
|
return; // skip
|
||||||
|
}
|
||||||
|
|
||||||
|
if (listText.value.startsWith('tsType: ')) {
|
||||||
|
listText.value = listText.value.replace(/tsType: (.*)/g, 'tsType: `$1`');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const transformed = remark()
|
||||||
|
.use(remarkGfm)
|
||||||
|
.use(remarkFrontmatter, ['yaml']) // support YAML front-matter in Markdown
|
||||||
|
.use(transformMarkdownAst, {
|
||||||
|
// mermaid project specific plugin
|
||||||
|
originalFilename: file,
|
||||||
|
addAutogeneratedWarning: !noHeader,
|
||||||
|
removeYAML: !noHeader,
|
||||||
|
})
|
||||||
|
.stringify(markdownAst as Root);
|
||||||
|
|
||||||
|
const formatted = prettier.format(transformed, {
|
||||||
|
parser: 'markdown',
|
||||||
|
...prettierConfig,
|
||||||
|
});
|
||||||
|
const newFileName = join('src', 'docs', 'config', 'schema-docs', `${name}.md`);
|
||||||
|
copyTransformedContents(newFileName, !verifyOnly, formatted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transform an HTML file and write the transformed file to the directory for published
|
* Transform an HTML file and write the transformed file to the directory for published
|
||||||
* documentation
|
* documentation
|
||||||
@@ -388,6 +477,14 @@ const main = async () => {
|
|||||||
const sourceDirGlob = posix.join('.', SOURCE_DOCS_DIR, '**');
|
const sourceDirGlob = posix.join('.', SOURCE_DOCS_DIR, '**');
|
||||||
const action = verifyOnly ? 'Verifying' : 'Transforming';
|
const action = verifyOnly ? 'Verifying' : 'Transforming';
|
||||||
|
|
||||||
|
if (vitepress) {
|
||||||
|
console.log(`${action} 1 .schema.yaml file`);
|
||||||
|
await transormJsonSchema('src/schemas/config.schema.yaml');
|
||||||
|
} else {
|
||||||
|
// skip because this creates so many Markdown files that it lags git
|
||||||
|
console.log('Skipping 1 .schema.yaml file');
|
||||||
|
}
|
||||||
|
|
||||||
const mdFileGlobs = getGlobs([posix.join(sourceDirGlob, '*.md')]);
|
const mdFileGlobs = getGlobs([posix.join(sourceDirGlob, '*.md')]);
|
||||||
const mdFiles = await getFilesFromGlobs(mdFileGlobs);
|
const mdFiles = await getFilesFromGlobs(mdFileGlobs);
|
||||||
console.log(`${action} ${mdFiles.length} markdown files...`);
|
console.log(`${action} ${mdFiles.length} markdown files...`);
|
||||||
|
|||||||
146
pnpm-lock.yaml
generated
146
pnpm-lock.yaml
generated
@@ -255,6 +255,9 @@ importers:
|
|||||||
specifier: ^1.2.0
|
specifier: ^1.2.0
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@adobe/jsonschema2md':
|
||||||
|
specifier: ^7.1.4
|
||||||
|
version: 7.1.4
|
||||||
'@types/cytoscape':
|
'@types/cytoscape':
|
||||||
specifier: ^3.19.9
|
specifier: ^3.19.9
|
||||||
version: 3.19.9
|
version: 3.19.9
|
||||||
@@ -360,6 +363,9 @@ importers:
|
|||||||
unist-util-flatmap:
|
unist-util-flatmap:
|
||||||
specifier: ^1.0.0
|
specifier: ^1.0.0
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
unist-util-visit:
|
||||||
|
specifier: ^4.1.2
|
||||||
|
version: 4.1.2
|
||||||
vitepress:
|
vitepress:
|
||||||
specifier: ^1.0.0-alpha.72
|
specifier: ^1.0.0-alpha.72
|
||||||
version: 1.0.0-alpha.72(@algolia/client-search@4.14.2)(@types/node@18.16.0)
|
version: 1.0.0-alpha.72(@algolia/client-search@4.14.2)(@types/node@18.16.0)
|
||||||
@@ -487,6 +493,43 @@ importers:
|
|||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
|
/@adobe/helix-log@6.0.0:
|
||||||
|
resolution: {integrity: sha512-+9gpf49sFDmZLV3gtjY+RmEUistqYJdVWpiqlRYpxE59x5bHFzYf93dZ7fljSTBtZdVq8lm97HxrTUloh5HvRg==}
|
||||||
|
dependencies:
|
||||||
|
big.js: 6.2.1
|
||||||
|
colorette: 2.0.20
|
||||||
|
ferrum: 1.9.4
|
||||||
|
phin: 3.7.0
|
||||||
|
polka: 0.5.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@adobe/jsonschema2md@7.1.4:
|
||||||
|
resolution: {integrity: sha512-sqzH/G+2oNZi5ltwbl0hGJacGTDpXv7uUykzh+LD/DNfOIjUq577b1HbES/JP5yWcp4YkX4I3V5Kxltewr0BUg==}
|
||||||
|
engines: {node: '>= 14.0.0'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@adobe/helix-log': 6.0.0
|
||||||
|
'@types/json-schema': 7.0.11
|
||||||
|
'@types/mdast': 3.0.11
|
||||||
|
es2015-i18n-tag: 1.6.1
|
||||||
|
ferrum: 1.9.4
|
||||||
|
fs-extra: 11.0.0
|
||||||
|
github-slugger: 2.0.0
|
||||||
|
js-yaml: 4.1.0
|
||||||
|
json-schema: 0.4.0
|
||||||
|
mdast-builder: 1.1.1
|
||||||
|
mdast-util-to-string: 3.1.0
|
||||||
|
readdirp: 3.6.0
|
||||||
|
remark-gfm: 3.0.1
|
||||||
|
remark-parse: 10.0.1
|
||||||
|
remark-stringify: 10.0.2
|
||||||
|
unified: 10.1.2
|
||||||
|
unist-util-inspect: 7.0.1
|
||||||
|
yargs: 17.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@algolia/autocomplete-core@1.8.2:
|
/@algolia/autocomplete-core@1.8.2:
|
||||||
resolution: {integrity: sha512-mTeshsyFhAqw/ebqNsQpMtbnjr+qVOSKXArEj4K0d7sqc8It1XD0gkASwecm9mF/jlOQ4Z9RNg1HbdA8JPdRwQ==}
|
resolution: {integrity: sha512-mTeshsyFhAqw/ebqNsQpMtbnjr+qVOSKXArEj4K0d7sqc8It1XD0gkASwecm9mF/jlOQ4Z9RNg1HbdA8JPdRwQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1029,6 +1072,11 @@ packages:
|
|||||||
engines: {node: '>=12.13.0'}
|
engines: {node: '>=12.13.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@arr/every@1.0.1:
|
||||||
|
resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@babel/code-frame@7.18.6:
|
/@babel/code-frame@7.18.6:
|
||||||
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
|
resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
@@ -3863,6 +3911,10 @@ packages:
|
|||||||
tslib: 2.5.0
|
tslib: 2.5.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@polka/url@0.5.0:
|
||||||
|
resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@polka/url@1.0.0-next.21:
|
/@polka/url@1.0.0-next.21:
|
||||||
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
|
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -6250,6 +6302,10 @@ packages:
|
|||||||
tweetnacl: 0.14.5
|
tweetnacl: 0.14.5
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/big.js@6.2.1:
|
||||||
|
resolution: {integrity: sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/binary-extensions@2.2.0:
|
/binary-extensions@2.2.0:
|
||||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -6524,6 +6580,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
|
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/centra@2.6.0:
|
||||||
|
resolution: {integrity: sha512-dgh+YleemrT8u85QL11Z6tYhegAs3MMxsaWAq/oXeAmYJ7VxL3SI9TZtnfaEvNDMAPolj25FXIb3S+HCI4wQaQ==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/chai@4.3.7:
|
/chai@4.3.7:
|
||||||
resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
|
resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@@ -7302,6 +7362,10 @@ packages:
|
|||||||
/csstype@3.1.2:
|
/csstype@3.1.2:
|
||||||
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
|
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
|
||||||
|
|
||||||
|
/cuint@0.2.2:
|
||||||
|
resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/cypress-image-snapshot@4.0.1(cypress@12.10.0)(jest@29.5.0):
|
/cypress-image-snapshot@4.0.1(cypress@12.10.0)(jest@29.5.0):
|
||||||
resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
|
resolution: {integrity: sha512-PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -8174,6 +8238,11 @@ packages:
|
|||||||
is-symbol: 1.0.4
|
is-symbol: 1.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/es2015-i18n-tag@1.6.1:
|
||||||
|
resolution: {integrity: sha512-MYoh9p+JTkgnzBh0MEBON6xUyzdmwT6wzsmmFJvZujGSXiI2kM+3XvFl6+AcIO2eeL6VWgtX9szSiDTMwDxyYA==}
|
||||||
|
engines: {node: '>= 4.0.0'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/es6-error@4.1.1:
|
/es6-error@4.1.1:
|
||||||
resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
|
resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -8834,6 +8903,10 @@ packages:
|
|||||||
engines: {node: '>= 4.9.1'}
|
engines: {node: '>= 4.9.1'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/fastestsmallesttextencoderdecoder@1.0.22:
|
||||||
|
resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/fastify-plugin@3.0.1:
|
/fastify-plugin@3.0.1:
|
||||||
resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==}
|
resolution: {integrity: sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -8891,6 +8964,14 @@ packages:
|
|||||||
pend: 1.2.0
|
pend: 1.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/ferrum@1.9.4:
|
||||||
|
resolution: {integrity: sha512-ooNerLoIht/dK4CQJux93z/hnt9JysrXniJCI3r6YRgmHeXC57EJ8XaTCT1Gm8LfhIAeWxyJA0O7d/W3pqDYRg==}
|
||||||
|
dependencies:
|
||||||
|
fastestsmallesttextencoderdecoder: 1.0.22
|
||||||
|
lodash.isplainobject: 4.0.6
|
||||||
|
xxhashjs: 0.2.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/fetch-blob@3.2.0:
|
/fetch-blob@3.2.0:
|
||||||
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
|
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
|
||||||
engines: {node: ^12.20 || >= 14.13}
|
engines: {node: ^12.20 || >= 14.13}
|
||||||
@@ -9113,6 +9194,15 @@ packages:
|
|||||||
resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
|
resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/fs-extra@11.0.0:
|
||||||
|
resolution: {integrity: sha512-4YxRvMi4P5C3WQTvdRfrv5UVqbISpqjORFQAW5QPiKAauaxNCwrEdIi6pG3tDFhKKpMen+enEhHIzB/tvIO+/w==}
|
||||||
|
engines: {node: '>=14.14'}
|
||||||
|
dependencies:
|
||||||
|
graceful-fs: 4.2.10
|
||||||
|
jsonfile: 6.1.0
|
||||||
|
universalify: 2.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/fs-extra@11.1.1:
|
/fs-extra@11.1.1:
|
||||||
resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
|
resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
|
||||||
engines: {node: '>=14.14'}
|
engines: {node: '>=14.14'}
|
||||||
@@ -9269,6 +9359,10 @@ packages:
|
|||||||
through2: 4.0.2
|
through2: 4.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/github-slugger@2.0.0:
|
||||||
|
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/glob-parent@5.1.2:
|
/glob-parent@5.1.2:
|
||||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
@@ -11376,6 +11470,13 @@ packages:
|
|||||||
engines: {node: '>= 12'}
|
engines: {node: '>= 12'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
/matchit@1.1.0:
|
||||||
|
resolution: {integrity: sha512-+nGYoOlfHmxe5BW5tE0EMJppXEwdSf8uBA1GTZC7Q77kbT35+VKLYJMzVNWCHSsga1ps1tPYFtFyvxvKzWVmMA==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dependencies:
|
||||||
|
'@arr/every': 1.0.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/md5-hex@3.0.1:
|
/md5-hex@3.0.1:
|
||||||
resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==}
|
resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -11383,6 +11484,12 @@ packages:
|
|||||||
blueimp-md5: 2.19.0
|
blueimp-md5: 2.19.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/mdast-builder@1.1.1:
|
||||||
|
resolution: {integrity: sha512-a3KBk/LmYD6wKsWi8WJrGU/rXR4yuF4Men0JO0z6dSZCm5FrXXWTRDjqK0vGSqa+1M6p9edeuypZAZAzSehTUw==}
|
||||||
|
dependencies:
|
||||||
|
'@types/unist': 2.0.6
|
||||||
|
dev: true
|
||||||
|
|
||||||
/mdast-util-find-and-replace@2.2.1:
|
/mdast-util-find-and-replace@2.2.1:
|
||||||
resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==}
|
resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -11491,7 +11598,7 @@ packages:
|
|||||||
longest-streak: 3.0.1
|
longest-streak: 3.0.1
|
||||||
mdast-util-to-string: 3.1.0
|
mdast-util-to-string: 3.1.0
|
||||||
micromark-util-decode-string: 1.0.2
|
micromark-util-decode-string: 1.0.2
|
||||||
unist-util-visit: 4.1.1
|
unist-util-visit: 4.1.2
|
||||||
zwitch: 2.0.2
|
zwitch: 2.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -12568,6 +12675,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
|
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/phin@3.7.0:
|
||||||
|
resolution: {integrity: sha512-DqnVNrpYhKGBZppNKprD+UJylMeEKOZxHgPB+ZP6mGzf3uA2uox4Ep9tUm+rUc8WLIdHT3HcAE4X8fhwQA9JKg==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
centra: 2.6.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/picocolors@1.0.0:
|
/picocolors@1.0.0:
|
||||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
||||||
|
|
||||||
@@ -12696,6 +12810,13 @@ packages:
|
|||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/polka@0.5.2:
|
||||||
|
resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==}
|
||||||
|
dependencies:
|
||||||
|
'@polka/url': 0.5.0
|
||||||
|
trouter: 2.0.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/postcss-import@15.1.0(postcss@8.4.24):
|
/postcss-import@15.1.0(postcss@8.4.24):
|
||||||
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
|
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -14537,6 +14658,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
|
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/trouter@2.0.1:
|
||||||
|
resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dependencies:
|
||||||
|
matchit: 1.1.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/ts-dedent@2.2.0:
|
/ts-dedent@2.2.0:
|
||||||
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
|
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
|
||||||
engines: {node: '>=6.10'}
|
engines: {node: '>=6.10'}
|
||||||
@@ -14823,6 +14951,12 @@ packages:
|
|||||||
resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
|
resolution: {integrity: sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/unist-util-inspect@7.0.1:
|
||||||
|
resolution: {integrity: sha512-gEPeSrsYXus8012VJ00p9uZC8D0iogtLLiHlBgvS61hU22KNKduQhMKezJm83viHlLf3TYS2y9SDEFglWPDMKw==}
|
||||||
|
dependencies:
|
||||||
|
'@types/unist': 2.0.6
|
||||||
|
dev: true
|
||||||
|
|
||||||
/unist-util-is@5.1.1:
|
/unist-util-is@5.1.1:
|
||||||
resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==}
|
resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -14845,8 +14979,8 @@ packages:
|
|||||||
unist-util-is: 5.1.1
|
unist-util-is: 5.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/unist-util-visit@4.1.1:
|
/unist-util-visit@4.1.2:
|
||||||
resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==}
|
resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/unist': 2.0.6
|
'@types/unist': 2.0.6
|
||||||
unist-util-is: 5.1.1
|
unist-util-is: 5.1.1
|
||||||
@@ -16165,6 +16299,12 @@ packages:
|
|||||||
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
|
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/xxhashjs@0.2.2:
|
||||||
|
resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
|
||||||
|
dependencies:
|
||||||
|
cuint: 0.2.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/y18n@4.0.3:
|
/y18n@4.0.3:
|
||||||
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|||||||
Reference in New Issue
Block a user