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:
Nick Schonning 2022-01-24 20:40:02 -05:00 committed by GitHub
parent a41a5c328c
commit 521eb119a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 852 additions and 142 deletions

36
.cspell.json Normal file
View 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-]*"]
}

View file

@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "cspell",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+)\\s+\\-\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
}
]
}

View file

@ -22,6 +22,8 @@ jobs:
- name: Check immutable yarn.lock
run: git diff --exit-code
- name: Lint
run: yarn lint:ci
run: |
echo "::add-matcher::.github/workflows/cspell-problem-matcher.json"
yarn lint:ci
- name: Prettier Code
run: yarn format:diff

View file

@ -42,9 +42,10 @@
"prepare": "husky install",
"format": "prettier --write .",
"format:diff": "prettier --list-different .",
"lint": "yarn lint:js && yarn lint:style",
"lint:ci": "yarn lint:js --quiet && yarn lint:style",
"lint": "yarn lint:js && yarn lint:style && yarn lint:spelling",
"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:spelling": "cspell \"**\" --no-progress",
"lint:style": "stylelint \"**/*.css\"",
"lerna": "lerna",
"test": "cross-env TZ=UTC jest",
@ -84,6 +85,7 @@
"@typescript-eslint/parser": "^5.8.1",
"concurrently": "^7.0.0",
"cross-env": "^7.0.3",
"cspell": "^5.16.0",
"eslint": "^8.2.0",
"eslint-config-airbnb": "^19.0.0",
"eslint-config-prettier": "^8.3.0",
@ -123,7 +125,8 @@
"stylelint --allow-empty-input --fix"
],
"*": [
"prettier --ignore-unknown --write"
"prettier --ignore-unknown --write",
"cspell --no-progress"
]
},
"engines": {

View file

@ -156,7 +156,7 @@ export default async function mdxLoader(
}
// 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);
if (isMDXPartial && hasFrontMatter) {
const errorMessage = `Docusaurus MDX partial files should not contain FrontMatter.

View file

@ -38,9 +38,9 @@ export default function extractMetadata(content: string): Data {
// New line characters => to handle all operating systems.
const lines = (both.header ?? '').split(/\r?\n/);
for (let i = 0; i < lines.length - 1; i += 1) {
const keyvalue = lines[i].split(':');
const key = keyvalue[0].trim();
let value = keyvalue.slice(1).join(':').trim();
const keyValue = lines[i].split(':');
const key = keyValue[0].trim();
let value = keyValue.slice(1).join(':').trim();
try {
value = JSON.parse(value);
} catch (err) {
@ -51,7 +51,7 @@ export default function extractMetadata(content: string): Data {
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]: [
string,
string,
@ -67,7 +67,7 @@ export function shouldQuotifyFrontMatter([key, value]: [
return true;
}
// 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(
/^([\w .\-sàáâãäåçèéêëìíîïðòóôõöùúûüýÿ!;,=+_?'`&#()[\]§%€$])+$/,
);

View file

@ -165,7 +165,7 @@ export default function transformer(file: string): string {
return root.toSource();
}
function getDefaultImportDeclarators(rootAst: Collection) {
function getDefaultImportDeclarations(rootAst: Collection) {
// var ... = require('y')
return rootAst
.find(VariableDeclarator, {
@ -178,7 +178,7 @@ function getDefaultImportDeclarators(rootAst: Collection) {
.filter((variableDeclarator) => !!variableDeclarator.value);
}
function getNamedImportDeclarators(rootAst: Collection) {
function getNamedImportDeclarations(rootAst: Collection) {
// var ... = require('y').x
return rootAst.find(VariableDeclarator, {
init: {
@ -192,9 +192,9 @@ function getNamedImportDeclarators(rootAst: 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()];
}

View file

@ -16,7 +16,7 @@ describe('createToExtensionsRedirects', () => {
createToExtensionsRedirects(['/'], ['']);
}).toThrowErrorMatchingInlineSnapshot(`
"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']);
}).toThrowErrorMatchingInlineSnapshot(`
"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']);
}).toThrowErrorMatchingInlineSnapshot(`
"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(['/'], [',']);
}).toThrowErrorMatchingInlineSnapshot(`
"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']);
}).toThrowErrorMatchingInlineSnapshot(`
"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']);
}).toThrowErrorMatchingInlineSnapshot(`
"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']);
}).toThrowErrorMatchingInlineSnapshot(`
"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(['/'], [',']);
}).toThrowErrorMatchingInlineSnapshot(`
"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."
`);
});

View file

@ -13,7 +13,7 @@ import {
import type {RedirectMetadata} from './types';
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) => {
if (!ext) {

View file

@ -31,7 +31,7 @@ describe('getBlogPostAuthors', () => {
).toEqual([]);
});
test('can read author from legacy frontmatter', () => {
test('can read author from legacy front matter', () => {
expect(
getBlogPostAuthors({
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(() =>
getBlogPostAuthors({
frontMatter: {
@ -261,8 +261,8 @@ describe('getBlogPostAuthors', () => {
authorsMap: undefined,
}),
).toThrowErrorMatchingInlineSnapshot(`
"To declare blog post authors, use the 'authors' FrontMatter in priority.
Don't mix 'authors' with other existing 'author_*' FrontMatter. Choose one or the other, not both at the same time."
"To declare blog post authors, use the 'authors' front matter in priority.
Don't mix 'authors' with other existing 'author_*' front matter. Choose one or the other, not both at the same time."
`);
expect(() =>
@ -274,8 +274,8 @@ describe('getBlogPostAuthors', () => {
authorsMap: {slorber: {name: 'Sébastien Lorber'}},
}),
).toThrowErrorMatchingInlineSnapshot(`
"To declare blog post authors, use the 'authors' FrontMatter in priority.
Don't mix 'authors' with other existing 'author_*' FrontMatter. Choose one or the other, not both at the same time."
"To declare blog post authors, use the 'authors' front matter in priority.
Don't mix 'authors' with other existing 'author_*' front matter. Choose one or the other, not both at the same time."
`);
});
});

View file

@ -47,7 +47,7 @@ function testField(params: {
// eslint-disable-next-line jest/no-jasmine-globals
fail(
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,
null,
2,
@ -105,8 +105,8 @@ describe('validateBlogPostFrontMatter id', () => {
});
});
describe('validateBlogPostFrontMatter handles legacy/new author frontmatter', () => {
test('allow legacy author frontmatter', () => {
describe('validateBlogPostFrontMatter handles legacy/new author front matter', () => {
test('allow legacy author front matter', () => {
const frontMatter: BlogPostFrontMatter = {
author: 'Sebastien',
author_url: 'https://sebastienlorber.com',
@ -116,7 +116,7 @@ describe('validateBlogPostFrontMatter handles legacy/new author frontmatter', ()
expect(validateBlogPostFrontMatter(frontMatter)).toEqual(frontMatter);
});
test('allow new authors frontmatter', () => {
test('allow new authors front matter', () => {
const frontMatter: BlogPostFrontMatter = {
authors: [
'slorber',

View file

@ -54,7 +54,7 @@ type AuthorsParam = {
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
function getFrontMatterAuthorLegacy(
frontMatter: BlogPostFrontMatter,
@ -123,7 +123,7 @@ ${Object.keys(authorsMap)
function toAuthor(frontMatterAuthor: BlogPostFrontMatterAuthor): Author {
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),
...frontMatterAuthor,
};
@ -137,11 +137,11 @@ export function getBlogPostAuthors(params: AuthorsParam): Author[] {
const authors = getFrontMatterAuthors(params);
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) {
throw new Error(
`To declare blog post authors, use the 'authors' FrontMatter in priority.
Don't mix 'authors' with other existing 'author_*' FrontMatter. Choose one or the other, not both at the same time.`,
`To declare blog post authors, use the 'authors' front matter in priority.
Don't mix 'authors' with other existing 'author_*' front matter. Choose one or the other, not both at the same time.`,
);
}
return [authorLegacy];

View file

@ -6,7 +6,7 @@
*/
import {
JoiFrontMatter as Joi, // Custom instance for frontmatter
JoiFrontMatter as Joi, // Custom instance for front matter
URISchema,
validateFrontMatter,
FrontMatterTagsSchema,
@ -35,7 +35,7 @@ const BlogFrontMatterSchema = Joi.object<BlogPostFrontMatter>({
draft: Joi.boolean(),
date: Joi.date().raw(),
// New multi-authors frontmatter:
// New multi-authors front matter:
authors: Joi.alternatives()
.try(
Joi.string(),
@ -50,7 +50,7 @@ const BlogFrontMatterSchema = Joi.object<BlogPostFrontMatter>({
.messages({
'alternatives.match': FrontMatterAuthorErrorMessage,
}),
// Legacy author frontmatter
// Legacy author front matter
author: Joi.string(),
author_title: Joi.string(),
author_url: URISchema,

View file

@ -30,11 +30,11 @@ declare module '@docusaurus/plugin-content-blog' {
tags?: FrontMatterTag[];
slug?: string;
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;
// 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_title?: string;
author_url?: string;

View file

@ -1,6 +1,6 @@
---
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.

View file

@ -529,7 +529,7 @@ Object {
\\"version\\": \\"current\\",
\\"frontMatter\\": {
\\"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": "{

View file

@ -44,7 +44,7 @@ function testField(params: {
// eslint-disable-next-line jest/no-jasmine-globals
fail(
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,
null,
2,

View file

@ -37,15 +37,15 @@ const fixtureDir = path.join(__dirname, '__fixtures__');
const createFakeDocFile = ({
source,
frontmatter = {},
frontMatter = {},
markdown = 'some markdown content',
}: {
source: string;
frontmatter?: Record<string, string>;
frontMatter?: Record<string, string>;
markdown?: string;
}): DocFile => {
const content = `---
${Object.entries(frontmatter)
${Object.entries(frontMatter)
.map(([key, value]) => `${key}: ${value}`)
.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();
await defaultTestUtils.testMeta('lorem.md', {
@ -328,7 +328,7 @@ describe('simple site', () => {
description: 'Lorem ipsum.',
frontMatter: {
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: [],
});
@ -422,7 +422,7 @@ describe('simple site', () => {
description: 'Lorem ipsum.',
frontMatter: {
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,
formattedLastUpdatedAt: '10/14/2018',
@ -475,7 +475,7 @@ describe('simple site', () => {
defaultTestUtils.processDocFile(
createFakeDocFile({
source: 'some/fake/path',
frontmatter: {
frontMatter: {
id: 'Hello/world',
},
}),
@ -499,7 +499,7 @@ describe('simple site', () => {
docs.push(
createFakeDocFile({
source: 'hehe',
frontmatter: {pagination_prev: 'nonexistent'},
frontMatter: {pagination_prev: 'nonexistent'},
}),
);
await expect(

View file

@ -70,13 +70,13 @@ describe('getSlug', () => {
).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(
getSlug({
baseID: 'doc',
source: '@site/docs/dir/subdir/index.md',
sourceDirName: '/dir/subdir',
frontmatterSlug: '/my/frontMatterSlug',
frontMatterSlug: '/my/frontMatterSlug',
}),
).toEqual('/my/frontMatterSlug');
});
@ -120,13 +120,13 @@ describe('getSlug', () => {
).toEqual('/doc');
});
test('should resolve absolute slug frontmatter', () => {
test('should resolve absolute slug front matter', () => {
expect(
getSlug({
baseID: 'any',
source: '@site/docs/doc.md',
sourceDirName: '.',
frontmatterSlug: '/abc/def',
frontMatterSlug: '/abc/def',
}),
).toEqual('/abc/def');
expect(
@ -134,7 +134,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/any/doc.md',
sourceDirName: './any',
frontmatterSlug: '/abc/def',
frontMatterSlug: '/abc/def',
}),
).toEqual('/abc/def');
expect(
@ -142,18 +142,18 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/any/any/doc.md',
sourceDirName: './any/any',
frontmatterSlug: '/abc/def',
frontMatterSlug: '/abc/def',
}),
).toEqual('/abc/def');
});
test('should resolve relative slug frontmatter', () => {
test('should resolve relative slug front matter', () => {
expect(
getSlug({
baseID: 'any',
source: '@site/docs/doc.md',
sourceDirName: '.',
frontmatterSlug: 'abc/def',
frontMatterSlug: 'abc/def',
}),
).toEqual('/abc/def');
expect(
@ -161,7 +161,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/dir/doc.md',
sourceDirName: '/dir',
frontmatterSlug: 'abc/def',
frontMatterSlug: 'abc/def',
}),
).toEqual('/dir/abc/def');
expect(
@ -169,7 +169,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/unslashedDir/doc.md',
sourceDirName: 'unslashedDir',
frontmatterSlug: 'abc/def',
frontMatterSlug: 'abc/def',
}),
).toEqual('/unslashedDir/abc/def');
expect(
@ -177,7 +177,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/dir/subdir/doc.md',
sourceDirName: 'dir/subdir',
frontmatterSlug: 'abc/def',
frontMatterSlug: 'abc/def',
}),
).toEqual('/dir/subdir/abc/def');
expect(
@ -185,7 +185,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/dir/doc.md',
sourceDirName: '/dir',
frontmatterSlug: './abc/def',
frontMatterSlug: './abc/def',
}),
).toEqual('/dir/abc/def');
expect(
@ -193,7 +193,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/dir/doc.md',
sourceDirName: '/dir',
frontmatterSlug: './abc/../def',
frontMatterSlug: './abc/../def',
}),
).toEqual('/dir/def');
expect(
@ -201,7 +201,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/dir/subdir/doc.md',
sourceDirName: '/dir/subdir',
frontmatterSlug: '../abc/def',
frontMatterSlug: '../abc/def',
}),
).toEqual('/dir/abc/def');
expect(
@ -209,7 +209,7 @@ describe('getSlug', () => {
baseID: 'any',
source: '@site/docs/dir/subdirdoc.md',
sourceDirName: '/dir/subdir',
frontmatterSlug: '../../../../../abc/../def',
frontMatterSlug: '../../../../../abc/../def',
}),
).toEqual('/def');
});

View file

@ -6,7 +6,7 @@
*/
import {
JoiFrontMatter as Joi, // Custom instance for frontmatter
JoiFrontMatter as Joi, // Custom instance for front matter
URISchema,
FrontMatterTagsSchema,
FrontMatterTOCHeadingLevels,

View file

@ -138,7 +138,7 @@ function doProcessDocMetadata({
custom_edit_url: customEditURL,
// 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,
} = frontMatter;
@ -162,7 +162,7 @@ function doProcessDocMetadata({
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 =
frontMatter.sidebar_position ?? numberPrefix;
@ -175,7 +175,7 @@ function doProcessDocMetadata({
: `version-${versionMetadata.versionName}`;
// 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() {
if (sourceDirName === '.') {
return undefined;
@ -198,7 +198,7 @@ function doProcessDocMetadata({
baseID,
source,
sourceDirName,
frontmatterSlug: frontMatter.slug,
frontMatterSlug: frontMatter.slug,
stripDirNumberPrefixes: parseNumberPrefixes,
numberPrefixParser: options.numberPrefixParser,
});

View file

@ -606,7 +606,7 @@ describe('toDocNavigationLink', () => {
return data as DocMetadataBase;
}
test('with no frontmatter', () => {
test('with no front matter', () => {
expect(
toDocNavigationLink(
testDoc({
@ -621,7 +621,7 @@ describe('toDocNavigationLink', () => {
} as DocNavLink);
});
test('with pagination_label frontmatter', () => {
test('with pagination_label front matter', () => {
expect(
toDocNavigationLink(
testDoc({
@ -638,7 +638,7 @@ describe('toDocNavigationLink', () => {
} as DocNavLink);
});
test('with sidebar_label frontmatter', () => {
test('with sidebar_label front matter', () => {
expect(
toDocNavigationLink(
testDoc({
@ -655,7 +655,7 @@ describe('toDocNavigationLink', () => {
} as DocNavLink);
});
test('with pagination_label + sidebar_label frontmatter', () => {
test('with pagination_label + sidebar_label front matter', () => {
expect(
toDocNavigationLink(
testDoc({

View file

@ -21,14 +21,14 @@ import type {NumberPrefixParser} from '@docusaurus/plugin-content-docs';
export default function getSlug({
baseID,
frontmatterSlug,
frontMatterSlug,
source,
sourceDirName,
stripDirNumberPrefixes = true,
numberPrefixParser = DefaultNumberPrefixParser,
}: {
baseID: string;
frontmatterSlug?: string;
frontMatterSlug?: string;
source: DocMetadataBase['slug'];
sourceDirName: DocMetadataBase['sourceDirName'];
stripDirNumberPrefixes?: boolean;
@ -46,14 +46,14 @@ export default function getSlug({
}
function computeSlug(): string {
if (frontmatterSlug?.startsWith('/')) {
return frontmatterSlug;
if (frontMatterSlug?.startsWith('/')) {
return frontMatterSlug;
} else {
const dirNameSlug = getDirNameSlug();
if (!frontmatterSlug && isConventionalDocIndex({source, sourceDirName})) {
if (!frontMatterSlug && isConventionalDocIndex({source, sourceDirName})) {
return dirNameSlug;
}
const baseSlug = frontmatterSlug || baseID;
const baseSlug = frontMatterSlug || baseID;
return resolvePathname(baseSlug, getDirNameSlug());
}
}
@ -63,8 +63,8 @@ export default function getSlug({
throw new Error(
`We couldn't compute a valid slug for document with id "${baseID}" in "${sourceDirName}" directory.
The slug we computed looks invalid: ${slug}.
Maybe your slug frontmatter 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:
Maybe your slug front matter is incorrect or you use weird chars in the file path?
By using the slug front matter, you should be able to fix this error, by using the slug of your choice:
Example =>
---

View file

@ -57,7 +57,7 @@ function getNormalizedSidebarName({
/*
// 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 {
return {
[`${doc.unversionedId}.title`]: {

View file

@ -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 && (
<div
className="avatar__intro"

View file

@ -62,7 +62,7 @@ function BlogPostPage(props: Props): JSX.Element {
<meta property="og:type" content="article" />
<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) && (
<meta
property="article:author"

View file

@ -33,7 +33,7 @@ export default function DocItem(props: Props): JSX.Element {
const {description, title} = metadata;
// 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
const shouldAddTitle =
!hideTitle && typeof DocContent.contentTitle === 'undefined';
@ -75,7 +75,7 @@ export default function DocItem(props: Props): JSX.Element {
<div
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
See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
*/}

View file

@ -277,8 +277,10 @@ const ThemeConfigSchema = Joi.object({
metadata: Joi.array()
.items(HtmlMetadataSchema)
.default(DEFAULT_CONFIG.metadata),
// cSpell:ignore metadatas
metadatas: Joi.any().forbidden().messages({
'any.unknown':
// cSpell:ignore metadatas
'themeConfig.metadatas has been renamed as themeConfig.metadata. See https://github.com/facebook/docusaurus/pull/5871',
}),
announcementBar: Joi.object({

View file

@ -151,7 +151,7 @@ type CollapsibleElementType = React.ElementType<
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) {
if (ExecutionEnvironment.canUseDOM) {
return undefined;

View file

@ -43,7 +43,7 @@ const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
const [isClosed, setClosed] = useState(() =>
isBrowser
? // On client navigation: init with localstorage value
? // On client navigation: init with local storage value
isDismissedInStorage()
: // On server/hydration: always visible to prevent layout shifts (will be hidden with css if needed)
false,
@ -68,6 +68,7 @@ const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
// retrocompatibility due to spelling mistake of default id
// see https://github.com/facebook/docusaurus/issues/3338
// cSpell:ignore annoucement
if (viewedId === 'annoucement-bar') {
viewedId = 'announcement-bar';
}

View file

@ -38,7 +38,7 @@ type DocsPreferredVersionState = Record<
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 {
const initialState: DocsPreferredVersionState = {};
pluginIds.forEach((pluginId) => {

View file

@ -104,7 +104,7 @@ export function MobileSecondaryMenuFiller<
const memoizedProps = useShallowMemoizedObject(props);
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, memoizedProps]);

View file

@ -10,7 +10,7 @@ import React from 'react';
import Head from '@docusaurus/Head';
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 {
// Seems safe to consider here the locale is the language,
// as the existing docsearch:language filter is afaik a regular string-based filter

View file

@ -98,11 +98,11 @@
border: 0.4em solid #eee;
border-top-color: var(--ifm-color-primary);
border-radius: 50%;
animation: loadingspin 1s linear infinite;
animation: loading-spin 1s linear infinite;
margin: 0 auto;
}
@keyframes loadingspin {
@keyframes loading-spin {
100% {
transform: rotate(360deg);
}

View file

@ -8,7 +8,7 @@
import Joi from './Joi';
// 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
// see https://github.com/facebook/docusaurus/issues/4642
// see https://github.com/sideway/joi/issues/1442#issuecomment-823997884

View file

@ -32,7 +32,7 @@ describe('validateFrontMatter', () => {
validateFrontMatter(frontMatter, schema),
).toThrowErrorMatchingInlineSnapshot(`"\\"test\\" must be a string"`);
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
// 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', () => {
const schema = Joi.object<{test: string}>({
test: JoiFrontMatter.string(),
@ -60,7 +60,7 @@ describe('validateFrontMatter', () => {
});
// 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', () => {
const schema = Joi.object<{test: string}>({
test: JoiFrontMatter.string(),

View file

@ -112,7 +112,7 @@ export function validateFrontMatter<T>(
logValidationBugReportHint();
logger.error`The following frontmatter:
logger.error`The following front matter:
${logger.yellow(frontMatterString)}
contains invalid values for field(s): ${logger.yellow(invalidFields)}.
${errorDetails.map(({message}) => message)}

View file

@ -552,7 +552,7 @@ Lorem Ipsum
});
describe('parseMarkdownString', () => {
test('parse markdown with frontmatter', () => {
test('parse markdown with front matter', () => {
expect(
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(
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(
parseMarkdownString(dedent`
---

View file

@ -84,8 +84,8 @@ export function fileToPath(file: string): string {
return `/${file.replace(extRE, '').replace(/\\/g, '/')}`;
}
export function encodePath(userpath: string): string {
return userpath
export function encodePath(userPath: string): string {
return userPath
.split('/')
.map((item) => encodeURIComponent(item))
.join('/');

View file

@ -192,8 +192,8 @@ export function parseMarkdownString(
excerpt,
};
} catch (e) {
logger.error(`Error while parsing Markdown frontmatter.
This can happen if you use special characters in frontmatter values (try using double quotes around that value).`);
logger.error(`Error while parsing Markdown front matter.
This can happen if you use special characters in front matter values (try using double quotes around that value).`);
throw e;
}
}

View file

@ -34,7 +34,7 @@ cli
.description('Build website.')
.option(
'--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(
'--out-dir <dir>',

View file

@ -78,7 +78,7 @@ export default async function build(
}
// 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[] = [
i18n.defaultLocale,
...i18n.locales.filter((locale) => locale !== i18n.defaultLocale),
@ -136,7 +136,7 @@ async function buildLocale({
plugins: [
// Remove/clean build folders before building bundles.
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(),
// Generate client manifests file that will be used for server bundle.
new ReactLoadableSSRAddon({

View file

@ -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
// 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
@ -266,7 +266,7 @@ function createMDXFallbackPlugin({
),
siteDir,
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],
},
},

View file

@ -31,7 +31,7 @@ const TranslatableSourceCodeExtension = new Set([
'.ts',
'.tsx',
// 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',
// '.mdx',
]);

View file

@ -236,7 +236,7 @@ export function applyConfigurePostCss(
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 {
return !!(loader as LocalPostCSSLoader)?.options?.postcssOptions;
}

285
project-words.txt Normal file
View 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

View file

@ -1,5 +1,5 @@
---
test: 'some test frontmatter'
test: 'some test front matter'
---
# Docusaurus website dogfooding

View file

@ -39,7 +39,7 @@ At Facebook, Docusaurus allows us to quickly get different projects up and runni
## Getting Up and Running
![Slash Up and Running](/img/slash-upandrunning.png)
![Slash Up and Running](/img/slash-up-and-running.png)
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
│ ├── doc2.md
│ ├── doc3.md
│ ├── exampledoc4.md
│ └── exampledoc5.md
│ ├── example-doc4.md
│ └── example-doc5.md
├── website
│ ├── blog-examples-from-docusaurus
│ │ ├── 2016-03-11-blog-post.md

View file

@ -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.
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. 😔

View file

@ -124,7 +124,7 @@ module.exports = {
### 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:

View file

@ -11,7 +11,7 @@ This theme provides a `@theme/SearchBar` component that integrates with 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

View file

@ -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}
@ -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:
````mdx-code-block
<Tabs groupId="author-frontmatter">
<Tabs groupId="author-front-matter">
<TabItem value="single" label="Single author">
```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:
````mdx-code-block
<Tabs groupId="author-frontmatter">
<Tabs groupId="author-front-matter">
<TabItem value="single" label="Single author">
```md title="my-blog-post.md"

View file

@ -70,7 +70,7 @@ And browsers used in development are:
- 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
npx browserslist --env="production"

View file

@ -99,9 +99,9 @@ Below are some examples, for a plugin registered in the `plugins` field. Note th
| --- | --- |
| `awesome` | `docusaurus-plugin-awesome` |
| `sitemap` | [`@docusaurus/plugin-sitemap`](./api/plugins/plugin-sitemap.md) |
| `@mycompany` | `@mycompany/docusaurus-plugin` (the only possible resolution!) |
| `@mycompany/awesome` | `@mycompany/docusaurus-plugin-awesome` |
| `@mycompany/awesome/web` | `@mycompany/docusaurus-plugin-awesome/web` |
| `@my-company` | `@my-company/docusaurus-plugin` (the only possible resolution!) |
| `@my-company/awesome` | `@my-company/docusaurus-plugin-awesome` |
| `@my-company/awesome/web` | `@my-company/docusaurus-plugin-awesome/web` |
</details>

View file

@ -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:
```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}

View file

@ -82,7 +82,7 @@ Some **content** with _markdown_ `syntax`. Check [this `api`](#).
## 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 -->
```md

View file

@ -246,7 +246,7 @@ Translate some Markdown files.
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` ...
![Crowdin UI hide string](/img/crowdin/crowdin-hide-string.png)

View file

@ -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.
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.

View file

@ -12,7 +12,8 @@ module.exports = {
projectName: 'docusaurus',
baseUrl: '/blog-only/',
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',
favicon: 'img/docusaurus.ico',
themes: ['live-codeblock'],

View file

@ -762,7 +762,7 @@ const Users: User[] = [
},
{
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'),
website: 'https://wiki.iota.org',
source: 'https://github.com/iota-community/iota-wiki',

View file

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before After
Before After

View file

@ -110,7 +110,7 @@ module.exports = config;
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.
:::

View file

@ -110,7 +110,7 @@ module.exports = config;
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
View file

@ -1321,6 +1321,239 @@
dependencies:
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":
version "0.8.0"
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"
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:
version "1.0.2"
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"
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
callsites@^3.0.0:
callsites@^3.0.0, callsites@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
@ -5968,6 +6206,14 @@ clean-stack@^3.0.1:
dependencies:
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:
version "1.0.0"
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"
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:
version "3.0.0"
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"
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"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
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"
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:
version "6.1.4"
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"
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:
version "1.0.0-beta.2"
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"
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:
version "3.0.0"
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
@ -9622,6 +9962,11 @@ has-glob@^1.0.0:
dependencies:
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:
version "1.4.2"
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:
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:
version "1.0.6"
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"
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:
version "3.0.0"
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"
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:
version "1.0.2"
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"