diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 0000000000..0724507f38 --- /dev/null +++ b/.cspell.json @@ -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-]*"] +} diff --git a/.github/workflows/cspell-problem-matcher.json b/.github/workflows/cspell-problem-matcher.json new file mode 100644 index 0000000000..c5cc711b11 --- /dev/null +++ b/.github/workflows/cspell-problem-matcher.json @@ -0,0 +1,16 @@ +{ + "problemMatcher": [ + { + "owner": "cspell", + "pattern": [ + { + "regexp": "^(.*):(\\d+):(\\d+)\\s+\\-\\s+(.*)$", + "file": 1, + "line": 2, + "column": 3, + "message": 4 + } + ] + } + ] +} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b836466d0f..ebc275a0c7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -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 diff --git a/package.json b/package.json index c4e772d5fd..93be1bfeb7 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/packages/docusaurus-mdx-loader/src/index.ts b/packages/docusaurus-mdx-loader/src/index.ts index a237dbfefa..4871e1bc0a 100644 --- a/packages/docusaurus-mdx-loader/src/index.ts +++ b/packages/docusaurus-mdx-loader/src/index.ts @@ -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. diff --git a/packages/docusaurus-migrate/src/frontMatter.ts b/packages/docusaurus-migrate/src/frontMatter.ts index edf98ce841..cd83993f04 100644 --- a/packages/docusaurus-migrate/src/frontMatter.ts +++ b/packages/docusaurus-migrate/src/frontMatter.ts @@ -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àáâãäåçèéêëìíîïðòóôõöùúûüýÿ!;,=+_?'`&#()[\]§%€$])+$/, ); diff --git a/packages/docusaurus-migrate/src/transform.ts b/packages/docusaurus-migrate/src/transform.ts index 5752246e45..f8a8405316 100644 --- a/packages/docusaurus-migrate/src/transform.ts +++ b/packages/docusaurus-migrate/src/transform.ts @@ -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()]; } diff --git a/packages/docusaurus-plugin-client-redirects/src/__tests__/extensionRedirects.test.ts b/packages/docusaurus-plugin-client-redirects/src/__tests__/extensionRedirects.test.ts index 826c570141..dcaa6bca34 100644 --- a/packages/docusaurus-plugin-client-redirects/src/__tests__/extensionRedirects.test.ts +++ b/packages/docusaurus-plugin-client-redirects/src/__tests__/extensionRedirects.test.ts @@ -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." `); }); diff --git a/packages/docusaurus-plugin-client-redirects/src/extensionRedirects.ts b/packages/docusaurus-plugin-client-redirects/src/extensionRedirects.ts index 77510f5f39..0ef5660602 100644 --- a/packages/docusaurus-plugin-client-redirects/src/extensionRedirects.ts +++ b/packages/docusaurus-plugin-client-redirects/src/extensionRedirects.ts @@ -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) { diff --git a/packages/docusaurus-plugin-content-blog/src/__tests__/authors.test.ts b/packages/docusaurus-plugin-content-blog/src/__tests__/authors.test.ts index 38e15c8acb..7815242028 100644 --- a/packages/docusaurus-plugin-content-blog/src/__tests__/authors.test.ts +++ b/packages/docusaurus-plugin-content-blog/src/__tests__/authors.test.ts @@ -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." `); }); }); diff --git a/packages/docusaurus-plugin-content-blog/src/__tests__/blogFrontMatter.test.ts b/packages/docusaurus-plugin-content-blog/src/__tests__/blogFrontMatter.test.ts index da9c9f3f25..bc3aaf174c 100644 --- a/packages/docusaurus-plugin-content-blog/src/__tests__/blogFrontMatter.test.ts +++ b/packages/docusaurus-plugin-content-blog/src/__tests__/blogFrontMatter.test.ts @@ -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', diff --git a/packages/docusaurus-plugin-content-blog/src/authors.ts b/packages/docusaurus-plugin-content-blog/src/authors.ts index 7abbf14bbf..85c01c4a55 100644 --- a/packages/docusaurus-plugin-content-blog/src/authors.ts +++ b/packages/docusaurus-plugin-content-blog/src/authors.ts @@ -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]; diff --git a/packages/docusaurus-plugin-content-blog/src/blogFrontMatter.ts b/packages/docusaurus-plugin-content-blog/src/blogFrontMatter.ts index 3f667ba4aa..49a872b650 100644 --- a/packages/docusaurus-plugin-content-blog/src/blogFrontMatter.ts +++ b/packages/docusaurus-plugin-content-blog/src/blogFrontMatter.ts @@ -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({ 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({ .messages({ 'alternatives.match': FrontMatterAuthorErrorMessage, }), - // Legacy author frontmatter + // Legacy author front matter author: Joi.string(), author_title: Joi.string(), author_url: URISchema, diff --git a/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts b/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts index 0ef6cf9704..cd90496a00 100644 --- a/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts +++ b/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts @@ -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; diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/lorem.md b/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/lorem.md index 83ee30a6fb..a1fcd449da 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/lorem.md +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/__fixtures__/simple-site/docs/lorem.md @@ -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. diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap b/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap index 4ca8d010a7..35d26aa8a5 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/__snapshots__/index.test.ts.snap @@ -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": "{ diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/docFrontMatter.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/docFrontMatter.test.ts index d34ebe1657..861a0b711f 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/docFrontMatter.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/docFrontMatter.test.ts @@ -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, diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts index 1326aad3ab..a5cd7c5c31 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts @@ -37,15 +37,15 @@ const fixtureDir = path.join(__dirname, '__fixtures__'); const createFakeDocFile = ({ source, - frontmatter = {}, + frontMatter = {}, markdown = 'some markdown content', }: { source: string; - frontmatter?: Record; + frontMatter?: Record; 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( diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/slug.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/slug.test.ts index e6a659d8ed..04f2a93f3c 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/slug.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/slug.test.ts @@ -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'); }); diff --git a/packages/docusaurus-plugin-content-docs/src/docFrontMatter.ts b/packages/docusaurus-plugin-content-docs/src/docFrontMatter.ts index de3c48480d..432c9ea7aa 100644 --- a/packages/docusaurus-plugin-content-docs/src/docFrontMatter.ts +++ b/packages/docusaurus-plugin-content-docs/src/docFrontMatter.ts @@ -6,7 +6,7 @@ */ import { - JoiFrontMatter as Joi, // Custom instance for frontmatter + JoiFrontMatter as Joi, // Custom instance for front matter URISchema, FrontMatterTagsSchema, FrontMatterTOCHeadingLevels, diff --git a/packages/docusaurus-plugin-content-docs/src/docs.ts b/packages/docusaurus-plugin-content-docs/src/docs.ts index e857436fce..9925156250 100644 --- a/packages/docusaurus-plugin-content-docs/src/docs.ts +++ b/packages/docusaurus-plugin-content-docs/src/docs.ts @@ -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, }); diff --git a/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts b/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts index 4460892999..83f28e6c46 100644 --- a/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts @@ -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({ diff --git a/packages/docusaurus-plugin-content-docs/src/slug.ts b/packages/docusaurus-plugin-content-docs/src/slug.ts index bde63eb8ae..6d84e9b176 100644 --- a/packages/docusaurus-plugin-content-docs/src/slug.ts +++ b/packages/docusaurus-plugin-content-docs/src/slug.ts @@ -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 => --- diff --git a/packages/docusaurus-plugin-content-docs/src/translations.ts b/packages/docusaurus-plugin-content-docs/src/translations.ts index d890cd68fd..772c350ab3 100644 --- a/packages/docusaurus-plugin-content-docs/src/translations.ts +++ b/packages/docusaurus-plugin-content-docs/src/translations.ts @@ -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`]: { diff --git a/packages/docusaurus-theme-classic/src/theme/BlogPostAuthor/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogPostAuthor/index.tsx index 79f285f59f..ed6c43828d 100644 --- a/packages/docusaurus-theme-classic/src/theme/BlogPostAuthor/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/BlogPostAuthor/index.tsx @@ -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 && (
- {/* 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) && ( {/* - 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 */} diff --git a/packages/docusaurus-theme-classic/src/validateThemeConfig.ts b/packages/docusaurus-theme-classic/src/validateThemeConfig.ts index 449b7f4e8f..9fe30dee7f 100644 --- a/packages/docusaurus-theme-classic/src/validateThemeConfig.ts +++ b/packages/docusaurus-theme-classic/src/validateThemeConfig.ts @@ -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({ diff --git a/packages/docusaurus-theme-common/src/components/Collapsible/index.tsx b/packages/docusaurus-theme-common/src/components/Collapsible/index.tsx index 497b5b4eb6..57dff7b2f1 100644 --- a/packages/docusaurus-theme-common/src/components/Collapsible/index.tsx +++ b/packages/docusaurus-theme-common/src/components/Collapsible/index.tsx @@ -151,7 +151,7 @@ type CollapsibleElementType = React.ElementType< Pick, '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; diff --git a/packages/docusaurus-theme-common/src/utils/announcementBarUtils.tsx b/packages/docusaurus-theme-common/src/utils/announcementBarUtils.tsx index a09e8624e3..81067f6df3 100644 --- a/packages/docusaurus-theme-common/src/utils/announcementBarUtils.tsx +++ b/packages/docusaurus-theme-common/src/utils/announcementBarUtils.tsx @@ -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'; } diff --git a/packages/docusaurus-theme-common/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx b/packages/docusaurus-theme-common/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx index 5f4cf28f5d..d79cc59940 100644 --- a/packages/docusaurus-theme-common/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx +++ b/packages/docusaurus-theme-common/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx @@ -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) => { diff --git a/packages/docusaurus-theme-common/src/utils/mobileSecondaryMenu.tsx b/packages/docusaurus-theme-common/src/utils/mobileSecondaryMenu.tsx index a287014232..cae6047260 100644 --- a/packages/docusaurus-theme-common/src/utils/mobileSecondaryMenu.tsx +++ b/packages/docusaurus-theme-common/src/utils/mobileSecondaryMenu.tsx @@ -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]); diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchMetadata/index.tsx b/packages/docusaurus-theme-search-algolia/src/theme/SearchMetadata/index.tsx index 2b36b2e1b0..de0b99a2f4 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchMetadata/index.tsx +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchMetadata/index.tsx @@ -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 diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css index 6377499371..d00563767f 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchPage/styles.module.css @@ -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); } diff --git a/packages/docusaurus-utils-validation/src/JoiFrontMatter.ts b/packages/docusaurus-utils-validation/src/JoiFrontMatter.ts index c6c4cc06a0..6fa679b62b 100644 --- a/packages/docusaurus-utils-validation/src/JoiFrontMatter.ts +++ b/packages/docusaurus-utils-validation/src/JoiFrontMatter.ts @@ -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 diff --git a/packages/docusaurus-utils-validation/src/__tests__/validationUtils.test.ts b/packages/docusaurus-utils-validation/src/__tests__/validationUtils.test.ts index 68ee6bcf90..4d06e1014f 100644 --- a/packages/docusaurus-utils-validation/src/__tests__/validationUtils.test.ts +++ b/packages/docusaurus-utils-validation/src/__tests__/validationUtils.test.ts @@ -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(), diff --git a/packages/docusaurus-utils-validation/src/validationUtils.ts b/packages/docusaurus-utils-validation/src/validationUtils.ts index b07a0a72ef..b524a96717 100644 --- a/packages/docusaurus-utils-validation/src/validationUtils.ts +++ b/packages/docusaurus-utils-validation/src/validationUtils.ts @@ -112,7 +112,7 @@ export function validateFrontMatter( 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)} diff --git a/packages/docusaurus-utils/src/__tests__/markdownParser.test.ts b/packages/docusaurus-utils/src/__tests__/markdownParser.test.ts index 3b603dc996..92acd07e70 100644 --- a/packages/docusaurus-utils/src/__tests__/markdownParser.test.ts +++ b/packages/docusaurus-utils/src/__tests__/markdownParser.test.ts @@ -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` --- diff --git a/packages/docusaurus-utils/src/index.ts b/packages/docusaurus-utils/src/index.ts index c04956645c..e0ca7f81ec 100644 --- a/packages/docusaurus-utils/src/index.ts +++ b/packages/docusaurus-utils/src/index.ts @@ -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('/'); diff --git a/packages/docusaurus-utils/src/markdownParser.ts b/packages/docusaurus-utils/src/markdownParser.ts index 1ef1fba35c..83da2fd414 100644 --- a/packages/docusaurus-utils/src/markdownParser.ts +++ b/packages/docusaurus-utils/src/markdownParser.ts @@ -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; } } diff --git a/packages/docusaurus/bin/docusaurus.js b/packages/docusaurus/bin/docusaurus.js index ffe7bf5837..898d23949d 100755 --- a/packages/docusaurus/bin/docusaurus.js +++ b/packages/docusaurus/bin/docusaurus.js @@ -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 ', diff --git a/packages/docusaurus/src/commands/build.ts b/packages/docusaurus/src/commands/build.ts index 8b2fde0990..cdb99a2cd8 100644 --- a/packages/docusaurus/src/commands/build.ts +++ b/packages/docusaurus/src/commands/build.ts @@ -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({ diff --git a/packages/docusaurus/src/server/index.ts b/packages/docusaurus/src/server/index.ts index 5142fbc59f..cdf1045672 100644 --- a/packages/docusaurus/src/server/index.ts +++ b/packages/docusaurus/src/server/index.ts @@ -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], }, }, diff --git a/packages/docusaurus/src/server/translations/translationsExtractor.ts b/packages/docusaurus/src/server/translations/translationsExtractor.ts index c1f4f81d6a..ec808f79b9 100644 --- a/packages/docusaurus/src/server/translations/translationsExtractor.ts +++ b/packages/docusaurus/src/server/translations/translationsExtractor.ts @@ -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', ]); diff --git a/packages/docusaurus/src/webpack/utils.ts b/packages/docusaurus/src/webpack/utils.ts index 63fb0edf66..91f6327b02 100644 --- a/packages/docusaurus/src/webpack/utils.ts +++ b/packages/docusaurus/src/webpack/utils.ts @@ -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; } diff --git a/project-words.txt b/project-words.txt new file mode 100644 index 0000000000..a33cb6787e --- /dev/null +++ b/project-words.txt @@ -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 diff --git a/website/_dogfooding/README.md b/website/_dogfooding/README.md index 170fe3d799..0b6ba0b479 100644 --- a/website/_dogfooding/README.md +++ b/website/_dogfooding/README.md @@ -1,5 +1,5 @@ --- -test: 'some test frontmatter' +test: 'some test front matter' --- # Docusaurus website dogfooding diff --git a/website/blog/2017-12-14-introducing-docusaurus.md b/website/blog/2017-12-14-introducing-docusaurus.md index 872e5d637b..309a8ba2c3 100644 --- a/website/blog/2017-12-14-introducing-docusaurus.md +++ b/website/blog/2017-12-14-introducing-docusaurus.md @@ -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 diff --git a/website/blog/2020-01-07-tribute-to-endi.md b/website/blog/2020-01-07-tribute-to-endi.md index 3ebe100539..773b07ac13 100644 --- a/website/blog/2020-01-07-tribute-to-endi.md +++ b/website/blog/2020-01-07-tribute-to-endi.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. -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. 😔 diff --git a/website/docs/api/themes/theme-configuration.md b/website/docs/api/themes/theme-configuration.md index c80ec3bbee..e79cf89614 100644 --- a/website/docs/api/themes/theme-configuration.md +++ b/website/docs/api/themes/theme-configuration.md @@ -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: diff --git a/website/docs/api/themes/theme-search-algolia.md b/website/docs/api/themes/theme-search-algolia.md index e0cee6d8f9..077a4ab13b 100644 --- a/website/docs/api/themes/theme-search-algolia.md +++ b/website/docs/api/themes/theme-search-algolia.md @@ -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 diff --git a/website/docs/blog.mdx b/website/docs/blog.mdx index cf42f999b9..06777ff89e 100644 --- a/website/docs/blog.mdx +++ b/website/docs/blog.mdx @@ -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 - + ```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 - + ```md title="my-blog-post.md" diff --git a/website/docs/browser-support.md b/website/docs/browser-support.md index 86dcae792a..6a5bbadfdc 100644 --- a/website/docs/browser-support.md +++ b/website/docs/browser-support.md @@ -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" diff --git a/website/docs/configuration.md b/website/docs/configuration.md index c040630179..6a1bbf9a22 100644 --- a/website/docs/configuration.md +++ b/website/docs/configuration.md @@ -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` | diff --git a/website/docs/deployment.mdx b/website/docs/deployment.mdx index a2ec1a0faf..197934d35e 100644 --- a/website/docs/deployment.mdx +++ b/website/docs/deployment.mdx @@ -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} diff --git a/website/docs/guides/markdown-features/markdown-features-admonitions.mdx b/website/docs/guides/markdown-features/markdown-features-admonitions.mdx index 82f936abfd..5925156d8b 100644 --- a/website/docs/guides/markdown-features/markdown-features-admonitions.mdx +++ b/website/docs/guides/markdown-features/markdown-features-admonitions.mdx @@ -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. ```md diff --git a/website/docs/i18n/i18n-crowdin.mdx b/website/docs/i18n/i18n-crowdin.mdx index 055b439029..bed65e157e 100644 --- a/website/docs/i18n/i18n-crowdin.mdx +++ b/website/docs/i18n/i18n-crowdin.mdx @@ -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) diff --git a/website/docs/migration/migration-manual.md b/website/docs/migration/migration-manual.md index 5833e428ff..d7f42ef35f 100644 --- a/website/docs/migration/migration-manual.md +++ b/website/docs/migration/migration-manual.md @@ -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 `` and `
` which are valid in HTML would have to be explicitly closed now ( `` and `
`). 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. diff --git a/website/docusaurus.config-blog-only.js b/website/docusaurus.config-blog-only.js index bc6dd390f9..e9d6df8566 100644 --- a/website/docusaurus.config-blog-only.js +++ b/website/docusaurus.config-blog-only.js @@ -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'], diff --git a/website/src/data/users.tsx b/website/src/data/users.tsx index 64ac265175..40bb580b1d 100644 --- a/website/src/data/users.tsx +++ b/website/src/data/users.tsx @@ -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', diff --git a/website/static/img/slash-upandrunning.png b/website/static/img/slash-up-and-running.png similarity index 100% rename from website/static/img/slash-upandrunning.png rename to website/static/img/slash-up-and-running.png diff --git a/website/versioned_docs/version-2.0.0-beta.13/typescript-support.md b/website/versioned_docs/version-2.0.0-beta.13/typescript-support.md index 6d3949d013..f3ffab9e3d 100644 --- a/website/versioned_docs/version-2.0.0-beta.13/typescript-support.md +++ b/website/versioned_docs/version-2.0.0-beta.13/typescript-support.md @@ -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. ::: diff --git a/website/versioned_docs/version-2.0.0-beta.14/typescript-support.md b/website/versioned_docs/version-2.0.0-beta.14/typescript-support.md index 6d3949d013..f3ffab9e3d 100644 --- a/website/versioned_docs/version-2.0.0-beta.14/typescript-support.md +++ b/website/versioned_docs/version-2.0.0-beta.14/typescript-support.md @@ -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. ::: diff --git a/yarn.lock b/yarn.lock index 541254f101..df55a1f997 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"