diff --git a/README.md b/README.md index ebb0f345..a083d55d 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,26 @@ > [ESLint] Parser/Plugin for [MDX], helps you lint all ES syntaxes excluding `code` block of course. > Work perfectly with `eslint-plugin-import`, `eslint-plugin-prettier` or any other eslint plugins. +> And also can be integrated with [remark] plugins to lint non ES syntaxes. -## VSCode Extension [![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/JounQin.vscode-mdx)](https://marketplace.visualstudio.com/items?itemName=JounQin.vscode-mdx) +## TOC + +- [VSCode Extension](#vscode-extension) +- [Packages](#packages) +- [Install](#install) +- [Usage](#usage) +- [Parser Options](#parser-options) +- [Rules](#rules) + - [mdx/no-jsx-html-comments](#mdxno-jsx-html-comments) + - [mdx/no-unescaped-entities](#mdxno-unescaped-entities) + - [mdx/no-unused-expressions](#mdxno-unused-expressions) + - [mdx/remark](#mdxremark) +- [Changelog](#changelog) +- [License](#license) + +## VSCode Extension + +[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/JounQin.vscode-mdx)](https://marketplace.visualstudio.com/items?itemName=JounQin.vscode-mdx) [VSCode MDX]\: Integrates with [VSCode ESLint], syntaxes highlighting and error reporting. @@ -110,7 +128,7 @@ npm i -D eslint-plugin-mdx ### mdx/no-jsx-html-comments -HTML style comments in jsx block is invalid, this rule will help you to fix it by transforming it to JSX style comments. +_Fixable_: HTML style comments in jsx block is invalid, this rule will help you to fix it by transforming it to JSX style comments. ### mdx/no-unescaped-entities @@ -120,11 +138,11 @@ Inline JSX like `Inline ` is supported by [MDX], but rule `react/no [MDX] can render `jsx` block automatically without exporting them, but [ESLint] will report `no-unused-expressions` issue which could be unexpected, this rule is a replacement of it, so make sure that you've turned off the original `no-unused-expressions` rule. -## Limitation +### mdx/remark -> This parser/plugin can only handle ES syntaxes for you, markdown related syntaxes will just be ignored, you can use [markdownlint] or [remark-lint] to lint that part. +_possible fixable depends on your remark plugins_: -I have a very preliminary idea to integrate with [remark-lint]. +Integration with [remark] plugins without [remark-lint], it will read [remark's configuration](https://github.com/remarkjs/remark/tree/master/packages/remark-cli#remark-cli) automatically via [cosmiconfig]. But `.remarkignore` will not be respected, you should use `.eslintignore` instead. ## Changelog @@ -132,9 +150,10 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m ## License -[MIT] © [JounQin]@[1stG] +[MIT] © [JounQin]@[1stG.me] -[1stg]: https://www.1stg.me +[1stg.me]: https://www.1stg.me +[cosmiconfig]: https://github.com/davidtheclark/cosmiconfig [eslint]: https://eslint.org [eslint-plugin-react]: https://github.com/yannickcr/eslint-plugin-react [jounqin]: https://GitHub.com/JounQin @@ -142,6 +161,7 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m [mdx]: https://github.com/mdx-js/mdx [mit]: http://opensource.org/licenses/MIT [markdownlint]: https://github.com/markdownlint/markdownlint +[remark]: https://github.com/remarkjs/remark [remark-lint]: https://github.com/remarkjs/remark-lint [vscode eslint]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint [vscode mdx]: https://github.com/rx-ts/vscode-mdx diff --git a/lerna.json b/lerna.json index ea95e7ac..b7401db0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "$schema": "http://json.schemastore.org/lerna", - "version": "0.11.2", + "version": "1.1.0", "npmClient": "yarn", "useWorkspaces": true, "changelog": { diff --git a/package.json b/package.json index 401e5551..18511b24 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@1stg/tsconfig": "^0.1.0", "@babel/core": "^7.5.5", "@commitlint/config-conventional": "^8.1.0", + "@types/cosmiconfig": "^5.0.3", "@types/eslint": "^6.1.0", "@types/jest": "^24.0.18", "@types/node": "^12.7.2", @@ -44,6 +45,8 @@ "lint-staged": "^9.2.3", "prettier": "1.18.2", "react": "^16.9.0", + "remark-preset-lint-markdown-style-guide": "^2.1.3", + "remark-preset-lint-recommended": "^3.0.3", "ts-jest": "^24.0.2", "ts-node": "^8.3.0", "type-coverage": "^2.2.0", @@ -76,6 +79,16 @@ "preset": "ts-jest" }, "prettier": "@1stg/prettier-config", + "remarkConfig": { + "settings": { + "emphasis": "*", + "strong": "*" + }, + "plugins": [ + "remark-preset-lint-recommended", + "remark-preset-lint-markdown-style-guide" + ] + }, "renovate": { "extends": [ "@1stg" diff --git a/packages/eslint-mdx/README.md b/packages/eslint-mdx/README.md index ebb0f345..a083d55d 100644 --- a/packages/eslint-mdx/README.md +++ b/packages/eslint-mdx/README.md @@ -24,8 +24,26 @@ > [ESLint] Parser/Plugin for [MDX], helps you lint all ES syntaxes excluding `code` block of course. > Work perfectly with `eslint-plugin-import`, `eslint-plugin-prettier` or any other eslint plugins. +> And also can be integrated with [remark] plugins to lint non ES syntaxes. -## VSCode Extension [![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/JounQin.vscode-mdx)](https://marketplace.visualstudio.com/items?itemName=JounQin.vscode-mdx) +## TOC + +- [VSCode Extension](#vscode-extension) +- [Packages](#packages) +- [Install](#install) +- [Usage](#usage) +- [Parser Options](#parser-options) +- [Rules](#rules) + - [mdx/no-jsx-html-comments](#mdxno-jsx-html-comments) + - [mdx/no-unescaped-entities](#mdxno-unescaped-entities) + - [mdx/no-unused-expressions](#mdxno-unused-expressions) + - [mdx/remark](#mdxremark) +- [Changelog](#changelog) +- [License](#license) + +## VSCode Extension + +[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/JounQin.vscode-mdx)](https://marketplace.visualstudio.com/items?itemName=JounQin.vscode-mdx) [VSCode MDX]\: Integrates with [VSCode ESLint], syntaxes highlighting and error reporting. @@ -110,7 +128,7 @@ npm i -D eslint-plugin-mdx ### mdx/no-jsx-html-comments -HTML style comments in jsx block is invalid, this rule will help you to fix it by transforming it to JSX style comments. +_Fixable_: HTML style comments in jsx block is invalid, this rule will help you to fix it by transforming it to JSX style comments. ### mdx/no-unescaped-entities @@ -120,11 +138,11 @@ Inline JSX like `Inline ` is supported by [MDX], but rule `react/no [MDX] can render `jsx` block automatically without exporting them, but [ESLint] will report `no-unused-expressions` issue which could be unexpected, this rule is a replacement of it, so make sure that you've turned off the original `no-unused-expressions` rule. -## Limitation +### mdx/remark -> This parser/plugin can only handle ES syntaxes for you, markdown related syntaxes will just be ignored, you can use [markdownlint] or [remark-lint] to lint that part. +_possible fixable depends on your remark plugins_: -I have a very preliminary idea to integrate with [remark-lint]. +Integration with [remark] plugins without [remark-lint], it will read [remark's configuration](https://github.com/remarkjs/remark/tree/master/packages/remark-cli#remark-cli) automatically via [cosmiconfig]. But `.remarkignore` will not be respected, you should use `.eslintignore` instead. ## Changelog @@ -132,9 +150,10 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m ## License -[MIT] © [JounQin]@[1stG] +[MIT] © [JounQin]@[1stG.me] -[1stg]: https://www.1stg.me +[1stg.me]: https://www.1stg.me +[cosmiconfig]: https://github.com/davidtheclark/cosmiconfig [eslint]: https://eslint.org [eslint-plugin-react]: https://github.com/yannickcr/eslint-plugin-react [jounqin]: https://GitHub.com/JounQin @@ -142,6 +161,7 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m [mdx]: https://github.com/mdx-js/mdx [mit]: http://opensource.org/licenses/MIT [markdownlint]: https://github.com/markdownlint/markdownlint +[remark]: https://github.com/remarkjs/remark [remark-lint]: https://github.com/remarkjs/remark-lint [vscode eslint]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint [vscode mdx]: https://github.com/rx-ts/vscode-mdx diff --git a/packages/eslint-mdx/package.json b/packages/eslint-mdx/package.json index 7fab2daa..5ad12ed8 100644 --- a/packages/eslint-mdx/package.json +++ b/packages/eslint-mdx/package.json @@ -1,6 +1,6 @@ { "name": "eslint-mdx", - "version": "0.11.2", + "version": "1.1.0", "description": "ESLint Parser for MDX", "repository": "git@github.com:rx-ts/eslint-mdx.git", "author": "JounQin ", diff --git a/packages/eslint-mdx/src/parser.ts b/packages/eslint-mdx/src/parser.ts index 355996d6..74a1ccf0 100644 --- a/packages/eslint-mdx/src/parser.ts +++ b/packages/eslint-mdx/src/parser.ts @@ -108,6 +108,7 @@ export class Parser { const endLineOffset = endLines.length - 1 comments.push({ fixed, + // ! eslint ast column is 0-indexed, but unified is 1-indexed loc: { start: { line: line + startLineOffset, @@ -157,6 +158,7 @@ export class Parser { comments: [], tokens: [], } + this._services = { JSXElementsWithHTMLComments: [], } diff --git a/packages/eslint-plugin-mdx/README.md b/packages/eslint-plugin-mdx/README.md index ebb0f345..a083d55d 100644 --- a/packages/eslint-plugin-mdx/README.md +++ b/packages/eslint-plugin-mdx/README.md @@ -24,8 +24,26 @@ > [ESLint] Parser/Plugin for [MDX], helps you lint all ES syntaxes excluding `code` block of course. > Work perfectly with `eslint-plugin-import`, `eslint-plugin-prettier` or any other eslint plugins. +> And also can be integrated with [remark] plugins to lint non ES syntaxes. -## VSCode Extension [![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/JounQin.vscode-mdx)](https://marketplace.visualstudio.com/items?itemName=JounQin.vscode-mdx) +## TOC + +- [VSCode Extension](#vscode-extension) +- [Packages](#packages) +- [Install](#install) +- [Usage](#usage) +- [Parser Options](#parser-options) +- [Rules](#rules) + - [mdx/no-jsx-html-comments](#mdxno-jsx-html-comments) + - [mdx/no-unescaped-entities](#mdxno-unescaped-entities) + - [mdx/no-unused-expressions](#mdxno-unused-expressions) + - [mdx/remark](#mdxremark) +- [Changelog](#changelog) +- [License](#license) + +## VSCode Extension + +[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/JounQin.vscode-mdx)](https://marketplace.visualstudio.com/items?itemName=JounQin.vscode-mdx) [VSCode MDX]\: Integrates with [VSCode ESLint], syntaxes highlighting and error reporting. @@ -110,7 +128,7 @@ npm i -D eslint-plugin-mdx ### mdx/no-jsx-html-comments -HTML style comments in jsx block is invalid, this rule will help you to fix it by transforming it to JSX style comments. +_Fixable_: HTML style comments in jsx block is invalid, this rule will help you to fix it by transforming it to JSX style comments. ### mdx/no-unescaped-entities @@ -120,11 +138,11 @@ Inline JSX like `Inline ` is supported by [MDX], but rule `react/no [MDX] can render `jsx` block automatically without exporting them, but [ESLint] will report `no-unused-expressions` issue which could be unexpected, this rule is a replacement of it, so make sure that you've turned off the original `no-unused-expressions` rule. -## Limitation +### mdx/remark -> This parser/plugin can only handle ES syntaxes for you, markdown related syntaxes will just be ignored, you can use [markdownlint] or [remark-lint] to lint that part. +_possible fixable depends on your remark plugins_: -I have a very preliminary idea to integrate with [remark-lint]. +Integration with [remark] plugins without [remark-lint], it will read [remark's configuration](https://github.com/remarkjs/remark/tree/master/packages/remark-cli#remark-cli) automatically via [cosmiconfig]. But `.remarkignore` will not be respected, you should use `.eslintignore` instead. ## Changelog @@ -132,9 +150,10 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m ## License -[MIT] © [JounQin]@[1stG] +[MIT] © [JounQin]@[1stG.me] -[1stg]: https://www.1stg.me +[1stg.me]: https://www.1stg.me +[cosmiconfig]: https://github.com/davidtheclark/cosmiconfig [eslint]: https://eslint.org [eslint-plugin-react]: https://github.com/yannickcr/eslint-plugin-react [jounqin]: https://GitHub.com/JounQin @@ -142,6 +161,7 @@ Detailed changes for each release are documented in [CHANGELOG.md](./CHANGELOG.m [mdx]: https://github.com/mdx-js/mdx [mit]: http://opensource.org/licenses/MIT [markdownlint]: https://github.com/markdownlint/markdownlint +[remark]: https://github.com/remarkjs/remark [remark-lint]: https://github.com/remarkjs/remark-lint [vscode eslint]: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint [vscode mdx]: https://github.com/rx-ts/vscode-mdx diff --git a/packages/eslint-plugin-mdx/package.json b/packages/eslint-plugin-mdx/package.json index efc4d78f..3e06b894 100644 --- a/packages/eslint-plugin-mdx/package.json +++ b/packages/eslint-plugin-mdx/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-mdx", - "version": "0.11.2", + "version": "1.1.0", "description": "ESLint Plugin for MDX", "repository": "git@github.com:rx-ts/eslint-mdx.git", "author": "JounQin ", @@ -22,7 +22,9 @@ "eslint-plugin-react": ">=7.0.0" }, "dependencies": { - "eslint-mdx": "^0.11.2", - "rebass": "^4.0.2" + "cosmiconfig": "^5.2.1", + "eslint-mdx": "^1.1.0", + "rebass": "^4.0.2", + "remark-stringify": "^7.0.2" } } diff --git a/packages/eslint-plugin-mdx/src/configs/recommended.ts b/packages/eslint-plugin-mdx/src/configs/recommended.ts index 24119e8c..e54f7ccb 100644 --- a/packages/eslint-plugin-mdx/src/configs/recommended.ts +++ b/packages/eslint-plugin-mdx/src/configs/recommended.ts @@ -6,6 +6,7 @@ export const recommended = { 'mdx/no-jsx-html-comments': 2, 'mdx/no-unescaped-entities': 1, 'mdx/no-unused-expressions': 2, + 'mdx/remark': 1, 'no-unused-expressions': 0, 'react/no-unescaped-entities': 0, }, diff --git a/packages/eslint-plugin-mdx/src/rules/index.ts b/packages/eslint-plugin-mdx/src/rules/index.ts index 5eeac061..bf7430ce 100644 --- a/packages/eslint-plugin-mdx/src/rules/index.ts +++ b/packages/eslint-plugin-mdx/src/rules/index.ts @@ -1,13 +1,15 @@ import { noJsxHtmlComments } from './no-jsx-html-comments' import { noUnescapedEntities } from './no-unescaped-entities' import { noUnusedExpressions } from './no-unused-expressions' +import { remark } from './remark' export * from './types' -export { noJsxHtmlComments, noUnescapedEntities, noUnusedExpressions } +export { noJsxHtmlComments, noUnescapedEntities, noUnusedExpressions, remark } export const rules = { 'no-jsx-html-comments': noJsxHtmlComments, 'no-unescaped-entities': noUnescapedEntities, 'no-unused-expressions': noUnusedExpressions, + remark, } diff --git a/packages/eslint-plugin-mdx/src/rules/remark.ts b/packages/eslint-plugin-mdx/src/rules/remark.ts new file mode 100644 index 00000000..1909fd56 --- /dev/null +++ b/packages/eslint-plugin-mdx/src/rules/remark.ts @@ -0,0 +1,105 @@ +// eslint-disable-next-line @typescript-eslint/triple-slash-reference +/// + +import remarkStringify from 'remark-stringify' +import unified, { Processor } from 'unified' +import remarkMdx from 'remark-mdx' +import remarkParse from 'remark-parse' + +import { RemarkConfig } from './types' + +import cosmiconfig, { Explorer } from 'cosmiconfig' +import { Rule } from 'eslint' + +let remarkConfig: Explorer +let remarkProcessor: Processor + +const getRemarkProcessor = (searchFrom?: string) => { + if (!remarkConfig) { + remarkConfig = cosmiconfig('remark', { + packageProp: 'remarkConfig', + }) + } + + if (!remarkProcessor) { + remarkProcessor = unified() + .use(remarkParse) + .use(remarkStringify) + .use(remarkMdx) + .freeze() + } + + /* istanbul ignore next */ + const { plugins = [], settings }: Partial = + remarkConfig.searchSync(searchFrom).config || {} + + return plugins.reduce((remarkProcessor, pluginWithSettings) => { + const [plugin, ...pluginSettings] = Array.isArray(pluginWithSettings) + ? pluginWithSettings + : [pluginWithSettings] + return remarkProcessor.use( + /* istanbul ignore next */ + // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports + typeof plugin === 'string' ? require(plugin) : plugin, + ...pluginSettings, + ) + }, remarkProcessor().use({ settings })) +} + +export const remark: Rule.RuleModule = { + meta: { + type: 'layout', + docs: { + description: 'Linter integration with remark plugins', + category: 'Stylistic Issues', + recommended: true, + }, + messages: { + remarkReport: '{{ source }}:{{ ruleId }} - {{ reason }}', + }, + fixable: 'code', + schema: [], + }, + create(context) { + const sourceCode = context.getSourceCode() + return { + Program(node) { + const file = getRemarkProcessor(context.getFilename()).processSync( + sourceCode.getText(node), + ) + const content = file.toString() + let fixed = false + file.messages.forEach( + ({ source, reason, ruleId, location: { start, end } }) => + context.report({ + messageId: 'remarkReport', + data: { + reason, + source, + ruleId, + }, + loc: { + // ! eslint ast column is 0-indexed, but unified is 1-indexed + start: { + ...start, + column: start.column - 1, + }, + end: { + ...end, + column: end.column - 1, + }, + }, + node, + fix(fixer) { + if (fixed) { + return null + } + fixed = true + return fixer.replaceTextRange([0, content.length], content) + }, + }), + ) + }, + } + }, +} diff --git a/packages/eslint-plugin-mdx/src/rules/types.ts b/packages/eslint-plugin-mdx/src/rules/types.ts index 22d4e830..e2a459dd 100644 --- a/packages/eslint-plugin-mdx/src/rules/types.ts +++ b/packages/eslint-plugin-mdx/src/rules/types.ts @@ -1,3 +1,5 @@ +import { Settings, Attacher } from 'unified' + import { Node, ExpressionStatement } from 'estree' export interface WithParent { @@ -9,3 +11,10 @@ export type NodeWithParent = Node & WithParent export interface ExpressionStatementWithParent extends ExpressionStatement, WithParent {} + +export type RemarkPlugin = string | Attacher + +export interface RemarkConfig { + settings: Record + plugins: Array +} diff --git a/packages/eslint-plugin-mdx/typings.d.ts b/packages/eslint-plugin-mdx/typings.d.ts index 606a7fec..349a1e12 100644 --- a/packages/eslint-plugin-mdx/typings.d.ts +++ b/packages/eslint-plugin-mdx/typings.d.ts @@ -9,3 +9,9 @@ declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities' { const reactNoUnescapedEntities: Rule.RuleModule export = reactNoUnescapedEntities } + +declare module 'vfile-reporter' { + import { VFile } from 'vfile' + const report: (content: Error | VFile) => string + export = report +} diff --git a/test/__snapshots__/fixtures.test.ts.snap b/test/__snapshots__/fixtures.test.ts.snap index 84f14a71..e2c55dfb 100644 --- a/test/__snapshots__/fixtures.test.ts.snap +++ b/test/__snapshots__/fixtures.test.ts.snap @@ -28,7 +28,7 @@ Lorem ipsum dolor sit _amet_, consectetur adipiscing elit. Ut ac lobortis velit. `; exports[`fixtures should match all snapshots: blank-lines.mdx 1`] = ` -"import { Box } from '@rebass/emotion' +"import {Box} from '@rebass/emotion' # Getting Started @@ -104,3 +104,8 @@ exports[`fixtures should match all snapshots: parser.mdx 1`] = ` Header
" `; + +exports[`fixtures should match all snapshots: remark.mdx 1`] = ` +"_Hello_, **world**! +" +`; diff --git a/test/fixtures/remark.mdx b/test/fixtures/remark.mdx new file mode 100644 index 00000000..0d5f665c --- /dev/null +++ b/test/fixtures/remark.mdx @@ -0,0 +1 @@ +_Hello_, **world**! diff --git a/yarn.lock b/yarn.lock index c4e7b38f..23fd8486 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2344,6 +2344,13 @@ dependencies: "@babel/types" "^7.3.0" +"@types/cosmiconfig@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/cosmiconfig/-/cosmiconfig-5.0.3.tgz#880644bb155d4038d3b752159684b777b0a159dd" + integrity sha512-HgTGG7X5y9pLl3pixeo2XtDEFD8rq2EuH+S4mK6teCnAwWMucQl6v1D43hI4Uw1VJh6nu59lxLkqXHRl4uwThA== + dependencies: + "@types/node" "*" + "@types/eslint-visitor-keys@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" @@ -3323,6 +3330,11 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +ccount@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" + integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== + chalk@2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" @@ -3352,6 +3364,11 @@ chalk@^1.0.0, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +character-entities-html4@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" + integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg== + character-entities-legacy@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" @@ -3453,6 +3470,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +co@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" + integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g= + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3463,7 +3485,7 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -collapse-white-space@^1.0.2: +collapse-white-space@^1.0.2, collapse-white-space@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== @@ -5399,6 +5421,11 @@ ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= +irregular-plurals@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-2.0.0.tgz#39d40f05b00f656d0b7fa471230dd3b714af2872" + integrity sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -5418,6 +5445,11 @@ is-alphabetical@1.0.3, is-alphabetical@^1.0.0: resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== +is-alphanumeric@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= + is-alphanumerical@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" @@ -5472,7 +5504,7 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= -is-decimal@^1.0.0: +is-decimal@^1.0.0, is-decimal@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== @@ -6608,6 +6640,11 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" +longest-streak@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" + integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -6738,6 +6775,33 @@ markdown-escapes@^1.0.0: resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== +markdown-table@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + +mdast-comment-marker@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz#9c9c18e1ed57feafc1965d92b028f37c3c8da70d" + integrity sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw== + +mdast-util-compact@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d" + integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w== + dependencies: + unist-util-visit "^1.1.0" + +mdast-util-heading-style@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/mdast-util-heading-style/-/mdast-util-heading-style-1.0.5.tgz#81b2e60d76754198687db0e8f044e42376db0426" + integrity sha512-8zQkb3IUwiwOdUw6jIhnwM6DPyib+mgzQuHAe7j2Hy1rIarU4VUxe472bp9oktqULW3xqZE+Kz6OD4Gi7IA3vw== + +mdast-util-to-string@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d" + integrity sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg== + mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -7551,7 +7615,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-entities@^1.1.0: +parse-entities@^1.0.2, parse-entities@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== @@ -7775,6 +7839,13 @@ please-upgrade-node@^3.1.1, please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" +plur@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/plur/-/plur-3.1.1.tgz#60267967866a8d811504fe58f2faaba237546a5b" + integrity sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w== + dependencies: + irregular-plurals "^2.0.0" + pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" @@ -8219,6 +8290,502 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" +remark-lint-blockquote-indentation@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.3.tgz#9c35235dd0e904ad6c085e9f66d94b3f13968d1f" + integrity sha512-qK4C1l2VmeOVWEAkDYP0CaDtSFoaEBEo5l4oyz1kTkY7YB0Jh7llW2KjuhJz5IzMLmloKJzIyGwlu/odcwaHpg== + dependencies: + mdast-util-to-string "^1.0.2" + plur "^3.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-code-block-style@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.3.tgz#236d8a5558041decf2b275e9d9eb5868950375ec" + integrity sha512-DL+rudnd9ILP5YXm74tLpMzfWZLqziX7NwIwUhqRefaOyWwxgPPy7hbT59FJqcFc6E/zvDz+Oq4nR1BSV5kEdw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-definition-case@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-definition-case/-/remark-lint-definition-case-1.0.4.tgz#54d2a112794f1a070a5e8aa7c8090e8ae9aa3e11" + integrity sha512-ebl8vYOab9iy1Mr29Wo/9CmqcYGRjCfBievIZts08efrxIElWz+jB8/n7C17fh8k0djiiS/Of6W+bfRD+kMXLA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.4.0" + +remark-lint-definition-spacing@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.4.tgz#c322ff110c168449d8217773a23352c4174ffeba" + integrity sha512-UderghITmru72OXB5ErCFhVsY7up2wK/m1bUD3E2dm/TFn73/7WpykENt5UirCDT/aeyoHYl8QXUVL20rAc3XQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.4.0" + +remark-lint-emphasis-marker@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.3.tgz#6dc4e7df13e5092c1222110f826f68b4b3920550" + integrity sha512-ea2tEVyhZvYxwj6AHsW2qzgEDLljcnzq5taZ3FJFL0KMZYZHfWaIU90H43jrW4seGEtmaP1bmoqJaTavJ2x5Jw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-fenced-code-flag@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.3.tgz#349caf7c6dd153d0b6ffb57cbcc67c8277569d2a" + integrity sha512-X8Oi6dhfqV9NI3cVg29myvT/NATDHVgRGCpnNz76w7VXwzhBvQtJr1MxZzuPxfWLox+ARCXF2rY9n9hbYFHYTg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-fenced-code-marker@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.3.tgz#9df1d16d535856f41b3c17a7d309385475cbec04" + integrity sha512-JKnojSQ8JkwpIpbNm6wtKEfx8iiv8QIwNHFM06iTCHExMhXa4pJ3wb5M5f0wsWNHtoND3lrw6AcVPoZxEPnflg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-file-extension@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-file-extension/-/remark-lint-file-extension-1.0.3.tgz#a7fc78fbf041e513c618b2cca0f2160ee37daa13" + integrity sha512-P5gzsxKmuAVPN7Kq1W0f8Ss0cFKfu+OlezYJWXf+5qOa+9Y5GqHEUOobPnsmNFZrVMiM7JoqJN2C9ZjrUx3N6Q== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-final-definition@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-final-definition/-/remark-lint-final-definition-1.0.3.tgz#4fd7bbf5a028f6e32645460965099689485508ae" + integrity sha512-QhbBYy99enfQDeUTElioCHrhgg+SgjMNRlru7/JlOguOufP6wn7AXgn2EVTrLZRoByY0VsNS2jCayXxUTzQ8KA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-final-newline@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-final-newline/-/remark-lint-final-newline-1.0.3.tgz#06c3d71ec7b97c16cde31543cd41a16b36c30f79" + integrity sha512-ETAadktv75EwUS3XDhyZUVstXKxfPAEn7SmfN9kZ4+Jb4qo4hHE9gtTOzhE6HxLUxxl9BBhpC5mMO3JcL8UZ5A== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-hard-break-spaces@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.4.tgz#200e1dae849a6bc2f8fdb3b843faf23c70942530" + integrity sha512-YM82UpgliZCZhGNmFxEe7ArfhqR5CplFf2bc0k0+8w3rKWKx7EJcGMar2NK410tIi40gGeWtH/pIEypPJFCCiA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-heading-increment@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.3.tgz#44ca296b50e182c2c4a59604b8026911be3977de" + integrity sha512-/KL4/7D2pNxP07KKgktjcIUS+ga8pYI2k9Q/V91pMfyfSC+RYuCGOLFVJSKV0Affr/4Eqnfhw+gJ9X2HAanNuw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-heading-style@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-heading-style/-/remark-lint-heading-style-1.0.3.tgz#de7377996cb9c7e501ec1ba7b7767709a68b824b" + integrity sha512-ZUhMav0HHUxo5gzLqxQsOf2ZpP/I3m6EEK8q25/kqpCYnwm1uRJ5CQ40PDQx46pmKtVibIMzDmraYovxNG3ovw== + dependencies: + mdast-util-heading-style "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-link-title-style@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.4.tgz#eaca24b6eb1ee62b66a237ea54e532ed2aaaafec" + integrity sha512-61/uH3zDTiozLJqgxp6rHGnVKTChC3UjL3Q0KQDBpprEOL4qLYjTn4fFKscVz776d0uUX6jczrW+GT4AFVOUgg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + vfile-location "^2.0.1" + +remark-lint-list-item-bullet-indent@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-1.0.3.tgz#3b12b7360694508402e0056c7ecd0eedab2aaac1" + integrity sha512-iVxQbrgzLpMHG3C6o6wRta/+Bc96etOiBYJnh2zm/aWz6DJ7cGLDykngblP/C4he7LYSeWOD/8Y57HbXZwM2Og== + dependencies: + plur "^3.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-list-item-content-indent@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.3.tgz#e62012ef361fedaca42a764b8389023df4212eca" + integrity sha512-ZSIGJG2/6jd1xj/xEoDlkcJBf2Ksw8U6vIGJO0IFIA3BLCbJm2EMWJxto2cfzRvXoACmAaxTJMqW8qatPExa4w== + dependencies: + plur "^3.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-list-item-indent@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.4.tgz#7a1ef6283f9a928f4940e02ec37099935f2783e6" + integrity sha512-Sv0gVH6qP1/nFpbJuyyguB9sAD2o42StD2WbEZeUcEexXwRO4u/YaX0Pm5pMtCiEHyN+qyL6ShKBQMtgol9BeA== + dependencies: + plur "^3.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-list-item-spacing@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.3.tgz#5989bd2450fb4bbd5e8f8007887dc5ca56ad2e5f" + integrity sha512-QzDY0Qfk6m+Az0kmxP57OfswIH1WRdd6SIpQLaUEgsTlsbrJOiO0sJYkkOlFPsyJIfp7SV/FCbr+aYCbHF+kRQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-maximum-heading-length@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.3.tgz#e235190e9991567254f9ce1104e15dad8e332b13" + integrity sha512-ybcDpR5VHBjtjzdry7AdSjLFwslPo6rdhIJK2+WfHgfeEjIYnlz1uMvp1Z98QMmjpB5JSN83Kzg5fH8/B7poUw== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-maximum-line-length@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.1.tgz#1030991d9af3c935731168a0a12ecb1db2d2b2b6" + integrity sha512-CSxX1qc+rAqixk8eBrI+yBsUmD8YGfOezFeJWjJRuUaoOvs67oqCIU+I2HbwcUYY8/KnDxF1MCp+uCM0RkjKKw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.4.0" + +remark-lint-no-auto-link-without-protocol@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.3.tgz#f97aed92af24e6c07023a7a7dc2c147f7eb7927f" + integrity sha512-k+hg2mXnO4Q9WV+UShPLen5oThvFxcRVWkx2hviVd/nu3eiszBKH3o38csBwjeJoMG3l2ZhdUW8dlOBhq8670Q== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-no-blockquote-without-marker@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.3.tgz#7eb431fcb742412e3bc66faa7f58531245ad952f" + integrity sha512-faDzKrA6aKidsRXG6gcIlCO8TexLxIxe+n9B3mdnl8mhZGgE0FfWTkIWVMj0IYps/xVsVMf45KxhXgc1wU9kwg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + vfile-location "^2.0.1" + +remark-lint-no-consecutive-blank-lines@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.3.tgz#4fa3b2cf2939c978a3fe7978f726f6142e7dd567" + integrity sha512-2Ef7fPxrfLditA7sTo2Qfqd+xwh/luWl8GzILE5vcWIxLDqKk3dTLJkB5nP+7Cr4kqWJAwXnRkEDd77ehrRV3A== + dependencies: + plur "^3.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-no-duplicate-definitions@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-1.0.5.tgz#b0347f3bae7f8870a9f04a27157ff658fbde28a4" + integrity sha512-zKXmfNUODXhJsGQdqfguMG9Nl9v1sLaDsQgMjUtmOSoQRnNud9ThQAZl62eX5jBn5HKcpOifG80tgkyBvU5eEw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-stringify-position "^2.0.0" + unist-util-visit "^1.4.0" + +remark-lint-no-duplicate-headings@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.4.tgz#52ac1479b6de83d5607b8d07e8ef3401d5078424" + integrity sha512-QuPw+VG502Ctpd/jBjnBYuRXTg0ToP3D+dd3TYds4TRcdgaEFYTZfQ5zjK6XrxLMg0Hn9/WpXr4UqTlV4YZupA== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-stringify-position "^2.0.0" + unist-util-visit "^1.1.1" + +remark-lint-no-emphasis-as-heading@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.3.tgz#9d837d4c5635a784ef0e983cfb402da15672050d" + integrity sha512-HEmyeyKciUz95+CgpAH98RPR73jq5u5CZb2FOMSqgNl9B6FZXqVpq9F3txPqUw3nAqFYOAEnfiaoRgcqtioh0Q== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-no-file-name-articles@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.3.tgz#c712d06a24e24b0c4c3666cf3084a0052a2c2c17" + integrity sha512-YZDJDKUWZEmhrO6tHB0u0K0K2qJKxyg/kryr14OaRMvWLS62RgMn97sXPZ38XOSN7mOcCnl0k7/bClghJXx0sg== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-consecutive-dashes@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.3.tgz#6a96ddf60e18dcdb004533733f3ccbfd8ab076ae" + integrity sha512-7f4vyXn/ca5lAguWWC3eu5hi8oZ7etX7aQlnTSgQZeslnJCbVJm6V6prFJKAzrqbBzMicUXr5pZLBDoXyTvHHw== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-irregular-characters@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.3.tgz#6dcd8b51e00e10094585918cb8e7fc999df776c3" + integrity sha512-b4xIy1Yi8qZpM2vnMN+6gEujagPGxUBAs1judv6xJQngkl5d5zT8VQZsYsTGHku4NWHjjh3b7vK5mr0/yp4JSg== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-mixed-case@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.3.tgz#0ebe5eedd0191507d27ad6ac5eed1778cb33c2de" + integrity sha512-d7rJ4c8CzDbEbGafw2lllOY8k7pvnsO77t8cV4PHFylwQ3hmCdTHLuDvK87G3DaWCeKclp0PMyamfOgJWKMkPA== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-outer-dashes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.4.tgz#c6e22a5cc64df4e12fc31712a927e8039854a666" + integrity sha512-+bZvvme2Bm3Vp5L2iKuvGHYVmHKrTkkRt8JqJPGepuhvBvT4Q7+CgfKyMtC/hIjyl+IcuJQ2H0qPRzdicjy1wQ== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-heading-content-indent@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-1.0.3.tgz#2f1f23b3e9f0c1e3c3abca5e2de1587cc3178d6b" + integrity sha512-7xM6X5E/dt8OXOHdejH+sfYb139a3kMr8ZSSkcp90Ab1y+ZQBNaWsR3mYh8FRKkYPTN5eyd+KjhNpLWyqqCbgg== + dependencies: + mdast-util-heading-style "^1.0.2" + plur "^3.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-no-heading-punctuation@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.3.tgz#7357b0b6e668bb6b32338fe280cde9fe4388b547" + integrity sha512-JQD05RjLS99ePBQ4Bed1uWsQTlIMBTcGgIgF6jFXSCEqhwnrIUDwk6S3MG1RZsKd3TLw2xuT/i+POpfBc2+1kQ== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-no-inline-padding@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.4.tgz#eedb4ca2691d30f3f05b4e5e33967bd64a34daa4" + integrity sha512-u5rgbDkcfVv645YxxOwoGBBJbsHEwWm/XqnO8EhfKTxkfKOF4ZItG7Ajhj89EDaeXMkvCcB/avBl4bj50eJH3g== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.4.0" + +remark-lint-no-literal-urls@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.3.tgz#1b5374e416d1b595ee1902587dc37f34c0d6244a" + integrity sha512-H5quyMzl2kaewK+jYD1FI0G1SIinIsIp4DEyOUwIR+vYUoKwo0B4vvW0cmPpD1dgqqxHYx0B2B0JQQKFVWzGiw== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-no-multiple-toplevel-headings@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.4.tgz#0cfd8575e5576d7678802eac56fda894afee3817" + integrity sha512-0wDddx6htN5sL9/rofesiQF0oEgwN5224UmueiDx0ZUlYrn6VS0/SS0X3WWxtXmyeqlExfWF3D/g89tNs7dcjw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-stringify-position "^2.0.0" + unist-util-visit "^1.1.1" + +remark-lint-no-shell-dollars@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.3.tgz#07e99fc3843c665440f9a1d894ee518b2ad23958" + integrity sha512-fT3lQMTjEkPryL+63qDP1NfrohP3tG5i3SkNWSSR4VLU6OSsSSXlHGQGjo0ag//+EPKHB5/9frB/YQ0gDEPRGQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-no-shortcut-reference-image@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.3.tgz#ab4fa15fd8aff251cb8db1f3aed4853e293aff41" + integrity sha512-CGm27X54kXp/5ehXejDTsZjqzK4uIhLGcrFzN3k/KjdwunQouEY92AARGrLSEuJ1hQx0bJsmnvr/hvQyWAfNJg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-no-shortcut-reference-link@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.4.tgz#92af34b939c0341eacdb2fc2ede855f742dc1779" + integrity sha512-FXdMJYqspZBhPlxYqfVgVluVXjxStg0RHJzqrk8G9wS8fCS62AE3reoaoiCahwoH1tfKcA+poktbKqDAmZo7Jg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.1.1" + +remark-lint-no-table-indentation@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.4.tgz#6681a26198ee86c4fbbba382a42254125bc5807b" + integrity sha512-H4VGHcg1k8sTIbwazFYLNbDqpPR+M0aHHKDf+93b/xyd27Dp0ODQrMnQbls1Cls5qOAQnwAQbx+75wcpFxP3OQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.4.0" + +remark-lint-no-undefined-references@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-1.1.1.tgz#b9fa2caec896df41a3c47169d9c6dd0cee3a2075" + integrity sha512-b1eIjWFaCu6m16Ax2uG33o1v+eRYqDTQRUqU6UeQ76JXmDmVtVO75ZuyRpqqE7VTZRW8YLVurXfJPDXfIa5Wng== + dependencies: + collapse-white-space "^1.0.4" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.4.0" + +remark-lint-no-unused-definitions@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-1.0.5.tgz#183a0de2e55295f52ff888f99f9830eae35eaddf" + integrity sha512-Bo22e0RNzc1QMW317KTuStGFDG7uTDUQhm/TrW6Qzud0WXnNnqUyvts+e7wTYoj8VnwhhjyjyoA9lKA3uXMdAQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^1.4.0" + +remark-lint-ordered-list-marker-style@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.3.tgz#3fc6b9e254a641036e275269254365c42b7c62a1" + integrity sha512-24TmW1eUa/2JlwprZg9jJ8LKLxNGKnlKiI5YOhN4taUp2yv8daqlV9vR54yfn/ZZQh6EQvbIX0jeVY9NYgQUtw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-ordered-list-marker-value@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.3.tgz#417afe3849b9926e06f8a6f62445541c63f0e97f" + integrity sha512-WQ9yLD8cI9DSk/CE+APKUT6ZeXp0/RzOnsYqzMxEa8n1QHSqRSF7hVEiisqNTG9+gV64OEE66e+m4c7RVSUADw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-rule-style@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-rule-style/-/remark-lint-rule-style-1.0.3.tgz#859aef4d2e2180ecf9db56360497372b90a04aab" + integrity sha512-SJe7IFORYRdo8JUhMSdcTktVAUVNVp36YYl1ZD9CfHqQHWlFD+3vWYzJXOZfog/i+CyWf7Yi0WVYmQes+167dA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-strong-marker@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.3.tgz#028e05b046ef260e8d40b342900061f1d09c8131" + integrity sha512-PFkH282dCwfRsVEw9IxbYbaZBY4UcTuT2SN+lA3R0cBeocWnOySVw8YEm4sv9JfV8BLcQA5gc4tj66/U3KCScw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-table-cell-padding@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.4.tgz#be2b020a3985c414abb59cc5d88fda1993f8f2e8" + integrity sha512-AQWWtV1yca1PN27QaFRJbBK6Ro/bopv1XnVKxj/iMebhOU2D2FBJ8rXmMZXVMC3G9OB2WSzGgqH3nP6QY12LoA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.4.0" + +remark-lint-table-pipe-alignment@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.3.tgz#8c6d0c93e417706a4083dc7fa279c537d4ed886c" + integrity sha512-5fhEMcKqNjK6S/y7cVG0+iVqhmhXFW+awIuN7vOBhmDbZ3HF9rCCy20XiHoaG6FzrPJ+zfkjK/QZAbq2Vf58HA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-table-pipes@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.3.tgz#e34f91de4371f98c5e16701bd2302928468cbd8a" + integrity sha512-K9NnGZp6i0m/CaOH7ZT4Ymt2seyiRPcBIlNMMGXBm6gpy34KJDDxYqsNUrh+j7dR+Zg4rYAQLnr3BiSHvj+rbQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint-unordered-list-marker-style@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.3.tgz#72f9ec8cd54950753593b3b727fd28e48fa197d5" + integrity sha512-0nn/Yscy5ImO4fqByrk/Ua02UwGx8LRu+0kdCbkVz4IxPO5qxTEfyccUQZR71zTdMJp1d2OeqyD9XtMaO4X7Ww== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^1.1.1" + +remark-lint@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/remark-lint/-/remark-lint-6.0.5.tgz#fbb864d56bf83d2e5d23ea7e346ca5e36710fda3" + integrity sha512-o1I3ddm+KNsTxk60wWGI+p2yU1jB1gcm8jo2Sy6VhJ4ab2TrQIp1oQbp5xeLoFXYSh/NAqCpKjHkCM/BYpkFdQ== + dependencies: + remark-message-control "^4.0.0" + remark-mdx@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.3.1.tgz#6cb9e904714893fb5d7c63dfac629a9742f4e3f5" @@ -8233,6 +8800,15 @@ remark-mdx@^1.3.1: remark-parse "7.0.1" unified "8.3.2" +remark-message-control@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-4.2.0.tgz#184c4a69ce6c4c707a5633fa35b0ce3dbf81f22c" + integrity sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw== + dependencies: + mdast-comment-marker "^1.0.0" + unified-message-control "^1.0.0" + xtend "^4.0.1" + remark-parse@7.0.1, remark-parse@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-7.0.1.tgz#0c13d67e0d7b82c2ad2d8b6604ec5fae6c333c2b" @@ -8254,6 +8830,99 @@ remark-parse@7.0.1, remark-parse@^7.0.1: vfile-location "^2.0.0" xtend "^4.0.1" +remark-preset-lint-markdown-style-guide@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.3.tgz#2d2e6a162cc18976a2be93f4ebd45835f2ff6c14" + integrity sha512-H/jSoLvTY8abUcB+7/062I2oHevlHcHdrfRMP2RMh19QA1wmARgNEn3tZfdBXFq1TpzhevGgb6VwSdOjdU8NOQ== + dependencies: + remark-lint "^6.0.0" + remark-lint-blockquote-indentation "^1.0.0" + remark-lint-code-block-style "^1.0.0" + remark-lint-definition-case "^1.0.0" + remark-lint-definition-spacing "^1.0.0" + remark-lint-emphasis-marker "^1.0.0" + remark-lint-fenced-code-flag "^1.0.0" + remark-lint-fenced-code-marker "^1.0.0" + remark-lint-file-extension "^1.0.0" + remark-lint-final-definition "^1.0.0" + remark-lint-hard-break-spaces "^1.0.0" + remark-lint-heading-increment "^1.0.0" + remark-lint-heading-style "^1.0.0" + remark-lint-link-title-style "^1.0.0" + remark-lint-list-item-content-indent "^1.0.0" + remark-lint-list-item-indent "^1.0.0" + remark-lint-list-item-spacing "^1.0.0" + remark-lint-maximum-heading-length "^1.0.0" + remark-lint-maximum-line-length "^1.0.0" + remark-lint-no-auto-link-without-protocol "^1.0.0" + remark-lint-no-blockquote-without-marker "^2.0.0" + remark-lint-no-consecutive-blank-lines "^1.0.0" + remark-lint-no-duplicate-headings "^1.0.0" + remark-lint-no-emphasis-as-heading "^1.0.0" + remark-lint-no-file-name-articles "^1.0.0" + remark-lint-no-file-name-consecutive-dashes "^1.0.0" + remark-lint-no-file-name-irregular-characters "^1.0.0" + remark-lint-no-file-name-mixed-case "^1.0.0" + remark-lint-no-file-name-outer-dashes "^1.0.0" + remark-lint-no-heading-punctuation "^1.0.0" + remark-lint-no-inline-padding "^1.0.0" + remark-lint-no-literal-urls "^1.0.0" + remark-lint-no-multiple-toplevel-headings "^1.0.0" + remark-lint-no-shell-dollars "^1.0.0" + remark-lint-no-shortcut-reference-image "^1.0.0" + remark-lint-no-shortcut-reference-link "^1.0.0" + remark-lint-no-table-indentation "^1.0.0" + remark-lint-ordered-list-marker-style "^1.0.0" + remark-lint-ordered-list-marker-value "^1.0.0" + remark-lint-rule-style "^1.0.0" + remark-lint-strong-marker "^1.0.0" + remark-lint-table-cell-padding "^1.0.0" + remark-lint-table-pipe-alignment "^1.0.0" + remark-lint-table-pipes "^1.0.0" + remark-lint-unordered-list-marker-style "^1.0.0" + +remark-preset-lint-recommended@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/remark-preset-lint-recommended/-/remark-preset-lint-recommended-3.0.3.tgz#1322af0e49801278057f8f275ed1b6ed60328b40" + integrity sha512-5sQ34j1Irlsj6Tt4WWRylZ7UU+1jD5es/LfDZBZp/LXDwC4ldGqKpMmCCR6Z00x1jYM1phmS4M+eGqTdah0qkQ== + dependencies: + remark-lint "^6.0.0" + remark-lint-final-newline "^1.0.0" + remark-lint-hard-break-spaces "^1.0.0" + remark-lint-list-item-bullet-indent "^1.0.0" + remark-lint-list-item-indent "^1.0.0" + remark-lint-no-auto-link-without-protocol "^1.0.0" + remark-lint-no-blockquote-without-marker "^2.0.0" + remark-lint-no-duplicate-definitions "^1.0.0" + remark-lint-no-heading-content-indent "^1.0.0" + remark-lint-no-inline-padding "^1.0.0" + remark-lint-no-literal-urls "^1.0.0" + remark-lint-no-shortcut-reference-image "^1.0.0" + remark-lint-no-shortcut-reference-link "^1.0.0" + remark-lint-no-undefined-references "^1.0.0" + remark-lint-no-unused-definitions "^1.0.0" + remark-lint-ordered-list-marker-style "^1.0.0" + +remark-stringify@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-7.0.2.tgz#1b87716e3bf278ef5dd6c230e47c633d89b81d76" + integrity sha512-+Fr2xUe+P9b4XwRBjtIQF6DuHtQEQAVsBv8Uv+Gz3d3gkFxwEIzKFjzHo13KgWkASn/MQIY1C9vmOTm0kwlGXw== + dependencies: + ccount "^1.0.0" + is-alphanumeric "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + longest-streak "^2.0.1" + markdown-escapes "^1.0.0" + markdown-table "^1.1.0" + mdast-util-compact "^1.0.0" + parse-entities "^1.0.2" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + stringify-entities "^2.0.0" + unherit "^1.0.4" + xtend "^4.0.1" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -8615,6 +9284,11 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +sliced@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" + integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= + slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -8893,6 +9567,17 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-2.0.0.tgz#fa7ca6614b355fb6c28448140a20c4ede7462827" + integrity sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A== + dependencies: + character-entities-html4 "^1.0.0" + character-entities-legacy "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.2" + is-hexadecimal "^1.0.0" + stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" @@ -9408,6 +10093,22 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== +unified-lint-rule@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz#be432d316db7ad801166041727b023ba18963e24" + integrity sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ== + dependencies: + wrapped "^1.0.1" + +unified-message-control@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unified-message-control/-/unified-message-control-1.0.4.tgz#a5e02c07112f78c6687b83a10392c2fba86dc09b" + integrity sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g== + dependencies: + trim "0.0.1" + unist-util-visit "^1.0.0" + vfile-location "^2.0.0" + unified@8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/unified/-/unified-8.3.2.tgz#aed69d0e577d6ef27268431c63a10faef60e63ab" @@ -9443,11 +10144,21 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unist-util-generated@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7" + integrity sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww== + unist-util-is@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== +unist-util-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373" + integrity sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw== + unist-util-remove-position@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972" @@ -9469,7 +10180,7 @@ unist-util-visit-parents@^2.0.0: dependencies: unist-util-is "^3.0.0" -unist-util-visit@^1.1.0: +unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.1.1, unist-util-visit@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== @@ -9572,7 +10283,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-location@^2.0.0: +vfile-location@^2.0.0, vfile-location@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2" integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ== @@ -9725,6 +10436,14 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" +wrapped@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wrapped/-/wrapped-1.0.1.tgz#c783d9d807b273e9b01e851680a938c87c907242" + integrity sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI= + dependencies: + co "3.1.0" + sliced "^1.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"