├── .eslintrc.js
├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── esbuild.js
├── package.json
├── src
├── action.ts
├── index.ts
└── lehreEngine.ts
├── tsconfig.json
└── yarn.lock
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | node: true,
4 | },
5 | parser: '@typescript-eslint/parser',
6 | extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'],
7 | rules: {
8 | '@typescript-eslint/ban-ts-comment': 'off',
9 | '@typescript-eslint/no-explicit-any': 'off',
10 | '@typescript-eslint/no-non-null-assertion': 'off',
11 | '@typescript-eslint/no-namespace': 'off',
12 | '@typescript-eslint/no-empty-function': 'off',
13 | '@typescript-eslint/explicit-function-return-type': 'off',
14 | '@typescript-eslint/explicit-module-boundary-types': 'off',
15 | },
16 | };
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | lib/
2 |
3 | ### https://raw.github.com/github/gitignore/218a941be92679ce67d0484547e3e142b2f5f6f0/Node.gitignore
4 |
5 | # Logs
6 | logs
7 | *.log
8 | npm-debug.log*
9 | yarn-debug.log*
10 | yarn-error.log*
11 | lerna-debug.log*
12 |
13 | # Diagnostic reports (https://nodejs.org/api/report.html)
14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15 |
16 | # Runtime data
17 | pids
18 | *.pid
19 | *.seed
20 | *.pid.lock
21 |
22 | # Directory for instrumented libs generated by jscoverage/JSCover
23 | lib-cov
24 |
25 | # Coverage directory used by tools like istanbul
26 | coverage
27 | *.lcov
28 |
29 | # nyc test coverage
30 | .nyc_output
31 |
32 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33 | .grunt
34 |
35 | # Bower dependency directory (https://bower.io/)
36 | bower_components
37 |
38 | # node-waf configuration
39 | .lock-wscript
40 |
41 | # Compiled binary addons (https://nodejs.org/api/addons.html)
42 | build/Release
43 |
44 | # Dependency directories
45 | node_modules/
46 | jspm_packages/
47 |
48 | # Snowpack dependency directory (https://snowpack.dev/)
49 | web_modules/
50 |
51 | # TypeScript cache
52 | *.tsbuildinfo
53 |
54 | # Optional npm cache directory
55 | .npm
56 |
57 | # Optional eslint cache
58 | .eslintcache
59 |
60 | # Microbundle cache
61 | .rpt2_cache/
62 | .rts2_cache_cjs/
63 | .rts2_cache_es/
64 | .rts2_cache_umd/
65 |
66 | # Optional REPL history
67 | .node_repl_history
68 |
69 | # Output of 'npm pack'
70 | *.tgz
71 |
72 | # Yarn Integrity file
73 | .yarn-integrity
74 |
75 | # dotenv environment variables file
76 | .env
77 | .env.test
78 |
79 | # parcel-bundler cache (https://parceljs.org/)
80 | .cache
81 | .parcel-cache
82 |
83 | # Next.js build output
84 | .next
85 | out
86 |
87 | # Nuxt.js build / generate output
88 | .nuxt
89 | dist
90 |
91 | # Gatsby files
92 | .cache/
93 | # Comment in the public line in if your project uses Gatsby and not Next.js
94 | # https://nextjs.org/blog/next-9-1#public-directory-support
95 | # public
96 |
97 | # vuepress build output
98 | .vuepress/dist
99 |
100 | # Serverless directories
101 | .serverless/
102 |
103 | # FuseBox cache
104 | .fusebox/
105 |
106 | # DynamoDB Local files
107 | .dynamodb/
108 |
109 | # TernJS port file
110 | .tern-port
111 |
112 | # Stores VSCode versions used for testing VSCode extensions
113 | .vscode-test
114 |
115 | # yarn v2
116 | .yarn/cache
117 | .yarn/unplugged
118 | .yarn/build-state.yml
119 | .yarn/install-state.gz
120 | .pnp.*
121 |
122 |
123 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | src
2 | node_modules
3 | tsconfig.json
4 | *.map
5 | .tags
6 | .DS_Store
7 | webpack.config.js
8 | esbuild.js
9 | yarn.lock
10 | yarn-error.log
11 | .github
12 | .eslintrc.js
13 | .prettierrc
14 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 yaegassy
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [Experimental] coc-jsdoc
2 |
3 | [lehre](https://www.npmjs.com/package/lehre) (jsdoc/esdoc/tsdoc document block generator) extension for [coc.nvim](https://github.com/neoclide/coc.nvim)
4 |
5 |
6 |
7 | ## [WIP]TODO?
8 |
9 | - For "line" and "range" of "Code Actions", automatically detect and process the range of the corresponding symbol block
10 | - There is a pattern of broken indentation in lehre
11 |
12 | ## Install
13 |
14 | **CocInstall**:
15 |
16 | > TODO
17 |
18 | **vim-plug**:
19 |
20 | ```vim
21 | Plug 'yaegassy/coc-jsdoc', {'do': 'yarn install --frozen-lockfile'}
22 | ```
23 |
24 | ## Note
25 |
26 | Quickly generate document block for typescript/javascript.
27 |
28 | ## Configuration options
29 |
30 | - `jsdoc.enable`: Enable coc-jsdoc extension, default: `true`
31 | - `jsdoc.lehrePath`: (OPTIONAL) The path to the lehre tool (Absolute path), default: `""`
32 | - `jsdoc.formatter`: Document block formatter (--formatter), valid options `["jsdoc", "esdoc", "tsdoc"]`, default: `"jsdoc"`
33 | - `jsdoc.enableFileAction`: Enable file-level code action, default: `false`
34 |
35 | ## Code Actions
36 |
37 | - `Add document block for "Line" by jsdoc`
38 | - `Add document block for "Range" by jsdoc`
39 | - `Add document block for "File" by jsdoc`
40 | - File-level code actions are disabled (false) by default.
41 |
42 | ## Commands
43 |
44 | - `jsdoc.run`: Run lehre for file
45 |
46 | ## Similar plugins
47 |
48 | - [heavenshell/vim-jsdoc](https://github.com/heavenshell/vim-jsdoc)
49 | - This is a vim plugin by the author of lehre.
50 |
51 | ## Thanks
52 |
53 | - [heavenshell/ts-lehre](https://github.com/heavenshell/ts-lehre) | [lehre](https://www.npmjs.com/package/lehre)
54 |
55 | ## License
56 |
57 | MIT
58 |
59 | ---
60 |
61 | > This extension is built with [create-coc-extension](https://github.com/fannheyward/create-coc-extension)
62 |
--------------------------------------------------------------------------------
/esbuild.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-var-requires */
2 | async function start(watch) {
3 | await require('esbuild').build({
4 | entryPoints: ['src/index.ts'],
5 | bundle: true,
6 | watch,
7 | minify: process.env.NODE_ENV === 'production',
8 | sourcemap: process.env.NODE_ENV === 'development',
9 | mainFields: ['module', 'main'],
10 | external: ['coc.nvim'],
11 | platform: 'node',
12 | target: 'node10.12',
13 | outfile: 'lib/index.js',
14 | });
15 | }
16 |
17 | let watch = false;
18 | if (process.argv.length > 2 && process.argv[2] === '--watch') {
19 | console.log('watching...');
20 | watch = {
21 | onRebuild(error) {
22 | if (error) {
23 | console.error('watch build failed:', error);
24 | } else {
25 | console.log('watch build succeeded');
26 | }
27 | },
28 | };
29 | }
30 |
31 | start(watch).catch((e) => {
32 | console.error(e);
33 | });
34 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "coc-jsdoc",
3 | "version": "0.1.0",
4 | "description": "lehre (jsdoc/esdoc/tsdoc document block generator) extension for coc.nvim",
5 | "author": "yaegassy ",
6 | "license": "MIT",
7 | "main": "lib/index.js",
8 | "keywords": [
9 | "coc.nvim",
10 | "typescript",
11 | "javascript",
12 | "jsdoc",
13 | "esdoc",
14 | "tsdoc",
15 | "vim",
16 | "neovim"
17 | ],
18 | "engines": {
19 | "coc": "^0.0.80"
20 | },
21 | "scripts": {
22 | "lint": "eslint src --ext ts",
23 | "clean": "rimraf lib",
24 | "watch": "node esbuild.js --watch",
25 | "build": "node esbuild.js",
26 | "prepare": "node esbuild.js"
27 | },
28 | "prettier": {
29 | "singleQuote": true,
30 | "printWidth": 120,
31 | "semi": true
32 | },
33 | "devDependencies": {
34 | "@types/node": "^14.14.22",
35 | "@types/tmp": "^0.2.0",
36 | "@typescript-eslint/eslint-plugin": "^4.8.2",
37 | "@typescript-eslint/parser": "^4.8.2",
38 | "coc.nvim": "^0.0.80",
39 | "esbuild": "^0.8.42",
40 | "eslint": "^7.14.0",
41 | "eslint-config-prettier": "^8.1.0",
42 | "eslint-plugin-prettier": "^3.1.4",
43 | "prettier": "^2.2.0",
44 | "rimraf": "^3.0.2",
45 | "typescript": "^4.1.2",
46 | "tmp": "^0.1.0"
47 | },
48 | "activationEvents": [
49 | "onLanguage:javascript",
50 | "onLanguage:javascriptreact",
51 | "onLanguage:javascript.jsx",
52 | "onLanguage:typescript",
53 | "onLanguage:typescript.tsx",
54 | "onLanguage:typescript.jsx",
55 | "onLanguage:typescriptreact"
56 | ],
57 | "contributes": {
58 | "configuration": {
59 | "type": "object",
60 | "title": "coc-jsdoc configuration",
61 | "properties": {
62 | "jsdoc.enable": {
63 | "type": "boolean",
64 | "default": true,
65 | "description": "Enable coc-jsdoc extension"
66 | },
67 | "jsdoc.lehrePath": {
68 | "type": "string",
69 | "default": "",
70 | "description": "The path to the lehre tool (Absolute path)"
71 | },
72 | "jsdoc.formatter": {
73 | "type": "string",
74 | "default": "jsdoc",
75 | "enum": [
76 | "jsdoc",
77 | "esdoc",
78 | "tsdoc"
79 | ],
80 | "description": "Document block formatter. jsdoc, esdoc or tsdoc"
81 | },
82 | "jsdoc.enableFileAction": {
83 | "type": "boolean",
84 | "default": false,
85 | "description": "Enable file-level code action"
86 | }
87 | }
88 | },
89 | "commands": [
90 | {
91 | "command": "jsdoc.run",
92 | "title": "Run lehre for file"
93 | }
94 | ]
95 | },
96 | "dependencies": {
97 | "lehre": "^1.3.5"
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/src/action.ts:
--------------------------------------------------------------------------------
1 | import { TextDocument, CodeAction, CodeActionContext, CodeActionProvider, Range, workspace, Document } from 'coc.nvim';
2 |
3 | export class JsdocCodeActionProvider implements CodeActionProvider {
4 | // eslint-disable-next-line @typescript-eslint/no-unused-vars
5 | public async provideCodeActions(document: TextDocument, range: Range, context: CodeActionContext) {
6 | const extensionConfig = workspace.getConfiguration('jsdoc');
7 | const isEnableFileAction = extensionConfig.get('enableFileAction', false);
8 |
9 | let isMethod: boolean;
10 |
11 | const doc = workspace.getDocument(document.uri);
12 |
13 | const codeActions: CodeAction[] = [];
14 |
15 | /** Line */
16 | // TODO: Only add actions if the "range.start.line" can be handled by "lehre"
17 | if (range.start.line === range.end.line && range.start.character === 0) {
18 | const fullTextLine = doc.getLines().length;
19 | let endBlockLine = range.end.line;
20 |
21 | isMethod = this.checkMethodStatement(doc, range);
22 |
23 | for (let i = range.start.line; i < fullTextLine; i++) {
24 | if (doc.getline(i).match(/\).*{$/) || doc.getline(i).match(/.*{.*}$/)) {
25 | endBlockLine = i + 1;
26 | break;
27 | }
28 | }
29 |
30 | const resolveRange = Range.create(
31 | { character: range.start.character, line: range.start.line },
32 | { character: range.end.character, line: endBlockLine }
33 | );
34 |
35 | const title = `Add document block for "Line" by jsdoc`;
36 | const command = {
37 | title: '',
38 | command: 'jsdoc.runAction',
39 | arguments: [document, resolveRange, isMethod],
40 | };
41 |
42 | const action: CodeAction = {
43 | title,
44 | command,
45 | };
46 |
47 | codeActions.push(action);
48 | }
49 |
50 | /** Range */
51 | // TODO: Only add actions if the "range.start.line" can be handled by "lehre"
52 | if (range.start.line < range.end.line && !this.wholeRange(doc, range)) {
53 | const fullTextLine = doc.getLines().length;
54 | let endBlockLine = range.end.line;
55 |
56 | isMethod = this.checkMethodStatement(doc, range);
57 |
58 | for (let i = range.start.line; i < fullTextLine; i++) {
59 | if (doc.getline(i).match(/\).*{$/) || doc.getline(i).match(/.*{.*}$/)) {
60 | endBlockLine = i + 1;
61 | break;
62 | }
63 | }
64 |
65 | const resolveRange = Range.create(
66 | { character: range.start.character, line: range.start.line },
67 | { character: range.end.character, line: endBlockLine }
68 | );
69 |
70 | const title = `Add document block for "Range" by jsdoc`;
71 | const command = {
72 | title: '',
73 | command: 'jsdoc.runAction',
74 | arguments: [document, resolveRange, isMethod],
75 | };
76 |
77 | const action: CodeAction = {
78 | title,
79 | command,
80 | };
81 |
82 | codeActions.push(action);
83 | }
84 |
85 | /** Whole (File) */
86 | if (this.wholeRange(doc, range) && isEnableFileAction) {
87 | const title = `Add document block for "File" by jsdoc`;
88 | const command = {
89 | title: '',
90 | command: 'jsdoc.runAction',
91 | arguments: [document, range],
92 | };
93 |
94 | const action: CodeAction = {
95 | title,
96 | command,
97 | };
98 |
99 | codeActions.push(action);
100 | }
101 |
102 | return codeActions;
103 | }
104 |
105 | private wholeRange(doc: Document, range: Range): boolean {
106 | const whole = Range.create(0, 0, doc.lineCount, 0);
107 | return (
108 | whole.start.line === range.start.line &&
109 | whole.start.character === range.start.character &&
110 | whole.end.line === range.end.line &&
111 | whole.end.character === whole.end.character
112 | );
113 | }
114 |
115 | // TODO: This is currently a temporary decision process. Will be enhanced in the future.
116 | private checkMethodStatement(doc: Document, range: Range): boolean {
117 | // main symbol
118 | if (doc.getline(range.start.line).match(/^.*\s*(function|class|type|interface)\s*.*$/)) {
119 | return false;
120 | }
121 |
122 | // es6 function
123 | if (doc.getline(range.start.line).match(/^.*\s*=\s*\(.*\).*{$/)) {
124 | return false;
125 | }
126 |
127 | // methods
128 | if (doc.getline(range.start.line).match(/^.*\s*[a-zA-Z0-9_$]+\(.*\).*$/)) {
129 | return true;
130 | }
131 |
132 | return false;
133 | }
134 | }
135 |
136 | export default JsdocCodeActionProvider;
137 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { commands, ExtensionContext, window, workspace, languages, TextEdit, Range, TextDocument } from 'coc.nvim';
2 |
3 | import { doFormat, fullDocumentRange } from './lehreEngine';
4 | import JsdocCodeActionProvider from './action';
5 |
6 | export async function activate(context: ExtensionContext): Promise {
7 | const extensionConfig = workspace.getConfiguration('jsdoc');
8 | const isEnable = extensionConfig.get('enable', true);
9 | if (!isEnable) return;
10 |
11 | const outputChannel = window.createOutputChannel('jsdoc');
12 |
13 | let binPath = extensionConfig.get('lehrePath', '');
14 | if (!binPath) {
15 | binPath = context.asAbsolutePath('node_modules/lehre/bin/lehre');
16 | }
17 |
18 | context.subscriptions.push(
19 | commands.registerCommand('jsdoc.runFile', async () => {
20 | const doc = await workspace.document;
21 |
22 | const code = await doFormat(context, outputChannel, doc.textDocument, undefined);
23 | const edits = [TextEdit.replace(fullDocumentRange(doc.textDocument), code)];
24 | if (edits) {
25 | await doc.applyEdits(edits);
26 | }
27 | })
28 | );
29 |
30 | context.subscriptions.push(
31 | commands.registerCommand(
32 | 'jsdoc.runAction',
33 | async (document: TextDocument, range?: Range, isMethod?: boolean) => {
34 | const doc = workspace.getDocument(document.uri);
35 |
36 | let edits: TextEdit[];
37 |
38 | const code = await doFormat(context, outputChannel, document, range, isMethod);
39 | if (!range) {
40 | range = fullDocumentRange(document);
41 | edits = [TextEdit.replace(range, code)];
42 | if (edits) {
43 | return await doc.applyEdits(edits);
44 | }
45 | }
46 |
47 | // If there are no changes to the text, early return
48 | if (document.getText() === code) {
49 | return;
50 | }
51 |
52 | edits = [TextEdit.replace(range, code)];
53 | if (edits) {
54 | return await doc.applyEdits(edits);
55 | }
56 | },
57 | null,
58 | true
59 | )
60 | );
61 |
62 | const languageSelector = [
63 | { language: 'javascript', scheme: 'file' },
64 | { language: 'javascriptreact', scheme: 'file' },
65 | { language: 'javascript.jsx', scheme: 'file' },
66 | { language: 'typescript', scheme: 'file' },
67 | { language: 'typescript.tsx', scheme: 'file' },
68 | { language: 'typescript.jsx', scheme: 'file' },
69 | { language: 'typescriptreact', scheme: 'file' },
70 | ];
71 |
72 | const actionProvider = new JsdocCodeActionProvider();
73 | context.subscriptions.push(languages.registerCodeActionProvider(languageSelector, actionProvider, 'jsdoc'));
74 | }
75 |
--------------------------------------------------------------------------------
/src/lehreEngine.ts:
--------------------------------------------------------------------------------
1 | import { Range, TextDocument, Uri, window, workspace, ExtensionContext, OutputChannel } from 'coc.nvim';
2 |
3 | import cp from 'child_process';
4 | import fs from 'fs';
5 | import path from 'path';
6 | import tmp from 'tmp';
7 |
8 | export async function doFormat(
9 | context: ExtensionContext,
10 | outputChannel: OutputChannel,
11 | document: TextDocument,
12 | range?: Range,
13 | isMethod?: boolean
14 | ): Promise {
15 | if (
16 | document.languageId !== 'javascript' &&
17 | document.languageId !== 'javascriptreact' &&
18 | document.languageId !== 'javascript.jsx' &&
19 | document.languageId !== 'typescript' &&
20 | document.languageId !== 'typescript.tsx' &&
21 | document.languageId !== 'typescript.jsx' &&
22 | document.languageId !== 'typescriptreact'
23 | ) {
24 | throw 'lehre cannot run, not a support filetype';
25 | }
26 |
27 | const fileName = Uri.parse(document.uri).fsPath;
28 | let text = document.getText(range);
29 |
30 | let indentSpaceString: string;
31 | if (isMethod) {
32 | const curDocLength = text.split('\n')[0].length;
33 | const trimStartCurDocLength = text.split('\n')[0].trimStart().length;
34 | const indentLength = curDocLength - trimStartCurDocLength;
35 | indentSpaceString = ' '.repeat(indentLength);
36 | text = indentSpaceString + 'class ForJsDocDummyClass { ' + text;
37 | }
38 |
39 | const extensionConfig = workspace.getConfiguration('jsdoc');
40 | const formatterOption = extensionConfig.get('formatter', 'jsdoc');
41 |
42 | let binPath = extensionConfig.get('lehrePath', '');
43 | if (!binPath) {
44 | if (fs.existsSync(context.asAbsolutePath('node_modules/lehre/bin/lehre'))) {
45 | binPath = context.asAbsolutePath('node_modules/lehre/bin/lehre');
46 | } else {
47 | window.showErrorMessage('Unable to find the lehre.');
48 | return text;
49 | }
50 | } else {
51 | if (!fs.existsSync(binPath)) {
52 | window.showErrorMessage('Unable to find the lehre (user setting).');
53 | return text;
54 | }
55 | }
56 |
57 | const args: string[] = [];
58 | const opts = { cwd: path.dirname(fileName) };
59 |
60 | args.push('--write');
61 | args.push('--formatter', formatterOption);
62 |
63 | const tmpFile = tmp.fileSync();
64 | // MEMO: file extension is required
65 | tmpFile.name = tmpFile.name + path.basename(fileName);
66 | fs.writeFileSync(tmpFile.name, text);
67 |
68 | // ---- Output the command to be executed to channel log. ----
69 | outputChannel.appendLine(`${'#'.repeat(10)} jsdoc exec\n`);
70 | outputChannel.appendLine(`Run: ${binPath} ${args.join(' ')} -t ${tmpFile.name}`);
71 | outputChannel.appendLine(`binPath: ${binPath}`);
72 | outputChannel.appendLine(`args: ${args.join(' ')}`);
73 | outputChannel.appendLine(`tmpFile: ${tmpFile.name}`);
74 |
75 | return new Promise(function (resolve) {
76 | cp.execFile(binPath, [...args, '-t', tmpFile.name], opts, function (err) {
77 | if (err) {
78 | tmpFile.removeCallback();
79 |
80 | if (err.code === 'ENOENT') {
81 | window.showErrorMessage('Unable to find the lehre tool.');
82 | throw err;
83 | }
84 |
85 | window.showErrorMessage('There was an error while running lehre.');
86 | throw err;
87 | }
88 |
89 | const text = fs.readFileSync(tmpFile.name, 'utf-8');
90 |
91 | tmpFile.removeCallback();
92 |
93 | if (isMethod) {
94 | const wellFormedText = removeDummyClassRelatedText(text, indentSpaceString);
95 | resolve(wellFormedText);
96 | }
97 |
98 | resolve(text);
99 | });
100 | });
101 | }
102 |
103 | export function fullDocumentRange(document: TextDocument): Range {
104 | const lastLineId = document.lineCount - 1;
105 | const doc = workspace.getDocument(document.uri);
106 |
107 | return Range.create({ character: 0, line: 0 }, { character: doc.getline(lastLineId).length, line: lastLineId });
108 | }
109 |
110 | function removeDummyClassRelatedText(text: string, indentSpaceString: string): string {
111 | text = text.replace(/\s*\/\*\*\n\s*\*\s*ForJsDocDummyClass.\n\s*\*\/\n/, '');
112 | text = text.replace(indentSpaceString + 'class ForJsDocDummyClass { ', '');
113 | return text;
114 | }
115 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "lib": ["es2017", "es2018"],
5 | "module": "commonjs",
6 | "declaration": false,
7 | "sourceMap": true,
8 | "outDir": "lib",
9 | "strict": true,
10 | "moduleResolution": "node",
11 | "noImplicitAny": false,
12 | "esModuleInterop": true
13 | },
14 | "include": ["src"]
15 | }
16 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@7.12.11":
6 | version "7.12.11"
7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
9 | dependencies:
10 | "@babel/highlight" "^7.10.4"
11 |
12 | "@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11":
13 | version "7.12.11"
14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
15 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
16 |
17 | "@babel/highlight@^7.10.4":
18 | version "7.13.10"
19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1"
20 | integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==
21 | dependencies:
22 | "@babel/helper-validator-identifier" "^7.12.11"
23 | chalk "^2.0.0"
24 | js-tokens "^4.0.0"
25 |
26 | "@babel/parser@7.11.5":
27 | version "7.11.5"
28 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037"
29 | integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==
30 |
31 | "@babel/types@7.11.5":
32 | version "7.11.5"
33 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d"
34 | integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==
35 | dependencies:
36 | "@babel/helper-validator-identifier" "^7.10.4"
37 | lodash "^4.17.19"
38 | to-fast-properties "^2.0.0"
39 |
40 | "@eslint/eslintrc@^0.4.0":
41 | version "0.4.0"
42 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547"
43 | integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==
44 | dependencies:
45 | ajv "^6.12.4"
46 | debug "^4.1.1"
47 | espree "^7.3.0"
48 | globals "^12.1.0"
49 | ignore "^4.0.6"
50 | import-fresh "^3.2.1"
51 | js-yaml "^3.13.1"
52 | minimatch "^3.0.4"
53 | strip-json-comments "^3.1.1"
54 |
55 | "@nodelib/fs.scandir@2.1.4":
56 | version "2.1.4"
57 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
58 | integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
59 | dependencies:
60 | "@nodelib/fs.stat" "2.0.4"
61 | run-parallel "^1.1.9"
62 |
63 | "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2":
64 | version "2.0.4"
65 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655"
66 | integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
67 |
68 | "@nodelib/fs.walk@^1.2.3":
69 | version "1.2.6"
70 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063"
71 | integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
72 | dependencies:
73 | "@nodelib/fs.scandir" "2.1.4"
74 | fastq "^1.6.0"
75 |
76 | "@types/json-schema@^7.0.3":
77 | version "7.0.7"
78 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
79 | integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
80 |
81 | "@types/node@^14.14.22":
82 | version "14.14.37"
83 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e"
84 | integrity sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==
85 |
86 | "@types/tmp@^0.2.0":
87 | version "0.2.0"
88 | resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.0.tgz#e3f52b4d7397eaa9193592ef3fdd44dc0af4298c"
89 | integrity sha512-flgpHJjntpBAdJD43ShRosQvNC0ME97DCfGvZEDlAThQmnerRXrLbX6YgzRBQCZTthET9eAWFAMaYP0m0Y4HzQ==
90 |
91 | "@typescript-eslint/eslint-plugin@^4.8.2":
92 | version "4.21.0"
93 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.21.0.tgz#3fce2bfa76d95c00ac4f33dff369cb593aab8878"
94 | integrity sha512-FPUyCPKZbVGexmbCFI3EQHzCZdy2/5f+jv6k2EDljGdXSRc0cKvbndd2nHZkSLqCNOPk0jB6lGzwIkglXcYVsQ==
95 | dependencies:
96 | "@typescript-eslint/experimental-utils" "4.21.0"
97 | "@typescript-eslint/scope-manager" "4.21.0"
98 | debug "^4.1.1"
99 | functional-red-black-tree "^1.0.1"
100 | lodash "^4.17.15"
101 | regexpp "^3.0.0"
102 | semver "^7.3.2"
103 | tsutils "^3.17.1"
104 |
105 | "@typescript-eslint/experimental-utils@4.21.0":
106 | version "4.21.0"
107 | resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.21.0.tgz#0b0bb7c15d379140a660c003bdbafa71ae9134b6"
108 | integrity sha512-cEbgosW/tUFvKmkg3cU7LBoZhvUs+ZPVM9alb25XvR0dal4qHL3SiUqHNrzoWSxaXA9gsifrYrS1xdDV6w/gIA==
109 | dependencies:
110 | "@types/json-schema" "^7.0.3"
111 | "@typescript-eslint/scope-manager" "4.21.0"
112 | "@typescript-eslint/types" "4.21.0"
113 | "@typescript-eslint/typescript-estree" "4.21.0"
114 | eslint-scope "^5.0.0"
115 | eslint-utils "^2.0.0"
116 |
117 | "@typescript-eslint/parser@^4.8.2":
118 | version "4.21.0"
119 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.21.0.tgz#a227fc2af4001668c3e3f7415d4feee5093894c1"
120 | integrity sha512-eyNf7QmE5O/l1smaQgN0Lj2M/1jOuNg2NrBm1dqqQN0sVngTLyw8tdCbih96ixlhbF1oINoN8fDCyEH9SjLeIA==
121 | dependencies:
122 | "@typescript-eslint/scope-manager" "4.21.0"
123 | "@typescript-eslint/types" "4.21.0"
124 | "@typescript-eslint/typescript-estree" "4.21.0"
125 | debug "^4.1.1"
126 |
127 | "@typescript-eslint/scope-manager@4.21.0":
128 | version "4.21.0"
129 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.21.0.tgz#c81b661c4b8af1ec0c010d847a8f9ab76ab95b4d"
130 | integrity sha512-kfOjF0w1Ix7+a5T1knOw00f7uAP9Gx44+OEsNQi0PvvTPLYeXJlsCJ4tYnDj5PQEYfpcgOH5yBlw7K+UEI9Agw==
131 | dependencies:
132 | "@typescript-eslint/types" "4.21.0"
133 | "@typescript-eslint/visitor-keys" "4.21.0"
134 |
135 | "@typescript-eslint/types@4.21.0":
136 | version "4.21.0"
137 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.21.0.tgz#abdc3463bda5d31156984fa5bc316789c960edef"
138 | integrity sha512-+OQaupjGVVc8iXbt6M1oZMwyKQNehAfLYJJ3SdvnofK2qcjfor9pEM62rVjBknhowTkh+2HF+/KdRAc/wGBN2w==
139 |
140 | "@typescript-eslint/typescript-estree@4.21.0":
141 | version "4.21.0"
142 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.21.0.tgz#3817bd91857beeaeff90f69f1f112ea58d350b0a"
143 | integrity sha512-ZD3M7yLaVGVYLw4nkkoGKumb7Rog7QID9YOWobFDMQKNl+vPxqVIW/uDk+MDeGc+OHcoG2nJ2HphwiPNajKw3w==
144 | dependencies:
145 | "@typescript-eslint/types" "4.21.0"
146 | "@typescript-eslint/visitor-keys" "4.21.0"
147 | debug "^4.1.1"
148 | globby "^11.0.1"
149 | is-glob "^4.0.1"
150 | semver "^7.3.2"
151 | tsutils "^3.17.1"
152 |
153 | "@typescript-eslint/visitor-keys@4.21.0":
154 | version "4.21.0"
155 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.21.0.tgz#990a9acdc124331f5863c2cf21c88ba65233cd8d"
156 | integrity sha512-dH22dROWGi5Z6p+Igc8bLVLmwy7vEe8r+8c+raPQU0LxgogPUrRAtRGtvBWmlr9waTu3n+QLt/qrS/hWzk1x5w==
157 | dependencies:
158 | "@typescript-eslint/types" "4.21.0"
159 | eslint-visitor-keys "^2.0.0"
160 |
161 | acorn-jsx@^5.3.1:
162 | version "5.3.1"
163 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
164 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
165 |
166 | acorn@^7.4.0:
167 | version "7.4.1"
168 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
169 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
170 |
171 | ajv@^6.10.0, ajv@^6.12.4:
172 | version "6.12.6"
173 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
174 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
175 | dependencies:
176 | fast-deep-equal "^3.1.1"
177 | fast-json-stable-stringify "^2.0.0"
178 | json-schema-traverse "^0.4.1"
179 | uri-js "^4.2.2"
180 |
181 | ajv@^8.0.1:
182 | version "8.0.5"
183 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.0.5.tgz#f07d6fdeffcdbb80485570ce3f1bc845fcc812b9"
184 | integrity sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg==
185 | dependencies:
186 | fast-deep-equal "^3.1.1"
187 | json-schema-traverse "^1.0.0"
188 | require-from-string "^2.0.2"
189 | uri-js "^4.2.2"
190 |
191 | ansi-colors@^4.1.1:
192 | version "4.1.1"
193 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
194 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
195 |
196 | ansi-regex@^5.0.0:
197 | version "5.0.0"
198 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
199 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
200 |
201 | ansi-styles@^3.2.1:
202 | version "3.2.1"
203 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
204 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
205 | dependencies:
206 | color-convert "^1.9.0"
207 |
208 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
209 | version "4.3.0"
210 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
211 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
212 | dependencies:
213 | color-convert "^2.0.1"
214 |
215 | argparse@^1.0.7:
216 | version "1.0.10"
217 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
218 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
219 | dependencies:
220 | sprintf-js "~1.0.2"
221 |
222 | array-union@^2.1.0:
223 | version "2.1.0"
224 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
225 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
226 |
227 | astral-regex@^2.0.0:
228 | version "2.0.0"
229 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
230 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
231 |
232 | balanced-match@^1.0.0:
233 | version "1.0.2"
234 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
235 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
236 |
237 | brace-expansion@^1.1.7:
238 | version "1.1.11"
239 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
240 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
241 | dependencies:
242 | balanced-match "^1.0.0"
243 | concat-map "0.0.1"
244 |
245 | braces@^3.0.1:
246 | version "3.0.2"
247 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
248 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
249 | dependencies:
250 | fill-range "^7.0.1"
251 |
252 | call-bind@^1.0.0:
253 | version "1.0.2"
254 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
255 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
256 | dependencies:
257 | function-bind "^1.1.1"
258 | get-intrinsic "^1.0.2"
259 |
260 | callsites@^3.0.0:
261 | version "3.1.0"
262 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
263 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
264 |
265 | chalk@^2.0.0:
266 | version "2.4.2"
267 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
268 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
269 | dependencies:
270 | ansi-styles "^3.2.1"
271 | escape-string-regexp "^1.0.5"
272 | supports-color "^5.3.0"
273 |
274 | chalk@^4.0.0:
275 | version "4.1.0"
276 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
277 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
278 | dependencies:
279 | ansi-styles "^4.1.0"
280 | supports-color "^7.1.0"
281 |
282 | coc.nvim@^0.0.80:
283 | version "0.0.80"
284 | resolved "https://registry.yarnpkg.com/coc.nvim/-/coc.nvim-0.0.80.tgz#785145c382660db03f517f9b497900d95cbd0e4f"
285 | integrity sha512-/3vTcnofoAYMrdENrlQmADTzfXX4+PZ0fiM10a39UA37dTR2dpIGi9O469kcIksuunLjToqWG8S45AGx/9wV7g==
286 |
287 | color-convert@^1.9.0:
288 | version "1.9.3"
289 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
290 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
291 |
292 | color-convert@^2.0.1:
293 | version "2.0.1"
294 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
295 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
296 | dependencies:
297 | color-name "~1.1.4"
298 |
299 | color-name@~1.1.4:
300 | version "1.1.4"
301 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
302 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
303 |
304 | commander@6.1.0:
305 | version "6.1.0"
306 | resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc"
307 | integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA==
308 |
309 | concat-map@0.0.1:
310 | version "0.0.1"
311 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
312 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
313 |
314 | cross-spawn@^7.0.2:
315 | version "7.0.3"
316 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
317 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
318 | dependencies:
319 | path-key "^3.1.0"
320 | shebang-command "^2.0.0"
321 | which "^2.0.1"
322 |
323 | debug@^4.0.1, debug@^4.1.1:
324 | version "4.3.1"
325 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
326 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
327 | dependencies:
328 | ms "2.1.2"
329 |
330 | deep-is@^0.1.3:
331 | version "0.1.3"
332 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
333 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
334 |
335 | dir-glob@^3.0.1:
336 | version "3.0.1"
337 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
338 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
339 | dependencies:
340 | path-type "^4.0.0"
341 |
342 | doctrine@^3.0.0:
343 | version "3.0.0"
344 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
345 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
346 | dependencies:
347 | esutils "^2.0.2"
348 |
349 | emoji-regex@^8.0.0:
350 | version "8.0.0"
351 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
352 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
353 |
354 | enquirer@^2.3.5:
355 | version "2.3.6"
356 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
357 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
358 | dependencies:
359 | ansi-colors "^4.1.1"
360 |
361 | esbuild@^0.8.42:
362 | version "0.8.57"
363 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.57.tgz#a42d02bc2b57c70bcd0ef897fe244766bb6dd926"
364 | integrity sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==
365 |
366 | escape-string-regexp@^1.0.5:
367 | version "1.0.5"
368 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
369 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
370 |
371 | eslint-config-prettier@^8.1.0:
372 | version "8.1.0"
373 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6"
374 | integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==
375 |
376 | eslint-plugin-prettier@^3.1.4:
377 | version "3.3.1"
378 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7"
379 | integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==
380 | dependencies:
381 | prettier-linter-helpers "^1.0.0"
382 |
383 | eslint-scope@^5.0.0, eslint-scope@^5.1.1:
384 | version "5.1.1"
385 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
386 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
387 | dependencies:
388 | esrecurse "^4.3.0"
389 | estraverse "^4.1.1"
390 |
391 | eslint-utils@^2.0.0, eslint-utils@^2.1.0:
392 | version "2.1.0"
393 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
394 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
395 | dependencies:
396 | eslint-visitor-keys "^1.1.0"
397 |
398 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
399 | version "1.3.0"
400 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
401 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
402 |
403 | eslint-visitor-keys@^2.0.0:
404 | version "2.0.0"
405 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
406 | integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
407 |
408 | eslint@^7.14.0:
409 | version "7.23.0"
410 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.23.0.tgz#8d029d252f6e8cf45894b4bee08f5493f8e94325"
411 | integrity sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==
412 | dependencies:
413 | "@babel/code-frame" "7.12.11"
414 | "@eslint/eslintrc" "^0.4.0"
415 | ajv "^6.10.0"
416 | chalk "^4.0.0"
417 | cross-spawn "^7.0.2"
418 | debug "^4.0.1"
419 | doctrine "^3.0.0"
420 | enquirer "^2.3.5"
421 | eslint-scope "^5.1.1"
422 | eslint-utils "^2.1.0"
423 | eslint-visitor-keys "^2.0.0"
424 | espree "^7.3.1"
425 | esquery "^1.4.0"
426 | esutils "^2.0.2"
427 | file-entry-cache "^6.0.1"
428 | functional-red-black-tree "^1.0.1"
429 | glob-parent "^5.0.0"
430 | globals "^13.6.0"
431 | ignore "^4.0.6"
432 | import-fresh "^3.0.0"
433 | imurmurhash "^0.1.4"
434 | is-glob "^4.0.0"
435 | js-yaml "^3.13.1"
436 | json-stable-stringify-without-jsonify "^1.0.1"
437 | levn "^0.4.1"
438 | lodash "^4.17.21"
439 | minimatch "^3.0.4"
440 | natural-compare "^1.4.0"
441 | optionator "^0.9.1"
442 | progress "^2.0.0"
443 | regexpp "^3.1.0"
444 | semver "^7.2.1"
445 | strip-ansi "^6.0.0"
446 | strip-json-comments "^3.1.0"
447 | table "^6.0.4"
448 | text-table "^0.2.0"
449 | v8-compile-cache "^2.0.3"
450 |
451 | espree@^7.3.0, espree@^7.3.1:
452 | version "7.3.1"
453 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
454 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
455 | dependencies:
456 | acorn "^7.4.0"
457 | acorn-jsx "^5.3.1"
458 | eslint-visitor-keys "^1.3.0"
459 |
460 | esprima@^4.0.0:
461 | version "4.0.1"
462 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
463 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
464 |
465 | esquery@^1.4.0:
466 | version "1.4.0"
467 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
468 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
469 | dependencies:
470 | estraverse "^5.1.0"
471 |
472 | esrecurse@^4.3.0:
473 | version "4.3.0"
474 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
475 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
476 | dependencies:
477 | estraverse "^5.2.0"
478 |
479 | estraverse@^4.1.1:
480 | version "4.3.0"
481 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
482 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
483 |
484 | estraverse@^5.1.0, estraverse@^5.2.0:
485 | version "5.2.0"
486 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
487 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
488 |
489 | esutils@^2.0.2:
490 | version "2.0.3"
491 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
492 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
493 |
494 | fast-deep-equal@^3.1.1:
495 | version "3.1.3"
496 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
497 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
498 |
499 | fast-diff@^1.1.2:
500 | version "1.2.0"
501 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
502 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
503 |
504 | fast-glob@^3.1.1:
505 | version "3.2.5"
506 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
507 | integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
508 | dependencies:
509 | "@nodelib/fs.stat" "^2.0.2"
510 | "@nodelib/fs.walk" "^1.2.3"
511 | glob-parent "^5.1.0"
512 | merge2 "^1.3.0"
513 | micromatch "^4.0.2"
514 | picomatch "^2.2.1"
515 |
516 | fast-json-stable-stringify@^2.0.0:
517 | version "2.1.0"
518 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
519 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
520 |
521 | fast-levenshtein@^2.0.6:
522 | version "2.0.6"
523 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
524 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
525 |
526 | fastq@^1.6.0:
527 | version "1.11.0"
528 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858"
529 | integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==
530 | dependencies:
531 | reusify "^1.0.4"
532 |
533 | file-entry-cache@^6.0.1:
534 | version "6.0.1"
535 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
536 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
537 | dependencies:
538 | flat-cache "^3.0.4"
539 |
540 | fill-range@^7.0.1:
541 | version "7.0.1"
542 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
543 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
544 | dependencies:
545 | to-regex-range "^5.0.1"
546 |
547 | flat-cache@^3.0.4:
548 | version "3.0.4"
549 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
550 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
551 | dependencies:
552 | flatted "^3.1.0"
553 | rimraf "^3.0.2"
554 |
555 | flatted@^3.1.0:
556 | version "3.1.1"
557 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
558 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
559 |
560 | fs.realpath@^1.0.0:
561 | version "1.0.0"
562 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
563 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
564 |
565 | function-bind@^1.1.1:
566 | version "1.1.1"
567 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
568 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
569 |
570 | functional-red-black-tree@^1.0.1:
571 | version "1.0.1"
572 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
573 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
574 |
575 | get-intrinsic@^1.0.2:
576 | version "1.1.1"
577 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
578 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
579 | dependencies:
580 | function-bind "^1.1.1"
581 | has "^1.0.3"
582 | has-symbols "^1.0.1"
583 |
584 | glob-parent@^5.0.0, glob-parent@^5.1.0:
585 | version "5.1.2"
586 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
587 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
588 | dependencies:
589 | is-glob "^4.0.1"
590 |
591 | glob@^7.1.3:
592 | version "7.1.6"
593 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
594 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
595 | dependencies:
596 | fs.realpath "^1.0.0"
597 | inflight "^1.0.4"
598 | inherits "2"
599 | minimatch "^3.0.4"
600 | once "^1.3.0"
601 | path-is-absolute "^1.0.0"
602 |
603 | globals@^12.1.0:
604 | version "12.4.0"
605 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
606 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
607 | dependencies:
608 | type-fest "^0.8.1"
609 |
610 | globals@^13.6.0:
611 | version "13.7.0"
612 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795"
613 | integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==
614 | dependencies:
615 | type-fest "^0.20.2"
616 |
617 | globby@^11.0.1:
618 | version "11.0.3"
619 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb"
620 | integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==
621 | dependencies:
622 | array-union "^2.1.0"
623 | dir-glob "^3.0.1"
624 | fast-glob "^3.1.1"
625 | ignore "^5.1.4"
626 | merge2 "^1.3.0"
627 | slash "^3.0.0"
628 |
629 | has-flag@^3.0.0:
630 | version "3.0.0"
631 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
632 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
633 |
634 | has-flag@^4.0.0:
635 | version "4.0.0"
636 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
637 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
638 |
639 | has-symbols@^1.0.1:
640 | version "1.0.2"
641 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
642 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
643 |
644 | has@^1.0.3:
645 | version "1.0.3"
646 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
647 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
648 | dependencies:
649 | function-bind "^1.1.1"
650 |
651 | ignore@^4.0.6:
652 | version "4.0.6"
653 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
654 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
655 |
656 | ignore@^5.1.4:
657 | version "5.1.8"
658 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
659 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
660 |
661 | import-fresh@^3.0.0, import-fresh@^3.2.1:
662 | version "3.3.0"
663 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
664 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
665 | dependencies:
666 | parent-module "^1.0.0"
667 | resolve-from "^4.0.0"
668 |
669 | imurmurhash@^0.1.4:
670 | version "0.1.4"
671 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
672 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
673 |
674 | inflight@^1.0.4:
675 | version "1.0.6"
676 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
677 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
678 | dependencies:
679 | once "^1.3.0"
680 | wrappy "1"
681 |
682 | inherits@2:
683 | version "2.0.4"
684 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
685 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
686 |
687 | is-boolean-object@^1.1.0:
688 | version "1.1.0"
689 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0"
690 | integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==
691 | dependencies:
692 | call-bind "^1.0.0"
693 |
694 | is-extglob@^2.1.1:
695 | version "2.1.1"
696 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
697 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
698 |
699 | is-fullwidth-code-point@^3.0.0:
700 | version "3.0.0"
701 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
702 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
703 |
704 | is-glob@^4.0.0, is-glob@^4.0.1:
705 | version "4.0.1"
706 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
707 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
708 | dependencies:
709 | is-extglob "^2.1.1"
710 |
711 | is-number-object@^1.0.4:
712 | version "1.0.4"
713 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
714 | integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
715 |
716 | is-number@^7.0.0:
717 | version "7.0.0"
718 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
719 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
720 |
721 | is-string@^1.0.5:
722 | version "1.0.5"
723 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
724 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
725 |
726 | isexe@^2.0.0:
727 | version "2.0.0"
728 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
729 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
730 |
731 | js-tokens@^4.0.0:
732 | version "4.0.0"
733 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
734 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
735 |
736 | js-yaml@^3.13.1:
737 | version "3.14.1"
738 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
739 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
740 | dependencies:
741 | argparse "^1.0.7"
742 | esprima "^4.0.0"
743 |
744 | json-schema-traverse@^0.4.1:
745 | version "0.4.1"
746 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
747 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
748 |
749 | json-schema-traverse@^1.0.0:
750 | version "1.0.0"
751 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
752 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
753 |
754 | json-stable-stringify-without-jsonify@^1.0.1:
755 | version "1.0.1"
756 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
757 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
758 |
759 | lehre@^1.3.5:
760 | version "1.3.5"
761 | resolved "https://registry.yarnpkg.com/lehre/-/lehre-1.3.5.tgz#be0d183a5477863db2aba9e3112cafbb04475dba"
762 | integrity sha512-tzJF//x4+rRVQTNRzWekBI3dnZ8Ylof1c4+bfDEAlWvq4sqq8GKO22iSAhJjGlcs0UXoyLz5a47ISZp8/FMp0g==
763 | dependencies:
764 | "@babel/parser" "7.11.5"
765 | "@babel/types" "7.11.5"
766 | commander "6.1.0"
767 | typescript "4.0.2"
768 |
769 | levn@^0.4.1:
770 | version "0.4.1"
771 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
772 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
773 | dependencies:
774 | prelude-ls "^1.2.1"
775 | type-check "~0.4.0"
776 |
777 | lodash.clonedeep@^4.5.0:
778 | version "4.5.0"
779 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
780 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
781 |
782 | lodash.flatten@^4.4.0:
783 | version "4.4.0"
784 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
785 | integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
786 |
787 | lodash.truncate@^4.4.2:
788 | version "4.4.2"
789 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
790 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
791 |
792 | lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21:
793 | version "4.17.21"
794 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
795 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
796 |
797 | lru-cache@^6.0.0:
798 | version "6.0.0"
799 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
800 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
801 | dependencies:
802 | yallist "^4.0.0"
803 |
804 | merge2@^1.3.0:
805 | version "1.4.1"
806 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
807 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
808 |
809 | micromatch@^4.0.2:
810 | version "4.0.2"
811 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
812 | integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
813 | dependencies:
814 | braces "^3.0.1"
815 | picomatch "^2.0.5"
816 |
817 | minimatch@^3.0.4:
818 | version "3.0.4"
819 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
820 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
821 | dependencies:
822 | brace-expansion "^1.1.7"
823 |
824 | ms@2.1.2:
825 | version "2.1.2"
826 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
827 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
828 |
829 | natural-compare@^1.4.0:
830 | version "1.4.0"
831 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
832 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
833 |
834 | once@^1.3.0:
835 | version "1.4.0"
836 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
837 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
838 | dependencies:
839 | wrappy "1"
840 |
841 | optionator@^0.9.1:
842 | version "0.9.1"
843 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
844 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
845 | dependencies:
846 | deep-is "^0.1.3"
847 | fast-levenshtein "^2.0.6"
848 | levn "^0.4.1"
849 | prelude-ls "^1.2.1"
850 | type-check "^0.4.0"
851 | word-wrap "^1.2.3"
852 |
853 | parent-module@^1.0.0:
854 | version "1.0.1"
855 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
856 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
857 | dependencies:
858 | callsites "^3.0.0"
859 |
860 | path-is-absolute@^1.0.0:
861 | version "1.0.1"
862 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
863 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
864 |
865 | path-key@^3.1.0:
866 | version "3.1.1"
867 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
868 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
869 |
870 | path-type@^4.0.0:
871 | version "4.0.0"
872 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
873 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
874 |
875 | picomatch@^2.0.5, picomatch@^2.2.1:
876 | version "2.2.2"
877 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
878 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
879 |
880 | prelude-ls@^1.2.1:
881 | version "1.2.1"
882 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
883 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
884 |
885 | prettier-linter-helpers@^1.0.0:
886 | version "1.0.0"
887 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
888 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
889 | dependencies:
890 | fast-diff "^1.1.2"
891 |
892 | prettier@^2.2.0:
893 | version "2.2.1"
894 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
895 | integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
896 |
897 | progress@^2.0.0:
898 | version "2.0.3"
899 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
900 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
901 |
902 | punycode@^2.1.0:
903 | version "2.1.1"
904 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
905 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
906 |
907 | queue-microtask@^1.2.2:
908 | version "1.2.3"
909 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
910 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
911 |
912 | regexpp@^3.0.0, regexpp@^3.1.0:
913 | version "3.1.0"
914 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
915 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
916 |
917 | require-from-string@^2.0.2:
918 | version "2.0.2"
919 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
920 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
921 |
922 | resolve-from@^4.0.0:
923 | version "4.0.0"
924 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
925 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
926 |
927 | reusify@^1.0.4:
928 | version "1.0.4"
929 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
930 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
931 |
932 | rimraf@^2.6.3:
933 | version "2.7.1"
934 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
935 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
936 | dependencies:
937 | glob "^7.1.3"
938 |
939 | rimraf@^3.0.2:
940 | version "3.0.2"
941 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
942 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
943 | dependencies:
944 | glob "^7.1.3"
945 |
946 | run-parallel@^1.1.9:
947 | version "1.2.0"
948 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
949 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
950 | dependencies:
951 | queue-microtask "^1.2.2"
952 |
953 | semver@^7.2.1, semver@^7.3.2:
954 | version "7.3.5"
955 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
956 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
957 | dependencies:
958 | lru-cache "^6.0.0"
959 |
960 | shebang-command@^2.0.0:
961 | version "2.0.0"
962 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
963 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
964 | dependencies:
965 | shebang-regex "^3.0.0"
966 |
967 | shebang-regex@^3.0.0:
968 | version "3.0.0"
969 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
970 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
971 |
972 | slash@^3.0.0:
973 | version "3.0.0"
974 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
975 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
976 |
977 | slice-ansi@^4.0.0:
978 | version "4.0.0"
979 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
980 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
981 | dependencies:
982 | ansi-styles "^4.0.0"
983 | astral-regex "^2.0.0"
984 | is-fullwidth-code-point "^3.0.0"
985 |
986 | sprintf-js@~1.0.2:
987 | version "1.0.3"
988 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
989 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
990 |
991 | string-width@^4.2.0:
992 | version "4.2.2"
993 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
994 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
995 | dependencies:
996 | emoji-regex "^8.0.0"
997 | is-fullwidth-code-point "^3.0.0"
998 | strip-ansi "^6.0.0"
999 |
1000 | strip-ansi@^6.0.0:
1001 | version "6.0.0"
1002 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
1003 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
1004 | dependencies:
1005 | ansi-regex "^5.0.0"
1006 |
1007 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1008 | version "3.1.1"
1009 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1010 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1011 |
1012 | supports-color@^5.3.0:
1013 | version "5.5.0"
1014 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1015 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1016 | dependencies:
1017 | has-flag "^3.0.0"
1018 |
1019 | supports-color@^7.1.0:
1020 | version "7.2.0"
1021 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1022 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1023 | dependencies:
1024 | has-flag "^4.0.0"
1025 |
1026 | table@^6.0.4:
1027 | version "6.0.9"
1028 | resolved "https://registry.yarnpkg.com/table/-/table-6.0.9.tgz#790a12bf1e09b87b30e60419bafd6a1fd85536fb"
1029 | integrity sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==
1030 | dependencies:
1031 | ajv "^8.0.1"
1032 | is-boolean-object "^1.1.0"
1033 | is-number-object "^1.0.4"
1034 | is-string "^1.0.5"
1035 | lodash.clonedeep "^4.5.0"
1036 | lodash.flatten "^4.4.0"
1037 | lodash.truncate "^4.4.2"
1038 | slice-ansi "^4.0.0"
1039 | string-width "^4.2.0"
1040 |
1041 | text-table@^0.2.0:
1042 | version "0.2.0"
1043 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1044 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
1045 |
1046 | tmp@^0.1.0:
1047 | version "0.1.0"
1048 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877"
1049 | integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==
1050 | dependencies:
1051 | rimraf "^2.6.3"
1052 |
1053 | to-fast-properties@^2.0.0:
1054 | version "2.0.0"
1055 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1056 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
1057 |
1058 | to-regex-range@^5.0.1:
1059 | version "5.0.1"
1060 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1061 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1062 | dependencies:
1063 | is-number "^7.0.0"
1064 |
1065 | tslib@^1.8.1:
1066 | version "1.14.1"
1067 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
1068 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
1069 |
1070 | tsutils@^3.17.1:
1071 | version "3.21.0"
1072 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
1073 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
1074 | dependencies:
1075 | tslib "^1.8.1"
1076 |
1077 | type-check@^0.4.0, type-check@~0.4.0:
1078 | version "0.4.0"
1079 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1080 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1081 | dependencies:
1082 | prelude-ls "^1.2.1"
1083 |
1084 | type-fest@^0.20.2:
1085 | version "0.20.2"
1086 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1087 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
1088 |
1089 | type-fest@^0.8.1:
1090 | version "0.8.1"
1091 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
1092 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
1093 |
1094 | typescript@4.0.2:
1095 | version "4.0.2"
1096 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2"
1097 | integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==
1098 |
1099 | typescript@^4.1.2:
1100 | version "4.2.3"
1101 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3"
1102 | integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
1103 |
1104 | uri-js@^4.2.2:
1105 | version "4.4.1"
1106 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1107 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1108 | dependencies:
1109 | punycode "^2.1.0"
1110 |
1111 | v8-compile-cache@^2.0.3:
1112 | version "2.3.0"
1113 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
1114 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
1115 |
1116 | which@^2.0.1:
1117 | version "2.0.2"
1118 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
1119 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
1120 | dependencies:
1121 | isexe "^2.0.0"
1122 |
1123 | word-wrap@^1.2.3:
1124 | version "1.2.3"
1125 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
1126 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
1127 |
1128 | wrappy@1:
1129 | version "1.0.2"
1130 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1131 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1132 |
1133 | yallist@^4.0.0:
1134 | version "4.0.0"
1135 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1136 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
1137 |
--------------------------------------------------------------------------------