mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-14 09:37:37 +02:00
chore: add cSpell for spell checking (#6456)
* chore: Add cSpell for spell checking * chore: exclude map files and remove dups * chore: exclude more binary files * chore: remove MD headings * Update .cspell.json * fix a few spellings * fix more * fix Signed-off-by: Joshua Chen <sidachen2003@gmail.com> * fix a few * oops Co-authored-by: Joshua Chen <sidachen2003@gmail.com>
This commit is contained in:
parent
a41a5c328c
commit
521eb119a7
64 changed files with 852 additions and 142 deletions
36
.cspell.json
Normal file
36
.cspell.json
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"version": "0.2",
|
||||||
|
"gitignoreRoot": ".",
|
||||||
|
"useGitignore": true,
|
||||||
|
"dictionaries": [
|
||||||
|
"css",
|
||||||
|
"html",
|
||||||
|
"fonts",
|
||||||
|
"typescript",
|
||||||
|
"softwareTerms",
|
||||||
|
"companies",
|
||||||
|
"lorem-ipsum",
|
||||||
|
"project-words"
|
||||||
|
],
|
||||||
|
"dictionaryDefinitions": [
|
||||||
|
{
|
||||||
|
"name": "project-words",
|
||||||
|
"path": "./project-words.txt",
|
||||||
|
"noSuggest": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ignorePaths": [
|
||||||
|
"CHANGELOG.md",
|
||||||
|
"examples",
|
||||||
|
"packages/docusaurus-theme-translations/locales",
|
||||||
|
"__tests__",
|
||||||
|
"package.json",
|
||||||
|
"yarn.lock",
|
||||||
|
"project-words.txt",
|
||||||
|
"website/src/data/users.tsx",
|
||||||
|
"*.xyz",
|
||||||
|
"*.docx",
|
||||||
|
"versioned_docs"
|
||||||
|
],
|
||||||
|
"ignoreRegExpList": ["Email", "Urls", "#[\\w-]*"]
|
||||||
|
}
|
16
.github/workflows/cspell-problem-matcher.json
vendored
Normal file
16
.github/workflows/cspell-problem-matcher.json
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"problemMatcher": [
|
||||||
|
{
|
||||||
|
"owner": "cspell",
|
||||||
|
"pattern": [
|
||||||
|
{
|
||||||
|
"regexp": "^(.*):(\\d+):(\\d+)\\s+\\-\\s+(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"line": 2,
|
||||||
|
"column": 3,
|
||||||
|
"message": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
4
.github/workflows/lint.yml
vendored
4
.github/workflows/lint.yml
vendored
|
@ -22,6 +22,8 @@ jobs:
|
||||||
- name: Check immutable yarn.lock
|
- name: Check immutable yarn.lock
|
||||||
run: git diff --exit-code
|
run: git diff --exit-code
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: yarn lint:ci
|
run: |
|
||||||
|
echo "::add-matcher::.github/workflows/cspell-problem-matcher.json"
|
||||||
|
yarn lint:ci
|
||||||
- name: Prettier Code
|
- name: Prettier Code
|
||||||
run: yarn format:diff
|
run: yarn format:diff
|
||||||
|
|
|
@ -42,9 +42,10 @@
|
||||||
"prepare": "husky install",
|
"prepare": "husky install",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"format:diff": "prettier --list-different .",
|
"format:diff": "prettier --list-different .",
|
||||||
"lint": "yarn lint:js && yarn lint:style",
|
"lint": "yarn lint:js && yarn lint:style && yarn lint:spelling",
|
||||||
"lint:ci": "yarn lint:js --quiet && yarn lint:style",
|
"lint:ci": "yarn lint:js --quiet && yarn lint:style && yarn lint:spelling",
|
||||||
"lint:js": "eslint --cache --report-unused-disable-directives \"**/*.{js,jsx,ts,tsx,mjs}\"",
|
"lint:js": "eslint --cache --report-unused-disable-directives \"**/*.{js,jsx,ts,tsx,mjs}\"",
|
||||||
|
"lint:spelling": "cspell \"**\" --no-progress",
|
||||||
"lint:style": "stylelint \"**/*.css\"",
|
"lint:style": "stylelint \"**/*.css\"",
|
||||||
"lerna": "lerna",
|
"lerna": "lerna",
|
||||||
"test": "cross-env TZ=UTC jest",
|
"test": "cross-env TZ=UTC jest",
|
||||||
|
@ -84,6 +85,7 @@
|
||||||
"@typescript-eslint/parser": "^5.8.1",
|
"@typescript-eslint/parser": "^5.8.1",
|
||||||
"concurrently": "^7.0.0",
|
"concurrently": "^7.0.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
|
"cspell": "^5.16.0",
|
||||||
"eslint": "^8.2.0",
|
"eslint": "^8.2.0",
|
||||||
"eslint-config-airbnb": "^19.0.0",
|
"eslint-config-airbnb": "^19.0.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "^8.3.0",
|
||||||
|
@ -123,7 +125,8 @@
|
||||||
"stylelint --allow-empty-input --fix"
|
"stylelint --allow-empty-input --fix"
|
||||||
],
|
],
|
||||||
"*": [
|
"*": [
|
||||||
"prettier --ignore-unknown --write"
|
"prettier --ignore-unknown --write",
|
||||||
|
"cspell --no-progress"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
|
@ -156,7 +156,7 @@ export default async function mdxLoader(
|
||||||
}
|
}
|
||||||
|
|
||||||
// MDX partials are MDX files starting with _ or in a folder starting with _
|
// MDX partials are MDX files starting with _ or in a folder starting with _
|
||||||
// Partial are not expected to have an associated metadata file or frontmatter
|
// Partial are not expected to have an associated metadata file or front matter
|
||||||
const isMDXPartial = options.isMDXPartial && options.isMDXPartial(filePath);
|
const isMDXPartial = options.isMDXPartial && options.isMDXPartial(filePath);
|
||||||
if (isMDXPartial && hasFrontMatter) {
|
if (isMDXPartial && hasFrontMatter) {
|
||||||
const errorMessage = `Docusaurus MDX partial files should not contain FrontMatter.
|
const errorMessage = `Docusaurus MDX partial files should not contain FrontMatter.
|
||||||
|
|
|
@ -38,9 +38,9 @@ export default function extractMetadata(content: string): Data {
|
||||||
// New line characters => to handle all operating systems.
|
// New line characters => to handle all operating systems.
|
||||||
const lines = (both.header ?? '').split(/\r?\n/);
|
const lines = (both.header ?? '').split(/\r?\n/);
|
||||||
for (let i = 0; i < lines.length - 1; i += 1) {
|
for (let i = 0; i < lines.length - 1; i += 1) {
|
||||||
const keyvalue = lines[i].split(':');
|
const keyValue = lines[i].split(':');
|
||||||
const key = keyvalue[0].trim();
|
const key = keyValue[0].trim();
|
||||||
let value = keyvalue.slice(1).join(':').trim();
|
let value = keyValue.slice(1).join(':').trim();
|
||||||
try {
|
try {
|
||||||
value = JSON.parse(value);
|
value = JSON.parse(value);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -51,7 +51,7 @@ export default function extractMetadata(content: string): Data {
|
||||||
return {metadata, rawContent: both.content};
|
return {metadata, rawContent: both.content};
|
||||||
}
|
}
|
||||||
|
|
||||||
// The new frontmatter parser need some special chars to
|
// The new front matter parser need some special chars to
|
||||||
export function shouldQuotifyFrontMatter([key, value]: [
|
export function shouldQuotifyFrontMatter([key, value]: [
|
||||||
string,
|
string,
|
||||||
string,
|
string,
|
||||||
|
@ -67,7 +67,7 @@ export function shouldQuotifyFrontMatter([key, value]: [
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// TODO this is not ideal to have to maintain such a list of allowed chars
|
// TODO this is not ideal to have to maintain such a list of allowed chars
|
||||||
// maybe we should quotify if graymatter throws instead?
|
// maybe we should quotify if gray-matter throws instead?
|
||||||
return !String(value).match(
|
return !String(value).match(
|
||||||
/^([\w .\-sàáâãäåçèéêëìíîïðòóôõöùúûüýÿ!;,=+_?'`&#()[\]§%€$])+$/,
|
/^([\w .\-sàáâãäåçèéêëìíîïðòóôõöùúûüýÿ!;,=+_?'`&#()[\]§%€$])+$/,
|
||||||
);
|
);
|
||||||
|
|
|
@ -165,7 +165,7 @@ export default function transformer(file: string): string {
|
||||||
return root.toSource();
|
return root.toSource();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDefaultImportDeclarators(rootAst: Collection) {
|
function getDefaultImportDeclarations(rootAst: Collection) {
|
||||||
// var ... = require('y')
|
// var ... = require('y')
|
||||||
return rootAst
|
return rootAst
|
||||||
.find(VariableDeclarator, {
|
.find(VariableDeclarator, {
|
||||||
|
@ -178,7 +178,7 @@ function getDefaultImportDeclarators(rootAst: Collection) {
|
||||||
.filter((variableDeclarator) => !!variableDeclarator.value);
|
.filter((variableDeclarator) => !!variableDeclarator.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNamedImportDeclarators(rootAst: Collection) {
|
function getNamedImportDeclarations(rootAst: Collection) {
|
||||||
// var ... = require('y').x
|
// var ... = require('y').x
|
||||||
return rootAst.find(VariableDeclarator, {
|
return rootAst.find(VariableDeclarator, {
|
||||||
init: {
|
init: {
|
||||||
|
@ -192,9 +192,9 @@ function getNamedImportDeclarators(rootAst: Collection) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function getImportDeclaratorPaths(variableDeclaration: Collection) {
|
function getImportDeclaratorPaths(variableDeclaration: Collection) {
|
||||||
const defaultImports = getDefaultImportDeclarators(variableDeclaration);
|
const defaultImports = getDefaultImportDeclarations(variableDeclaration);
|
||||||
|
|
||||||
const namedImports = getNamedImportDeclarators(variableDeclaration);
|
const namedImports = getNamedImportDeclarations(variableDeclaration);
|
||||||
|
|
||||||
return [...defaultImports.paths(), ...namedImports.paths()];
|
return [...defaultImports.paths(), ...namedImports.paths()];
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ describe('createToExtensionsRedirects', () => {
|
||||||
createToExtensionsRedirects(['/'], ['']);
|
createToExtensionsRedirects(['/'], ['']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\"\\" is not allowed.
|
"Extension \\"\\" is not allowed.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ describe('createToExtensionsRedirects', () => {
|
||||||
createToExtensionsRedirects(['/'], ['.html']);
|
createToExtensionsRedirects(['/'], ['.html']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\".html\\" contains a \\".\\" (dot) which is not allowed.
|
"Extension \\".html\\" contains a \\".\\" (dot) which is not allowed.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ describe('createToExtensionsRedirects', () => {
|
||||||
createToExtensionsRedirects(['/'], ['ht/ml']);
|
createToExtensionsRedirects(['/'], ['ht/ml']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\"ht/ml\\" contains a \\"/\\" (slash) which is not allowed.
|
"Extension \\"ht/ml\\" contains a \\"/\\" (slash) which is not allowed.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ describe('createToExtensionsRedirects', () => {
|
||||||
createToExtensionsRedirects(['/'], [',']);
|
createToExtensionsRedirects(['/'], [',']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\",\\" contains invalid URI characters.
|
"Extension \\",\\" contains invalid URI characters.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ describe('createFromExtensionsRedirects', () => {
|
||||||
createFromExtensionsRedirects(['/'], ['.html']);
|
createFromExtensionsRedirects(['/'], ['.html']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\".html\\" contains a \\".\\" (dot) which is not allowed.
|
"Extension \\".html\\" contains a \\".\\" (dot) which is not allowed.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ describe('createFromExtensionsRedirects', () => {
|
||||||
createFromExtensionsRedirects(['/'], ['.html']);
|
createFromExtensionsRedirects(['/'], ['.html']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\".html\\" contains a \\".\\" (dot) which is not allowed.
|
"Extension \\".html\\" contains a \\".\\" (dot) which is not allowed.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ describe('createFromExtensionsRedirects', () => {
|
||||||
createFromExtensionsRedirects(['/'], ['ht/ml']);
|
createFromExtensionsRedirects(['/'], ['ht/ml']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\"ht/ml\\" contains a \\"/\\" (slash) which is not allowed.
|
"Extension \\"ht/ml\\" contains a \\"/\\" (slash) which is not allowed.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ describe('createFromExtensionsRedirects', () => {
|
||||||
createFromExtensionsRedirects(['/'], [',']);
|
createFromExtensionsRedirects(['/'], [',']);
|
||||||
}).toThrowErrorMatchingInlineSnapshot(`
|
}).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"Extension \\",\\" contains invalid URI characters.
|
"Extension \\",\\" contains invalid URI characters.
|
||||||
If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
If the redirect extension system is not good enough for your use case, you can create redirects yourself with the \\"createRedirects\\" plugin option."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ import {
|
||||||
import type {RedirectMetadata} from './types';
|
import type {RedirectMetadata} from './types';
|
||||||
|
|
||||||
const ExtensionAdditionalMessage =
|
const ExtensionAdditionalMessage =
|
||||||
'If the redirect extension system is not good enough for your usecase, you can create redirects yourself with the "createRedirects" plugin option.';
|
'If the redirect extension system is not good enough for your use case, you can create redirects yourself with the "createRedirects" plugin option.';
|
||||||
|
|
||||||
const validateExtension = (ext: string) => {
|
const validateExtension = (ext: string) => {
|
||||||
if (!ext) {
|
if (!ext) {
|
||||||
|
|
|
@ -31,7 +31,7 @@ describe('getBlogPostAuthors', () => {
|
||||||
).toEqual([]);
|
).toEqual([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('can read author from legacy frontmatter', () => {
|
test('can read author from legacy front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
getBlogPostAuthors({
|
getBlogPostAuthors({
|
||||||
frontMatter: {
|
frontMatter: {
|
||||||
|
@ -251,7 +251,7 @@ describe('getBlogPostAuthors', () => {
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('throw when mixing legacy/new authors frontmatter', () => {
|
test('throw when mixing legacy/new authors front matter', () => {
|
||||||
expect(() =>
|
expect(() =>
|
||||||
getBlogPostAuthors({
|
getBlogPostAuthors({
|
||||||
frontMatter: {
|
frontMatter: {
|
||||||
|
@ -261,8 +261,8 @@ describe('getBlogPostAuthors', () => {
|
||||||
authorsMap: undefined,
|
authorsMap: undefined,
|
||||||
}),
|
}),
|
||||||
).toThrowErrorMatchingInlineSnapshot(`
|
).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"To declare blog post authors, use the 'authors' FrontMatter in priority.
|
"To declare blog post authors, use the 'authors' front matter in priority.
|
||||||
Don't mix 'authors' with other existing 'author_*' FrontMatter. Choose one or the other, not both at the same time."
|
Don't mix 'authors' with other existing 'author_*' front matter. Choose one or the other, not both at the same time."
|
||||||
`);
|
`);
|
||||||
|
|
||||||
expect(() =>
|
expect(() =>
|
||||||
|
@ -274,8 +274,8 @@ describe('getBlogPostAuthors', () => {
|
||||||
authorsMap: {slorber: {name: 'Sébastien Lorber'}},
|
authorsMap: {slorber: {name: 'Sébastien Lorber'}},
|
||||||
}),
|
}),
|
||||||
).toThrowErrorMatchingInlineSnapshot(`
|
).toThrowErrorMatchingInlineSnapshot(`
|
||||||
"To declare blog post authors, use the 'authors' FrontMatter in priority.
|
"To declare blog post authors, use the 'authors' front matter in priority.
|
||||||
Don't mix 'authors' with other existing 'author_*' FrontMatter. Choose one or the other, not both at the same time."
|
Don't mix 'authors' with other existing 'author_*' front matter. Choose one or the other, not both at the same time."
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -47,7 +47,7 @@ function testField(params: {
|
||||||
// eslint-disable-next-line jest/no-jasmine-globals
|
// eslint-disable-next-line jest/no-jasmine-globals
|
||||||
fail(
|
fail(
|
||||||
new Error(
|
new Error(
|
||||||
`Blog frontmatter is expected to be rejected, but was accepted successfully:\n ${JSON.stringify(
|
`Blog front matter is expected to be rejected, but was accepted successfully:\n ${JSON.stringify(
|
||||||
frontMatter,
|
frontMatter,
|
||||||
null,
|
null,
|
||||||
2,
|
2,
|
||||||
|
@ -105,8 +105,8 @@ describe('validateBlogPostFrontMatter id', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('validateBlogPostFrontMatter handles legacy/new author frontmatter', () => {
|
describe('validateBlogPostFrontMatter handles legacy/new author front matter', () => {
|
||||||
test('allow legacy author frontmatter', () => {
|
test('allow legacy author front matter', () => {
|
||||||
const frontMatter: BlogPostFrontMatter = {
|
const frontMatter: BlogPostFrontMatter = {
|
||||||
author: 'Sebastien',
|
author: 'Sebastien',
|
||||||
author_url: 'https://sebastienlorber.com',
|
author_url: 'https://sebastienlorber.com',
|
||||||
|
@ -116,7 +116,7 @@ describe('validateBlogPostFrontMatter handles legacy/new author frontmatter', ()
|
||||||
expect(validateBlogPostFrontMatter(frontMatter)).toEqual(frontMatter);
|
expect(validateBlogPostFrontMatter(frontMatter)).toEqual(frontMatter);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('allow new authors frontmatter', () => {
|
test('allow new authors front matter', () => {
|
||||||
const frontMatter: BlogPostFrontMatter = {
|
const frontMatter: BlogPostFrontMatter = {
|
||||||
authors: [
|
authors: [
|
||||||
'slorber',
|
'slorber',
|
||||||
|
|
|
@ -54,7 +54,7 @@ type AuthorsParam = {
|
||||||
authorsMap: AuthorsMap | undefined;
|
authorsMap: AuthorsMap | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Legacy v1/early-v2 frontmatter fields
|
// Legacy v1/early-v2 front matter fields
|
||||||
// We may want to deprecate those in favor of using only frontMatter.authors
|
// We may want to deprecate those in favor of using only frontMatter.authors
|
||||||
function getFrontMatterAuthorLegacy(
|
function getFrontMatterAuthorLegacy(
|
||||||
frontMatter: BlogPostFrontMatter,
|
frontMatter: BlogPostFrontMatter,
|
||||||
|
@ -123,7 +123,7 @@ ${Object.keys(authorsMap)
|
||||||
|
|
||||||
function toAuthor(frontMatterAuthor: BlogPostFrontMatterAuthor): Author {
|
function toAuthor(frontMatterAuthor: BlogPostFrontMatterAuthor): Author {
|
||||||
return {
|
return {
|
||||||
// Author def from authorsMap can be locally overridden by frontmatter
|
// Author def from authorsMap can be locally overridden by front matter
|
||||||
...getAuthorsMapAuthor(frontMatterAuthor.key),
|
...getAuthorsMapAuthor(frontMatterAuthor.key),
|
||||||
...frontMatterAuthor,
|
...frontMatterAuthor,
|
||||||
};
|
};
|
||||||
|
@ -137,11 +137,11 @@ export function getBlogPostAuthors(params: AuthorsParam): Author[] {
|
||||||
const authors = getFrontMatterAuthors(params);
|
const authors = getFrontMatterAuthors(params);
|
||||||
|
|
||||||
if (authorLegacy) {
|
if (authorLegacy) {
|
||||||
// Technically, we could allow mixing legacy/authors frontmatter, but do we really want to?
|
// Technically, we could allow mixing legacy/authors front matter, but do we really want to?
|
||||||
if (authors.length > 0) {
|
if (authors.length > 0) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`To declare blog post authors, use the 'authors' FrontMatter in priority.
|
`To declare blog post authors, use the 'authors' front matter in priority.
|
||||||
Don't mix 'authors' with other existing 'author_*' FrontMatter. Choose one or the other, not both at the same time.`,
|
Don't mix 'authors' with other existing 'author_*' front matter. Choose one or the other, not both at the same time.`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return [authorLegacy];
|
return [authorLegacy];
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {
|
import {
|
||||||
JoiFrontMatter as Joi, // Custom instance for frontmatter
|
JoiFrontMatter as Joi, // Custom instance for front matter
|
||||||
URISchema,
|
URISchema,
|
||||||
validateFrontMatter,
|
validateFrontMatter,
|
||||||
FrontMatterTagsSchema,
|
FrontMatterTagsSchema,
|
||||||
|
@ -35,7 +35,7 @@ const BlogFrontMatterSchema = Joi.object<BlogPostFrontMatter>({
|
||||||
draft: Joi.boolean(),
|
draft: Joi.boolean(),
|
||||||
date: Joi.date().raw(),
|
date: Joi.date().raw(),
|
||||||
|
|
||||||
// New multi-authors frontmatter:
|
// New multi-authors front matter:
|
||||||
authors: Joi.alternatives()
|
authors: Joi.alternatives()
|
||||||
.try(
|
.try(
|
||||||
Joi.string(),
|
Joi.string(),
|
||||||
|
@ -50,7 +50,7 @@ const BlogFrontMatterSchema = Joi.object<BlogPostFrontMatter>({
|
||||||
.messages({
|
.messages({
|
||||||
'alternatives.match': FrontMatterAuthorErrorMessage,
|
'alternatives.match': FrontMatterAuthorErrorMessage,
|
||||||
}),
|
}),
|
||||||
// Legacy author frontmatter
|
// Legacy author front matter
|
||||||
author: Joi.string(),
|
author: Joi.string(),
|
||||||
author_title: Joi.string(),
|
author_title: Joi.string(),
|
||||||
author_url: URISchema,
|
author_url: URISchema,
|
||||||
|
|
|
@ -30,11 +30,11 @@ declare module '@docusaurus/plugin-content-blog' {
|
||||||
tags?: FrontMatterTag[];
|
tags?: FrontMatterTag[];
|
||||||
slug?: string;
|
slug?: string;
|
||||||
draft?: boolean;
|
draft?: boolean;
|
||||||
date?: Date | string; // Yaml automagically convert some string patterns as Date, but not all
|
date?: Date | string; // Yaml automatically convert some string patterns as Date, but not all
|
||||||
|
|
||||||
authors?: BlogPostFrontMatterAuthors;
|
authors?: BlogPostFrontMatterAuthors;
|
||||||
|
|
||||||
// We may want to deprecate those older author frontmatter fields later:
|
// We may want to deprecate those older author front matter fields later:
|
||||||
author?: string;
|
author?: string;
|
||||||
author_title?: string;
|
author_title?: string;
|
||||||
author_url?: string;
|
author_url?: string;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
custom_edit_url: https://github.com/customUrl/docs/lorem.md
|
custom_edit_url: https://github.com/customUrl/docs/lorem.md
|
||||||
unrelated_frontmatter: won't be part of metadata
|
unrelated_front_matter: won't be part of metadata
|
||||||
---
|
---
|
||||||
|
|
||||||
Lorem ipsum.
|
Lorem ipsum.
|
||||||
|
|
|
@ -529,7 +529,7 @@ Object {
|
||||||
\\"version\\": \\"current\\",
|
\\"version\\": \\"current\\",
|
||||||
\\"frontMatter\\": {
|
\\"frontMatter\\": {
|
||||||
\\"custom_edit_url\\": \\"https://github.com/customUrl/docs/lorem.md\\",
|
\\"custom_edit_url\\": \\"https://github.com/customUrl/docs/lorem.md\\",
|
||||||
\\"unrelated_frontmatter\\": \\"won't be part of metadata\\"
|
\\"unrelated_front_matter\\": \\"won't be part of metadata\\"
|
||||||
}
|
}
|
||||||
}",
|
}",
|
||||||
"site-docs-root-absolute-slug-md-db5.json": "{
|
"site-docs-root-absolute-slug-md-db5.json": "{
|
||||||
|
|
|
@ -44,7 +44,7 @@ function testField(params: {
|
||||||
// eslint-disable-next-line jest/no-jasmine-globals
|
// eslint-disable-next-line jest/no-jasmine-globals
|
||||||
fail(
|
fail(
|
||||||
new Error(
|
new Error(
|
||||||
`Doc frontmatter is expected to be rejected, but was accepted successfully:\n ${JSON.stringify(
|
`Doc front matter is expected to be rejected, but was accepted successfully:\n ${JSON.stringify(
|
||||||
frontMatter,
|
frontMatter,
|
||||||
null,
|
null,
|
||||||
2,
|
2,
|
||||||
|
|
|
@ -37,15 +37,15 @@ const fixtureDir = path.join(__dirname, '__fixtures__');
|
||||||
|
|
||||||
const createFakeDocFile = ({
|
const createFakeDocFile = ({
|
||||||
source,
|
source,
|
||||||
frontmatter = {},
|
frontMatter = {},
|
||||||
markdown = 'some markdown content',
|
markdown = 'some markdown content',
|
||||||
}: {
|
}: {
|
||||||
source: string;
|
source: string;
|
||||||
frontmatter?: Record<string, string>;
|
frontMatter?: Record<string, string>;
|
||||||
markdown?: string;
|
markdown?: string;
|
||||||
}): DocFile => {
|
}): DocFile => {
|
||||||
const content = `---
|
const content = `---
|
||||||
${Object.entries(frontmatter)
|
${Object.entries(frontMatter)
|
||||||
.map(([key, value]) => `${key}: ${value}`)
|
.map(([key, value]) => `${key}: ${value}`)
|
||||||
.join('\n')}
|
.join('\n')}
|
||||||
---
|
---
|
||||||
|
@ -313,7 +313,7 @@ describe('simple site', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('docs with custom editUrl & unrelated frontmatter', async () => {
|
test('docs with custom editUrl & unrelated frontMatter', async () => {
|
||||||
const {defaultTestUtils} = await loadSite();
|
const {defaultTestUtils} = await loadSite();
|
||||||
|
|
||||||
await defaultTestUtils.testMeta('lorem.md', {
|
await defaultTestUtils.testMeta('lorem.md', {
|
||||||
|
@ -328,7 +328,7 @@ describe('simple site', () => {
|
||||||
description: 'Lorem ipsum.',
|
description: 'Lorem ipsum.',
|
||||||
frontMatter: {
|
frontMatter: {
|
||||||
custom_edit_url: 'https://github.com/customUrl/docs/lorem.md',
|
custom_edit_url: 'https://github.com/customUrl/docs/lorem.md',
|
||||||
unrelated_frontmatter: "won't be part of metadata",
|
unrelated_front_matter: "won't be part of metadata",
|
||||||
},
|
},
|
||||||
tags: [],
|
tags: [],
|
||||||
});
|
});
|
||||||
|
@ -422,7 +422,7 @@ describe('simple site', () => {
|
||||||
description: 'Lorem ipsum.',
|
description: 'Lorem ipsum.',
|
||||||
frontMatter: {
|
frontMatter: {
|
||||||
custom_edit_url: 'https://github.com/customUrl/docs/lorem.md',
|
custom_edit_url: 'https://github.com/customUrl/docs/lorem.md',
|
||||||
unrelated_frontmatter: "won't be part of metadata",
|
unrelated_front_matter: "won't be part of metadata",
|
||||||
},
|
},
|
||||||
lastUpdatedAt: 1539502055,
|
lastUpdatedAt: 1539502055,
|
||||||
formattedLastUpdatedAt: '10/14/2018',
|
formattedLastUpdatedAt: '10/14/2018',
|
||||||
|
@ -475,7 +475,7 @@ describe('simple site', () => {
|
||||||
defaultTestUtils.processDocFile(
|
defaultTestUtils.processDocFile(
|
||||||
createFakeDocFile({
|
createFakeDocFile({
|
||||||
source: 'some/fake/path',
|
source: 'some/fake/path',
|
||||||
frontmatter: {
|
frontMatter: {
|
||||||
id: 'Hello/world',
|
id: 'Hello/world',
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
@ -499,7 +499,7 @@ describe('simple site', () => {
|
||||||
docs.push(
|
docs.push(
|
||||||
createFakeDocFile({
|
createFakeDocFile({
|
||||||
source: 'hehe',
|
source: 'hehe',
|
||||||
frontmatter: {pagination_prev: 'nonexistent'},
|
frontMatter: {pagination_prev: 'nonexistent'},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
await expect(
|
await expect(
|
||||||
|
|
|
@ -70,13 +70,13 @@ describe('getSlug', () => {
|
||||||
).toEqual('/dir/subdir/');
|
).toEqual('/dir/subdir/');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should ignore conventional doc index when explicit slug frontmatter is provided', () => {
|
test('should ignore conventional doc index when explicit slug front matter is provided', () => {
|
||||||
expect(
|
expect(
|
||||||
getSlug({
|
getSlug({
|
||||||
baseID: 'doc',
|
baseID: 'doc',
|
||||||
source: '@site/docs/dir/subdir/index.md',
|
source: '@site/docs/dir/subdir/index.md',
|
||||||
sourceDirName: '/dir/subdir',
|
sourceDirName: '/dir/subdir',
|
||||||
frontmatterSlug: '/my/frontMatterSlug',
|
frontMatterSlug: '/my/frontMatterSlug',
|
||||||
}),
|
}),
|
||||||
).toEqual('/my/frontMatterSlug');
|
).toEqual('/my/frontMatterSlug');
|
||||||
});
|
});
|
||||||
|
@ -120,13 +120,13 @@ describe('getSlug', () => {
|
||||||
).toEqual('/doc');
|
).toEqual('/doc');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should resolve absolute slug frontmatter', () => {
|
test('should resolve absolute slug front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
getSlug({
|
getSlug({
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/doc.md',
|
source: '@site/docs/doc.md',
|
||||||
sourceDirName: '.',
|
sourceDirName: '.',
|
||||||
frontmatterSlug: '/abc/def',
|
frontMatterSlug: '/abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/abc/def');
|
).toEqual('/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -134,7 +134,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/any/doc.md',
|
source: '@site/docs/any/doc.md',
|
||||||
sourceDirName: './any',
|
sourceDirName: './any',
|
||||||
frontmatterSlug: '/abc/def',
|
frontMatterSlug: '/abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/abc/def');
|
).toEqual('/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -142,18 +142,18 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/any/any/doc.md',
|
source: '@site/docs/any/any/doc.md',
|
||||||
sourceDirName: './any/any',
|
sourceDirName: './any/any',
|
||||||
frontmatterSlug: '/abc/def',
|
frontMatterSlug: '/abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/abc/def');
|
).toEqual('/abc/def');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should resolve relative slug frontmatter', () => {
|
test('should resolve relative slug front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
getSlug({
|
getSlug({
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/doc.md',
|
source: '@site/docs/doc.md',
|
||||||
sourceDirName: '.',
|
sourceDirName: '.',
|
||||||
frontmatterSlug: 'abc/def',
|
frontMatterSlug: 'abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/abc/def');
|
).toEqual('/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -161,7 +161,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/dir/doc.md',
|
source: '@site/docs/dir/doc.md',
|
||||||
sourceDirName: '/dir',
|
sourceDirName: '/dir',
|
||||||
frontmatterSlug: 'abc/def',
|
frontMatterSlug: 'abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/dir/abc/def');
|
).toEqual('/dir/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -169,7 +169,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/unslashedDir/doc.md',
|
source: '@site/docs/unslashedDir/doc.md',
|
||||||
sourceDirName: 'unslashedDir',
|
sourceDirName: 'unslashedDir',
|
||||||
frontmatterSlug: 'abc/def',
|
frontMatterSlug: 'abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/unslashedDir/abc/def');
|
).toEqual('/unslashedDir/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -177,7 +177,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/dir/subdir/doc.md',
|
source: '@site/docs/dir/subdir/doc.md',
|
||||||
sourceDirName: 'dir/subdir',
|
sourceDirName: 'dir/subdir',
|
||||||
frontmatterSlug: 'abc/def',
|
frontMatterSlug: 'abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/dir/subdir/abc/def');
|
).toEqual('/dir/subdir/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -185,7 +185,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/dir/doc.md',
|
source: '@site/docs/dir/doc.md',
|
||||||
sourceDirName: '/dir',
|
sourceDirName: '/dir',
|
||||||
frontmatterSlug: './abc/def',
|
frontMatterSlug: './abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/dir/abc/def');
|
).toEqual('/dir/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -193,7 +193,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/dir/doc.md',
|
source: '@site/docs/dir/doc.md',
|
||||||
sourceDirName: '/dir',
|
sourceDirName: '/dir',
|
||||||
frontmatterSlug: './abc/../def',
|
frontMatterSlug: './abc/../def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/dir/def');
|
).toEqual('/dir/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -201,7 +201,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/dir/subdir/doc.md',
|
source: '@site/docs/dir/subdir/doc.md',
|
||||||
sourceDirName: '/dir/subdir',
|
sourceDirName: '/dir/subdir',
|
||||||
frontmatterSlug: '../abc/def',
|
frontMatterSlug: '../abc/def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/dir/abc/def');
|
).toEqual('/dir/abc/def');
|
||||||
expect(
|
expect(
|
||||||
|
@ -209,7 +209,7 @@ describe('getSlug', () => {
|
||||||
baseID: 'any',
|
baseID: 'any',
|
||||||
source: '@site/docs/dir/subdirdoc.md',
|
source: '@site/docs/dir/subdirdoc.md',
|
||||||
sourceDirName: '/dir/subdir',
|
sourceDirName: '/dir/subdir',
|
||||||
frontmatterSlug: '../../../../../abc/../def',
|
frontMatterSlug: '../../../../../abc/../def',
|
||||||
}),
|
}),
|
||||||
).toEqual('/def');
|
).toEqual('/def');
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {
|
import {
|
||||||
JoiFrontMatter as Joi, // Custom instance for frontmatter
|
JoiFrontMatter as Joi, // Custom instance for front matter
|
||||||
URISchema,
|
URISchema,
|
||||||
FrontMatterTagsSchema,
|
FrontMatterTagsSchema,
|
||||||
FrontMatterTOCHeadingLevels,
|
FrontMatterTOCHeadingLevels,
|
||||||
|
|
|
@ -138,7 +138,7 @@ function doProcessDocMetadata({
|
||||||
custom_edit_url: customEditURL,
|
custom_edit_url: customEditURL,
|
||||||
|
|
||||||
// Strip number prefixes by default (01-MyFolder/01-MyDoc.md => MyFolder/MyDoc) by default,
|
// Strip number prefixes by default (01-MyFolder/01-MyDoc.md => MyFolder/MyDoc) by default,
|
||||||
// but allow to disable this behavior with frontmatter
|
// but allow to disable this behavior with front matter
|
||||||
parse_number_prefixes: parseNumberPrefixes = true,
|
parse_number_prefixes: parseNumberPrefixes = true,
|
||||||
} = frontMatter;
|
} = frontMatter;
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ function doProcessDocMetadata({
|
||||||
throw new Error(`Document id "${baseID}" cannot include slash.`);
|
throw new Error(`Document id "${baseID}" cannot include slash.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For autogenerated sidebars, sidebar position can come from filename number prefix or frontmatter
|
// For autogenerated sidebars, sidebar position can come from filename number prefix or front matter
|
||||||
const sidebarPosition: number | undefined =
|
const sidebarPosition: number | undefined =
|
||||||
frontMatter.sidebar_position ?? numberPrefix;
|
frontMatter.sidebar_position ?? numberPrefix;
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ function doProcessDocMetadata({
|
||||||
: `version-${versionMetadata.versionName}`;
|
: `version-${versionMetadata.versionName}`;
|
||||||
|
|
||||||
// TODO legacy retrocompatibility
|
// TODO legacy retrocompatibility
|
||||||
// I think it's bad to affect the frontmatter id with the dirname?
|
// I think it's bad to affect the front matter id with the dirname?
|
||||||
function computeDirNameIdPrefix() {
|
function computeDirNameIdPrefix() {
|
||||||
if (sourceDirName === '.') {
|
if (sourceDirName === '.') {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
@ -198,7 +198,7 @@ function doProcessDocMetadata({
|
||||||
baseID,
|
baseID,
|
||||||
source,
|
source,
|
||||||
sourceDirName,
|
sourceDirName,
|
||||||
frontmatterSlug: frontMatter.slug,
|
frontMatterSlug: frontMatter.slug,
|
||||||
stripDirNumberPrefixes: parseNumberPrefixes,
|
stripDirNumberPrefixes: parseNumberPrefixes,
|
||||||
numberPrefixParser: options.numberPrefixParser,
|
numberPrefixParser: options.numberPrefixParser,
|
||||||
});
|
});
|
||||||
|
|
|
@ -606,7 +606,7 @@ describe('toDocNavigationLink', () => {
|
||||||
return data as DocMetadataBase;
|
return data as DocMetadataBase;
|
||||||
}
|
}
|
||||||
|
|
||||||
test('with no frontmatter', () => {
|
test('with no front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
toDocNavigationLink(
|
toDocNavigationLink(
|
||||||
testDoc({
|
testDoc({
|
||||||
|
@ -621,7 +621,7 @@ describe('toDocNavigationLink', () => {
|
||||||
} as DocNavLink);
|
} as DocNavLink);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('with pagination_label frontmatter', () => {
|
test('with pagination_label front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
toDocNavigationLink(
|
toDocNavigationLink(
|
||||||
testDoc({
|
testDoc({
|
||||||
|
@ -638,7 +638,7 @@ describe('toDocNavigationLink', () => {
|
||||||
} as DocNavLink);
|
} as DocNavLink);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('with sidebar_label frontmatter', () => {
|
test('with sidebar_label front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
toDocNavigationLink(
|
toDocNavigationLink(
|
||||||
testDoc({
|
testDoc({
|
||||||
|
@ -655,7 +655,7 @@ describe('toDocNavigationLink', () => {
|
||||||
} as DocNavLink);
|
} as DocNavLink);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('with pagination_label + sidebar_label frontmatter', () => {
|
test('with pagination_label + sidebar_label front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
toDocNavigationLink(
|
toDocNavigationLink(
|
||||||
testDoc({
|
testDoc({
|
||||||
|
|
|
@ -21,14 +21,14 @@ import type {NumberPrefixParser} from '@docusaurus/plugin-content-docs';
|
||||||
|
|
||||||
export default function getSlug({
|
export default function getSlug({
|
||||||
baseID,
|
baseID,
|
||||||
frontmatterSlug,
|
frontMatterSlug,
|
||||||
source,
|
source,
|
||||||
sourceDirName,
|
sourceDirName,
|
||||||
stripDirNumberPrefixes = true,
|
stripDirNumberPrefixes = true,
|
||||||
numberPrefixParser = DefaultNumberPrefixParser,
|
numberPrefixParser = DefaultNumberPrefixParser,
|
||||||
}: {
|
}: {
|
||||||
baseID: string;
|
baseID: string;
|
||||||
frontmatterSlug?: string;
|
frontMatterSlug?: string;
|
||||||
source: DocMetadataBase['slug'];
|
source: DocMetadataBase['slug'];
|
||||||
sourceDirName: DocMetadataBase['sourceDirName'];
|
sourceDirName: DocMetadataBase['sourceDirName'];
|
||||||
stripDirNumberPrefixes?: boolean;
|
stripDirNumberPrefixes?: boolean;
|
||||||
|
@ -46,14 +46,14 @@ export default function getSlug({
|
||||||
}
|
}
|
||||||
|
|
||||||
function computeSlug(): string {
|
function computeSlug(): string {
|
||||||
if (frontmatterSlug?.startsWith('/')) {
|
if (frontMatterSlug?.startsWith('/')) {
|
||||||
return frontmatterSlug;
|
return frontMatterSlug;
|
||||||
} else {
|
} else {
|
||||||
const dirNameSlug = getDirNameSlug();
|
const dirNameSlug = getDirNameSlug();
|
||||||
if (!frontmatterSlug && isConventionalDocIndex({source, sourceDirName})) {
|
if (!frontMatterSlug && isConventionalDocIndex({source, sourceDirName})) {
|
||||||
return dirNameSlug;
|
return dirNameSlug;
|
||||||
}
|
}
|
||||||
const baseSlug = frontmatterSlug || baseID;
|
const baseSlug = frontMatterSlug || baseID;
|
||||||
return resolvePathname(baseSlug, getDirNameSlug());
|
return resolvePathname(baseSlug, getDirNameSlug());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,8 +63,8 @@ export default function getSlug({
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`We couldn't compute a valid slug for document with id "${baseID}" in "${sourceDirName}" directory.
|
`We couldn't compute a valid slug for document with id "${baseID}" in "${sourceDirName}" directory.
|
||||||
The slug we computed looks invalid: ${slug}.
|
The slug we computed looks invalid: ${slug}.
|
||||||
Maybe your slug frontmatter is incorrect or you use weird chars in the file path?
|
Maybe your slug front matter is incorrect or you use weird chars in the file path?
|
||||||
By using the slug frontmatter, you should be able to fix this error, by using the slug of your choice:
|
By using the slug front matter, you should be able to fix this error, by using the slug of your choice:
|
||||||
|
|
||||||
Example =>
|
Example =>
|
||||||
---
|
---
|
||||||
|
|
|
@ -57,7 +57,7 @@ function getNormalizedSidebarName({
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Do we need to translate doc metadata?
|
// Do we need to translate doc metadata?
|
||||||
// It seems translating frontmatter labels is good enough
|
// It seems translating front matter labels is good enough
|
||||||
function getDocTranslations(doc: DocMetadata): TranslationFileContent {
|
function getDocTranslations(doc: DocMetadata): TranslationFileContent {
|
||||||
return {
|
return {
|
||||||
[`${doc.unversionedId}.title`]: {
|
[`${doc.unversionedId}.title`]: {
|
||||||
|
|
|
@ -22,7 +22,7 @@ function BlogPostAuthor({author}: Props): JSX.Element {
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{
|
{
|
||||||
// Note: only legacy author frontmatter allow empty name (not frontMatter.authors)
|
// Note: only legacy author front matter allow empty name (not frontMatter.authors)
|
||||||
name && (
|
name && (
|
||||||
<div
|
<div
|
||||||
className="avatar__intro"
|
className="avatar__intro"
|
||||||
|
|
|
@ -62,7 +62,7 @@ function BlogPostPage(props: Props): JSX.Element {
|
||||||
<meta property="og:type" content="article" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="article:published_time" content={date} />
|
<meta property="article:published_time" content={date} />
|
||||||
|
|
||||||
{/* TODO double check those article metas array syntaxes, see https://ogp.me/#array */}
|
{/* TODO double check those article meta array syntaxes, see https://ogp.me/#array */}
|
||||||
{authors.some((author) => author.url) && (
|
{authors.some((author) => author.url) && (
|
||||||
<meta
|
<meta
|
||||||
property="article:author"
|
property="article:author"
|
||||||
|
|
|
@ -33,7 +33,7 @@ export default function DocItem(props: Props): JSX.Element {
|
||||||
const {description, title} = metadata;
|
const {description, title} = metadata;
|
||||||
|
|
||||||
// We only add a title if:
|
// We only add a title if:
|
||||||
// - user asks to hide it with frontmatter
|
// - user asks to hide it with front matter
|
||||||
// - the markdown content does not already contain a top-level h1 heading
|
// - the markdown content does not already contain a top-level h1 heading
|
||||||
const shouldAddTitle =
|
const shouldAddTitle =
|
||||||
!hideTitle && typeof DocContent.contentTitle === 'undefined';
|
!hideTitle && typeof DocContent.contentTitle === 'undefined';
|
||||||
|
@ -75,7 +75,7 @@ export default function DocItem(props: Props): JSX.Element {
|
||||||
<div
|
<div
|
||||||
className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
|
className={clsx(ThemeClassNames.docs.docMarkdown, 'markdown')}>
|
||||||
{/*
|
{/*
|
||||||
Title can be declared inside md content or declared through frontmatter and added manually
|
Title can be declared inside md content or declared through front matter and added manually
|
||||||
To make both cases consistent, the added title is added under the same div.markdown block
|
To make both cases consistent, the added title is added under the same div.markdown block
|
||||||
See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
|
See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
|
||||||
*/}
|
*/}
|
||||||
|
|
|
@ -277,8 +277,10 @@ const ThemeConfigSchema = Joi.object({
|
||||||
metadata: Joi.array()
|
metadata: Joi.array()
|
||||||
.items(HtmlMetadataSchema)
|
.items(HtmlMetadataSchema)
|
||||||
.default(DEFAULT_CONFIG.metadata),
|
.default(DEFAULT_CONFIG.metadata),
|
||||||
|
// cSpell:ignore metadatas
|
||||||
metadatas: Joi.any().forbidden().messages({
|
metadatas: Joi.any().forbidden().messages({
|
||||||
'any.unknown':
|
'any.unknown':
|
||||||
|
// cSpell:ignore metadatas
|
||||||
'themeConfig.metadatas has been renamed as themeConfig.metadata. See https://github.com/facebook/docusaurus/pull/5871',
|
'themeConfig.metadatas has been renamed as themeConfig.metadata. See https://github.com/facebook/docusaurus/pull/5871',
|
||||||
}),
|
}),
|
||||||
announcementBar: Joi.object({
|
announcementBar: Joi.object({
|
||||||
|
|
|
@ -151,7 +151,7 @@ type CollapsibleElementType = React.ElementType<
|
||||||
Pick<React.HTMLAttributes<unknown>, 'className' | 'onTransitionEnd' | 'style'>
|
Pick<React.HTMLAttributes<unknown>, 'className' | 'onTransitionEnd' | 'style'>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
// Prevent hydration layout shift before anims are handled imperatively with JS
|
// Prevent hydration layout shift before animations are handled imperatively with JS
|
||||||
function getSSRStyle(collapsed: boolean) {
|
function getSSRStyle(collapsed: boolean) {
|
||||||
if (ExecutionEnvironment.canUseDOM) {
|
if (ExecutionEnvironment.canUseDOM) {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
|
@ -43,7 +43,7 @@ const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
|
||||||
|
|
||||||
const [isClosed, setClosed] = useState(() =>
|
const [isClosed, setClosed] = useState(() =>
|
||||||
isBrowser
|
isBrowser
|
||||||
? // On client navigation: init with localstorage value
|
? // On client navigation: init with local storage value
|
||||||
isDismissedInStorage()
|
isDismissedInStorage()
|
||||||
: // On server/hydration: always visible to prevent layout shifts (will be hidden with css if needed)
|
: // On server/hydration: always visible to prevent layout shifts (will be hidden with css if needed)
|
||||||
false,
|
false,
|
||||||
|
@ -68,6 +68,7 @@ const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
|
||||||
|
|
||||||
// retrocompatibility due to spelling mistake of default id
|
// retrocompatibility due to spelling mistake of default id
|
||||||
// see https://github.com/facebook/docusaurus/issues/3338
|
// see https://github.com/facebook/docusaurus/issues/3338
|
||||||
|
// cSpell:ignore annoucement
|
||||||
if (viewedId === 'annoucement-bar') {
|
if (viewedId === 'annoucement-bar') {
|
||||||
viewedId = 'announcement-bar';
|
viewedId = 'announcement-bar';
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ type DocsPreferredVersionState = Record<
|
||||||
DocsPreferredVersionPluginState
|
DocsPreferredVersionPluginState
|
||||||
>;
|
>;
|
||||||
|
|
||||||
// Initial state is always null as we can't read localstorage from node SSR
|
// Initial state is always null as we can't read local storage from node SSR
|
||||||
function getInitialState(pluginIds: string[]): DocsPreferredVersionState {
|
function getInitialState(pluginIds: string[]): DocsPreferredVersionState {
|
||||||
const initialState: DocsPreferredVersionState = {};
|
const initialState: DocsPreferredVersionState = {};
|
||||||
pluginIds.forEach((pluginId) => {
|
pluginIds.forEach((pluginId) => {
|
||||||
|
|
|
@ -104,7 +104,7 @@ export function MobileSecondaryMenuFiller<
|
||||||
const memoizedProps = useShallowMemoizedObject(props);
|
const memoizedProps = useShallowMemoizedObject(props);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// @ts-expect-error: context is not 100% typesafe but it's ok
|
// @ts-expect-error: context is not 100% type-safe but it's ok
|
||||||
setState({component, props: memoizedProps});
|
setState({component, props: memoizedProps});
|
||||||
}, [setState, component, memoizedProps]);
|
}, [setState, component, memoizedProps]);
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
||||||
import Head from '@docusaurus/Head';
|
import Head from '@docusaurus/Head';
|
||||||
import type {Props} from '@theme/SearchMetadata';
|
import type {Props} from '@theme/SearchMetadata';
|
||||||
|
|
||||||
// Override default/agnostic SearchMetas to use Algolia-specific metadata
|
// Override default/agnostic SearchMetadata to use Algolia-specific metadata
|
||||||
function SearchMetadata({locale, version, tag}: Props): JSX.Element {
|
function SearchMetadata({locale, version, tag}: Props): JSX.Element {
|
||||||
// Seems safe to consider here the locale is the language,
|
// Seems safe to consider here the locale is the language,
|
||||||
// as the existing docsearch:language filter is afaik a regular string-based filter
|
// as the existing docsearch:language filter is afaik a regular string-based filter
|
||||||
|
|
|
@ -98,11 +98,11 @@
|
||||||
border: 0.4em solid #eee;
|
border: 0.4em solid #eee;
|
||||||
border-top-color: var(--ifm-color-primary);
|
border-top-color: var(--ifm-color-primary);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: loadingspin 1s linear infinite;
|
animation: loading-spin 1s linear infinite;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes loadingspin {
|
@keyframes loading-spin {
|
||||||
100% {
|
100% {
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
import Joi from './Joi';
|
import Joi from './Joi';
|
||||||
|
|
||||||
// Enhance the default Joi.string() type so that it can convert number to strings
|
// Enhance the default Joi.string() type so that it can convert number to strings
|
||||||
// If user use frontmatter "tag: 2021", we shouldn't need to ask the user to write "tag: '2021'"
|
// If user use front matter "tag: 2021", we shouldn't need to ask the user to write "tag: '2021'"
|
||||||
// Also yaml tries to convert patterns like "2019-01-01" to dates automatically
|
// Also yaml tries to convert patterns like "2019-01-01" to dates automatically
|
||||||
// see https://github.com/facebook/docusaurus/issues/4642
|
// see https://github.com/facebook/docusaurus/issues/4642
|
||||||
// see https://github.com/sideway/joi/issues/1442#issuecomment-823997884
|
// see https://github.com/sideway/joi/issues/1442#issuecomment-823997884
|
||||||
|
|
|
@ -32,7 +32,7 @@ describe('validateFrontMatter', () => {
|
||||||
validateFrontMatter(frontMatter, schema),
|
validateFrontMatter(frontMatter, schema),
|
||||||
).toThrowErrorMatchingInlineSnapshot(`"\\"test\\" must be a string"`);
|
).toThrowErrorMatchingInlineSnapshot(`"\\"test\\" must be a string"`);
|
||||||
expect(consoleError).toHaveBeenCalledWith(
|
expect(consoleError).toHaveBeenCalledWith(
|
||||||
expect.stringContaining('The following frontmatter'),
|
expect.stringContaining('The following front matter'),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ describe('validateFrontMatter', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Fix Yaml trying to convert strings to numbers automatically
|
// Fix Yaml trying to convert strings to numbers automatically
|
||||||
// We only want to deal with a single type in the final frontmatter (not string | number)
|
// We only want to deal with a single type in the final front matter (not string | number)
|
||||||
test('should convert number values to string when string schema', () => {
|
test('should convert number values to string when string schema', () => {
|
||||||
const schema = Joi.object<{test: string}>({
|
const schema = Joi.object<{test: string}>({
|
||||||
test: JoiFrontMatter.string(),
|
test: JoiFrontMatter.string(),
|
||||||
|
@ -60,7 +60,7 @@ describe('validateFrontMatter', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Helps to fix Yaml trying to convert strings to dates automatically
|
// Helps to fix Yaml trying to convert strings to dates automatically
|
||||||
// We only want to deal with a single type in the final frontmatter (not string | Date)
|
// We only want to deal with a single type in the final front matter (not string | Date)
|
||||||
test('should convert date values when string schema', () => {
|
test('should convert date values when string schema', () => {
|
||||||
const schema = Joi.object<{test: string}>({
|
const schema = Joi.object<{test: string}>({
|
||||||
test: JoiFrontMatter.string(),
|
test: JoiFrontMatter.string(),
|
||||||
|
|
|
@ -112,7 +112,7 @@ export function validateFrontMatter<T>(
|
||||||
|
|
||||||
logValidationBugReportHint();
|
logValidationBugReportHint();
|
||||||
|
|
||||||
logger.error`The following frontmatter:
|
logger.error`The following front matter:
|
||||||
${logger.yellow(frontMatterString)}
|
${logger.yellow(frontMatterString)}
|
||||||
contains invalid values for field(s): ${logger.yellow(invalidFields)}.
|
contains invalid values for field(s): ${logger.yellow(invalidFields)}.
|
||||||
${errorDetails.map(({message}) => message)}
|
${errorDetails.map(({message}) => message)}
|
||||||
|
|
|
@ -552,7 +552,7 @@ Lorem Ipsum
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('parseMarkdownString', () => {
|
describe('parseMarkdownString', () => {
|
||||||
test('parse markdown with frontmatter', () => {
|
test('parse markdown with front matter', () => {
|
||||||
expect(
|
expect(
|
||||||
parseMarkdownString(dedent`
|
parseMarkdownString(dedent`
|
||||||
---
|
---
|
||||||
|
@ -592,7 +592,7 @@ describe('parseMarkdownString', () => {
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should warn about duplicate titles (frontmatter + markdown)', () => {
|
test('should warn about duplicate titles (front matter + markdown)', () => {
|
||||||
expect(
|
expect(
|
||||||
parseMarkdownString(dedent`
|
parseMarkdownString(dedent`
|
||||||
---
|
---
|
||||||
|
@ -617,7 +617,7 @@ describe('parseMarkdownString', () => {
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should warn about duplicate titles (frontmatter + markdown alternate)', () => {
|
test('should warn about duplicate titles (front matter + markdown alternate)', () => {
|
||||||
expect(
|
expect(
|
||||||
parseMarkdownString(dedent`
|
parseMarkdownString(dedent`
|
||||||
---
|
---
|
||||||
|
|
|
@ -84,8 +84,8 @@ export function fileToPath(file: string): string {
|
||||||
return `/${file.replace(extRE, '').replace(/\\/g, '/')}`;
|
return `/${file.replace(extRE, '').replace(/\\/g, '/')}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function encodePath(userpath: string): string {
|
export function encodePath(userPath: string): string {
|
||||||
return userpath
|
return userPath
|
||||||
.split('/')
|
.split('/')
|
||||||
.map((item) => encodeURIComponent(item))
|
.map((item) => encodeURIComponent(item))
|
||||||
.join('/');
|
.join('/');
|
||||||
|
|
|
@ -192,8 +192,8 @@ export function parseMarkdownString(
|
||||||
excerpt,
|
excerpt,
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error(`Error while parsing Markdown frontmatter.
|
logger.error(`Error while parsing Markdown front matter.
|
||||||
This can happen if you use special characters in frontmatter values (try using double quotes around that value).`);
|
This can happen if you use special characters in front matter values (try using double quotes around that value).`);
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ cli
|
||||||
.description('Build website.')
|
.description('Build website.')
|
||||||
.option(
|
.option(
|
||||||
'--bundle-analyzer',
|
'--bundle-analyzer',
|
||||||
'visualize size of webpack output files with an interactive zoomable treemap (default: false)',
|
'visualize size of webpack output files with an interactive zoomable tree map (default: false)',
|
||||||
)
|
)
|
||||||
.option(
|
.option(
|
||||||
'--out-dir <dir>',
|
'--out-dir <dir>',
|
||||||
|
|
|
@ -78,7 +78,7 @@ export default async function build(
|
||||||
}
|
}
|
||||||
|
|
||||||
// We need the default locale to always be the 1st in the list
|
// We need the default locale to always be the 1st in the list
|
||||||
// If we build it last, it would "erase" the localized sites built in subfolders
|
// If we build it last, it would "erase" the localized sites built in sub-folders
|
||||||
const orderedLocales: string[] = [
|
const orderedLocales: string[] = [
|
||||||
i18n.defaultLocale,
|
i18n.defaultLocale,
|
||||||
...i18n.locales.filter((locale) => locale !== i18n.defaultLocale),
|
...i18n.locales.filter((locale) => locale !== i18n.defaultLocale),
|
||||||
|
@ -136,7 +136,7 @@ async function buildLocale({
|
||||||
plugins: [
|
plugins: [
|
||||||
// Remove/clean build folders before building bundles.
|
// Remove/clean build folders before building bundles.
|
||||||
new CleanWebpackPlugin({verbose: false}),
|
new CleanWebpackPlugin({verbose: false}),
|
||||||
// Visualize size of webpack output files with an interactive zoomable treemap.
|
// Visualize size of webpack output files with an interactive zoomable tree map.
|
||||||
cliOptions.bundleAnalyzer && new BundleAnalyzerPlugin(),
|
cliOptions.bundleAnalyzer && new BundleAnalyzerPlugin(),
|
||||||
// Generate client manifests file that will be used for server bundle.
|
// Generate client manifests file that will be used for server bundle.
|
||||||
new ReactLoadableSSRAddon({
|
new ReactLoadableSSRAddon({
|
||||||
|
|
|
@ -221,7 +221,7 @@ function createBootstrapPlugin({
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configurer Webpack fallback mdx loader for md/mdx files out of content-plugin folders
|
// Configure Webpack fallback mdx loader for md/mdx files out of content-plugin folders
|
||||||
// Adds a "fallback" mdx loader for mdx files that are not processed by content plugins
|
// Adds a "fallback" mdx loader for mdx files that are not processed by content plugins
|
||||||
// This allows to do things such as importing repo/README.md as a partial from another doc
|
// This allows to do things such as importing repo/README.md as a partial from another doc
|
||||||
// Not ideal solution though, but good enough for now
|
// Not ideal solution though, but good enough for now
|
||||||
|
@ -266,7 +266,7 @@ function createMDXFallbackPlugin({
|
||||||
),
|
),
|
||||||
siteDir,
|
siteDir,
|
||||||
isMDXPartial: (_filename: string) => true, // External mdx files are always meant to be imported as partials
|
isMDXPartial: (_filename: string) => true, // External mdx files are always meant to be imported as partials
|
||||||
isMDXPartialFrontMatterWarningDisabled: true, // External mdx files might have frontmatter, let's just disable the warning
|
isMDXPartialFrontMatterWarningDisabled: true, // External mdx files might have front matter, let's just disable the warning
|
||||||
remarkPlugins: [admonitions],
|
remarkPlugins: [admonitions],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -31,7 +31,7 @@ const TranslatableSourceCodeExtension = new Set([
|
||||||
'.ts',
|
'.ts',
|
||||||
'.tsx',
|
'.tsx',
|
||||||
// TODO support md/mdx too? (may be overkill)
|
// TODO support md/mdx too? (may be overkill)
|
||||||
// need to compile the MDX to JSX first and remove frontmatter
|
// need to compile the MDX to JSX first and remove front matter
|
||||||
// '.md',
|
// '.md',
|
||||||
// '.mdx',
|
// '.mdx',
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -236,7 +236,7 @@ export function applyConfigurePostCss(
|
||||||
options: {postcssOptions: PostCssOptions};
|
options: {postcssOptions: PostCssOptions};
|
||||||
};
|
};
|
||||||
|
|
||||||
// not ideal heuristic but good enough for our usecase?
|
// not ideal heuristic but good enough for our use-case?
|
||||||
function isPostCssLoader(loader: unknown): loader is LocalPostCSSLoader {
|
function isPostCssLoader(loader: unknown): loader is LocalPostCSSLoader {
|
||||||
return !!(loader as LocalPostCSSLoader)?.options?.postcssOptions;
|
return !!(loader as LocalPostCSSLoader)?.options?.postcssOptions;
|
||||||
}
|
}
|
||||||
|
|
285
project-words.txt
Normal file
285
project-words.txt
Normal file
|
@ -0,0 +1,285 @@
|
||||||
|
abernathyca
|
||||||
|
adriaan
|
||||||
|
agan
|
||||||
|
alexey
|
||||||
|
algoliasearch
|
||||||
|
anonymized
|
||||||
|
anshul
|
||||||
|
apfs
|
||||||
|
apos
|
||||||
|
appinstalled
|
||||||
|
applanga
|
||||||
|
architecting
|
||||||
|
astro
|
||||||
|
atrule
|
||||||
|
autogen
|
||||||
|
backport
|
||||||
|
backticks
|
||||||
|
bartosz
|
||||||
|
beforeinstallprompt
|
||||||
|
bhatt
|
||||||
|
blockquotes
|
||||||
|
browserslist
|
||||||
|
browserstack
|
||||||
|
buble
|
||||||
|
caabernathy
|
||||||
|
cacheable
|
||||||
|
callouts
|
||||||
|
callstack
|
||||||
|
camelcase
|
||||||
|
candillon
|
||||||
|
cdabcdab
|
||||||
|
cdpath
|
||||||
|
cena
|
||||||
|
changefreq
|
||||||
|
chedeau
|
||||||
|
cheng
|
||||||
|
clément
|
||||||
|
clsx
|
||||||
|
codesandbox
|
||||||
|
colocation
|
||||||
|
contravariance
|
||||||
|
corejs
|
||||||
|
creativecommons
|
||||||
|
csvg
|
||||||
|
customizability
|
||||||
|
daishi
|
||||||
|
datagit
|
||||||
|
datas
|
||||||
|
dedup
|
||||||
|
deduplicated
|
||||||
|
devto
|
||||||
|
dmitry
|
||||||
|
docgen
|
||||||
|
docsearch
|
||||||
|
docsify
|
||||||
|
docu
|
||||||
|
docusuarus
|
||||||
|
docz
|
||||||
|
doesn
|
||||||
|
dogfood
|
||||||
|
dogfooding
|
||||||
|
dyte
|
||||||
|
easyops
|
||||||
|
endi
|
||||||
|
endilie
|
||||||
|
endiliey
|
||||||
|
entrypoints
|
||||||
|
errnametoolong
|
||||||
|
esbuild
|
||||||
|
eslintcache
|
||||||
|
evaluable
|
||||||
|
externalwaiting
|
||||||
|
failfast
|
||||||
|
fbid
|
||||||
|
fienny
|
||||||
|
flac
|
||||||
|
formik
|
||||||
|
fouc
|
||||||
|
froms
|
||||||
|
funboxteam
|
||||||
|
getopts
|
||||||
|
gitpod
|
||||||
|
globbing
|
||||||
|
globby
|
||||||
|
goss
|
||||||
|
goyal
|
||||||
|
gtag
|
||||||
|
héctor
|
||||||
|
hideable
|
||||||
|
hola
|
||||||
|
horiz
|
||||||
|
hostman
|
||||||
|
hoverable
|
||||||
|
ianad
|
||||||
|
idempotency
|
||||||
|
immer
|
||||||
|
infima
|
||||||
|
inlines
|
||||||
|
intelli
|
||||||
|
interpolatable
|
||||||
|
jamstack
|
||||||
|
javadoc
|
||||||
|
jmarcey
|
||||||
|
jscodeshift
|
||||||
|
jssdk
|
||||||
|
kaszubowski
|
||||||
|
katex
|
||||||
|
kato
|
||||||
|
keyscan
|
||||||
|
keytar
|
||||||
|
knapen
|
||||||
|
koyeb
|
||||||
|
kubernetes
|
||||||
|
lamana
|
||||||
|
lifecycles
|
||||||
|
linkify
|
||||||
|
localizable
|
||||||
|
lorber
|
||||||
|
lowercased
|
||||||
|
lqip
|
||||||
|
lunrjs
|
||||||
|
mapbox
|
||||||
|
marcey
|
||||||
|
massoud
|
||||||
|
mathjax
|
||||||
|
mdast
|
||||||
|
mdxast
|
||||||
|
mdxhast
|
||||||
|
metadatum
|
||||||
|
metastring
|
||||||
|
middlewares
|
||||||
|
mkcert
|
||||||
|
mkdir
|
||||||
|
mkdirs
|
||||||
|
mkdocs
|
||||||
|
moesif
|
||||||
|
msapplication
|
||||||
|
nabors
|
||||||
|
nakagawa
|
||||||
|
nand
|
||||||
|
navigations
|
||||||
|
navlink
|
||||||
|
netrc
|
||||||
|
nextra
|
||||||
|
ngryman
|
||||||
|
nisarag
|
||||||
|
noflash
|
||||||
|
noicon
|
||||||
|
noindex
|
||||||
|
nojekyll
|
||||||
|
noninteractive
|
||||||
|
noreply
|
||||||
|
npmjs
|
||||||
|
nprogress
|
||||||
|
ntfs
|
||||||
|
nuxt
|
||||||
|
onboarded
|
||||||
|
opensearch
|
||||||
|
opensearchdescription
|
||||||
|
optimizt
|
||||||
|
optind
|
||||||
|
overrideable
|
||||||
|
pageview
|
||||||
|
palenight
|
||||||
|
paletton
|
||||||
|
palo
|
||||||
|
paraiso
|
||||||
|
pathinfo
|
||||||
|
pathnames
|
||||||
|
peaceiris
|
||||||
|
philpl
|
||||||
|
photoshop
|
||||||
|
picocolors
|
||||||
|
pluggable
|
||||||
|
plushie
|
||||||
|
posthog
|
||||||
|
precache
|
||||||
|
precached
|
||||||
|
precaching
|
||||||
|
preconfigured
|
||||||
|
preconnect
|
||||||
|
prefetch
|
||||||
|
prefetching
|
||||||
|
prepended
|
||||||
|
preprocessors
|
||||||
|
prerendered
|
||||||
|
prerendering
|
||||||
|
println
|
||||||
|
prismjs
|
||||||
|
profilo
|
||||||
|
protobuf
|
||||||
|
protobuffet
|
||||||
|
prpl
|
||||||
|
pyltsyn
|
||||||
|
qjpuv
|
||||||
|
qovery
|
||||||
|
quasis
|
||||||
|
quddus
|
||||||
|
quddús
|
||||||
|
quotify
|
||||||
|
ramón
|
||||||
|
rearchitecture
|
||||||
|
recrawl
|
||||||
|
redirections
|
||||||
|
redoc
|
||||||
|
redocusaurus
|
||||||
|
redwoodjs
|
||||||
|
refactorings
|
||||||
|
regexes
|
||||||
|
rehype
|
||||||
|
reponame
|
||||||
|
retrocompatibility
|
||||||
|
retrocompatible
|
||||||
|
roadmap
|
||||||
|
rocketvalidator
|
||||||
|
rtcts
|
||||||
|
rtlcss
|
||||||
|
sàáâãäåçèéêëìíîïðòóôõöùúûüýÿ
|
||||||
|
scaleway
|
||||||
|
searchbar
|
||||||
|
sebastien
|
||||||
|
sébastien
|
||||||
|
sebastienlorber
|
||||||
|
sensical
|
||||||
|
setaf
|
||||||
|
sida
|
||||||
|
simen
|
||||||
|
slorber
|
||||||
|
stackblitz
|
||||||
|
stackblitzrc
|
||||||
|
strikethroughs
|
||||||
|
stylelint
|
||||||
|
stylelintrc
|
||||||
|
sublabel
|
||||||
|
sublicensable
|
||||||
|
sublist
|
||||||
|
subpage
|
||||||
|
subroute
|
||||||
|
subroutes
|
||||||
|
subsetting
|
||||||
|
sucipto
|
||||||
|
supabase
|
||||||
|
svgr
|
||||||
|
swizzlable
|
||||||
|
teik
|
||||||
|
templating
|
||||||
|
toolset
|
||||||
|
toplevel
|
||||||
|
transifex
|
||||||
|
transpiles
|
||||||
|
treeify
|
||||||
|
triaging
|
||||||
|
typesense
|
||||||
|
unflat
|
||||||
|
unist
|
||||||
|
unlocalized
|
||||||
|
unnormalized
|
||||||
|
unoptimized
|
||||||
|
unprefixed
|
||||||
|
unswizzle
|
||||||
|
unversioned
|
||||||
|
upvotes
|
||||||
|
vannicatte
|
||||||
|
vercel
|
||||||
|
vetter
|
||||||
|
vfile
|
||||||
|
vicenti
|
||||||
|
vieira
|
||||||
|
viewports
|
||||||
|
vinnik
|
||||||
|
vjeux
|
||||||
|
waivable
|
||||||
|
wcag
|
||||||
|
webfactory
|
||||||
|
webpackbar
|
||||||
|
wolcott
|
||||||
|
writeups
|
||||||
|
xclip
|
||||||
|
xplorer
|
||||||
|
xsoar
|
||||||
|
yacop
|
||||||
|
yangshun
|
||||||
|
yangshunz
|
||||||
|
zhou
|
||||||
|
zoomable
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
test: 'some test frontmatter'
|
test: 'some test front matter'
|
||||||
---
|
---
|
||||||
|
|
||||||
# Docusaurus website dogfooding
|
# Docusaurus website dogfooding
|
||||||
|
|
|
@ -39,7 +39,7 @@ At Facebook, Docusaurus allows us to quickly get different projects up and runni
|
||||||
|
|
||||||
## Getting Up and Running
|
## Getting Up and Running
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
At its core, we wanted sites running Docusaurus to be simple to use. With one [installation](https://v1.docusaurus.io/docs/en/installation.html) command and some simple [configuration](https://v1.docusaurus.io/docs/en/site-preparation.html), you can actually have a default running website.
|
At its core, we wanted sites running Docusaurus to be simple to use. With one [installation](https://v1.docusaurus.io/docs/en/installation.html) command and some simple [configuration](https://v1.docusaurus.io/docs/en/site-preparation.html), you can actually have a default running website.
|
||||||
|
|
||||||
|
@ -51,8 +51,8 @@ root-of-repo
|
||||||
│ ├── doc1.md
|
│ ├── doc1.md
|
||||||
│ ├── doc2.md
|
│ ├── doc2.md
|
||||||
│ ├── doc3.md
|
│ ├── doc3.md
|
||||||
│ ├── exampledoc4.md
|
│ ├── example-doc4.md
|
||||||
│ └── exampledoc5.md
|
│ └── example-doc5.md
|
||||||
├── website
|
├── website
|
||||||
│ ├── blog-examples-from-docusaurus
|
│ ├── blog-examples-from-docusaurus
|
||||||
│ │ ├── 2016-03-11-blog-post.md
|
│ │ ├── 2016-03-11-blog-post.md
|
||||||
|
|
|
@ -16,7 +16,7 @@ It is impossible to overstate Endi's impact on this project:
|
||||||
|
|
||||||
Thinking about it now, it is absolutely amazing how much Endi accomplished on Docusaurus given what he was battling with his health.
|
Thinking about it now, it is absolutely amazing how much Endi accomplished on Docusaurus given what he was battling with his health.
|
||||||
|
|
||||||
We are working on ways to honor Endi's contributions - a commemerative sticker, possibly - and we are open to ideas. Leave a comment here or [tweet](https://twitter.com/docusaurus) if you have a suggestion.
|
We are working on ways to honor Endi's contributions - a commemorative sticker, possibly - and we are open to ideas. Leave a comment here or [tweet](https://twitter.com/docusaurus) if you have a suggestion.
|
||||||
|
|
||||||
The Docusaurus project will not be the same without Endi, and those of us who worked with him will miss him greatly. 😔
|
The Docusaurus project will not be the same without Endi, and those of us who worked with him will miss him greatly. 😔
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ module.exports = {
|
||||||
|
|
||||||
### Announcement bar {#announcement-bar}
|
### Announcement bar {#announcement-bar}
|
||||||
|
|
||||||
Sometimes you want to announce something in your website. Just for such a case, you can add an announcement bar. This is a non-fixed and optionally dismissable panel above the navbar. All configuration are in the `announcementBar` object.
|
Sometimes you want to announce something in your website. Just for such a case, you can add an announcement bar. This is a non-fixed and optionally dismissible panel above the navbar. All configuration are in the `announcementBar` object.
|
||||||
|
|
||||||
Accepted fields:
|
Accepted fields:
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ This theme provides a `@theme/SearchBar` component that integrates with Algolia
|
||||||
npm install --save @docusaurus/theme-search-algolia
|
npm install --save @docusaurus/theme-search-algolia
|
||||||
```
|
```
|
||||||
|
|
||||||
This theme also adds search page available at `/search` (as swizzleable `SearchPage` component) path with OpenSearch support.
|
This theme also adds search page available at `/search` (as swizzlable `SearchPage` component) path with OpenSearch support.
|
||||||
|
|
||||||
:::tip
|
:::tip
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ Using a folder can be convenient to co-locate blog post images alongside the Mar
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
The only required field in the front matter is `title`; however, we provide options to add more metadata to your blog post, for example, author information. For all possible fields, see [the API documentation](api/plugins/plugin-content-blog.md#markdown-frontmatter).
|
The only required field in the front matter is `title`; however, we provide options to add more metadata to your blog post, for example, author information. For all possible fields, see [the API documentation](api/plugins/plugin-content-blog.md#markdown-front-matter).
|
||||||
|
|
||||||
## Blog list {#blog-list}
|
## Blog list {#blog-list}
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ Use the `authors` front matter field to declare blog post authors.
|
||||||
Blog post authors can be declared directly inside the front matter:
|
Blog post authors can be declared directly inside the front matter:
|
||||||
|
|
||||||
````mdx-code-block
|
````mdx-code-block
|
||||||
<Tabs groupId="author-frontmatter">
|
<Tabs groupId="author-front-matter">
|
||||||
<TabItem value="single" label="Single author">
|
<TabItem value="single" label="Single author">
|
||||||
|
|
||||||
```md title="my-blog-post.md"
|
```md title="my-blog-post.md"
|
||||||
|
@ -266,7 +266,7 @@ Use the `authorsMapPath` plugin option to configure the path. JSON is also suppo
|
||||||
In blog posts front matter, you can reference the authors declared in the global configuration file:
|
In blog posts front matter, you can reference the authors declared in the global configuration file:
|
||||||
|
|
||||||
````mdx-code-block
|
````mdx-code-block
|
||||||
<Tabs groupId="author-frontmatter">
|
<Tabs groupId="author-front-matter">
|
||||||
<TabItem value="single" label="Single author">
|
<TabItem value="single" label="Single author">
|
||||||
|
|
||||||
```md title="my-blog-post.md"
|
```md title="my-blog-post.md"
|
||||||
|
|
|
@ -70,7 +70,7 @@ And browsers used in development are:
|
||||||
|
|
||||||
- The latest version of Chrome _or_ Firefox _or_ Safari.
|
- The latest version of Chrome _or_ Firefox _or_ Safari.
|
||||||
|
|
||||||
You can "evaluate" any config with the `browserlist` cli to obtain the actual list:
|
You can "evaluate" any config with the `browserslist` cli to obtain the actual list:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx browserslist --env="production"
|
npx browserslist --env="production"
|
||||||
|
|
|
@ -99,9 +99,9 @@ Below are some examples, for a plugin registered in the `plugins` field. Note th
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `awesome` | `docusaurus-plugin-awesome` |
|
| `awesome` | `docusaurus-plugin-awesome` |
|
||||||
| `sitemap` | [`@docusaurus/plugin-sitemap`](./api/plugins/plugin-sitemap.md) |
|
| `sitemap` | [`@docusaurus/plugin-sitemap`](./api/plugins/plugin-sitemap.md) |
|
||||||
| `@mycompany` | `@mycompany/docusaurus-plugin` (the only possible resolution!) |
|
| `@my-company` | `@my-company/docusaurus-plugin` (the only possible resolution!) |
|
||||||
| `@mycompany/awesome` | `@mycompany/docusaurus-plugin-awesome` |
|
| `@my-company/awesome` | `@my-company/docusaurus-plugin-awesome` |
|
||||||
| `@mycompany/awesome/web` | `@mycompany/docusaurus-plugin-awesome/web` |
|
| `@my-company/awesome/web` | `@my-company/docusaurus-plugin-awesome/web` |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
|
@ -703,10 +703,10 @@ Confirm that the site you want to publish is in the `build` directory, a randoml
|
||||||
If you have a domain name you can deploy your site using surge to your domain using the command:
|
If you have a domain name you can deploy your site using surge to your domain using the command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
surge build/ yourdomain.com
|
surge build/ your-domain.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Your site is now deployed for free at `subdomain.surge.sh` or `yourdomain.com` depending on the method you chose.
|
Your site is now deployed for free at `subdomain.surge.sh` or `your-domain.com` depending on the method you chose.
|
||||||
|
|
||||||
### Setting up CNAME file {#setting-up-cname-file}
|
### Setting up CNAME file {#setting-up-cname-file}
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ Some **content** with _markdown_ `syntax`. Check [this `api`](#).
|
||||||
|
|
||||||
## Usage with Prettier {#usage-with-prettier}
|
## Usage with Prettier {#usage-with-prettier}
|
||||||
|
|
||||||
If you use [Prettier](https://prettier.io) to format your Markdown files, Prettier might autoformat your code to invalid admonition syntax. To avoid this problem, add empty lines around the starting and ending directives. This is also why the examples we show here all have empty lines around the content.
|
If you use [Prettier](https://prettier.io) to format your Markdown files, Prettier might auto-format your code to invalid admonition syntax. To avoid this problem, add empty lines around the starting and ending directives. This is also why the examples we show here all have empty lines around the content.
|
||||||
|
|
||||||
<!-- prettier-ignore -->
|
<!-- prettier-ignore -->
|
||||||
```md
|
```md
|
||||||
|
|
|
@ -246,7 +246,7 @@ Translate some Markdown files.
|
||||||
|
|
||||||
Use `Hide String` to make sure translators **don't translate things that should not be**:
|
Use `Hide String` to make sure translators **don't translate things that should not be**:
|
||||||
|
|
||||||
- Frontmatter: `id`, `slug`, `tags` ...
|
- Front matter: `id`, `slug`, `tags` ...
|
||||||
- Admonitions: `:::`, `:::note`, `:::tip` ...
|
- Admonitions: `:::`, `:::note`, `:::tip` ...
|
||||||
|
|
||||||

|

|
||||||
|
|
|
@ -579,7 +579,7 @@ This feature is replaced by [inline table of content](../guides/markdown-feature
|
||||||
|
|
||||||
In Docusaurus 2, the markdown syntax has been changed to [MDX](https://mdxjs.com/). Hence there might be some broken syntax in the existing docs which you would have to update. A common example is self-closing tags like `<img>` and `<br>` which are valid in HTML would have to be explicitly closed now ( `<img/>` and `<br/>`). All tags in MDX documents have to be valid JSX.
|
In Docusaurus 2, the markdown syntax has been changed to [MDX](https://mdxjs.com/). Hence there might be some broken syntax in the existing docs which you would have to update. A common example is self-closing tags like `<img>` and `<br>` which are valid in HTML would have to be explicitly closed now ( `<img/>` and `<br/>`). All tags in MDX documents have to be valid JSX.
|
||||||
|
|
||||||
Frontmatter is parsed by [gray-matter](https://github.com/jonschlinkert/gray-matter). If your front matter use special characters like `:`, you now need to quote it: `title: Part 1: my part1 title` -> `title: Part 1: "my part1 title"`.
|
Front matter is parsed by [gray-matter](https://github.com/jonschlinkert/gray-matter). If your front matter use special characters like `:`, you now need to quote it: `title: Part 1: my part1 title` -> `title: Part 1: "my part1 title"`.
|
||||||
|
|
||||||
**Tips**: You might want to use some online tools like [HTML to JSX](https://transform.tools/html-to-jsx) to make the migration easier.
|
**Tips**: You might want to use some online tools like [HTML to JSX](https://transform.tools/html-to-jsx) to make the migration easier.
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,8 @@ module.exports = {
|
||||||
projectName: 'docusaurus',
|
projectName: 'docusaurus',
|
||||||
baseUrl: '/blog-only/',
|
baseUrl: '/blog-only/',
|
||||||
url: 'https://docusaurus.io',
|
url: 'https://docusaurus.io',
|
||||||
onBrokenLinks: 'throw',
|
// We can only warn now, since we have blog pages linking to non-blog pages...
|
||||||
|
onBrokenLinks: 'warn',
|
||||||
onBrokenMarkdownLinks: 'warn',
|
onBrokenMarkdownLinks: 'warn',
|
||||||
favicon: 'img/docusaurus.ico',
|
favicon: 'img/docusaurus.ico',
|
||||||
themes: ['live-codeblock'],
|
themes: ['live-codeblock'],
|
||||||
|
|
|
@ -762,7 +762,7 @@ const Users: User[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'IOTA-Wiki',
|
title: 'IOTA-Wiki',
|
||||||
description: 'Documantation and wiki for the IOTA project',
|
description: 'Documentation and wiki for the IOTA project',
|
||||||
preview: require('./showcase/iota-wiki.png'),
|
preview: require('./showcase/iota-wiki.png'),
|
||||||
website: 'https://wiki.iota.org',
|
website: 'https://wiki.iota.org',
|
||||||
source: 'https://github.com/iota-community/iota-wiki',
|
source: 'https://github.com/iota-community/iota-wiki',
|
||||||
|
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
@ -110,7 +110,7 @@ module.exports = config;
|
||||||
|
|
||||||
Type annotations are very useful and help your IDE understand the type of config objects!
|
Type annotations are very useful and help your IDE understand the type of config objects!
|
||||||
|
|
||||||
The best IDEs (VSCode, WebStorm, Intellij...) will provide a nice auto-completion experience.
|
The best IDEs (VSCode, WebStorm, IntelliJ...) will provide a nice auto-completion experience.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ module.exports = config;
|
||||||
|
|
||||||
Type annotations are very useful and help your IDE understand the type of config objects!
|
Type annotations are very useful and help your IDE understand the type of config objects!
|
||||||
|
|
||||||
The best IDEs (VSCode, WebStorm, Intellij...) will provide a nice auto-completion experience.
|
The best IDEs (VSCode, WebStorm, IntelliJ...) will provide a nice auto-completion experience.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
368
yarn.lock
368
yarn.lock
|
@ -1321,6 +1321,239 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
axios "0.21.3"
|
axios "0.21.3"
|
||||||
|
|
||||||
|
"@cspell/cspell-bundled-dicts@^5.16.0":
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.16.0.tgz#29bffec623ba2e5b9c06d0ed9649bd0499633259"
|
||||||
|
integrity sha512-7O8Y6FMzTn5pnHUDjnQJ3cgIAHT5jfN05NKGu9FFikmsXsMmDRikr/OeuhK5tDOWLRIxZwmFrVMMGgBe6mj26Q==
|
||||||
|
dependencies:
|
||||||
|
"@cspell/dict-ada" "^1.1.2"
|
||||||
|
"@cspell/dict-aws" "^1.0.14"
|
||||||
|
"@cspell/dict-bash" "^1.0.17"
|
||||||
|
"@cspell/dict-companies" "^2.0.2"
|
||||||
|
"@cspell/dict-cpp" "^1.1.40"
|
||||||
|
"@cspell/dict-cryptocurrencies" "^1.0.10"
|
||||||
|
"@cspell/dict-csharp" "^2.0.1"
|
||||||
|
"@cspell/dict-css" "^1.0.12"
|
||||||
|
"@cspell/dict-django" "^1.0.26"
|
||||||
|
"@cspell/dict-dotnet" "^1.0.32"
|
||||||
|
"@cspell/dict-elixir" "^1.0.26"
|
||||||
|
"@cspell/dict-en-gb" "^1.1.33"
|
||||||
|
"@cspell/dict-en_us" "^2.1.4"
|
||||||
|
"@cspell/dict-filetypes" "^2.0.1"
|
||||||
|
"@cspell/dict-fonts" "^1.0.14"
|
||||||
|
"@cspell/dict-fullstack" "^2.0.4"
|
||||||
|
"@cspell/dict-golang" "^1.1.24"
|
||||||
|
"@cspell/dict-haskell" "^1.0.13"
|
||||||
|
"@cspell/dict-html" "^2.0.3"
|
||||||
|
"@cspell/dict-html-symbol-entities" "^1.0.23"
|
||||||
|
"@cspell/dict-java" "^1.0.23"
|
||||||
|
"@cspell/dict-latex" "^1.0.25"
|
||||||
|
"@cspell/dict-lorem-ipsum" "^1.0.22"
|
||||||
|
"@cspell/dict-lua" "^1.0.16"
|
||||||
|
"@cspell/dict-node" "^1.0.12"
|
||||||
|
"@cspell/dict-npm" "^1.0.16"
|
||||||
|
"@cspell/dict-php" "^1.0.25"
|
||||||
|
"@cspell/dict-powershell" "^1.0.19"
|
||||||
|
"@cspell/dict-public-licenses" "^1.0.4"
|
||||||
|
"@cspell/dict-python" "^2.0.5"
|
||||||
|
"@cspell/dict-ruby" "^1.0.15"
|
||||||
|
"@cspell/dict-rust" "^1.0.23"
|
||||||
|
"@cspell/dict-scala" "^1.0.21"
|
||||||
|
"@cspell/dict-software-terms" "^2.0.12"
|
||||||
|
"@cspell/dict-swift" "^1.0.1"
|
||||||
|
"@cspell/dict-typescript" "^1.0.19"
|
||||||
|
"@cspell/dict-vue" "^2.0.1"
|
||||||
|
|
||||||
|
"@cspell/cspell-types@^5.16.0":
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/cspell-types/-/cspell-types-5.16.0.tgz#9bc0484f65de93f81d27bfc9b4936ea86eecc0ab"
|
||||||
|
integrity sha512-pKBeOrUyZtp4DVNbikkpeAT/gob7gT2zun4v3jYdQEbDKYMRN7wTKlqfHJ4VxbF/yS45g7jizEc245xMUkxPHQ==
|
||||||
|
|
||||||
|
"@cspell/dict-ada@^1.1.2":
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-ada/-/dict-ada-1.1.2.tgz#89556226c1d5f856ce1f7afa85543b04fa477092"
|
||||||
|
integrity sha512-UDrcYcKIVyXDz5mInJabRNQpJoehjBFvja5W+GQyu9pGcx3BS3cAU8mWENstGR0Qc/iFTxB010qwF8F3cHA/aA==
|
||||||
|
|
||||||
|
"@cspell/dict-aws@^1.0.14":
|
||||||
|
version "1.0.14"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-aws/-/dict-aws-1.0.14.tgz#beddede1053ce3622400e36c65da9fd2954e939d"
|
||||||
|
integrity sha512-K21CfB4ZpKYwwDQiPfic2zJA/uxkbsd4IQGejEvDAhE3z8wBs6g6BwwqdVO767M9NgZqc021yAVpr79N5pWe3w==
|
||||||
|
|
||||||
|
"@cspell/dict-bash@^1.0.17":
|
||||||
|
version "1.0.17"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-bash/-/dict-bash-1.0.17.tgz#5e10e8e276e646f8e77fd3d117b49d25b83d52ab"
|
||||||
|
integrity sha512-BlX+pnDlLmIf776C9d71QjXl4NOIz+yloeixx1ZZjrwvKPLF+ffE/Ez13eV+D9R2Ps1rW10UvW8u3Hbmwme+Fw==
|
||||||
|
|
||||||
|
"@cspell/dict-companies@^2.0.2":
|
||||||
|
version "2.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-companies/-/dict-companies-2.0.2.tgz#de315b8315b868f877e6161f9fe70e8efc769931"
|
||||||
|
integrity sha512-LPKwBMAWRz+p1R8q+TV6E1sGOOTvxJOaJeXNN++CZQ7i6JMn5Rf+BSxagwkeK6z3o9vIC5ZE4AcQ5BMkvyjqGw==
|
||||||
|
|
||||||
|
"@cspell/dict-cpp@^1.1.40":
|
||||||
|
version "1.1.40"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-cpp/-/dict-cpp-1.1.40.tgz#f9a859e19d31b83f07a106e4c3c8720a2d93595b"
|
||||||
|
integrity sha512-sscfB3woNDNj60/yGXAdwNtIRWZ89y35xnIaJVDMk5TPMMpaDvuk0a34iOPIq0g4V+Y8e3RyAg71SH6ADwSjGw==
|
||||||
|
|
||||||
|
"@cspell/dict-cryptocurrencies@^1.0.10":
|
||||||
|
version "1.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-1.0.10.tgz#04426fdfee8752818b375686d34a154b2fb40c7d"
|
||||||
|
integrity sha512-47ABvDJOkaST/rXipNMfNvneHUzASvmL6K/CbOFpYKfsd0x23Jc9k1yaOC7JAm82XSC/8a7+3Yu+Fk2jVJNnsA==
|
||||||
|
|
||||||
|
"@cspell/dict-csharp@^2.0.1":
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-csharp/-/dict-csharp-2.0.1.tgz#86ec4fa42ba9a4cc57df28ec7a335b56bf751c5b"
|
||||||
|
integrity sha512-ZzAr+WRP2FUtXHZtfhe8f3j9vPjH+5i44Hcr5JqbWxmqciGoTbWBPQXwu9y+J4mbdC69HSWRrVGkNJ8rQk8pSw==
|
||||||
|
|
||||||
|
"@cspell/dict-css@^1.0.12":
|
||||||
|
version "1.0.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-css/-/dict-css-1.0.12.tgz#ec01cec102c8b128aad5e29c97dfb7a982887e12"
|
||||||
|
integrity sha512-K6yuxej7n454O7dwKG6lHacHrAOMZ0PhMEbmV6qH2JH0U4TtWXfBASYugHvXZCDDx1UObpiJP+3tQJiBqfGpHA==
|
||||||
|
|
||||||
|
"@cspell/dict-django@^1.0.26":
|
||||||
|
version "1.0.26"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-django/-/dict-django-1.0.26.tgz#b97ce0112fbe8c3c3ada0387c68971b5e27483ab"
|
||||||
|
integrity sha512-mn9bd7Et1L2zuibc08GVHTiD2Go3/hdjyX5KLukXDklBkq06r+tb0OtKtf1zKodtFDTIaYekGADhNhA6AnKLkg==
|
||||||
|
|
||||||
|
"@cspell/dict-dotnet@^1.0.32":
|
||||||
|
version "1.0.32"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-dotnet/-/dict-dotnet-1.0.32.tgz#412af0bf1f65c5902c8ef8a4f1decae2892790e2"
|
||||||
|
integrity sha512-9H9vXrgJB4KF8xsyTToXO53cXD33iyfrpT4mhCds+YLUw3P3x3E9myszgJzshnrxYBvQZ+QMII57Qr6SjZVk4Q==
|
||||||
|
|
||||||
|
"@cspell/dict-elixir@^1.0.26":
|
||||||
|
version "1.0.26"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-elixir/-/dict-elixir-1.0.26.tgz#dd86697b351a9c74a7d033b6f2d37a5088587aa6"
|
||||||
|
integrity sha512-hz1yETUiRJM7yjN3mITSnxcmZaEyaBbyJhpZPpg+cKUil+xhHeZ2wwfbRc83QHGmlqEuDWbdCFqKSpCDJYpYhg==
|
||||||
|
|
||||||
|
"@cspell/dict-en-gb@^1.1.33":
|
||||||
|
version "1.1.33"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz#7f1fd90fc364a5cb77111b5438fc9fcf9cc6da0e"
|
||||||
|
integrity sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==
|
||||||
|
|
||||||
|
"@cspell/dict-en_us@^2.1.4":
|
||||||
|
version "2.1.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-en_us/-/dict-en_us-2.1.4.tgz#be68ed8601dd84d41a40a1fee23b521d3b60e688"
|
||||||
|
integrity sha512-W4b+aIvZ637FqtTmrTe/T9i9748cuTQf82eWUgV9O296WzZj7rCxm+rzOrmRTAcCmU+9+6Cdsr0unETFQfuxww==
|
||||||
|
|
||||||
|
"@cspell/dict-filetypes@^2.0.1":
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-filetypes/-/dict-filetypes-2.0.1.tgz#a77467dad8fee31c28d623f85a15ce6fca3e2fdc"
|
||||||
|
integrity sha512-bQ7K3U/3hKO2lpQjObf0veNP/n50qk5CVezSwApMBckf/sAVvDTR1RGAvYdr+vdQnkdQrk6wYmhbshXi0sLDVg==
|
||||||
|
|
||||||
|
"@cspell/dict-fonts@^1.0.14":
|
||||||
|
version "1.0.14"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-fonts/-/dict-fonts-1.0.14.tgz#7b18129910d30bd23cd9187d0c0009dfc3fef4ba"
|
||||||
|
integrity sha512-VhIX+FVYAnqQrOuoFEtya6+H72J82cIicz9QddgknsTqZQ3dvgp6lmVnsQXPM3EnzA8n1peTGpLDwHzT7ociLA==
|
||||||
|
|
||||||
|
"@cspell/dict-fullstack@^2.0.4":
|
||||||
|
version "2.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-fullstack/-/dict-fullstack-2.0.4.tgz#d7d1c80863d9fd9bda51346edcc5a72de2cf81b4"
|
||||||
|
integrity sha512-+JtYO58QAXnetRN+MGVzI8YbkbFTLpYfl/Cw/tmNqy7U1IDVC4sTXQ2pZvbbeKQWFHBqYvBs0YASV+mTouXYBw==
|
||||||
|
|
||||||
|
"@cspell/dict-golang@^1.1.24":
|
||||||
|
version "1.1.24"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-golang/-/dict-golang-1.1.24.tgz#3830812aec816eca46a6d793fcc7710c09d4f5b9"
|
||||||
|
integrity sha512-qq3Cjnx2U1jpeWAGJL1GL0ylEhUMqyaR36Xij6Y6Aq4bViCRp+HRRqk0x5/IHHbOrti45h3yy7ii1itRFo+Xkg==
|
||||||
|
|
||||||
|
"@cspell/dict-haskell@^1.0.13":
|
||||||
|
version "1.0.13"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-haskell/-/dict-haskell-1.0.13.tgz#bd159ef474ef427757dd4bc6a66cda977946c927"
|
||||||
|
integrity sha512-kvl8T84cnYRPpND/P3D86P6WRSqebsbk0FnMfy27zo15L5MLAb3d3MOiT1kW3vEWfQgzUD7uddX/vUiuroQ8TA==
|
||||||
|
|
||||||
|
"@cspell/dict-html-symbol-entities@^1.0.23":
|
||||||
|
version "1.0.23"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-1.0.23.tgz#0efbdbc7712c9fbe545e14acac637226ac948f2d"
|
||||||
|
integrity sha512-PV0UBgcBFbBLf/m1wfkVMM8w96kvfHoiCGLWO6BR3Q9v70IXoE4ae0+T+f0CkxcEkacMqEQk/I7vuE9MzrjaNw==
|
||||||
|
|
||||||
|
"@cspell/dict-html@^2.0.3":
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-html/-/dict-html-2.0.3.tgz#a2bf84fca5b2bb5a0d922287d98eb67bcd60760c"
|
||||||
|
integrity sha512-6sORumQ9E7YpJ4vzYb0hHBgiXpehPAawuqmueGmx/PSRkqzMNLEwhYZuTHuIZSO291RTirPMfCkUahRoKdXOOQ==
|
||||||
|
|
||||||
|
"@cspell/dict-java@^1.0.23":
|
||||||
|
version "1.0.23"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-java/-/dict-java-1.0.23.tgz#ec95ff2f2c34d5e8e08ba817980b37e387e608cb"
|
||||||
|
integrity sha512-LcOg9srYLDoNGd8n3kbfDBlZD+LOC9IVcnFCdua1b/luCHNVmlgBx7e677qPu7olpMYOD5TQIVW2OmM1+/6MFA==
|
||||||
|
|
||||||
|
"@cspell/dict-latex@^1.0.25":
|
||||||
|
version "1.0.25"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-latex/-/dict-latex-1.0.25.tgz#6ecf5b8b8fdf46cb8a0f070052dd687e25089e59"
|
||||||
|
integrity sha512-cEgg91Migqcp1SdVV7dUeMxbPDhxdNo6Fgq2eygAXQjIOFK520FFvh/qxyBvW90qdZbIRoU2AJpchyHfGuwZFA==
|
||||||
|
|
||||||
|
"@cspell/dict-lorem-ipsum@^1.0.22":
|
||||||
|
version "1.0.22"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-1.0.22.tgz#a89f53dadda7d5bfdb978ab61f19d74d2fb69eab"
|
||||||
|
integrity sha512-yqzspR+2ADeAGUxLTfZ4pXvPl7FmkENMRcGDECmddkOiuEwBCWMZdMP5fng9B0Q6j91hQ8w9CLvJKBz10TqNYg==
|
||||||
|
|
||||||
|
"@cspell/dict-lua@^1.0.16":
|
||||||
|
version "1.0.16"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-lua/-/dict-lua-1.0.16.tgz#c0ca43628f8927fc10731fd27cd9ee0af651bf6a"
|
||||||
|
integrity sha512-YiHDt8kmHJ8nSBy0tHzaxiuitYp+oJ66ffCYuFWTNB3//Y0SI4OGHU3omLsQVeXIfCeVrO4DrVvRDoCls9B5zQ==
|
||||||
|
|
||||||
|
"@cspell/dict-node@^1.0.12":
|
||||||
|
version "1.0.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-node/-/dict-node-1.0.12.tgz#a7236be30340ff8fe365f62c8d13121fdbe7f51c"
|
||||||
|
integrity sha512-RPNn/7CSkflAWk0sbSoOkg0ORrgBARUjOW3QjB11KwV1gSu8f5W/ij/S50uIXtlrfoBLqd4OyE04jyON+g/Xfg==
|
||||||
|
|
||||||
|
"@cspell/dict-npm@^1.0.16":
|
||||||
|
version "1.0.16"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-npm/-/dict-npm-1.0.16.tgz#86870686cd0af6354a206ab297872db1d84e9c1b"
|
||||||
|
integrity sha512-RwkuZGcYBxL3Yux3cSG/IOWGlQ1e9HLCpHeyMtTVGYKAIkFAVUnGrz20l16/Q7zUG7IEktBz5O42kAozrEnqMQ==
|
||||||
|
|
||||||
|
"@cspell/dict-php@^1.0.25":
|
||||||
|
version "1.0.25"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-php/-/dict-php-1.0.25.tgz#b065314c43b668b982356de59986e10fc26bc390"
|
||||||
|
integrity sha512-RoBIP5MRdByyPaXcznZMfOY1JdCMYPPLua5E9gkq0TJO7bX5mC9hyAKfYBSWVQunZydd82HZixjb5MPkDFU1uw==
|
||||||
|
|
||||||
|
"@cspell/dict-powershell@^1.0.19":
|
||||||
|
version "1.0.19"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-powershell/-/dict-powershell-1.0.19.tgz#b50d14b3b20e33f86b80318ccd7ef986ecba2549"
|
||||||
|
integrity sha512-zF/raM/lkhXeHf4I43OtK0gP9rBeEJFArscTVwLWOCIvNk21MJcNoTYoaGw+c056+Q+hJL0psGLO7QN+mxYH1A==
|
||||||
|
|
||||||
|
"@cspell/dict-public-licenses@^1.0.4":
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-public-licenses/-/dict-public-licenses-1.0.4.tgz#13c2af357e7139bf3896eba58e0feb9f51053b3f"
|
||||||
|
integrity sha512-h4xULfVEDUeWyvp1OO19pcGDqWcBEQ7WGMp3QBHyYpjsamlzsyYYjCRSY2ZvpM7wruDmywSRFmRHJ/+uNFT7nA==
|
||||||
|
|
||||||
|
"@cspell/dict-python@^2.0.5":
|
||||||
|
version "2.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-python/-/dict-python-2.0.5.tgz#eebe6f53a8b5f29addd963951a701a7afedfe6b0"
|
||||||
|
integrity sha512-WkyGYtNmUsOHsWixck7AxNvveDgVPqw0H51hzIY+/5u3c94wZUweIj0vfFOGIfOBq8e1ZxpjumKBxVDGXTmQkw==
|
||||||
|
|
||||||
|
"@cspell/dict-ruby@^1.0.15":
|
||||||
|
version "1.0.15"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-ruby/-/dict-ruby-1.0.15.tgz#5da9f54d97deed31cc35772502282b45b20e7aa7"
|
||||||
|
integrity sha512-I76hJA///lc1pgmDTGUFHN/O8KLIZIU/8TgIYIGI6Ix/YzSEvWNdQYbANn6JbCynS0X+7IbZ2Ft+QqvmGtIWuA==
|
||||||
|
|
||||||
|
"@cspell/dict-rust@^1.0.23":
|
||||||
|
version "1.0.23"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-rust/-/dict-rust-1.0.23.tgz#bcef79f74932d90a07f86efa11a8696788079ad8"
|
||||||
|
integrity sha512-lR4boDzs79YD6+30mmiSGAMMdwh7HTBAPUFSB0obR3Kidibfc3GZ+MHWZXay5dxZ4nBKM06vyjtanF9VJ8q1Iw==
|
||||||
|
|
||||||
|
"@cspell/dict-scala@^1.0.21":
|
||||||
|
version "1.0.21"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-scala/-/dict-scala-1.0.21.tgz#bfda392329061e2352fbcd33d228617742c93831"
|
||||||
|
integrity sha512-5V/R7PRbbminTpPS3ywgdAalI9BHzcEjEj9ug4kWYvBIGwSnS7T6QCFCiu+e9LvEGUqQC+NHgLY4zs1NaBj2vA==
|
||||||
|
|
||||||
|
"@cspell/dict-software-terms@^2.0.12":
|
||||||
|
version "2.0.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-software-terms/-/dict-software-terms-2.0.12.tgz#9db09e7871dd6d80b56d8b0b584f3681a436e3fe"
|
||||||
|
integrity sha512-zsgraHo5PIDY1mTaWGA2NsxhO8g85inD758pEQL1MeKTFlGiFHT4vW+faryzhvBT5LOMH4LnTs0yGrMyn7JlkQ==
|
||||||
|
|
||||||
|
"@cspell/dict-swift@^1.0.1":
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-swift/-/dict-swift-1.0.1.tgz#e289680bf79538096eb7c36b21aeb97e97fdd9fc"
|
||||||
|
integrity sha512-M4onLt10Ptld8Q1BwBit8BBYVZ0d2ZEiBTW1AXekIVPQkPKkwa/RkGlR0GESWNTC2Zbmt/qge7trksVdaYVWFQ==
|
||||||
|
|
||||||
|
"@cspell/dict-typescript@^1.0.19":
|
||||||
|
version "1.0.19"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-typescript/-/dict-typescript-1.0.19.tgz#44f3ad1c93ffc89ebf98fa6964e1634e6612fc30"
|
||||||
|
integrity sha512-qmJApzoVskDeJnLZzZMaafEDGbEg5Elt4c3Mpg49SWzIHm1N4VXCp5CcFfHsOinJ30dGrs3ARAJGJZIw56kK6A==
|
||||||
|
|
||||||
|
"@cspell/dict-vue@^2.0.1":
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-2.0.1.tgz#7514875f760ae755d2a6ef1fd00917d107682fe1"
|
||||||
|
integrity sha512-n9So2C2Zw+uSDRzb2h9wq3PjZBqoHx+vBvu6a34H2qpumNjZ6HaEronrzX5tXJJXzOtocIQYrLxdd128TAU3+g==
|
||||||
|
|
||||||
"@cspotcode/source-map-consumer@0.8.0":
|
"@cspotcode/source-map-consumer@0.8.0":
|
||||||
version "0.8.0"
|
version "0.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
|
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
|
||||||
|
@ -4897,6 +5130,11 @@ array-includes@^3.1.3, array-includes@^3.1.4:
|
||||||
get-intrinsic "^1.1.1"
|
get-intrinsic "^1.1.1"
|
||||||
is-string "^1.0.7"
|
is-string "^1.0.7"
|
||||||
|
|
||||||
|
array-timsort@^1.0.3:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926"
|
||||||
|
integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==
|
||||||
|
|
||||||
array-union@^1.0.2:
|
array-union@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
|
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
|
||||||
|
@ -5703,7 +5941,7 @@ callsite@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
|
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
|
||||||
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
|
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
|
||||||
|
|
||||||
callsites@^3.0.0:
|
callsites@^3.0.0, callsites@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||||
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
||||||
|
@ -5968,6 +6206,14 @@ clean-stack@^3.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "4.0.0"
|
escape-string-regexp "4.0.0"
|
||||||
|
|
||||||
|
clear-module@^4.1.2:
|
||||||
|
version "4.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/clear-module/-/clear-module-4.1.2.tgz#5a58a5c9f8dccf363545ad7284cad3c887352a80"
|
||||||
|
integrity sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==
|
||||||
|
dependencies:
|
||||||
|
parent-module "^2.0.0"
|
||||||
|
resolve-from "^5.0.0"
|
||||||
|
|
||||||
cli-boxes@^1.0.0:
|
cli-boxes@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
|
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
|
||||||
|
@ -6297,6 +6543,17 @@ commander@^8.0.0, commander@^8.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
|
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
|
||||||
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
|
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
|
||||||
|
|
||||||
|
comment-json@^4.1.1:
|
||||||
|
version "4.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/comment-json/-/comment-json-4.1.1.tgz#49df4948704bebb1cc0ffa6910e25669b668b7c5"
|
||||||
|
integrity sha512-v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA==
|
||||||
|
dependencies:
|
||||||
|
array-timsort "^1.0.3"
|
||||||
|
core-util-is "^1.0.2"
|
||||||
|
esprima "^4.0.1"
|
||||||
|
has-own-prop "^2.0.0"
|
||||||
|
repeat-string "^1.6.1"
|
||||||
|
|
||||||
common-path-prefix@^3.0.0:
|
common-path-prefix@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
|
resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
|
||||||
|
@ -6659,7 +6916,7 @@ core-util-is@1.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||||
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
|
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
|
||||||
|
|
||||||
core-util-is@~1.0.0:
|
core-util-is@^1.0.2, core-util-is@~1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
||||||
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
||||||
|
@ -6797,6 +7054,77 @@ crypto-random-string@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
||||||
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
||||||
|
|
||||||
|
cspell-gitignore@^5.16.0:
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cspell-gitignore/-/cspell-gitignore-5.16.0.tgz#2cd55a0802f4a05ba89eb3b04c68b191c9f3843f"
|
||||||
|
integrity sha512-G7yN0R2EqFSNpn3bQ4SGOmydaaYq5BHSiPqsX3vJSJn0wErZz3m/kpKcXrtLPw5/tAM0SfZWhAp1K3MEjrb6xQ==
|
||||||
|
dependencies:
|
||||||
|
cspell-glob "^5.16.0"
|
||||||
|
find-up "^5.0.0"
|
||||||
|
|
||||||
|
cspell-glob@^5.16.0:
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cspell-glob/-/cspell-glob-5.16.0.tgz#ea210b2a5ab7a871d2982f3806f46ecdea71c87d"
|
||||||
|
integrity sha512-u1cNhmNi5VC6QZ6W+FQEAFIowLdU+/fuh6811Hb//MfTNpe2HDbVrjredQrtaETpyImjy4VG/aA7iSWGGuUAcw==
|
||||||
|
dependencies:
|
||||||
|
micromatch "^4.0.4"
|
||||||
|
|
||||||
|
cspell-io@^5.16.0:
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cspell-io/-/cspell-io-5.16.0.tgz#e7043f960071ef453ba794d0ccd096a42f24d261"
|
||||||
|
integrity sha512-nrRbNewf8PMEq8W7D1D0jEwxwJ1dH588EPPu9Q+iT+DItvcBL+mQmGlz8kS7KBh579ioW2vecWUekQ3HSmAgGg==
|
||||||
|
|
||||||
|
cspell-lib@^5.16.0:
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cspell-lib/-/cspell-lib-5.16.0.tgz#b8a3fa78bc07f7628171f4bb5146803bb5cc3ddb"
|
||||||
|
integrity sha512-IpTPseI4SounQEqfWupOLgEXPcbucWJdbCYkxKXWfl15xfWRo2seYV0RECkJ8pSZKqsCXo6x08i7CrKjvV5N5Q==
|
||||||
|
dependencies:
|
||||||
|
"@cspell/cspell-bundled-dicts" "^5.16.0"
|
||||||
|
"@cspell/cspell-types" "^5.16.0"
|
||||||
|
clear-module "^4.1.2"
|
||||||
|
comment-json "^4.1.1"
|
||||||
|
configstore "^5.0.1"
|
||||||
|
cosmiconfig "^7.0.1"
|
||||||
|
cspell-glob "^5.16.0"
|
||||||
|
cspell-io "^5.16.0"
|
||||||
|
cspell-trie-lib "^5.16.0"
|
||||||
|
find-up "^5.0.0"
|
||||||
|
fs-extra "^10.0.0"
|
||||||
|
gensequence "^3.1.1"
|
||||||
|
import-fresh "^3.3.0"
|
||||||
|
resolve-from "^5.0.0"
|
||||||
|
resolve-global "^1.0.0"
|
||||||
|
vscode-uri "^3.0.3"
|
||||||
|
|
||||||
|
cspell-trie-lib@^5.16.0:
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cspell-trie-lib/-/cspell-trie-lib-5.16.0.tgz#191d367179307cf34aed8ffa923371e5287586c1"
|
||||||
|
integrity sha512-Dpxr0SManHi4D3sAJI1SA14lwTGdmubv88yrRuFd7TU5ihG39BIMxfoAoSRWkqXUEub5QLhAKhftOBUJIm4cIw==
|
||||||
|
dependencies:
|
||||||
|
fs-extra "^10.0.0"
|
||||||
|
gensequence "^3.1.1"
|
||||||
|
|
||||||
|
cspell@^5.16.0:
|
||||||
|
version "5.16.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cspell/-/cspell-5.16.0.tgz#bc4fab60ab259f25c4b2878bfb600850b6aa3684"
|
||||||
|
integrity sha512-giK0IZz1cK51mTSTox51GUxgcbKy5Y5yXvyqVpfQ6m4nATSuiSRiMPvlxX3Er2uAiNkolyLTIgUxBAV/c8U3PQ==
|
||||||
|
dependencies:
|
||||||
|
chalk "^4.1.2"
|
||||||
|
commander "^8.3.0"
|
||||||
|
comment-json "^4.1.1"
|
||||||
|
cspell-gitignore "^5.16.0"
|
||||||
|
cspell-glob "^5.16.0"
|
||||||
|
cspell-lib "^5.16.0"
|
||||||
|
fast-json-stable-stringify "^2.1.0"
|
||||||
|
file-entry-cache "^6.0.1"
|
||||||
|
fs-extra "^10.0.0"
|
||||||
|
get-stdin "^8.0.0"
|
||||||
|
glob "^7.2.0"
|
||||||
|
imurmurhash "^0.1.4"
|
||||||
|
semver "^7.3.5"
|
||||||
|
strip-ansi "^6.0.1"
|
||||||
|
vscode-uri "^3.0.3"
|
||||||
|
|
||||||
css-declaration-sorter@^6.0.3:
|
css-declaration-sorter@^6.0.3:
|
||||||
version "6.1.4"
|
version "6.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz#b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4"
|
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz#b9bfb4ed9a41f8dcca9bf7184d849ea94a8294b4"
|
||||||
|
@ -9104,6 +9432,11 @@ gauge@~2.7.3:
|
||||||
strip-ansi "^3.0.1"
|
strip-ansi "^3.0.1"
|
||||||
wide-align "^1.1.0"
|
wide-align "^1.1.0"
|
||||||
|
|
||||||
|
gensequence@^3.1.1:
|
||||||
|
version "3.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/gensequence/-/gensequence-3.1.1.tgz#95c1afc7c0680f92942c17f2d6f83f3d26ea97af"
|
||||||
|
integrity sha512-ys3h0hiteRwmY6BsvSttPmkhC0vEQHPJduANBRtH/dlDPZ0UBIb/dXy80IcckXyuQ6LKg+PloRqvGER9IS7F7g==
|
||||||
|
|
||||||
gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2:
|
gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2:
|
||||||
version "1.0.0-beta.2"
|
version "1.0.0-beta.2"
|
||||||
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
|
||||||
|
@ -9356,6 +9689,13 @@ global-cache-dir@^2.0.0:
|
||||||
cachedir "^2.3.0"
|
cachedir "^2.3.0"
|
||||||
path-exists "^4.0.0"
|
path-exists "^4.0.0"
|
||||||
|
|
||||||
|
global-dirs@^0.1.1:
|
||||||
|
version "0.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
|
||||||
|
integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=
|
||||||
|
dependencies:
|
||||||
|
ini "^1.3.4"
|
||||||
|
|
||||||
global-dirs@^3.0.0:
|
global-dirs@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
|
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
|
||||||
|
@ -9622,6 +9962,11 @@ has-glob@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-glob "^3.0.0"
|
is-glob "^3.0.0"
|
||||||
|
|
||||||
|
has-own-prop@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af"
|
||||||
|
integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==
|
||||||
|
|
||||||
has-symbol-support-x@^1.4.1:
|
has-symbol-support-x@^1.4.1:
|
||||||
version "1.4.2"
|
version "1.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
|
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
|
||||||
|
@ -14154,6 +14499,13 @@ parent-module@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
callsites "^3.0.0"
|
callsites "^3.0.0"
|
||||||
|
|
||||||
|
parent-module@^2.0.0:
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-2.0.0.tgz#fa71f88ff1a50c27e15d8ff74e0e3a9523bf8708"
|
||||||
|
integrity sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==
|
||||||
|
dependencies:
|
||||||
|
callsites "^3.1.0"
|
||||||
|
|
||||||
parse-bmfont-ascii@^1.0.3:
|
parse-bmfont-ascii@^1.0.3:
|
||||||
version "1.0.6"
|
version "1.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
|
resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
|
||||||
|
@ -16051,6 +16403,13 @@ resolve-from@^5.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
|
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
|
||||||
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
|
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
|
||||||
|
|
||||||
|
resolve-global@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255"
|
||||||
|
integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==
|
||||||
|
dependencies:
|
||||||
|
global-dirs "^0.1.1"
|
||||||
|
|
||||||
resolve-pathname@^3.0.0:
|
resolve-pathname@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
|
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
|
||||||
|
@ -18790,6 +19149,11 @@ vlq@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468"
|
resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468"
|
||||||
integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==
|
integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==
|
||||||
|
|
||||||
|
vscode-uri@^3.0.3:
|
||||||
|
version "3.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.3.tgz#a95c1ce2e6f41b7549f86279d19f47951e4f4d84"
|
||||||
|
integrity sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==
|
||||||
|
|
||||||
w3c-hr-time@^1.0.2:
|
w3c-hr-time@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
|
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue