From fd7234c52fe924a1e391a59525b661a72baac19d Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Tue, 2 Mar 2021 09:08:15 +0100 Subject: tools: make update-eslint.sh work with npm@7 Install `eslint-plugin-markdown` at the same level of `eslint` without cd'ing into `eslint` directory, otherwise the following error is raised: ``` npm ERR! code ERESOLVE npm ERR! Cannot destructure property 'name' of 'node' as it is null. ``` PR-URL: https://github.com/nodejs/node/pull/37566 Fixes: https://github.com/nodejs/node/issues/37560 Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig Reviewed-By: Ruy Adorno Reviewed-By: Antoine du Hamel --- tools/node_modules/eslint-plugin-markdown/LICENSE | 21 + .../node_modules/eslint-plugin-markdown/README.md | 362 ++++ tools/node_modules/eslint-plugin-markdown/index.js | 8 + .../eslint-plugin-markdown/lib/index.js | 60 + .../eslint-plugin-markdown/lib/processor.js | 349 +++ .../node_modules/bail/index.js | 9 + .../node_modules/bail/license | 22 + .../node_modules/bail/package.json | 72 + .../node_modules/bail/readme.md | 84 + .../character-entities-legacy/index.json | 108 + .../node_modules/character-entities-legacy/license | 22 + .../character-entities-legacy/package.json | 70 + .../character-entities-legacy/readme.md | 74 + .../node_modules/character-entities/index.json | 2224 ++++++++++++++++++++ .../node_modules/character-entities/license | 22 + .../node_modules/character-entities/package.json | 71 + .../node_modules/character-entities/readme.md | 72 + .../character-reference-invalid/index.json | 30 + .../character-reference-invalid/license | 22 + .../character-reference-invalid/package.json | 74 + .../character-reference-invalid/readme.md | 74 + .../node_modules/collapse-white-space/index.js | 8 + .../node_modules/collapse-white-space/license | 22 + .../node_modules/collapse-white-space/package.json | 70 + .../node_modules/collapse-white-space/readme.md | 58 + .../node_modules/extend/.jscs.json | 175 ++ .../node_modules/extend/LICENSE | 23 + .../node_modules/extend/README.md | 81 + .../node_modules/extend/index.js | 117 + .../node_modules/extend/package.json | 42 + .../node_modules/inherits/LICENSE | 16 + .../node_modules/inherits/README.md | 42 + .../node_modules/inherits/inherits.js | 9 + .../node_modules/inherits/inherits_browser.js | 27 + .../node_modules/inherits/package.json | 29 + .../node_modules/is-alphabetical/index.js | 14 + .../node_modules/is-alphabetical/license | 22 + .../node_modules/is-alphabetical/package.json | 75 + .../node_modules/is-alphabetical/readme.md | 70 + .../node_modules/is-alphanumerical/index.js | 12 + .../node_modules/is-alphanumerical/license | 22 + .../node_modules/is-alphanumerical/package.json | 77 + .../node_modules/is-alphanumerical/readme.md | 71 + .../node_modules/is-buffer/LICENSE | 21 + .../node_modules/is-buffer/README.md | 53 + .../node_modules/is-buffer/index.js | 21 + .../node_modules/is-buffer/package.json | 51 + .../node_modules/is-decimal/index.js | 11 + .../node_modules/is-decimal/license | 22 + .../node_modules/is-decimal/package.json | 72 + .../node_modules/is-decimal/readme.md | 69 + .../node_modules/is-hexadecimal/index.js | 15 + .../node_modules/is-hexadecimal/license | 22 + .../node_modules/is-hexadecimal/package.json | 72 + .../node_modules/is-hexadecimal/readme.md | 70 + .../node_modules/is-plain-obj/index.js | 7 + .../node_modules/is-plain-obj/license | 21 + .../node_modules/is-plain-obj/package.json | 36 + .../node_modules/is-plain-obj/readme.md | 35 + .../node_modules/is-whitespace-character/index.js | 14 + .../node_modules/is-whitespace-character/license | 22 + .../is-whitespace-character/package.json | 74 + .../node_modules/is-whitespace-character/readme.md | 74 + .../node_modules/is-word-character/index.js | 14 + .../node_modules/is-word-character/license | 22 + .../node_modules/is-word-character/package.json | 72 + .../node_modules/is-word-character/readme.md | 72 + .../node_modules/markdown-escapes/index.js | 57 + .../node_modules/markdown-escapes/license | 22 + .../node_modules/markdown-escapes/package.json | 72 + .../node_modules/markdown-escapes/readme.md | 80 + .../parse-entities/decode-entity.browser.js | 30 + .../node_modules/parse-entities/decode-entity.js | 13 + .../node_modules/parse-entities/index.js | 450 ++++ .../node_modules/parse-entities/license | 22 + .../node_modules/parse-entities/package.json | 91 + .../node_modules/parse-entities/readme.md | 217 ++ .../node_modules/remark-parse/index.js | 14 + .../remark-parse/lib/block-elements.json | 68 + .../node_modules/remark-parse/lib/decode.js | 64 + .../node_modules/remark-parse/lib/defaults.js | 10 + .../node_modules/remark-parse/lib/locate/break.js | 17 + .../remark-parse/lib/locate/code-inline.js | 7 + .../node_modules/remark-parse/lib/locate/delete.js | 7 + .../remark-parse/lib/locate/emphasis.js | 18 + .../node_modules/remark-parse/lib/locate/escape.js | 7 + .../node_modules/remark-parse/lib/locate/link.js | 16 + .../node_modules/remark-parse/lib/locate/strong.js | 18 + .../node_modules/remark-parse/lib/locate/tag.js | 7 + .../node_modules/remark-parse/lib/locate/url.js | 26 + .../node_modules/remark-parse/lib/parse.js | 45 + .../node_modules/remark-parse/lib/parser.js | 152 ++ .../node_modules/remark-parse/lib/set-options.js | 47 + .../remark-parse/lib/tokenize/auto-link.js | 145 ++ .../remark-parse/lib/tokenize/blockquote.js | 129 ++ .../remark-parse/lib/tokenize/break.js | 40 + .../remark-parse/lib/tokenize/code-fenced.js | 236 +++ .../remark-parse/lib/tokenize/code-indented.js | 98 + .../remark-parse/lib/tokenize/code-inline.js | 112 + .../remark-parse/lib/tokenize/definition.js | 278 +++ .../remark-parse/lib/tokenize/delete.js | 60 + .../remark-parse/lib/tokenize/emphasis.js | 85 + .../remark-parse/lib/tokenize/escape.js | 34 + .../lib/tokenize/footnote-definition.js | 185 ++ .../remark-parse/lib/tokenize/heading-atx.js | 141 ++ .../remark-parse/lib/tokenize/heading-setext.js | 107 + .../remark-parse/lib/tokenize/html-block.js | 94 + .../remark-parse/lib/tokenize/html-inline.js | 54 + .../node_modules/remark-parse/lib/tokenize/link.js | 392 ++++ .../node_modules/remark-parse/lib/tokenize/list.js | 474 +++++ .../remark-parse/lib/tokenize/newline.js | 47 + .../remark-parse/lib/tokenize/paragraph.js | 122 ++ .../remark-parse/lib/tokenize/reference.js | 206 ++ .../remark-parse/lib/tokenize/strong.js | 84 + .../remark-parse/lib/tokenize/table.js | 266 +++ .../node_modules/remark-parse/lib/tokenize/text.js | 58 + .../remark-parse/lib/tokenize/thematic-break.js | 70 + .../node_modules/remark-parse/lib/tokenize/url.js | 144 ++ .../node_modules/remark-parse/lib/tokenizer.js | 331 +++ .../node_modules/remark-parse/lib/unescape.js | 37 + .../remark-parse/lib/util/get-indentation.js | 32 + .../node_modules/remark-parse/lib/util/html.js | 25 + .../remark-parse/lib/util/interrupt.js | 43 + .../remark-parse/lib/util/normalize.js | 11 + .../remark-parse/lib/util/remove-indentation.js | 78 + .../node_modules/remark-parse/package.json | 44 + .../node_modules/remark-parse/readme.md | 453 ++++ .../node_modules/repeat-string/LICENSE | 21 + .../node_modules/repeat-string/README.md | 136 ++ .../node_modules/repeat-string/index.js | 70 + .../node_modules/repeat-string/package.json | 77 + .../node_modules/replace-ext/LICENSE | 21 + .../node_modules/replace-ext/README.md | 50 + .../node_modules/replace-ext/index.js | 18 + .../node_modules/replace-ext/package.json | 44 + .../node_modules/state-toggle/index.js | 23 + .../node_modules/state-toggle/license | 22 + .../node_modules/state-toggle/package.json | 70 + .../node_modules/state-toggle/readme.md | 95 + .../node_modules/trim-trailing-lines/index.js | 8 + .../node_modules/trim-trailing-lines/license | 22 + .../node_modules/trim-trailing-lines/package.json | 72 + .../node_modules/trim-trailing-lines/readme.md | 68 + .../node_modules/trim/Makefile | 7 + .../node_modules/trim/Readme.md | 69 + .../node_modules/trim/index.js | 14 + .../node_modules/trim/package.json | 18 + .../node_modules/trough/index.js | 74 + .../node_modules/trough/license | 21 + .../node_modules/trough/package.json | 75 + .../node_modules/trough/readme.md | 330 +++ .../node_modules/trough/wrap.js | 64 + .../node_modules/unherit/index.js | 45 + .../node_modules/unherit/license | 21 + .../node_modules/unherit/package.json | 72 + .../node_modules/unherit/readme.md | 79 + .../node_modules/unified/LICENSE | 21 + .../node_modules/unified/index.js | 466 ++++ .../node_modules/unified/package.json | 86 + .../node_modules/unified/readme.md | 993 +++++++++ .../node_modules/unist-util-is/convert.js | 87 + .../node_modules/unist-util-is/index.js | 37 + .../node_modules/unist-util-is/license | 22 + .../node_modules/unist-util-is/package.json | 75 + .../node_modules/unist-util-is/readme.md | 202 ++ .../unist-util-remove-position/index.js | 18 + .../unist-util-remove-position/license | 22 + .../unist-util-remove-position/package.json | 76 + .../unist-util-remove-position/readme.md | 131 ++ .../unist-util-stringify-position/LICENSE | 22 + .../unist-util-stringify-position/index.js | 50 + .../unist-util-stringify-position/package.json | 77 + .../unist-util-stringify-position/readme.md | 100 + .../node_modules/unist-util-visit-parents/index.js | 78 + .../node_modules/unist-util-visit-parents/license | 22 + .../unist-util-visit-parents/package.json | 70 + .../unist-util-visit-parents/readme.md | 218 ++ .../node_modules/unist-util-visit/index.js | 29 + .../node_modules/unist-util-visit/license | 22 + .../node_modules/unist-util-visit/package.json | 79 + .../node_modules/unist-util-visit/readme.md | 121 ++ .../node_modules/vfile-location/index.js | 74 + .../node_modules/vfile-location/license | 22 + .../node_modules/vfile-location/package.json | 73 + .../node_modules/vfile-location/readme.md | 115 + .../node_modules/vfile-message/index.js | 94 + .../node_modules/vfile-message/license | 22 + .../node_modules/vfile-message/package.json | 73 + .../node_modules/vfile-message/readme.md | 194 ++ .../node_modules/vfile/LICENSE | 21 + .../node_modules/vfile/core.js | 169 ++ .../node_modules/vfile/index.js | 53 + .../node_modules/vfile/package.json | 78 + .../node_modules/vfile/readme.md | 285 +++ .../node_modules/x-is-string/LICENCE | 19 + .../node_modules/x-is-string/README.md | 46 + .../node_modules/x-is-string/index.js | 7 + .../node_modules/x-is-string/package.json | 55 + .../node_modules/xtend/LICENSE | 20 + .../node_modules/xtend/README.md | 32 + .../node_modules/xtend/immutable.js | 19 + .../node_modules/xtend/mutable.js | 17 + .../node_modules/xtend/package.json | 55 + .../eslint-plugin-markdown/package.json | 59 + .../node_modules/@babel/code-frame/package.json | 34 +- .../helper-validator-identifier/package.json | 30 +- .../highlight/node_modules/ansi-styles/index.js | 165 ++ .../highlight/node_modules/ansi-styles/license | 9 + .../node_modules/ansi-styles/package.json | 56 + .../highlight/node_modules/ansi-styles/readme.md | 147 ++ .../highlight/node_modules/chalk/package.json | 149 +- .../highlight/node_modules/color-convert/LICENSE | 21 + .../highlight/node_modules/color-convert/README.md | 68 + .../node_modules/color-convert/conversions.js | 868 ++++++++ .../highlight/node_modules/color-convert/index.js | 78 + .../node_modules/color-convert/package.json | 46 + .../highlight/node_modules/color-convert/route.js | 97 + .../highlight/node_modules/color-name/LICENSE | 8 + .../highlight/node_modules/color-name/README.md | 11 + .../highlight/node_modules/color-name/index.js | 152 ++ .../highlight/node_modules/color-name/package.json | 25 + .../highlight/node_modules/has-flag/index.js | 8 + .../@babel/highlight/node_modules/has-flag/license | 9 + .../highlight/node_modules/has-flag/package.json | 44 + .../highlight/node_modules/has-flag/readme.md | 70 + .../node_modules/supports-color/browser.js | 5 + .../highlight/node_modules/supports-color/index.js | 131 ++ .../highlight/node_modules/supports-color/license | 9 + .../node_modules/supports-color/package.json | 53 + .../node_modules/supports-color/readme.md | 66 + .../node_modules/@babel/highlight/package.json | 36 +- .../node_modules/@eslint/eslintrc/package.json | 91 +- .../eslint/node_modules/acorn-jsx/package.json | 29 +- .../eslint/node_modules/acorn/package.json | 33 +- .../eslint/node_modules/ajv/package.json | 132 +- .../eslint/node_modules/ansi-colors/package.json | 74 +- .../eslint/node_modules/ansi-regex/package.json | 117 +- .../eslint/node_modules/ansi-styles/index.js | 136 +- .../eslint/node_modules/ansi-styles/package.json | 119 +- .../eslint/node_modules/ansi-styles/readme.md | 33 +- .../eslint/node_modules/argparse/package.json | 55 +- .../eslint/node_modules/astral-regex/package.json | 73 +- .../node_modules/eslint/node_modules/bail/index.js | 9 - .../node_modules/eslint/node_modules/bail/license | 22 - .../eslint/node_modules/bail/package.json | 88 - .../eslint/node_modules/bail/readme.md | 84 - .../node_modules/balanced-match/package.json | 41 +- .../node_modules/brace-expansion/package.json | 43 +- .../eslint/node_modules/callsites/package.json | 85 +- .../chalk/node_modules/ansi-styles/index.js | 163 -- .../chalk/node_modules/ansi-styles/license | 9 - .../chalk/node_modules/ansi-styles/package.json | 65 - .../chalk/node_modules/ansi-styles/readme.md | 152 -- .../chalk/node_modules/color-convert/LICENSE | 21 - .../chalk/node_modules/color-convert/README.md | 68 - .../node_modules/color-convert/conversions.js | 839 -------- .../chalk/node_modules/color-convert/index.js | 81 - .../chalk/node_modules/color-convert/package.json | 60 - .../chalk/node_modules/color-convert/route.js | 97 - .../chalk/node_modules/color-name/LICENSE | 8 - .../chalk/node_modules/color-name/README.md | 11 - .../chalk/node_modules/color-name/index.js | 152 -- .../chalk/node_modules/color-name/package.json | 33 - .../chalk/node_modules/has-flag/index.js | 8 - .../chalk/node_modules/has-flag/license | 9 - .../chalk/node_modules/has-flag/package.json | 55 - .../chalk/node_modules/has-flag/readme.md | 89 - .../chalk/node_modules/supports-color/browser.js | 5 - .../chalk/node_modules/supports-color/index.js | 135 -- .../chalk/node_modules/supports-color/license | 9 - .../chalk/node_modules/supports-color/package.json | 62 - .../chalk/node_modules/supports-color/readme.md | 76 - .../eslint/node_modules/chalk/package.json | 143 +- .../character-entities-legacy/index.json | 108 - .../node_modules/character-entities-legacy/license | 22 - .../character-entities-legacy/package.json | 86 - .../character-entities-legacy/readme.md | 74 - .../node_modules/character-entities/index.json | 2224 -------------------- .../eslint/node_modules/character-entities/license | 22 - .../node_modules/character-entities/package.json | 87 - .../node_modules/character-entities/readme.md | 72 - .../character-reference-invalid/index.json | 30 - .../character-reference-invalid/license | 22 - .../character-reference-invalid/package.json | 90 - .../character-reference-invalid/readme.md | 74 - .../node_modules/collapse-white-space/index.js | 8 - .../node_modules/collapse-white-space/license | 22 - .../node_modules/collapse-white-space/package.json | 86 - .../node_modules/collapse-white-space/readme.md | 58 - .../node_modules/color-convert/conversions.js | 591 +++--- .../eslint/node_modules/color-convert/index.js | 51 +- .../eslint/node_modules/color-convert/package.json | 58 +- .../eslint/node_modules/color-convert/route.js | 44 +- .../eslint/node_modules/color-name/package.json | 58 +- .../eslint/node_modules/concat-map/package.json | 104 +- .../eslint/node_modules/cross-spawn/package.json | 94 +- .../eslint/node_modules/debug/package.json | 87 +- .../eslint/node_modules/deep-is/package.json | 46 +- .../eslint/node_modules/doctrine/package.json | 72 +- .../eslint/node_modules/emoji-regex/package.json | 60 +- .../eslint/node_modules/enquirer/package.json | 64 +- .../node_modules/escape-string-regexp/package.json | 51 +- .../node_modules/eslint-plugin-markdown/LICENSE | 21 - .../node_modules/eslint-plugin-markdown/README.md | 362 ---- .../node_modules/eslint-plugin-markdown/index.js | 8 - .../eslint-plugin-markdown/lib/index.js | 60 - .../eslint-plugin-markdown/lib/processor.js | 349 --- .../eslint-plugin-markdown/package.json | 64 - .../eslint/node_modules/eslint-scope/package.json | 57 +- .../node_modules/eslint-visitor-keys/package.json | 54 +- .../eslint/node_modules/eslint-utils/package.json | 64 +- .../node_modules/eslint-visitor-keys/package.json | 52 +- .../node_modules/eslint-visitor-keys/package.json | 54 +- .../eslint/node_modules/espree/package.json | 54 +- .../eslint/node_modules/esprima/package.json | 116 +- .../esquery/node_modules/estraverse/package.json | 47 +- .../eslint/node_modules/esquery/package.json | 103 +- .../esrecurse/node_modules/estraverse/package.json | 47 +- .../eslint/node_modules/esrecurse/package.json | 55 +- .../eslint/node_modules/estraverse/package.json | 47 +- .../eslint/node_modules/esutils/package.json | 49 +- .../eslint/node_modules/extend/.jscs.json | 175 -- .../eslint/node_modules/extend/LICENSE | 23 - .../eslint/node_modules/extend/README.md | 81 - .../eslint/node_modules/extend/index.js | 117 - .../eslint/node_modules/extend/package.json | 52 - .../node_modules/fast-deep-equal/package.json | 72 +- .../fast-json-stable-stringify/package.json | 47 +- .../node_modules/fast-levenshtein/package.json | 48 +- .../node_modules/file-entry-cache/package.json | 99 +- .../eslint/node_modules/flat-cache/package.json | 111 +- .../eslint/node_modules/flatted/package.json | 70 +- .../eslint/node_modules/fs.realpath/package.json | 44 +- .../functional-red-black-tree/package.json | 39 +- .../eslint/node_modules/glob-parent/package.json | 69 +- .../eslint/node_modules/glob/package.json | 58 +- .../eslint/node_modules/globals/package.json | 111 +- .../eslint/node_modules/has-flag/index.js | 10 +- .../eslint/node_modules/has-flag/package.json | 97 +- .../eslint/node_modules/has-flag/readme.md | 19 + .../eslint/node_modules/ignore/package.json | 81 +- .../eslint/node_modules/import-fresh/package.json | 93 +- .../eslint/node_modules/imurmurhash/package.json | 46 +- .../eslint/node_modules/inflight/package.json | 40 +- .../eslint/node_modules/inherits/package.json | 35 +- .../eslint/node_modules/is-alphabetical/index.js | 14 - .../eslint/node_modules/is-alphabetical/license | 22 - .../node_modules/is-alphabetical/package.json | 91 - .../eslint/node_modules/is-alphabetical/readme.md | 70 - .../eslint/node_modules/is-alphanumerical/index.js | 12 - .../eslint/node_modules/is-alphanumerical/license | 22 - .../node_modules/is-alphanumerical/package.json | 93 - .../node_modules/is-alphanumerical/readme.md | 71 - .../eslint/node_modules/is-buffer/LICENSE | 21 - .../eslint/node_modules/is-buffer/README.md | 53 - .../eslint/node_modules/is-buffer/index.js | 21 - .../eslint/node_modules/is-buffer/package.json | 54 - .../eslint/node_modules/is-decimal/index.js | 11 - .../eslint/node_modules/is-decimal/license | 22 - .../eslint/node_modules/is-decimal/package.json | 88 - .../eslint/node_modules/is-decimal/readme.md | 69 - .../eslint/node_modules/is-extglob/package.json | 46 +- .../is-fullwidth-code-point/package.json | 91 +- .../eslint/node_modules/is-glob/package.json | 63 +- .../eslint/node_modules/is-hexadecimal/index.js | 15 - .../eslint/node_modules/is-hexadecimal/license | 22 - .../node_modules/is-hexadecimal/package.json | 88 - .../eslint/node_modules/is-hexadecimal/readme.md | 70 - .../eslint/node_modules/is-plain-obj/index.js | 7 - .../eslint/node_modules/is-plain-obj/license | 21 - .../eslint/node_modules/is-plain-obj/package.json | 45 - .../eslint/node_modules/is-plain-obj/readme.md | 35 - .../node_modules/is-whitespace-character/index.js | 14 - .../node_modules/is-whitespace-character/license | 22 - .../is-whitespace-character/package.json | 90 - .../node_modules/is-whitespace-character/readme.md | 74 - .../eslint/node_modules/is-word-character/index.js | 14 - .../eslint/node_modules/is-word-character/license | 22 - .../node_modules/is-word-character/package.json | 88 - .../node_modules/is-word-character/readme.md | 72 - .../eslint/node_modules/isexe/package.json | 40 +- .../eslint/node_modules/js-tokens/package.json | 47 +- .../eslint/node_modules/js-yaml/package.json | 79 +- .../node_modules/json-schema-traverse/package.json | 48 +- .../package.json | 60 +- .../eslint/node_modules/levn/package.json | 51 +- .../eslint/node_modules/lodash/package.json | 45 +- .../eslint/node_modules/lru-cache/package.json | 60 +- .../eslint/node_modules/markdown-escapes/index.js | 57 - .../eslint/node_modules/markdown-escapes/license | 22 - .../node_modules/markdown-escapes/package.json | 88 - .../eslint/node_modules/markdown-escapes/readme.md | 80 - .../eslint/node_modules/minimatch/package.json | 48 +- .../eslint/node_modules/ms/package.json | 49 +- .../node_modules/natural-compare/package.json | 56 +- .../eslint/node_modules/once/package.json | 40 +- .../eslint/node_modules/optionator/package.json | 59 +- .../eslint/node_modules/parent-module/package.json | 99 +- .../parse-entities/decode-entity.browser.js | 30 - .../node_modules/parse-entities/decode-entity.js | 13 - .../eslint/node_modules/parse-entities/index.js | 450 ---- .../eslint/node_modules/parse-entities/license | 22 - .../node_modules/parse-entities/package.json | 107 - .../eslint/node_modules/parse-entities/readme.md | 217 -- .../node_modules/path-is-absolute/package.json | 33 +- .../eslint/node_modules/path-key/package.json | 85 +- .../eslint/node_modules/prelude-ls/package.json | 51 +- .../eslint/node_modules/progress/package.json | 55 +- .../eslint/node_modules/punycode/package.json | 74 +- .../eslint/node_modules/regexpp/package.json | 83 +- .../eslint/node_modules/remark-parse/index.js | 14 - .../remark-parse/lib/block-elements.json | 68 - .../eslint/node_modules/remark-parse/lib/decode.js | 64 - .../node_modules/remark-parse/lib/defaults.js | 10 - .../node_modules/remark-parse/lib/locate/break.js | 17 - .../remark-parse/lib/locate/code-inline.js | 7 - .../node_modules/remark-parse/lib/locate/delete.js | 7 - .../remark-parse/lib/locate/emphasis.js | 18 - .../node_modules/remark-parse/lib/locate/escape.js | 7 - .../node_modules/remark-parse/lib/locate/link.js | 16 - .../node_modules/remark-parse/lib/locate/strong.js | 18 - .../node_modules/remark-parse/lib/locate/tag.js | 7 - .../node_modules/remark-parse/lib/locate/url.js | 26 - .../eslint/node_modules/remark-parse/lib/parse.js | 45 - .../eslint/node_modules/remark-parse/lib/parser.js | 152 -- .../node_modules/remark-parse/lib/set-options.js | 47 - .../remark-parse/lib/tokenize/auto-link.js | 145 -- .../remark-parse/lib/tokenize/blockquote.js | 129 -- .../remark-parse/lib/tokenize/break.js | 40 - .../remark-parse/lib/tokenize/code-fenced.js | 236 --- .../remark-parse/lib/tokenize/code-indented.js | 98 - .../remark-parse/lib/tokenize/code-inline.js | 112 - .../remark-parse/lib/tokenize/definition.js | 278 --- .../remark-parse/lib/tokenize/delete.js | 60 - .../remark-parse/lib/tokenize/emphasis.js | 85 - .../remark-parse/lib/tokenize/escape.js | 34 - .../lib/tokenize/footnote-definition.js | 185 -- .../remark-parse/lib/tokenize/heading-atx.js | 141 -- .../remark-parse/lib/tokenize/heading-setext.js | 107 - .../remark-parse/lib/tokenize/html-block.js | 94 - .../remark-parse/lib/tokenize/html-inline.js | 54 - .../node_modules/remark-parse/lib/tokenize/link.js | 392 ---- .../node_modules/remark-parse/lib/tokenize/list.js | 474 ----- .../remark-parse/lib/tokenize/newline.js | 47 - .../remark-parse/lib/tokenize/paragraph.js | 122 -- .../remark-parse/lib/tokenize/reference.js | 206 -- .../remark-parse/lib/tokenize/strong.js | 84 - .../remark-parse/lib/tokenize/table.js | 266 --- .../node_modules/remark-parse/lib/tokenize/text.js | 58 - .../remark-parse/lib/tokenize/thematic-break.js | 70 - .../node_modules/remark-parse/lib/tokenize/url.js | 144 -- .../node_modules/remark-parse/lib/tokenizer.js | 331 --- .../node_modules/remark-parse/lib/unescape.js | 37 - .../remark-parse/lib/util/get-indentation.js | 32 - .../node_modules/remark-parse/lib/util/html.js | 25 - .../remark-parse/lib/util/interrupt.js | 43 - .../remark-parse/lib/util/normalize.js | 11 - .../remark-parse/lib/util/remove-indentation.js | 78 - .../eslint/node_modules/remark-parse/package.json | 62 - .../eslint/node_modules/remark-parse/readme.md | 453 ---- .../eslint/node_modules/repeat-string/LICENSE | 21 - .../eslint/node_modules/repeat-string/README.md | 136 -- .../eslint/node_modules/repeat-string/index.js | 70 - .../eslint/node_modules/repeat-string/package.json | 105 - .../eslint/node_modules/replace-ext/LICENSE | 21 - .../eslint/node_modules/replace-ext/README.md | 50 - .../eslint/node_modules/replace-ext/index.js | 18 - .../eslint/node_modules/replace-ext/package.json | 63 - .../node_modules/require-from-string/package.json | 39 +- .../eslint/node_modules/resolve-from/package.json | 75 +- .../eslint/node_modules/rimraf/package.json | 53 +- .../eslint/node_modules/semver/package.json | 51 +- .../node_modules/shebang-command/package.json | 75 +- .../eslint/node_modules/shebang-regex/package.json | 77 +- .../slice-ansi/node_modules/ansi-styles/index.js | 163 -- .../slice-ansi/node_modules/ansi-styles/license | 9 - .../node_modules/ansi-styles/package.json | 65 - .../slice-ansi/node_modules/ansi-styles/readme.md | 152 -- .../slice-ansi/node_modules/color-convert/LICENSE | 21 - .../node_modules/color-convert/README.md | 68 - .../node_modules/color-convert/conversions.js | 839 -------- .../slice-ansi/node_modules/color-convert/index.js | 81 - .../node_modules/color-convert/package.json | 60 - .../slice-ansi/node_modules/color-convert/route.js | 97 - .../slice-ansi/node_modules/color-name/LICENSE | 8 - .../slice-ansi/node_modules/color-name/README.md | 11 - .../slice-ansi/node_modules/color-name/index.js | 152 -- .../node_modules/color-name/package.json | 33 - .../eslint/node_modules/slice-ansi/package.json | 111 +- .../eslint/node_modules/sprintf-js/package.json | 51 +- .../eslint/node_modules/state-toggle/index.js | 23 - .../eslint/node_modules/state-toggle/license | 22 - .../eslint/node_modules/state-toggle/package.json | 86 - .../eslint/node_modules/state-toggle/readme.md | 95 - .../eslint/node_modules/string-width/package.json | 119 +- .../eslint/node_modules/strip-ansi/package.json | 115 +- .../node_modules/strip-json-comments/package.json | 101 +- .../eslint/node_modules/supports-color/index.js | 52 +- .../node_modules/supports-color/package.json | 113 +- .../eslint/node_modules/supports-color/readme.md | 16 +- .../table/node_modules/ajv/package.json | 132 +- .../node_modules/json-schema-traverse/package.json | 50 +- .../eslint/node_modules/table/package.json | 12 +- .../eslint/node_modules/text-table/package.json | 92 +- .../node_modules/trim-trailing-lines/index.js | 8 - .../node_modules/trim-trailing-lines/license | 22 - .../node_modules/trim-trailing-lines/package.json | 88 - .../node_modules/trim-trailing-lines/readme.md | 68 - .../node_modules/eslint/node_modules/trim/Makefile | 7 - .../eslint/node_modules/trim/Readme.md | 69 - .../node_modules/eslint/node_modules/trim/index.js | 14 - .../eslint/node_modules/trim/package.json | 26 - .../eslint/node_modules/trough/index.js | 74 - .../eslint/node_modules/trough/license | 21 - .../eslint/node_modules/trough/package.json | 91 - .../eslint/node_modules/trough/readme.md | 330 --- .../eslint/node_modules/trough/wrap.js | 64 - .../eslint/node_modules/type-check/package.json | 51 +- .../eslint/node_modules/type-fest/package.json | 109 +- .../eslint/node_modules/unherit/index.js | 45 - .../eslint/node_modules/unherit/license | 21 - .../eslint/node_modules/unherit/package.json | 88 - .../eslint/node_modules/unherit/readme.md | 79 - .../eslint/node_modules/unified/LICENSE | 21 - .../eslint/node_modules/unified/index.js | 466 ---- .../eslint/node_modules/unified/package.json | 102 - .../eslint/node_modules/unified/readme.md | 993 --------- .../eslint/node_modules/unist-util-is/convert.js | 87 - .../eslint/node_modules/unist-util-is/index.js | 37 - .../eslint/node_modules/unist-util-is/license | 22 - .../eslint/node_modules/unist-util-is/package.json | 91 - .../eslint/node_modules/unist-util-is/readme.md | 202 -- .../unist-util-remove-position/index.js | 18 - .../unist-util-remove-position/license | 22 - .../unist-util-remove-position/package.json | 92 - .../unist-util-remove-position/readme.md | 131 -- .../unist-util-stringify-position/LICENSE | 22 - .../unist-util-stringify-position/index.js | 50 - .../unist-util-stringify-position/package.json | 93 - .../unist-util-stringify-position/readme.md | 100 - .../node_modules/unist-util-visit-parents/index.js | 78 - .../node_modules/unist-util-visit-parents/license | 22 - .../unist-util-visit-parents/package.json | 86 - .../unist-util-visit-parents/readme.md | 218 -- .../eslint/node_modules/unist-util-visit/index.js | 29 - .../eslint/node_modules/unist-util-visit/license | 22 - .../node_modules/unist-util-visit/package.json | 101 - .../eslint/node_modules/unist-util-visit/readme.md | 121 -- .../eslint/node_modules/uri-js/package.json | 79 +- .../node_modules/v8-compile-cache/package.json | 49 +- .../eslint/node_modules/vfile-location/index.js | 74 - .../eslint/node_modules/vfile-location/license | 22 - .../node_modules/vfile-location/package.json | 89 - .../eslint/node_modules/vfile-location/readme.md | 115 - .../eslint/node_modules/vfile-message/index.js | 94 - .../eslint/node_modules/vfile-message/license | 22 - .../eslint/node_modules/vfile-message/package.json | 89 - .../eslint/node_modules/vfile-message/readme.md | 194 -- .../node_modules/eslint/node_modules/vfile/LICENSE | 21 - .../node_modules/eslint/node_modules/vfile/core.js | 169 -- .../eslint/node_modules/vfile/index.js | 53 - .../eslint/node_modules/vfile/package.json | 109 - .../eslint/node_modules/vfile/readme.md | 285 --- .../eslint/node_modules/which/package.json | 56 +- .../eslint/node_modules/word-wrap/package.json | 95 +- .../eslint/node_modules/wrappy/package.json | 42 +- .../eslint/node_modules/x-is-string/LICENCE | 19 - .../eslint/node_modules/x-is-string/README.md | 46 - .../eslint/node_modules/x-is-string/index.js | 7 - .../eslint/node_modules/x-is-string/package.json | 63 - .../node_modules/eslint/node_modules/xtend/LICENSE | 20 - .../eslint/node_modules/xtend/README.md | 32 - .../eslint/node_modules/xtend/immutable.js | 19 - .../eslint/node_modules/xtend/mutable.js | 17 - .../eslint/node_modules/xtend/package.json | 63 - .../eslint/node_modules/yallist/package.json | 42 +- tools/node_modules/eslint/package.json | 105 +- tools/update-eslint.sh | 15 +- 578 files changed, 24382 insertions(+), 27556 deletions(-) create mode 100644 tools/node_modules/eslint-plugin-markdown/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/lib/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/lib/processor.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json create mode 100755 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js create mode 100644 tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json create mode 100644 tools/node_modules/eslint-plugin-markdown/package.json create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/index.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/license create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/package.json create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/readme.md create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/LICENSE create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/README.md create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/conversions.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/index.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/package.json create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/route.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/LICENSE create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/README.md create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/index.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/package.json create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/index.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/license create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/package.json create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/readme.md create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/browser.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/index.js create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/license create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/package.json create mode 100644 tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/bail/index.js delete mode 100644 tools/node_modules/eslint/node_modules/bail/license delete mode 100644 tools/node_modules/eslint/node_modules/bail/package.json delete mode 100644 tools/node_modules/eslint/node_modules/bail/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/license delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/README.md delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/conversions.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/index.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/package.json delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/route.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/README.md delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/index.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/package.json delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/index.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/license delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/package.json delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/license delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json delete mode 100644 tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/character-entities-legacy/index.json delete mode 100644 tools/node_modules/eslint/node_modules/character-entities-legacy/license delete mode 100644 tools/node_modules/eslint/node_modules/character-entities-legacy/package.json delete mode 100644 tools/node_modules/eslint/node_modules/character-entities-legacy/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/character-entities/index.json delete mode 100644 tools/node_modules/eslint/node_modules/character-entities/license delete mode 100644 tools/node_modules/eslint/node_modules/character-entities/package.json delete mode 100644 tools/node_modules/eslint/node_modules/character-entities/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/character-reference-invalid/index.json delete mode 100644 tools/node_modules/eslint/node_modules/character-reference-invalid/license delete mode 100644 tools/node_modules/eslint/node_modules/character-reference-invalid/package.json delete mode 100644 tools/node_modules/eslint/node_modules/character-reference-invalid/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/collapse-white-space/index.js delete mode 100644 tools/node_modules/eslint/node_modules/collapse-white-space/license delete mode 100644 tools/node_modules/eslint/node_modules/collapse-white-space/package.json delete mode 100644 tools/node_modules/eslint/node_modules/collapse-white-space/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/eslint-plugin-markdown/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/eslint-plugin-markdown/README.md delete mode 100644 tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js delete mode 100644 tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/index.js delete mode 100644 tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/processor.js delete mode 100644 tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json delete mode 100644 tools/node_modules/eslint/node_modules/extend/.jscs.json delete mode 100644 tools/node_modules/eslint/node_modules/extend/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/extend/README.md delete mode 100644 tools/node_modules/eslint/node_modules/extend/index.js delete mode 100644 tools/node_modules/eslint/node_modules/extend/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-alphabetical/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-alphabetical/license delete mode 100644 tools/node_modules/eslint/node_modules/is-alphabetical/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-alphabetical/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/is-alphanumerical/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-alphanumerical/license delete mode 100644 tools/node_modules/eslint/node_modules/is-alphanumerical/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-alphanumerical/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/is-buffer/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/is-buffer/README.md delete mode 100644 tools/node_modules/eslint/node_modules/is-buffer/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-buffer/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-decimal/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-decimal/license delete mode 100644 tools/node_modules/eslint/node_modules/is-decimal/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-decimal/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/is-hexadecimal/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-hexadecimal/license delete mode 100644 tools/node_modules/eslint/node_modules/is-hexadecimal/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-hexadecimal/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/is-plain-obj/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-plain-obj/license delete mode 100644 tools/node_modules/eslint/node_modules/is-plain-obj/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-plain-obj/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/is-whitespace-character/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-whitespace-character/license delete mode 100644 tools/node_modules/eslint/node_modules/is-whitespace-character/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-whitespace-character/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/is-word-character/index.js delete mode 100644 tools/node_modules/eslint/node_modules/is-word-character/license delete mode 100644 tools/node_modules/eslint/node_modules/is-word-character/package.json delete mode 100644 tools/node_modules/eslint/node_modules/is-word-character/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/markdown-escapes/index.js delete mode 100644 tools/node_modules/eslint/node_modules/markdown-escapes/license delete mode 100644 tools/node_modules/eslint/node_modules/markdown-escapes/package.json delete mode 100644 tools/node_modules/eslint/node_modules/markdown-escapes/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/parse-entities/decode-entity.browser.js delete mode 100644 tools/node_modules/eslint/node_modules/parse-entities/decode-entity.js delete mode 100644 tools/node_modules/eslint/node_modules/parse-entities/index.js delete mode 100644 tools/node_modules/eslint/node_modules/parse-entities/license delete mode 100644 tools/node_modules/eslint/node_modules/parse-entities/package.json delete mode 100644 tools/node_modules/eslint/node_modules/parse-entities/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/index.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/block-elements.json delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/decode.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/defaults.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/break.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/code-inline.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/delete.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/emphasis.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/escape.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/link.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/strong.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/tag.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/locate/url.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/parse.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/parser.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/set-options.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/break.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/definition.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/delete.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/escape.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-block.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/link.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/list.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/newline.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/reference.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/strong.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/table.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/url.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/tokenizer.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/unescape.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/util/get-indentation.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/util/html.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/util/interrupt.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/util/normalize.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/lib/util/remove-indentation.js delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/package.json delete mode 100644 tools/node_modules/eslint/node_modules/remark-parse/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/repeat-string/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/repeat-string/README.md delete mode 100644 tools/node_modules/eslint/node_modules/repeat-string/index.js delete mode 100644 tools/node_modules/eslint/node_modules/repeat-string/package.json delete mode 100755 tools/node_modules/eslint/node_modules/replace-ext/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/replace-ext/README.md delete mode 100644 tools/node_modules/eslint/node_modules/replace-ext/index.js delete mode 100644 tools/node_modules/eslint/node_modules/replace-ext/package.json delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/index.js delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/license delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/package.json delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/README.md delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/conversions.js delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/index.js delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/package.json delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/route.js delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/README.md delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/index.js delete mode 100644 tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/package.json delete mode 100644 tools/node_modules/eslint/node_modules/state-toggle/index.js delete mode 100644 tools/node_modules/eslint/node_modules/state-toggle/license delete mode 100644 tools/node_modules/eslint/node_modules/state-toggle/package.json delete mode 100644 tools/node_modules/eslint/node_modules/state-toggle/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/trim-trailing-lines/index.js delete mode 100644 tools/node_modules/eslint/node_modules/trim-trailing-lines/license delete mode 100644 tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json delete mode 100644 tools/node_modules/eslint/node_modules/trim-trailing-lines/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/trim/Makefile delete mode 100644 tools/node_modules/eslint/node_modules/trim/Readme.md delete mode 100644 tools/node_modules/eslint/node_modules/trim/index.js delete mode 100644 tools/node_modules/eslint/node_modules/trim/package.json delete mode 100644 tools/node_modules/eslint/node_modules/trough/index.js delete mode 100644 tools/node_modules/eslint/node_modules/trough/license delete mode 100644 tools/node_modules/eslint/node_modules/trough/package.json delete mode 100644 tools/node_modules/eslint/node_modules/trough/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/trough/wrap.js delete mode 100644 tools/node_modules/eslint/node_modules/unherit/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unherit/license delete mode 100644 tools/node_modules/eslint/node_modules/unherit/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unherit/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/unified/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/unified/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unified/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unified/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-is/convert.js delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-is/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-is/license delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-is/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-is/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-remove-position/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-remove-position/license delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-remove-position/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-stringify-position/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-stringify-position/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-stringify-position/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit-parents/license delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit-parents/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit/index.js delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit/license delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit/package.json delete mode 100644 tools/node_modules/eslint/node_modules/unist-util-visit/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/vfile-location/index.js delete mode 100644 tools/node_modules/eslint/node_modules/vfile-location/license delete mode 100644 tools/node_modules/eslint/node_modules/vfile-location/package.json delete mode 100644 tools/node_modules/eslint/node_modules/vfile-location/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/vfile-message/index.js delete mode 100644 tools/node_modules/eslint/node_modules/vfile-message/license delete mode 100644 tools/node_modules/eslint/node_modules/vfile-message/package.json delete mode 100644 tools/node_modules/eslint/node_modules/vfile-message/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/vfile/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/vfile/core.js delete mode 100644 tools/node_modules/eslint/node_modules/vfile/index.js delete mode 100644 tools/node_modules/eslint/node_modules/vfile/package.json delete mode 100644 tools/node_modules/eslint/node_modules/vfile/readme.md delete mode 100644 tools/node_modules/eslint/node_modules/x-is-string/LICENCE delete mode 100644 tools/node_modules/eslint/node_modules/x-is-string/README.md delete mode 100644 tools/node_modules/eslint/node_modules/x-is-string/index.js delete mode 100644 tools/node_modules/eslint/node_modules/x-is-string/package.json delete mode 100644 tools/node_modules/eslint/node_modules/xtend/LICENSE delete mode 100644 tools/node_modules/eslint/node_modules/xtend/README.md delete mode 100644 tools/node_modules/eslint/node_modules/xtend/immutable.js delete mode 100644 tools/node_modules/eslint/node_modules/xtend/mutable.js delete mode 100644 tools/node_modules/eslint/node_modules/xtend/package.json (limited to 'tools') diff --git a/tools/node_modules/eslint-plugin-markdown/LICENSE b/tools/node_modules/eslint-plugin-markdown/LICENSE new file mode 100644 index 00000000000..cf5a5995af4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright JS Foundation and other contributors, https://js.foundation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/README.md b/tools/node_modules/eslint-plugin-markdown/README.md new file mode 100644 index 00000000000..fd8767b7535 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/README.md @@ -0,0 +1,362 @@ +# eslint-plugin-markdown + +[![npm Version](https://img.shields.io/npm/v/eslint-plugin-markdown.svg)](https://www.npmjs.com/package/eslint-plugin-markdown) +[![Build Status](https://img.shields.io/github/workflow/status/eslint/eslint-plugin-markdown/CI/main.svg)](https://github.com/eslint/eslint-plugin-markdown/actions) + +Lint JS, JSX, TypeScript, and more inside Markdown. + +A JS code snippet in a Markdown editor has red squiggly underlines. A tooltip explains the problem. + +## Usage + +### Installing + +Install the plugin alongside ESLint v6 or greater: + +```sh +npm install --save-dev eslint eslint-plugin-markdown +``` + +### Configuring + +Extending the `plugin:markdown/recommended` config will enable the Markdown processor on all `.md` files: + +```js +// .eslintrc.js +module.exports = { + extends: "plugin:markdown/recommended" +}; +``` + +#### Advanced Configuration + +Add the plugin to your `.eslintrc` and use the `processor` option in an `overrides` entry to enable the plugin's `markdown/markdown` processor on Markdown files. +Each fenced code block inside a Markdown document has a virtual filename appended to the Markdown file's path. +The virtual filename's extension will match the fenced code block's syntax tag, so for example, ```js code blocks in README.md would match README.md/*.js. +[`overrides` glob patterns](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) for these virtual filenames can customize configuration for code blocks without affecting regular code. +For more information on configuring processors, refer to the [ESLint documentation](https://eslint.org/docs/user-guide/configuring#specifying-processor). + +```js +// .eslintrc.js +module.exports = { + // 1. Add the plugin. + plugins: ["markdown"], + overrides: [ + { + // 2. Enable the Markdown processor for all .md files. + files: ["**/*.md"], + processor: "markdown/markdown" + }, + { + // 3. Optionally, customize the configuration ESLint uses for ```js + // fenced code blocks inside .md files. + files: ["**/*.md/*.js"], + // ... + rules: { + // ... + } + } + ] +}; +``` + +#### Frequently-Disabled Rules + +Some rules that catch mistakes in regular code are less helpful in documentation. +For example, `no-undef` would flag variables that are declared outside of a code snippet because they aren't relevant to the example. +The `plugin:markdown/recommended` config disables these rules in Markdown files: + +- [`no-undef`](https://eslint.org/docs/rules/no-undef) +- [`no-unused-expressions`](https://eslint.org/docs/rules/no-unused-expressions) +- [`no-unused-vars`](https://eslint.org/docs/rules/no-unused-vars) +- [`padded-blocks`](https://eslint.org/docs/rules/padded-blocks) + +Use [`overrides` glob patterns](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) to disable more rules just for Markdown code blocks: + +```js +module.exports = { + // ... + overrides: [ + // ... + { + // 1. Target ```js code blocks in .md files. + files: ["**/*.md/*.js"], + rules: { + // 2. Disable other rules. + "no-console": "off", + "import/no-unresolved": "off" + } + } + ] +}; +``` + +#### Strict Mode + +`"use strict"` directives in every code block would be annoying. +The `plugin:markdown/recommended` config enables the [`impliedStrict` parser option](https://eslint.org/docs/user-guide/configuring#specifying-parser-options) and disables the [`strict` rule](https://eslint.org/docs/rules/strict) in Markdown files. +This opts into strict mode parsing without repeated `"use strict"` directives. + +#### Unsatisfiable Rules + +Markdown code blocks are not real files, so ESLint's file-format rules do not apply. +The `plugin:markdown/recommended` config disables these rules in Markdown files: + +- [`eol-last`](https://eslint.org/docs/rules/eol-last): The Markdown parser trims trailing newlines from code blocks. +- [`unicode-bom`](https://eslint.org/docs/rules/unicode-bom): Markdown code blocks do not have Unicode Byte Order Marks. + +#### Migrating from `eslint-plugin-markdown` v1 + +`eslint-plugin-markdown` v1 used an older version of ESLint's processor API. +The Markdown processor automatically ran on `.md`, `.mkdn`, `.mdown`, and `.markdown` files, and it only extracted fenced code blocks marked with `js`, `javascript`, `jsx`, or `node` syntax. +Configuration specifically for fenced code blocks went inside an `overrides` entry with a `files` pattern matching the containing Markdown document's filename that applied to all fenced code blocks inside the file. + +```js +// .eslintrc.js for eslint-plugin-markdown v1 +module.exports = { + plugins: ["markdown"], + overrides: [ + { + files: ["**/*.md"], + // In v1, configuration for fenced code blocks went inside an + // `overrides` entry with a .md pattern, for example: + parserOptions: { + ecmaFeatures: { + impliedStrict: true + } + }, + rules: { + "no-console": "off" + } + } + ] +}; +``` + +[RFC3](https://github.com/eslint/rfcs/blob/master/designs/2018-processors-improvements/README.md) designed a new processor API to remove these limitations, and the new API was [implemented](https://github.com/eslint/eslint/pull/11552) as part of ESLint v6. +`eslint-plugin-markdown` v2 uses this new API. + +```bash +$ npm install --save-dev eslint@latest eslint-plugin-markdown@latest +``` + +All of the Markdown file extensions that were previously hard-coded are now fully configurable in `.eslintrc.js`. +Use the new `processor` option to apply the `markdown/markdown` processor on any Markdown documents matching a `files` pattern. +Each fenced code block inside a Markdown document has a virtual filename appended to the Markdown file's path. +The virtual filename's extension will match the fenced code block's syntax tag, so for example, ```js code blocks in README.md would match README.md/*.js. + +```js +// eslintrc.js for eslint-plugin-markdown v2 +module.exports = { + plugins: ["markdown"], + overrides: [ + { + // In v2, explicitly apply eslint-plugin-markdown's `markdown` + // processor on any Markdown files you want to lint. + files: ["**/*.md"], + processor: "markdown/markdown" + }, + { + // In v2, configuration for fenced code blocks is separate from the + // containing Markdown file. Each code block has a virtual filename + // appended to the Markdown file's path. + files: ["**/*.md/*.js"], + // Configuration for fenced code blocks goes with the override for + // the code block's virtual filename, for example: + parserOptions: { + ecmaFeatures: { + impliedStrict: true + } + }, + rules: { + "no-console": "off" + } + } + ] +}; +``` + +If you need to precisely mimic the behavior of v1 with the hard-coded Markdown extensions and fenced code block syntaxes, you can use those as glob patterns in `overrides[].files`: + +```js +// eslintrc.js for v2 mimicking v1 behavior +module.exports = { + plugins: ["markdown"], + overrides: [ + { + files: ["**/*.{md,mkdn,mdown,markdown}"], + processor: "markdown/markdown" + }, + { + files: ["**/*.{md,mkdn,mdown,markdown}/*.{js,javascript,jsx,node}"] + // ... + } + ] +}; +``` + +### Running + +#### ESLint v7 + +You can run ESLint as usual and do not need to use the `--ext` option. +ESLint v7 [automatically lints file extensions specified in `overrides[].files` patterns in config files](https://github.com/eslint/rfcs/blob/0253e3a95511c65d622eaa387eb73f824249b467/designs/2019-additional-lint-targets/README.md). + +#### ESLint v6 + +Use the [`--ext` option](https://eslint.org/docs/user-guide/command-line-interface#ext) to include `.js` and `.md` extensions in ESLint's file search: + +```sh +eslint --ext js,md . +``` + +### Autofixing + +With this plugin, [ESLint's `--fix` option](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some issues in your Markdown fenced code blocks. +To enable this, pass the `--fix` flag when you run ESLint: + +```bash +eslint --fix . +``` + +## What Gets Linted? + +With this plugin, ESLint will lint [fenced code blocks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) in your Markdown documents: + +````markdown +```js +// This gets linted +var answer = 6 * 7; +console.log(answer); +``` + +Here is some regular Markdown text that will be ignored. + +```js +// This also gets linted + +/* eslint quotes: [2, "double"] */ + +function hello() { + console.log("Hello, world!"); +} +hello(); +``` + +```jsx +// This can be linted too if you add `.jsx` files to `overrides` in ESLint v7 +// or pass `--ext jsx` in ESLint v6. +var div =
; +``` +```` + +Blocks that don't specify a syntax are ignored: + +````markdown +``` +This is plain text and doesn't get linted. +``` +```` + +Unless a fenced code block's syntax appears as a file extension in `overrides[].files` in ESLint v7, it will be ignored. +If using ESLint v6, you must also include the extension with the `--ext` option. + +````markdown +```python +print("This doesn't get linted either.") +``` +```` + +## Configuration Comments + +The processor will convert HTML comments immediately preceding a code block into JavaScript block comments and insert them at the beginning of the source code that it passes to ESLint. +This permits configuring ESLint via configuration comments while keeping the configuration comments themselves hidden when the markdown is rendered. +Comment bodies are passed through unmodified, so the plugin supports any [configuration comments](http://eslint.org/docs/user-guide/configuring) supported by ESLint itself. + +This example enables the `browser` environment, disables the `no-alert` rule, and configures the `quotes` rule to prefer single quotes: + +````markdown + + + + +```js +alert('Hello, world!'); +``` +```` + +Each code block in a file is linted separately, so configuration comments apply only to the code block that immediately follows. + +````markdown +Assuming `no-alert` is enabled in `.eslintrc`, the first code block will have no error from `no-alert`: + + + + +```js +alert("Hello, world!"); +``` + +But the next code block will have an error from `no-alert`: + + + +```js +alert("Hello, world!"); +``` +```` + +### Skipping Blocks + +Sometimes it can be useful to have code blocks marked with `js` even though they don't contain valid JavaScript syntax, such as commented JSON blobs that need `js` syntax highlighting. +Standard `eslint-disable` comments only silence rule reporting, but ESLint still reports any syntax errors it finds. +In cases where a code block should not even be parsed, insert a non-standard `` comment before the block, and this plugin will hide the following block from ESLint. +Neither rule nor syntax errors will be reported. + +````markdown +There are comments in this JSON, so we use `js` syntax for better +highlighting. Skip the block to prevent warnings about invalid syntax. + + + +```js +{ + // This code block is hidden from ESLint. + "hello": "world" +} +``` + +```js +console.log("This code block is linted normally."); +``` +```` + +## Editor Integrations + +### VSCode + +[`vscode-eslint`](https://github.com/microsoft/vscode-eslint) has built-in support for the Markdown processor. + +### Atom + +The [`linter-eslint`](https://atom.io/packages/linter-eslint) package allows for linting within the [Atom IDE](https://atom.io/). + +In order to see `eslint-plugin-markdown` work its magic within Markdown code blocks in your Atom editor, you can go to `linter-eslint`'s settings and within "List of scopes to run ESLint on...", add the cursor scope "source.gfm". + +However, this reports a problem when viewing Markdown which does not have configuration, so you may wish to use the cursor scope "source.embedded.js", but note that `eslint-plugin-markdown` configuration comments and skip directives won't work in this context. + +## Contributing + +```sh +$ git clone https://github.com/eslint/eslint-plugin-markdown.git +$ cd eslint-plugin-markdown +$ npm install +$ npm test +``` + +This project follows the [ESLint contribution guidelines](http://eslint.org/docs/developer-guide/contributing/). diff --git a/tools/node_modules/eslint-plugin-markdown/index.js b/tools/node_modules/eslint-plugin-markdown/index.js new file mode 100644 index 00000000000..1638f11ee3c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/index.js @@ -0,0 +1,8 @@ +/** + * @fileoverview Exports the processor. + * @author Brandon Mills + */ + +"use strict"; + +module.exports = require("./lib"); diff --git a/tools/node_modules/eslint-plugin-markdown/lib/index.js b/tools/node_modules/eslint-plugin-markdown/lib/index.js new file mode 100644 index 00000000000..d66a7ddda6f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/lib/index.js @@ -0,0 +1,60 @@ +/** + * @fileoverview Enables the processor for Markdown file extensions. + * @author Brandon Mills + */ + +"use strict"; + +const processor = require("./processor"); + +module.exports = { + configs: { + recommended: { + plugins: ["markdown"], + overrides: [ + { + files: ["*.md"], + processor: "markdown/markdown" + }, + { + files: ["**/*.md/**"], + parserOptions: { + ecmaFeatures: { + + // Adding a "use strict" directive at the top of + // every code block is tedious and distracting, so + // opt into strict mode parsing without the + // directive. + impliedStrict: true + } + }, + rules: { + + // The Markdown parser automatically trims trailing + // newlines from code blocks. + "eol-last": "off", + + // In code snippets and examples, these rules are often + // counterproductive to clarity and brevity. + "no-undef": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + "padded-blocks": "off", + + // Adding a "use strict" directive at the top of every + // code block is tedious and distracting. The config + // opts into strict mode parsing without the directive. + strict: "off", + + // The processor will not receive a Unicode Byte Order + // Mark from the Markdown parser. + "unicode-bom": "off" + } + } + ] + } + }, + processors: { + markdown: processor + } +}; diff --git a/tools/node_modules/eslint-plugin-markdown/lib/processor.js b/tools/node_modules/eslint-plugin-markdown/lib/processor.js new file mode 100644 index 00000000000..41f6f7a280e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/lib/processor.js @@ -0,0 +1,349 @@ +/** + * @fileoverview Processes Markdown files for consumption by ESLint. + * @author Brandon Mills + */ + +"use strict"; + +const unified = require("unified"); +const remarkParse = require("remark-parse"); + +const UNSATISFIABLE_RULES = [ + "eol-last", // The Markdown parser strips trailing newlines in code fences + "unicode-bom" // Code blocks will begin in the middle of Markdown files +]; +const SUPPORTS_AUTOFIX = true; + +const markdown = unified().use(remarkParse); + +let blocks = []; + +/** + * Performs a depth-first traversal of the Markdown AST. + * @param {ASTNode} node A Markdown AST node. + * @param {Object} callbacks A map of node types to callbacks. + * @param {Object} [parent] The node's parent AST node. + * @returns {void} + */ +function traverse(node, callbacks, parent) { + if (callbacks[node.type]) { + callbacks[node.type](node, parent); + } + + if (typeof node.children !== "undefined") { + for (let i = 0; i < node.children.length; i++) { + traverse(node.children[i], callbacks, node); + } + } +} + +/** + * Converts leading HTML comments to JS block comments. + * @param {string} html The text content of an HTML AST node. + * @returns {string[]} An array of JS block comments. + */ +function getComment(html) { + const commentStart = ""; + const regex = /^(eslint\b|global\s)/u; + + if ( + html.slice(0, commentStart.length) !== commentStart || + html.slice(-commentEnd.length) !== commentEnd + ) { + return ""; + } + + const comment = html.slice(commentStart.length, -commentEnd.length); + + if (!regex.test(comment.trim())) { + return ""; + } + + return comment; +} + +// Before a code block, blockquote characters (`>`) are also considered +// "whitespace". +const leadingWhitespaceRegex = /^[>\s]*/u; + +/** + * Gets the offset for the first column of the node's first line in the + * original source text. + * @param {ASTNode} node A Markdown code block AST node. + * @returns {number} The offset for the first column of the node's first line. + */ +function getBeginningOfLineOffset(node) { + return node.position.start.offset - node.position.start.column + 1; +} + +/** + * Gets the leading text, typically whitespace with possible blockquote chars, + * used to indent a code block. + * @param {string} text The text of the file. + * @param {ASTNode} node A Markdown code block AST node. + * @returns {string} The text from the start of the first line to the opening + * fence of the code block. + */ +function getIndentText(text, node) { + return leadingWhitespaceRegex.exec( + text.slice(getBeginningOfLineOffset(node)) + )[0]; +} + +/** + * When applying fixes, the postprocess step needs to know how to map fix ranges + * from their location in the linted JS to the original offset in the Markdown. + * Configuration comments and indentation trimming both complicate this process. + * + * Configuration comments appear in the linted JS but not in the Markdown code + * block. Fixes to configuration comments would cause undefined behavior and + * should be ignored during postprocessing. Fixes to actual code after + * configuration comments need to be mapped back to the code block after + * removing any offset due to configuration comments. + * + * Fenced code blocks can be indented by up to three spaces at the opening + * fence. Inside of a list, for example, this indent can be in addition to the + * indent already required for list item children. Leading whitespace inside + * indented code blocks is trimmed up to the level of the opening fence and does + * not appear in the linted code. Further, lines can have less leading + * whitespace than the opening fence, so not all lines are guaranteed to have + * the same column offset as the opening fence. + * + * The source code of a non-configuration-comment line in the linted JS is a + * suffix of the corresponding line in the Markdown code block. There are no + * differences within the line, so the mapping need only provide the offset + * delta at the beginning of each line. + * @param {string} text The text of the file. + * @param {ASTNode} node A Markdown code block AST node. + * @param {comments} comments List of configuration comment strings that will be + * inserted at the beginning of the code block. + * @returns {Object[]} A list of offset-based adjustments, where lookups are + * done based on the `js` key, which represents the range in the linted JS, + * and the `md` key is the offset delta that, when added to the JS range, + * returns the corresponding location in the original Markdown source. + */ +function getBlockRangeMap(text, node, comments) { + + /* + * The parser sets the fenced code block's start offset to wherever content + * should normally begin (typically the first column of the line, but more + * inside a list item, for example). The code block's opening fance may be + * further indented by up to three characters. If the code block has + * additional indenting, the opening fence's first backtick may be up to + * three whitespace characters after the start offset. + */ + const startOffset = getBeginningOfLineOffset(node); + + /* + * Extract the Markdown source to determine the leading whitespace for each + * line. + */ + const code = text.slice(startOffset, node.position.end.offset); + const lines = code.split("\n"); + + /* + * The parser trims leading whitespace from each line of code within the + * fenced code block up to the opening fence's first backtick. The first + * backtick's column is the AST node's starting column plus any additional + * indentation. + */ + const baseIndent = getIndentText(text, node).length; + + /* + * Track the length of any inserted configuration comments at the beginning + * of the linted JS and start the JS offset lookup keys at this index. + */ + const commentLength = comments.reduce((len, comment) => len + comment.length + 1, 0); + + /* + * In case there are configuration comments, initialize the map so that the + * first lookup index is always 0. If there are no configuration comments, + * the lookup index will also be 0, and the lookup should always go to the + * last range that matches, skipping this initialization entry. + */ + const rangeMap = [{ + js: 0, + md: 0 + }]; + + // Start the JS offset after any configuration comments. + let jsOffset = commentLength; + + /* + * Start the Markdown offset at the beginning of the block's first line of + * actual code. The first line of the block is always the opening fence, so + * the code begins on the second line. + */ + let mdOffset = startOffset + lines[0].length + 1; + + /* + * For each line, determine how much leading whitespace was trimmed due to + * indentation. Increase the JS lookup offset by the length of the line + * post-trimming and the Markdown offset by the total line length. + */ + for (let i = 0; i + 1 < lines.length; i++) { + const line = lines[i + 1]; + const leadingWhitespaceLength = leadingWhitespaceRegex.exec(line)[0].length; + + // The parser trims leading whitespace up to the level of the opening + // fence, so keep any additional indentation beyond that. + const trimLength = Math.min(baseIndent, leadingWhitespaceLength); + + rangeMap.push({ + js: jsOffset, + + // Advance `trimLength` character from the beginning of the Markdown + // line to the beginning of the equivalent JS line, then compute the + // delta. + md: mdOffset + trimLength - jsOffset + }); + + // Accumulate the current line in the offsets, and don't forget the + // newline. + mdOffset += line.length + 1; + jsOffset += line.length - trimLength + 1; + } + + return rangeMap; +} + +/** + * Extracts lintable JavaScript code blocks from Markdown text. + * @param {string} text The text of the file. + * @returns {string[]} Source code strings to lint. + */ +function preprocess(text) { + const ast = markdown.parse(text); + + blocks = []; + traverse(ast, { + code(node, parent) { + const comments = []; + + if (node.lang) { + let index = parent.children.indexOf(node) - 1; + let previousNode = parent.children[index]; + + while (previousNode && previousNode.type === "html") { + const comment = getComment(previousNode.value); + + if (!comment) { + break; + } + + if (comment.trim() === "eslint-skip") { + return; + } + + comments.unshift(`/*${comment}*/`); + index--; + previousNode = parent.children[index]; + } + + blocks.push({ + ...node, + baseIndentText: getIndentText(text, node), + comments, + rangeMap: getBlockRangeMap(text, node, comments) + }); + } + } + }); + + return blocks.map((block, index) => ({ + filename: `${index}.${block.lang.trim().split(" ")[0]}`, + text: [ + ...block.comments, + block.value, + "" + ].join("\n") + })); +} + +/** + * Creates a map function that adjusts messages in a code block. + * @param {Block} block A code block. + * @returns {Function} A function that adjusts messages in a code block. + */ +function adjustBlock(block) { + const leadingCommentLines = block.comments.reduce((count, comment) => count + comment.split("\n").length, 0); + + const blockStart = block.position.start.line; + + /** + * Adjusts ESLint messages to point to the correct location in the Markdown. + * @param {Message} message A message from ESLint. + * @returns {Message} The same message, but adjusted to the correct location. + */ + return function adjustMessage(message) { + + const lineInCode = message.line - leadingCommentLines; + + if (lineInCode < 1) { + return null; + } + + const out = { + line: lineInCode + blockStart, + column: message.column + block.position.indent[lineInCode - 1] - 1 + }; + + if (Number.isInteger(message.endLine)) { + out.endLine = message.endLine - leadingCommentLines + blockStart; + } + + const adjustedFix = {}; + + if (message.fix) { + adjustedFix.fix = { + range: message.fix.range.map(range => { + + // Advance through the block's range map to find the last + // matching range by finding the first range too far and + // then going back one. + let i = 1; + + while (i < block.rangeMap.length && block.rangeMap[i].js <= range) { + i++; + } + + // Apply the mapping delta for this range. + return range + block.rangeMap[i - 1].md; + }), + text: message.fix.text.replace(/\n/gu, `\n${block.baseIndentText}`) + }; + } + + return { ...message, ...out, ...adjustedFix }; + }; +} + +/** + * Excludes unsatisfiable rules from the list of messages. + * @param {Message} message A message from the linter. + * @returns {boolean} True if the message should be included in output. + */ +function excludeUnsatisfiableRules(message) { + return message && UNSATISFIABLE_RULES.indexOf(message.ruleId) < 0; +} + +/** + * Transforms generated messages for output. + * @param {Array} messages An array containing one array of messages + * for each code block returned from `preprocess`. + * @returns {Message[]} A flattened array of messages with mapped locations. + */ +function postprocess(messages) { + return [].concat(...messages.map((group, i) => { + const adjust = adjustBlock(blocks[i]); + + return group.map(adjust).filter(excludeUnsatisfiableRules); + })); +} + +module.exports = { + preprocess, + postprocess, + supportsAutofix: SUPPORTS_AUTOFIX +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js new file mode 100644 index 00000000000..ef5e8807adf --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/index.js @@ -0,0 +1,9 @@ +'use strict' + +module.exports = bail + +function bail(err) { + if (err) { + throw err + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license new file mode 100644 index 00000000000..32e7a3d93ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json new file mode 100644 index 00000000000..8f8539d32b8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/package.json @@ -0,0 +1,72 @@ +{ + "name": "bail", + "version": "1.0.5", + "description": "Throw a given error", + "license": "MIT", + "keywords": [ + "fail", + "bail", + "throw", + "callback", + "error" + ], + "repository": "wooorm/bail", + "bugs": "https://github.com/wooorm/bail/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify index.js -s bail -o bail.js", + "build-mangle": "browserify index.js -s bail -p tinyify -o bail.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "bail.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md new file mode 100644 index 00000000000..8e7b0863c01 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/bail/readme.md @@ -0,0 +1,84 @@ +# bail + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +:warning: Throw a given error. + +## Install + +[npm][]: + +```sh +npm install bail +``` + +## Use + +```js +var bail = require('bail') + +bail() + +bail(new Error('failure')) +// Error: failure +// at repl:1:6 +// at REPLServer.defaultEval (repl.js:154:27) +// … +``` + +## API + +### `bail([err])` + +Throw a given error. + +###### Parameters + +* `err` (`Error?`) — Optional error. + +###### Throws + +* `Error` — Given error, if any. + +## Related + +* [`noop`][noop] +* [`noop2`][noop2] +* [`noop3`][noop3] + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/bail.svg + +[build]: https://travis-ci.org/wooorm/bail + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/bail.svg + +[coverage]: https://codecov.io/github/wooorm/bail + +[downloads-badge]: https://img.shields.io/npm/dm/bail.svg + +[downloads]: https://www.npmjs.com/package/bail + +[size-badge]: https://img.shields.io/bundlephobia/minzip/bail.svg + +[size]: https://bundlephobia.com/result?p=bail + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[noop]: https://www.npmjs.com/package/noop + +[noop2]: https://www.npmjs.com/package/noop2 + +[noop3]: https://www.npmjs.com/package/noop3 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json new file mode 100644 index 00000000000..d83b75251b7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/index.json @@ -0,0 +1,108 @@ +{ + "AElig": "Æ", + "AMP": "&", + "Aacute": "Á", + "Acirc": "Â", + "Agrave": "À", + "Aring": "Å", + "Atilde": "Ã", + "Auml": "Ä", + "COPY": "©", + "Ccedil": "Ç", + "ETH": "Ð", + "Eacute": "É", + "Ecirc": "Ê", + "Egrave": "È", + "Euml": "Ë", + "GT": ">", + "Iacute": "Í", + "Icirc": "Î", + "Igrave": "Ì", + "Iuml": "Ï", + "LT": "<", + "Ntilde": "Ñ", + "Oacute": "Ó", + "Ocirc": "Ô", + "Ograve": "Ò", + "Oslash": "Ø", + "Otilde": "Õ", + "Ouml": "Ö", + "QUOT": "\"", + "REG": "®", + "THORN": "Þ", + "Uacute": "Ú", + "Ucirc": "Û", + "Ugrave": "Ù", + "Uuml": "Ü", + "Yacute": "Ý", + "aacute": "á", + "acirc": "â", + "acute": "´", + "aelig": "æ", + "agrave": "à", + "amp": "&", + "aring": "å", + "atilde": "ã", + "auml": "ä", + "brvbar": "¦", + "ccedil": "ç", + "cedil": "¸", + "cent": "¢", + "copy": "©", + "curren": "¤", + "deg": "°", + "divide": "÷", + "eacute": "é", + "ecirc": "ê", + "egrave": "è", + "eth": "ð", + "euml": "ë", + "frac12": "½", + "frac14": "¼", + "frac34": "¾", + "gt": ">", + "iacute": "í", + "icirc": "î", + "iexcl": "¡", + "igrave": "ì", + "iquest": "¿", + "iuml": "ï", + "laquo": "«", + "lt": "<", + "macr": "¯", + "micro": "µ", + "middot": "·", + "nbsp": " ", + "not": "¬", + "ntilde": "ñ", + "oacute": "ó", + "ocirc": "ô", + "ograve": "ò", + "ordf": "ª", + "ordm": "º", + "oslash": "ø", + "otilde": "õ", + "ouml": "ö", + "para": "¶", + "plusmn": "±", + "pound": "£", + "quot": "\"", + "raquo": "»", + "reg": "®", + "sect": "§", + "shy": "­", + "sup1": "¹", + "sup2": "²", + "sup3": "³", + "szlig": "ß", + "thorn": "þ", + "times": "×", + "uacute": "ú", + "ucirc": "û", + "ugrave": "ù", + "uml": "¨", + "uuml": "ü", + "yacute": "ý", + "yen": "¥", + "yuml": "ÿ" +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license new file mode 100644 index 00000000000..32e7a3d93ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json new file mode 100644 index 00000000000..e532b8714df --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/package.json @@ -0,0 +1,70 @@ +{ + "name": "character-entities-legacy", + "version": "1.1.4", + "description": "HTML legacy character entity information", + "license": "MIT", + "keywords": [ + "html", + "entity", + "entities", + "character", + "reference", + "name", + "replacement" + ], + "repository": "wooorm/character-entities-legacy", + "bugs": "https://github.com/wooorm/character-entities-legacy/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "main": "index.json", + "files": [ + "index.json" + ], + "dependencies": {}, + "devDependencies": { + "bail": "^1.0.0", + "browserify": "^16.0.0", + "concat-stream": "^2.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "generate": "node build", + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify index.json -s characterEntitiesLegacy -o character-entities-legacy.js", + "build-mangle": "browserify index.json -s characterEntitiesLegacy -p tinyify -o character-entities-legacy.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test": "npm run generate && npm run format && npm run build && npm run test-api" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "character-entities-legacy.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md new file mode 100644 index 00000000000..711a090a7d2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities-legacy/readme.md @@ -0,0 +1,74 @@ +# character-entities-legacy + +[![Build][build-badge]][build] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +HTML legacy character entity information: for legacy reasons some character +entities are not required to have a trailing semicolon: `©` is perfectly +okay for `©`. + +## Install + +[npm][]: + +```sh +npm install character-entities-legacy +``` + +## Use + +```js +var characterEntitiesLegacy = require('character-entities-legacy') + +console.log(characterEntitiesLegacy.copy) // => '©' +console.log(characterEntitiesLegacy.frac34) // => '¾' +console.log(characterEntitiesLegacy.sup1) // => '¹' +``` + +## API + +### `characterEntitiesLegacy` + +Mapping between (case-sensitive) legacy character entity names to replacements. + +## Support + +See [`whatwg/html`][html]. + +## Related + +* [`character-entities`](https://github.com/wooorm/character-entities) + — HTML character entity info +* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) + — HTML 4 character entity info +* [`parse-entities`](https://github.com/wooorm/parse-entities) + — Parse HTML character references +* [`stringify-entities`](https://github.com/wooorm/stringify-entities) + — Serialize HTML character references + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/character-entities-legacy.svg + +[build]: https://travis-ci.org/wooorm/character-entities-legacy + +[downloads-badge]: https://img.shields.io/npm/dm/character-entities-legacy.svg + +[downloads]: https://www.npmjs.com/package/character-entities-legacy + +[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities-legacy.svg + +[size]: https://bundlephobia.com/result?p=character-entities-legacy + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[html]: https://raw.githubusercontent.com/whatwg/html/master/json-entities-legacy.inc diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json new file mode 100644 index 00000000000..a63babe0935 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/index.json @@ -0,0 +1,2224 @@ +{ + "AEli": "Æ", + "AElig": "Æ", + "AM": "&", + "AMP": "&", + "Aacut": "Á", + "Aacute": "Á", + "Abreve": "Ă", + "Acir": "Â", + "Acirc": "Â", + "Acy": "А", + "Afr": "𝔄", + "Agrav": "À", + "Agrave": "À", + "Alpha": "Α", + "Amacr": "Ā", + "And": "⩓", + "Aogon": "Ą", + "Aopf": "𝔸", + "ApplyFunction": "⁡", + "Arin": "Å", + "Aring": "Å", + "Ascr": "𝒜", + "Assign": "≔", + "Atild": "Ã", + "Atilde": "Ã", + "Aum": "Ä", + "Auml": "Ä", + "Backslash": "∖", + "Barv": "⫧", + "Barwed": "⌆", + "Bcy": "Б", + "Because": "∵", + "Bernoullis": "ℬ", + "Beta": "Β", + "Bfr": "𝔅", + "Bopf": "𝔹", + "Breve": "˘", + "Bscr": "ℬ", + "Bumpeq": "≎", + "CHcy": "Ч", + "COP": "©", + "COPY": "©", + "Cacute": "Ć", + "Cap": "⋒", + "CapitalDifferentialD": "ⅅ", + "Cayleys": "ℭ", + "Ccaron": "Č", + "Ccedi": "Ç", + "Ccedil": "Ç", + "Ccirc": "Ĉ", + "Cconint": "∰", + "Cdot": "Ċ", + "Cedilla": "¸", + "CenterDot": "·", + "Cfr": "ℭ", + "Chi": "Χ", + "CircleDot": "⊙", + "CircleMinus": "⊖", + "CirclePlus": "⊕", + "CircleTimes": "⊗", + "ClockwiseContourIntegral": "∲", + "CloseCurlyDoubleQuote": "”", + "CloseCurlyQuote": "’", + "Colon": "∷", + "Colone": "⩴", + "Congruent": "≡", + "Conint": "∯", + "ContourIntegral": "∮", + "Copf": "ℂ", + "Coproduct": "∐", + "CounterClockwiseContourIntegral": "∳", + "Cross": "⨯", + "Cscr": "𝒞", + "Cup": "⋓", + "CupCap": "≍", + "DD": "ⅅ", + "DDotrahd": "⤑", + "DJcy": "Ђ", + "DScy": "Ѕ", + "DZcy": "Џ", + "Dagger": "‡", + "Darr": "↡", + "Dashv": "⫤", + "Dcaron": "Ď", + "Dcy": "Д", + "Del": "∇", + "Delta": "Δ", + "Dfr": "𝔇", + "DiacriticalAcute": "´", + "DiacriticalDot": "˙", + "DiacriticalDoubleAcute": "˝", + "DiacriticalGrave": "`", + "DiacriticalTilde": "˜", + "Diamond": "⋄", + "DifferentialD": "ⅆ", + "Dopf": "𝔻", + "Dot": "¨", + "DotDot": "⃜", + "DotEqual": "≐", + "DoubleContourIntegral": "∯", + "DoubleDot": "¨", + "DoubleDownArrow": "⇓", + "DoubleLeftArrow": "⇐", + "DoubleLeftRightArrow": "⇔", + "DoubleLeftTee": "⫤", + "DoubleLongLeftArrow": "⟸", + "DoubleLongLeftRightArrow": "⟺", + "DoubleLongRightArrow": "⟹", + "DoubleRightArrow": "⇒", + "DoubleRightTee": "⊨", + "DoubleUpArrow": "⇑", + "DoubleUpDownArrow": "⇕", + "DoubleVerticalBar": "∥", + "DownArrow": "↓", + "DownArrowBar": "⤓", + "DownArrowUpArrow": "⇵", + "DownBreve": "̑", + "DownLeftRightVector": "⥐", + "DownLeftTeeVector": "⥞", + "DownLeftVector": "↽", + "DownLeftVectorBar": "⥖", + "DownRightTeeVector": "⥟", + "DownRightVector": "⇁", + "DownRightVectorBar": "⥗", + "DownTee": "⊤", + "DownTeeArrow": "↧", + "Downarrow": "⇓", + "Dscr": "𝒟", + "Dstrok": "Đ", + "ENG": "Ŋ", + "ET": "Ð", + "ETH": "Ð", + "Eacut": "É", + "Eacute": "É", + "Ecaron": "Ě", + "Ecir": "Ê", + "Ecirc": "Ê", + "Ecy": "Э", + "Edot": "Ė", + "Efr": "𝔈", + "Egrav": "È", + "Egrave": "È", + "Element": "∈", + "Emacr": "Ē", + "EmptySmallSquare": "◻", + "EmptyVerySmallSquare": "▫", + "Eogon": "Ę", + "Eopf": "𝔼", + "Epsilon": "Ε", + "Equal": "⩵", + "EqualTilde": "≂", + "Equilibrium": "⇌", + "Escr": "ℰ", + "Esim": "⩳", + "Eta": "Η", + "Eum": "Ë", + "Euml": "Ë", + "Exists": "∃", + "ExponentialE": "ⅇ", + "Fcy": "Ф", + "Ffr": "𝔉", + "FilledSmallSquare": "◼", + "FilledVerySmallSquare": "▪", + "Fopf": "𝔽", + "ForAll": "∀", + "Fouriertrf": "ℱ", + "Fscr": "ℱ", + "GJcy": "Ѓ", + "G": ">", + "GT": ">", + "Gamma": "Γ", + "Gammad": "Ϝ", + "Gbreve": "Ğ", + "Gcedil": "Ģ", + "Gcirc": "Ĝ", + "Gcy": "Г", + "Gdot": "Ġ", + "Gfr": "𝔊", + "Gg": "⋙", + "Gopf": "𝔾", + "GreaterEqual": "≥", + "GreaterEqualLess": "⋛", + "GreaterFullEqual": "≧", + "GreaterGreater": "⪢", + "GreaterLess": "≷", + "GreaterSlantEqual": "⩾", + "GreaterTilde": "≳", + "Gscr": "𝒢", + "Gt": "≫", + "HARDcy": "Ъ", + "Hacek": "ˇ", + "Hat": "^", + "Hcirc": "Ĥ", + "Hfr": "ℌ", + "HilbertSpace": "ℋ", + "Hopf": "ℍ", + "HorizontalLine": "─", + "Hscr": "ℋ", + "Hstrok": "Ħ", + "HumpDownHump": "≎", + "HumpEqual": "≏", + "IEcy": "Е", + "IJlig": "IJ", + "IOcy": "Ё", + "Iacut": "Í", + "Iacute": "Í", + "Icir": "Î", + "Icirc": "Î", + "Icy": "И", + "Idot": "İ", + "Ifr": "ℑ", + "Igrav": "Ì", + "Igrave": "Ì", + "Im": "ℑ", + "Imacr": "Ī", + "ImaginaryI": "ⅈ", + "Implies": "⇒", + "Int": "∬", + "Integral": "∫", + "Intersection": "⋂", + "InvisibleComma": "⁣", + "InvisibleTimes": "⁢", + "Iogon": "Į", + "Iopf": "𝕀", + "Iota": "Ι", + "Iscr": "ℐ", + "Itilde": "Ĩ", + "Iukcy": "І", + "Ium": "Ï", + "Iuml": "Ï", + "Jcirc": "Ĵ", + "Jcy": "Й", + "Jfr": "𝔍", + "Jopf": "𝕁", + "Jscr": "𝒥", + "Jsercy": "Ј", + "Jukcy": "Є", + "KHcy": "Х", + "KJcy": "Ќ", + "Kappa": "Κ", + "Kcedil": "Ķ", + "Kcy": "К", + "Kfr": "𝔎", + "Kopf": "𝕂", + "Kscr": "𝒦", + "LJcy": "Љ", + "L": "<", + "LT": "<", + "Lacute": "Ĺ", + "Lambda": "Λ", + "Lang": "⟪", + "Laplacetrf": "ℒ", + "Larr": "↞", + "Lcaron": "Ľ", + "Lcedil": "Ļ", + "Lcy": "Л", + "LeftAngleBracket": "⟨", + "LeftArrow": "←", + "LeftArrowBar": "⇤", + "LeftArrowRightArrow": "⇆", + "LeftCeiling": "⌈", + "LeftDoubleBracket": "⟦", + "LeftDownTeeVector": "⥡", + "LeftDownVector": "⇃", + "LeftDownVectorBar": "⥙", + "LeftFloor": "⌊", + "LeftRightArrow": "↔", + "LeftRightVector": "⥎", + "LeftTee": "⊣", + "LeftTeeArrow": "↤", + "LeftTeeVector": "⥚", + "LeftTriangle": "⊲", + "LeftTriangleBar": "⧏", + "LeftTriangleEqual": "⊴", + "LeftUpDownVector": "⥑", + "LeftUpTeeVector": "⥠", + "LeftUpVector": "↿", + "LeftUpVectorBar": "⥘", + "LeftVector": "↼", + "LeftVectorBar": "⥒", + "Leftarrow": "⇐", + "Leftrightarrow": "⇔", + "LessEqualGreater": "⋚", + "LessFullEqual": "≦", + "LessGreater": "≶", + "LessLess": "⪡", + "LessSlantEqual": "⩽", + "LessTilde": "≲", + "Lfr": "𝔏", + "Ll": "⋘", + "Lleftarrow": "⇚", + "Lmidot": "Ŀ", + "LongLeftArrow": "⟵", + "LongLeftRightArrow": "⟷", + "LongRightArrow": "⟶", + "Longleftarrow": "⟸", + "Longleftrightarrow": "⟺", + "Longrightarrow": "⟹", + "Lopf": "𝕃", + "LowerLeftArrow": "↙", + "LowerRightArrow": "↘", + "Lscr": "ℒ", + "Lsh": "↰", + "Lstrok": "Ł", + "Lt": "≪", + "Map": "⤅", + "Mcy": "М", + "MediumSpace": " ", + "Mellintrf": "ℳ", + "Mfr": "𝔐", + "MinusPlus": "∓", + "Mopf": "𝕄", + "Mscr": "ℳ", + "Mu": "Μ", + "NJcy": "Њ", + "Nacute": "Ń", + "Ncaron": "Ň", + "Ncedil": "Ņ", + "Ncy": "Н", + "NegativeMediumSpace": "​", + "NegativeThickSpace": "​", + "NegativeThinSpace": "​", + "NegativeVeryThinSpace": "​", + "NestedGreaterGreater": "≫", + "NestedLessLess": "≪", + "NewLine": "\n", + "Nfr": "𝔑", + "NoBreak": "⁠", + "NonBreakingSpace": " ", + "Nopf": "ℕ", + "Not": "⫬", + "NotCongruent": "≢", + "NotCupCap": "≭", + "NotDoubleVerticalBar": "∦", + "NotElement": "∉", + "NotEqual": "≠", + "NotEqualTilde": "≂̸", + "NotExists": "∄", + "NotGreater": "≯", + "NotGreaterEqual": "≱", + "NotGreaterFullEqual": "≧̸", + "NotGreaterGreater": "≫̸", + "NotGreaterLess": "≹", + "NotGreaterSlantEqual": "⩾̸", + "NotGreaterTilde": "≵", + "NotHumpDownHump": "≎̸", + "NotHumpEqual": "≏̸", + "NotLeftTriangle": "⋪", + "NotLeftTriangleBar": "⧏̸", + "NotLeftTriangleEqual": "⋬", + "NotLess": "≮", + "NotLessEqual": "≰", + "NotLessGreater": "≸", + "NotLessLess": "≪̸", + "NotLessSlantEqual": "⩽̸", + "NotLessTilde": "≴", + "NotNestedGreaterGreater": "⪢̸", + "NotNestedLessLess": "⪡̸", + "NotPrecedes": "⊀", + "NotPrecedesEqual": "⪯̸", + "NotPrecedesSlantEqual": "⋠", + "NotReverseElement": "∌", + "NotRightTriangle": "⋫", + "NotRightTriangleBar": "⧐̸", + "NotRightTriangleEqual": "⋭", + "NotSquareSubset": "⊏̸", + "NotSquareSubsetEqual": "⋢", + "NotSquareSuperset": "⊐̸", + "NotSquareSupersetEqual": "⋣", + "NotSubset": "⊂⃒", + "NotSubsetEqual": "⊈", + "NotSucceeds": "⊁", + "NotSucceedsEqual": "⪰̸", + "NotSucceedsSlantEqual": "⋡", + "NotSucceedsTilde": "≿̸", + "NotSuperset": "⊃⃒", + "NotSupersetEqual": "⊉", + "NotTilde": "≁", + "NotTildeEqual": "≄", + "NotTildeFullEqual": "≇", + "NotTildeTilde": "≉", + "NotVerticalBar": "∤", + "Nscr": "𝒩", + "Ntild": "Ñ", + "Ntilde": "Ñ", + "Nu": "Ν", + "OElig": "Œ", + "Oacut": "Ó", + "Oacute": "Ó", + "Ocir": "Ô", + "Ocirc": "Ô", + "Ocy": "О", + "Odblac": "Ő", + "Ofr": "𝔒", + "Ograv": "Ò", + "Ograve": "Ò", + "Omacr": "Ō", + "Omega": "Ω", + "Omicron": "Ο", + "Oopf": "𝕆", + "OpenCurlyDoubleQuote": "“", + "OpenCurlyQuote": "‘", + "Or": "⩔", + "Oscr": "𝒪", + "Oslas": "Ø", + "Oslash": "Ø", + "Otild": "Õ", + "Otilde": "Õ", + "Otimes": "⨷", + "Oum": "Ö", + "Ouml": "Ö", + "OverBar": "‾", + "OverBrace": "⏞", + "OverBracket": "⎴", + "OverParenthesis": "⏜", + "PartialD": "∂", + "Pcy": "П", + "Pfr": "𝔓", + "Phi": "Φ", + "Pi": "Π", + "PlusMinus": "±", + "Poincareplane": "ℌ", + "Popf": "ℙ", + "Pr": "⪻", + "Precedes": "≺", + "PrecedesEqual": "⪯", + "PrecedesSlantEqual": "≼", + "PrecedesTilde": "≾", + "Prime": "″", + "Product": "∏", + "Proportion": "∷", + "Proportional": "∝", + "Pscr": "𝒫", + "Psi": "Ψ", + "QUO": "\"", + "QUOT": "\"", + "Qfr": "𝔔", + "Qopf": "ℚ", + "Qscr": "𝒬", + "RBarr": "⤐", + "RE": "®", + "REG": "®", + "Racute": "Ŕ", + "Rang": "⟫", + "Rarr": "↠", + "Rarrtl": "⤖", + "Rcaron": "Ř", + "Rcedil": "Ŗ", + "Rcy": "Р", + "Re": "ℜ", + "ReverseElement": "∋", + "ReverseEquilibrium": "⇋", + "ReverseUpEquilibrium": "⥯", + "Rfr": "ℜ", + "Rho": "Ρ", + "RightAngleBracket": "⟩", + "RightArrow": "→", + "RightArrowBar": "⇥", + "RightArrowLeftArrow": "⇄", + "RightCeiling": "⌉", + "RightDoubleBracket": "⟧", + "RightDownTeeVector": "⥝", + "RightDownVector": "⇂", + "RightDownVectorBar": "⥕", + "RightFloor": "⌋", + "RightTee": "⊢", + "RightTeeArrow": "↦", + "RightTeeVector": "⥛", + "RightTriangle": "⊳", + "RightTriangleBar": "⧐", + "RightTriangleEqual": "⊵", + "RightUpDownVector": "⥏", + "RightUpTeeVector": "⥜", + "RightUpVector": "↾", + "RightUpVectorBar": "⥔", + "RightVector": "⇀", + "RightVectorBar": "⥓", + "Rightarrow": "⇒", + "Ropf": "ℝ", + "RoundImplies": "⥰", + "Rrightarrow": "⇛", + "Rscr": "ℛ", + "Rsh": "↱", + "RuleDelayed": "⧴", + "SHCHcy": "Щ", + "SHcy": "Ш", + "SOFTcy": "Ь", + "Sacute": "Ś", + "Sc": "⪼", + "Scaron": "Š", + "Scedil": "Ş", + "Scirc": "Ŝ", + "Scy": "С", + "Sfr": "𝔖", + "ShortDownArrow": "↓", + "ShortLeftArrow": "←", + "ShortRightArrow": "→", + "ShortUpArrow": "↑", + "Sigma": "Σ", + "SmallCircle": "∘", + "Sopf": "𝕊", + "Sqrt": "√", + "Square": "□", + "SquareIntersection": "⊓", + "SquareSubset": "⊏", + "SquareSubsetEqual": "⊑", + "SquareSuperset": "⊐", + "SquareSupersetEqual": "⊒", + "SquareUnion": "⊔", + "Sscr": "𝒮", + "Star": "⋆", + "Sub": "⋐", + "Subset": "⋐", + "SubsetEqual": "⊆", + "Succeeds": "≻", + "SucceedsEqual": "⪰", + "SucceedsSlantEqual": "≽", + "SucceedsTilde": "≿", + "SuchThat": "∋", + "Sum": "∑", + "Sup": "⋑", + "Superset": "⊃", + "SupersetEqual": "⊇", + "Supset": "⋑", + "THOR": "Þ", + "THORN": "Þ", + "TRADE": "™", + "TSHcy": "Ћ", + "TScy": "Ц", + "Tab": "\t", + "Tau": "Τ", + "Tcaron": "Ť", + "Tcedil": "Ţ", + "Tcy": "Т", + "Tfr": "𝔗", + "Therefore": "∴", + "Theta": "Θ", + "ThickSpace": "  ", + "ThinSpace": " ", + "Tilde": "∼", + "TildeEqual": "≃", + "TildeFullEqual": "≅", + "TildeTilde": "≈", + "Topf": "𝕋", + "TripleDot": "⃛", + "Tscr": "𝒯", + "Tstrok": "Ŧ", + "Uacut": "Ú", + "Uacute": "Ú", + "Uarr": "↟", + "Uarrocir": "⥉", + "Ubrcy": "Ў", + "Ubreve": "Ŭ", + "Ucir": "Û", + "Ucirc": "Û", + "Ucy": "У", + "Udblac": "Ű", + "Ufr": "𝔘", + "Ugrav": "Ù", + "Ugrave": "Ù", + "Umacr": "Ū", + "UnderBar": "_", + "UnderBrace": "⏟", + "UnderBracket": "⎵", + "UnderParenthesis": "⏝", + "Union": "⋃", + "UnionPlus": "⊎", + "Uogon": "Ų", + "Uopf": "𝕌", + "UpArrow": "↑", + "UpArrowBar": "⤒", + "UpArrowDownArrow": "⇅", + "UpDownArrow": "↕", + "UpEquilibrium": "⥮", + "UpTee": "⊥", + "UpTeeArrow": "↥", + "Uparrow": "⇑", + "Updownarrow": "⇕", + "UpperLeftArrow": "↖", + "UpperRightArrow": "↗", + "Upsi": "ϒ", + "Upsilon": "Υ", + "Uring": "Ů", + "Uscr": "𝒰", + "Utilde": "Ũ", + "Uum": "Ü", + "Uuml": "Ü", + "VDash": "⊫", + "Vbar": "⫫", + "Vcy": "В", + "Vdash": "⊩", + "Vdashl": "⫦", + "Vee": "⋁", + "Verbar": "‖", + "Vert": "‖", + "VerticalBar": "∣", + "VerticalLine": "|", + "VerticalSeparator": "❘", + "VerticalTilde": "≀", + "VeryThinSpace": " ", + "Vfr": "𝔙", + "Vopf": "𝕍", + "Vscr": "𝒱", + "Vvdash": "⊪", + "Wcirc": "Ŵ", + "Wedge": "⋀", + "Wfr": "𝔚", + "Wopf": "𝕎", + "Wscr": "𝒲", + "Xfr": "𝔛", + "Xi": "Ξ", + "Xopf": "𝕏", + "Xscr": "𝒳", + "YAcy": "Я", + "YIcy": "Ї", + "YUcy": "Ю", + "Yacut": "Ý", + "Yacute": "Ý", + "Ycirc": "Ŷ", + "Ycy": "Ы", + "Yfr": "𝔜", + "Yopf": "𝕐", + "Yscr": "𝒴", + "Yuml": "Ÿ", + "ZHcy": "Ж", + "Zacute": "Ź", + "Zcaron": "Ž", + "Zcy": "З", + "Zdot": "Ż", + "ZeroWidthSpace": "​", + "Zeta": "Ζ", + "Zfr": "ℨ", + "Zopf": "ℤ", + "Zscr": "𝒵", + "aacut": "á", + "aacute": "á", + "abreve": "ă", + "ac": "∾", + "acE": "∾̳", + "acd": "∿", + "acir": "â", + "acirc": "â", + "acut": "´", + "acute": "´", + "acy": "а", + "aeli": "æ", + "aelig": "æ", + "af": "⁡", + "afr": "𝔞", + "agrav": "à", + "agrave": "à", + "alefsym": "ℵ", + "aleph": "ℵ", + "alpha": "α", + "amacr": "ā", + "amalg": "⨿", + "am": "&", + "amp": "&", + "and": "∧", + "andand": "⩕", + "andd": "⩜", + "andslope": "⩘", + "andv": "⩚", + "ang": "∠", + "ange": "⦤", + "angle": "∠", + "angmsd": "∡", + "angmsdaa": "⦨", + "angmsdab": "⦩", + "angmsdac": "⦪", + "angmsdad": "⦫", + "angmsdae": "⦬", + "angmsdaf": "⦭", + "angmsdag": "⦮", + "angmsdah": "⦯", + "angrt": "∟", + "angrtvb": "⊾", + "angrtvbd": "⦝", + "angsph": "∢", + "angst": "Å", + "angzarr": "⍼", + "aogon": "ą", + "aopf": "𝕒", + "ap": "≈", + "apE": "⩰", + "apacir": "⩯", + "ape": "≊", + "apid": "≋", + "apos": "'", + "approx": "≈", + "approxeq": "≊", + "arin": "å", + "aring": "å", + "ascr": "𝒶", + "ast": "*", + "asymp": "≈", + "asympeq": "≍", + "atild": "ã", + "atilde": "ã", + "aum": "ä", + "auml": "ä", + "awconint": "∳", + "awint": "⨑", + "bNot": "⫭", + "backcong": "≌", + "backepsilon": "϶", + "backprime": "‵", + "backsim": "∽", + "backsimeq": "⋍", + "barvee": "⊽", + "barwed": "⌅", + "barwedge": "⌅", + "bbrk": "⎵", + "bbrktbrk": "⎶", + "bcong": "≌", + "bcy": "б", + "bdquo": "„", + "becaus": "∵", + "because": "∵", + "bemptyv": "⦰", + "bepsi": "϶", + "bernou": "ℬ", + "beta": "β", + "beth": "ℶ", + "between": "≬", + "bfr": "𝔟", + "bigcap": "⋂", + "bigcirc": "◯", + "bigcup": "⋃", + "bigodot": "⨀", + "bigoplus": "⨁", + "bigotimes": "⨂", + "bigsqcup": "⨆", + "bigstar": "★", + "bigtriangledown": "▽", + "bigtriangleup": "△", + "biguplus": "⨄", + "bigvee": "⋁", + "bigwedge": "⋀", + "bkarow": "⤍", + "blacklozenge": "⧫", + "blacksquare": "▪", + "blacktriangle": "▴", + "blacktriangledown": "▾", + "blacktriangleleft": "◂", + "blacktriangleright": "▸", + "blank": "␣", + "blk12": "▒", + "blk14": "░", + "blk34": "▓", + "block": "█", + "bne": "=⃥", + "bnequiv": "≡⃥", + "bnot": "⌐", + "bopf": "𝕓", + "bot": "⊥", + "bottom": "⊥", + "bowtie": "⋈", + "boxDL": "╗", + "boxDR": "╔", + "boxDl": "╖", + "boxDr": "╓", + "boxH": "═", + "boxHD": "╦", + "boxHU": "╩", + "boxHd": "╤", + "boxHu": "╧", + "boxUL": "╝", + "boxUR": "╚", + "boxUl": "╜", + "boxUr": "╙", + "boxV": "║", + "boxVH": "╬", + "boxVL": "╣", + "boxVR": "╠", + "boxVh": "╫", + "boxVl": "╢", + "boxVr": "╟", + "boxbox": "⧉", + "boxdL": "╕", + "boxdR": "╒", + "boxdl": "┐", + "boxdr": "┌", + "boxh": "─", + "boxhD": "╥", + "boxhU": "╨", + "boxhd": "┬", + "boxhu": "┴", + "boxminus": "⊟", + "boxplus": "⊞", + "boxtimes": "⊠", + "boxuL": "╛", + "boxuR": "╘", + "boxul": "┘", + "boxur": "└", + "boxv": "│", + "boxvH": "╪", + "boxvL": "╡", + "boxvR": "╞", + "boxvh": "┼", + "boxvl": "┤", + "boxvr": "├", + "bprime": "‵", + "breve": "˘", + "brvba": "¦", + "brvbar": "¦", + "bscr": "𝒷", + "bsemi": "⁏", + "bsim": "∽", + "bsime": "⋍", + "bsol": "\\", + "bsolb": "⧅", + "bsolhsub": "⟈", + "bull": "•", + "bullet": "•", + "bump": "≎", + "bumpE": "⪮", + "bumpe": "≏", + "bumpeq": "≏", + "cacute": "ć", + "cap": "∩", + "capand": "⩄", + "capbrcup": "⩉", + "capcap": "⩋", + "capcup": "⩇", + "capdot": "⩀", + "caps": "∩︀", + "caret": "⁁", + "caron": "ˇ", + "ccaps": "⩍", + "ccaron": "č", + "ccedi": "ç", + "ccedil": "ç", + "ccirc": "ĉ", + "ccups": "⩌", + "ccupssm": "⩐", + "cdot": "ċ", + "cedi": "¸", + "cedil": "¸", + "cemptyv": "⦲", + "cen": "¢", + "cent": "¢", + "centerdot": "·", + "cfr": "𝔠", + "chcy": "ч", + "check": "✓", + "checkmark": "✓", + "chi": "χ", + "cir": "○", + "cirE": "⧃", + "circ": "ˆ", + "circeq": "≗", + "circlearrowleft": "↺", + "circlearrowright": "↻", + "circledR": "®", + "circledS": "Ⓢ", + "circledast": "⊛", + "circledcirc": "⊚", + "circleddash": "⊝", + "cire": "≗", + "cirfnint": "⨐", + "cirmid": "⫯", + "cirscir": "⧂", + "clubs": "♣", + "clubsuit": "♣", + "colon": ":", + "colone": "≔", + "coloneq": "≔", + "comma": ",", + "commat": "@", + "comp": "∁", + "compfn": "∘", + "complement": "∁", + "complexes": "ℂ", + "cong": "≅", + "congdot": "⩭", + "conint": "∮", + "copf": "𝕔", + "coprod": "∐", + "cop": "©", + "copy": "©", + "copysr": "℗", + "crarr": "↵", + "cross": "✗", + "cscr": "𝒸", + "csub": "⫏", + "csube": "⫑", + "csup": "⫐", + "csupe": "⫒", + "ctdot": "⋯", + "cudarrl": "⤸", + "cudarrr": "⤵", + "cuepr": "⋞", + "cuesc": "⋟", + "cularr": "↶", + "cularrp": "⤽", + "cup": "∪", + "cupbrcap": "⩈", + "cupcap": "⩆", + "cupcup": "⩊", + "cupdot": "⊍", + "cupor": "⩅", + "cups": "∪︀", + "curarr": "↷", + "curarrm": "⤼", + "curlyeqprec": "⋞", + "curlyeqsucc": "⋟", + "curlyvee": "⋎", + "curlywedge": "⋏", + "curre": "¤", + "curren": "¤", + "curvearrowleft": "↶", + "curvearrowright": "↷", + "cuvee": "⋎", + "cuwed": "⋏", + "cwconint": "∲", + "cwint": "∱", + "cylcty": "⌭", + "dArr": "⇓", + "dHar": "⥥", + "dagger": "†", + "daleth": "ℸ", + "darr": "↓", + "dash": "‐", + "dashv": "⊣", + "dbkarow": "⤏", + "dblac": "˝", + "dcaron": "ď", + "dcy": "д", + "dd": "ⅆ", + "ddagger": "‡", + "ddarr": "⇊", + "ddotseq": "⩷", + "de": "°", + "deg": "°", + "delta": "δ", + "demptyv": "⦱", + "dfisht": "⥿", + "dfr": "𝔡", + "dharl": "⇃", + "dharr": "⇂", + "diam": "⋄", + "diamond": "⋄", + "diamondsuit": "♦", + "diams": "♦", + "die": "¨", + "digamma": "ϝ", + "disin": "⋲", + "div": "÷", + "divid": "÷", + "divide": "÷", + "divideontimes": "⋇", + "divonx": "⋇", + "djcy": "ђ", + "dlcorn": "⌞", + "dlcrop": "⌍", + "dollar": "$", + "dopf": "𝕕", + "dot": "˙", + "doteq": "≐", + "doteqdot": "≑", + "dotminus": "∸", + "dotplus": "∔", + "dotsquare": "⊡", + "doublebarwedge": "⌆", + "downarrow": "↓", + "downdownarrows": "⇊", + "downharpoonleft": "⇃", + "downharpoonright": "⇂", + "drbkarow": "⤐", + "drcorn": "⌟", + "drcrop": "⌌", + "dscr": "𝒹", + "dscy": "ѕ", + "dsol": "⧶", + "dstrok": "đ", + "dtdot": "⋱", + "dtri": "▿", + "dtrif": "▾", + "duarr": "⇵", + "duhar": "⥯", + "dwangle": "⦦", + "dzcy": "џ", + "dzigrarr": "⟿", + "eDDot": "⩷", + "eDot": "≑", + "eacut": "é", + "eacute": "é", + "easter": "⩮", + "ecaron": "ě", + "ecir": "ê", + "ecirc": "ê", + "ecolon": "≕", + "ecy": "э", + "edot": "ė", + "ee": "ⅇ", + "efDot": "≒", + "efr": "𝔢", + "eg": "⪚", + "egrav": "è", + "egrave": "è", + "egs": "⪖", + "egsdot": "⪘", + "el": "⪙", + "elinters": "⏧", + "ell": "ℓ", + "els": "⪕", + "elsdot": "⪗", + "emacr": "ē", + "empty": "∅", + "emptyset": "∅", + "emptyv": "∅", + "emsp13": " ", + "emsp14": " ", + "emsp": " ", + "eng": "ŋ", + "ensp": " ", + "eogon": "ę", + "eopf": "𝕖", + "epar": "⋕", + "eparsl": "⧣", + "eplus": "⩱", + "epsi": "ε", + "epsilon": "ε", + "epsiv": "ϵ", + "eqcirc": "≖", + "eqcolon": "≕", + "eqsim": "≂", + "eqslantgtr": "⪖", + "eqslantless": "⪕", + "equals": "=", + "equest": "≟", + "equiv": "≡", + "equivDD": "⩸", + "eqvparsl": "⧥", + "erDot": "≓", + "erarr": "⥱", + "escr": "ℯ", + "esdot": "≐", + "esim": "≂", + "eta": "η", + "et": "ð", + "eth": "ð", + "eum": "ë", + "euml": "ë", + "euro": "€", + "excl": "!", + "exist": "∃", + "expectation": "ℰ", + "exponentiale": "ⅇ", + "fallingdotseq": "≒", + "fcy": "ф", + "female": "♀", + "ffilig": "ffi", + "fflig": "ff", + "ffllig": "ffl", + "ffr": "𝔣", + "filig": "fi", + "fjlig": "fj", + "flat": "♭", + "fllig": "fl", + "fltns": "▱", + "fnof": "ƒ", + "fopf": "𝕗", + "forall": "∀", + "fork": "⋔", + "forkv": "⫙", + "fpartint": "⨍", + "frac1": "¼", + "frac12": "½", + "frac13": "⅓", + "frac14": "¼", + "frac15": "⅕", + "frac16": "⅙", + "frac18": "⅛", + "frac23": "⅔", + "frac25": "⅖", + "frac3": "¾", + "frac34": "¾", + "frac35": "⅗", + "frac38": "⅜", + "frac45": "⅘", + "frac56": "⅚", + "frac58": "⅝", + "frac78": "⅞", + "frasl": "⁄", + "frown": "⌢", + "fscr": "𝒻", + "gE": "≧", + "gEl": "⪌", + "gacute": "ǵ", + "gamma": "γ", + "gammad": "ϝ", + "gap": "⪆", + "gbreve": "ğ", + "gcirc": "ĝ", + "gcy": "г", + "gdot": "ġ", + "ge": "≥", + "gel": "⋛", + "geq": "≥", + "geqq": "≧", + "geqslant": "⩾", + "ges": "⩾", + "gescc": "⪩", + "gesdot": "⪀", + "gesdoto": "⪂", + "gesdotol": "⪄", + "gesl": "⋛︀", + "gesles": "⪔", + "gfr": "𝔤", + "gg": "≫", + "ggg": "⋙", + "gimel": "ℷ", + "gjcy": "ѓ", + "gl": "≷", + "glE": "⪒", + "gla": "⪥", + "glj": "⪤", + "gnE": "≩", + "gnap": "⪊", + "gnapprox": "⪊", + "gne": "⪈", + "gneq": "⪈", + "gneqq": "≩", + "gnsim": "⋧", + "gopf": "𝕘", + "grave": "`", + "gscr": "ℊ", + "gsim": "≳", + "gsime": "⪎", + "gsiml": "⪐", + "g": ">", + "gt": ">", + "gtcc": "⪧", + "gtcir": "⩺", + "gtdot": "⋗", + "gtlPar": "⦕", + "gtquest": "⩼", + "gtrapprox": "⪆", + "gtrarr": "⥸", + "gtrdot": "⋗", + "gtreqless": "⋛", + "gtreqqless": "⪌", + "gtrless": "≷", + "gtrsim": "≳", + "gvertneqq": "≩︀", + "gvnE": "≩︀", + "hArr": "⇔", + "hairsp": " ", + "half": "½", + "hamilt": "ℋ", + "hardcy": "ъ", + "harr": "↔", + "harrcir": "⥈", + "harrw": "↭", + "hbar": "ℏ", + "hcirc": "ĥ", + "hearts": "♥", + "heartsuit": "♥", + "hellip": "…", + "hercon": "⊹", + "hfr": "𝔥", + "hksearow": "⤥", + "hkswarow": "⤦", + "hoarr": "⇿", + "homtht": "∻", + "hookleftarrow": "↩", + "hookrightarrow": "↪", + "hopf": "𝕙", + "horbar": "―", + "hscr": "𝒽", + "hslash": "ℏ", + "hstrok": "ħ", + "hybull": "⁃", + "hyphen": "‐", + "iacut": "í", + "iacute": "í", + "ic": "⁣", + "icir": "î", + "icirc": "î", + "icy": "и", + "iecy": "е", + "iexc": "¡", + "iexcl": "¡", + "iff": "⇔", + "ifr": "𝔦", + "igrav": "ì", + "igrave": "ì", + "ii": "ⅈ", + "iiiint": "⨌", + "iiint": "∭", + "iinfin": "⧜", + "iiota": "℩", + "ijlig": "ij", + "imacr": "ī", + "image": "ℑ", + "imagline": "ℐ", + "imagpart": "ℑ", + "imath": "ı", + "imof": "⊷", + "imped": "Ƶ", + "in": "∈", + "incare": "℅", + "infin": "∞", + "infintie": "⧝", + "inodot": "ı", + "int": "∫", + "intcal": "⊺", + "integers": "ℤ", + "intercal": "⊺", + "intlarhk": "⨗", + "intprod": "⨼", + "iocy": "ё", + "iogon": "į", + "iopf": "𝕚", + "iota": "ι", + "iprod": "⨼", + "iques": "¿", + "iquest": "¿", + "iscr": "𝒾", + "isin": "∈", + "isinE": "⋹", + "isindot": "⋵", + "isins": "⋴", + "isinsv": "⋳", + "isinv": "∈", + "it": "⁢", + "itilde": "ĩ", + "iukcy": "і", + "ium": "ï", + "iuml": "ï", + "jcirc": "ĵ", + "jcy": "й", + "jfr": "𝔧", + "jmath": "ȷ", + "jopf": "𝕛", + "jscr": "𝒿", + "jsercy": "ј", + "jukcy": "є", + "kappa": "κ", + "kappav": "ϰ", + "kcedil": "ķ", + "kcy": "к", + "kfr": "𝔨", + "kgreen": "ĸ", + "khcy": "х", + "kjcy": "ќ", + "kopf": "𝕜", + "kscr": "𝓀", + "lAarr": "⇚", + "lArr": "⇐", + "lAtail": "⤛", + "lBarr": "⤎", + "lE": "≦", + "lEg": "⪋", + "lHar": "⥢", + "lacute": "ĺ", + "laemptyv": "⦴", + "lagran": "ℒ", + "lambda": "λ", + "lang": "⟨", + "langd": "⦑", + "langle": "⟨", + "lap": "⪅", + "laqu": "«", + "laquo": "«", + "larr": "←", + "larrb": "⇤", + "larrbfs": "⤟", + "larrfs": "⤝", + "larrhk": "↩", + "larrlp": "↫", + "larrpl": "⤹", + "larrsim": "⥳", + "larrtl": "↢", + "lat": "⪫", + "latail": "⤙", + "late": "⪭", + "lates": "⪭︀", + "lbarr": "⤌", + "lbbrk": "❲", + "lbrace": "{", + "lbrack": "[", + "lbrke": "⦋", + "lbrksld": "⦏", + "lbrkslu": "⦍", + "lcaron": "ľ", + "lcedil": "ļ", + "lceil": "⌈", + "lcub": "{", + "lcy": "л", + "ldca": "⤶", + "ldquo": "“", + "ldquor": "„", + "ldrdhar": "⥧", + "ldrushar": "⥋", + "ldsh": "↲", + "le": "≤", + "leftarrow": "←", + "leftarrowtail": "↢", + "leftharpoondown": "↽", + "leftharpoonup": "↼", + "leftleftarrows": "⇇", + "leftrightarrow": "↔", + "leftrightarrows": "⇆", + "leftrightharpoons": "⇋", + "leftrightsquigarrow": "↭", + "leftthreetimes": "⋋", + "leg": "⋚", + "leq": "≤", + "leqq": "≦", + "leqslant": "⩽", + "les": "⩽", + "lescc": "⪨", + "lesdot": "⩿", + "lesdoto": "⪁", + "lesdotor": "⪃", + "lesg": "⋚︀", + "lesges": "⪓", + "lessapprox": "⪅", + "lessdot": "⋖", + "lesseqgtr": "⋚", + "lesseqqgtr": "⪋", + "lessgtr": "≶", + "lesssim": "≲", + "lfisht": "⥼", + "lfloor": "⌊", + "lfr": "𝔩", + "lg": "≶", + "lgE": "⪑", + "lhard": "↽", + "lharu": "↼", + "lharul": "⥪", + "lhblk": "▄", + "ljcy": "љ", + "ll": "≪", + "llarr": "⇇", + "llcorner": "⌞", + "llhard": "⥫", + "lltri": "◺", + "lmidot": "ŀ", + "lmoust": "⎰", + "lmoustache": "⎰", + "lnE": "≨", + "lnap": "⪉", + "lnapprox": "⪉", + "lne": "⪇", + "lneq": "⪇", + "lneqq": "≨", + "lnsim": "⋦", + "loang": "⟬", + "loarr": "⇽", + "lobrk": "⟦", + "longleftarrow": "⟵", + "longleftrightarrow": "⟷", + "longmapsto": "⟼", + "longrightarrow": "⟶", + "looparrowleft": "↫", + "looparrowright": "↬", + "lopar": "⦅", + "lopf": "𝕝", + "loplus": "⨭", + "lotimes": "⨴", + "lowast": "∗", + "lowbar": "_", + "loz": "◊", + "lozenge": "◊", + "lozf": "⧫", + "lpar": "(", + "lparlt": "⦓", + "lrarr": "⇆", + "lrcorner": "⌟", + "lrhar": "⇋", + "lrhard": "⥭", + "lrm": "‎", + "lrtri": "⊿", + "lsaquo": "‹", + "lscr": "𝓁", + "lsh": "↰", + "lsim": "≲", + "lsime": "⪍", + "lsimg": "⪏", + "lsqb": "[", + "lsquo": "‘", + "lsquor": "‚", + "lstrok": "ł", + "l": "<", + "lt": "<", + "ltcc": "⪦", + "ltcir": "⩹", + "ltdot": "⋖", + "lthree": "⋋", + "ltimes": "⋉", + "ltlarr": "⥶", + "ltquest": "⩻", + "ltrPar": "⦖", + "ltri": "◃", + "ltrie": "⊴", + "ltrif": "◂", + "lurdshar": "⥊", + "luruhar": "⥦", + "lvertneqq": "≨︀", + "lvnE": "≨︀", + "mDDot": "∺", + "mac": "¯", + "macr": "¯", + "male": "♂", + "malt": "✠", + "maltese": "✠", + "map": "↦", + "mapsto": "↦", + "mapstodown": "↧", + "mapstoleft": "↤", + "mapstoup": "↥", + "marker": "▮", + "mcomma": "⨩", + "mcy": "м", + "mdash": "—", + "measuredangle": "∡", + "mfr": "𝔪", + "mho": "℧", + "micr": "µ", + "micro": "µ", + "mid": "∣", + "midast": "*", + "midcir": "⫰", + "middo": "·", + "middot": "·", + "minus": "−", + "minusb": "⊟", + "minusd": "∸", + "minusdu": "⨪", + "mlcp": "⫛", + "mldr": "…", + "mnplus": "∓", + "models": "⊧", + "mopf": "𝕞", + "mp": "∓", + "mscr": "𝓂", + "mstpos": "∾", + "mu": "μ", + "multimap": "⊸", + "mumap": "⊸", + "nGg": "⋙̸", + "nGt": "≫⃒", + "nGtv": "≫̸", + "nLeftarrow": "⇍", + "nLeftrightarrow": "⇎", + "nLl": "⋘̸", + "nLt": "≪⃒", + "nLtv": "≪̸", + "nRightarrow": "⇏", + "nVDash": "⊯", + "nVdash": "⊮", + "nabla": "∇", + "nacute": "ń", + "nang": "∠⃒", + "nap": "≉", + "napE": "⩰̸", + "napid": "≋̸", + "napos": "ʼn", + "napprox": "≉", + "natur": "♮", + "natural": "♮", + "naturals": "ℕ", + "nbs": " ", + "nbsp": " ", + "nbump": "≎̸", + "nbumpe": "≏̸", + "ncap": "⩃", + "ncaron": "ň", + "ncedil": "ņ", + "ncong": "≇", + "ncongdot": "⩭̸", + "ncup": "⩂", + "ncy": "н", + "ndash": "–", + "ne": "≠", + "neArr": "⇗", + "nearhk": "⤤", + "nearr": "↗", + "nearrow": "↗", + "nedot": "≐̸", + "nequiv": "≢", + "nesear": "⤨", + "nesim": "≂̸", + "nexist": "∄", + "nexists": "∄", + "nfr": "𝔫", + "ngE": "≧̸", + "nge": "≱", + "ngeq": "≱", + "ngeqq": "≧̸", + "ngeqslant": "⩾̸", + "nges": "⩾̸", + "ngsim": "≵", + "ngt": "≯", + "ngtr": "≯", + "nhArr": "⇎", + "nharr": "↮", + "nhpar": "⫲", + "ni": "∋", + "nis": "⋼", + "nisd": "⋺", + "niv": "∋", + "njcy": "њ", + "nlArr": "⇍", + "nlE": "≦̸", + "nlarr": "↚", + "nldr": "‥", + "nle": "≰", + "nleftarrow": "↚", + "nleftrightarrow": "↮", + "nleq": "≰", + "nleqq": "≦̸", + "nleqslant": "⩽̸", + "nles": "⩽̸", + "nless": "≮", + "nlsim": "≴", + "nlt": "≮", + "nltri": "⋪", + "nltrie": "⋬", + "nmid": "∤", + "nopf": "𝕟", + "no": "¬", + "not": "¬", + "notin": "∉", + "notinE": "⋹̸", + "notindot": "⋵̸", + "notinva": "∉", + "notinvb": "⋷", + "notinvc": "⋶", + "notni": "∌", + "notniva": "∌", + "notnivb": "⋾", + "notnivc": "⋽", + "npar": "∦", + "nparallel": "∦", + "nparsl": "⫽⃥", + "npart": "∂̸", + "npolint": "⨔", + "npr": "⊀", + "nprcue": "⋠", + "npre": "⪯̸", + "nprec": "⊀", + "npreceq": "⪯̸", + "nrArr": "⇏", + "nrarr": "↛", + "nrarrc": "⤳̸", + "nrarrw": "↝̸", + "nrightarrow": "↛", + "nrtri": "⋫", + "nrtrie": "⋭", + "nsc": "⊁", + "nsccue": "⋡", + "nsce": "⪰̸", + "nscr": "𝓃", + "nshortmid": "∤", + "nshortparallel": "∦", + "nsim": "≁", + "nsime": "≄", + "nsimeq": "≄", + "nsmid": "∤", + "nspar": "∦", + "nsqsube": "⋢", + "nsqsupe": "⋣", + "nsub": "⊄", + "nsubE": "⫅̸", + "nsube": "⊈", + "nsubset": "⊂⃒", + "nsubseteq": "⊈", + "nsubseteqq": "⫅̸", + "nsucc": "⊁", + "nsucceq": "⪰̸", + "nsup": "⊅", + "nsupE": "⫆̸", + "nsupe": "⊉", + "nsupset": "⊃⃒", + "nsupseteq": "⊉", + "nsupseteqq": "⫆̸", + "ntgl": "≹", + "ntild": "ñ", + "ntilde": "ñ", + "ntlg": "≸", + "ntriangleleft": "⋪", + "ntrianglelefteq": "⋬", + "ntriangleright": "⋫", + "ntrianglerighteq": "⋭", + "nu": "ν", + "num": "#", + "numero": "№", + "numsp": " ", + "nvDash": "⊭", + "nvHarr": "⤄", + "nvap": "≍⃒", + "nvdash": "⊬", + "nvge": "≥⃒", + "nvgt": ">⃒", + "nvinfin": "⧞", + "nvlArr": "⤂", + "nvle": "≤⃒", + "nvlt": "<⃒", + "nvltrie": "⊴⃒", + "nvrArr": "⤃", + "nvrtrie": "⊵⃒", + "nvsim": "∼⃒", + "nwArr": "⇖", + "nwarhk": "⤣", + "nwarr": "↖", + "nwarrow": "↖", + "nwnear": "⤧", + "oS": "Ⓢ", + "oacut": "ó", + "oacute": "ó", + "oast": "⊛", + "ocir": "ô", + "ocirc": "ô", + "ocy": "о", + "odash": "⊝", + "odblac": "ő", + "odiv": "⨸", + "odot": "⊙", + "odsold": "⦼", + "oelig": "œ", + "ofcir": "⦿", + "ofr": "𝔬", + "ogon": "˛", + "ograv": "ò", + "ograve": "ò", + "ogt": "⧁", + "ohbar": "⦵", + "ohm": "Ω", + "oint": "∮", + "olarr": "↺", + "olcir": "⦾", + "olcross": "⦻", + "oline": "‾", + "olt": "⧀", + "omacr": "ō", + "omega": "ω", + "omicron": "ο", + "omid": "⦶", + "ominus": "⊖", + "oopf": "𝕠", + "opar": "⦷", + "operp": "⦹", + "oplus": "⊕", + "or": "∨", + "orarr": "↻", + "ord": "º", + "order": "ℴ", + "orderof": "ℴ", + "ordf": "ª", + "ordm": "º", + "origof": "⊶", + "oror": "⩖", + "orslope": "⩗", + "orv": "⩛", + "oscr": "ℴ", + "oslas": "ø", + "oslash": "ø", + "osol": "⊘", + "otild": "õ", + "otilde": "õ", + "otimes": "⊗", + "otimesas": "⨶", + "oum": "ö", + "ouml": "ö", + "ovbar": "⌽", + "par": "¶", + "para": "¶", + "parallel": "∥", + "parsim": "⫳", + "parsl": "⫽", + "part": "∂", + "pcy": "п", + "percnt": "%", + "period": ".", + "permil": "‰", + "perp": "⊥", + "pertenk": "‱", + "pfr": "𝔭", + "phi": "φ", + "phiv": "ϕ", + "phmmat": "ℳ", + "phone": "☎", + "pi": "π", + "pitchfork": "⋔", + "piv": "ϖ", + "planck": "ℏ", + "planckh": "ℎ", + "plankv": "ℏ", + "plus": "+", + "plusacir": "⨣", + "plusb": "⊞", + "pluscir": "⨢", + "plusdo": "∔", + "plusdu": "⨥", + "pluse": "⩲", + "plusm": "±", + "plusmn": "±", + "plussim": "⨦", + "plustwo": "⨧", + "pm": "±", + "pointint": "⨕", + "popf": "𝕡", + "poun": "£", + "pound": "£", + "pr": "≺", + "prE": "⪳", + "prap": "⪷", + "prcue": "≼", + "pre": "⪯", + "prec": "≺", + "precapprox": "⪷", + "preccurlyeq": "≼", + "preceq": "⪯", + "precnapprox": "⪹", + "precneqq": "⪵", + "precnsim": "⋨", + "precsim": "≾", + "prime": "′", + "primes": "ℙ", + "prnE": "⪵", + "prnap": "⪹", + "prnsim": "⋨", + "prod": "∏", + "profalar": "⌮", + "profline": "⌒", + "profsurf": "⌓", + "prop": "∝", + "propto": "∝", + "prsim": "≾", + "prurel": "⊰", + "pscr": "𝓅", + "psi": "ψ", + "puncsp": " ", + "qfr": "𝔮", + "qint": "⨌", + "qopf": "𝕢", + "qprime": "⁗", + "qscr": "𝓆", + "quaternions": "ℍ", + "quatint": "⨖", + "quest": "?", + "questeq": "≟", + "quo": "\"", + "quot": "\"", + "rAarr": "⇛", + "rArr": "⇒", + "rAtail": "⤜", + "rBarr": "⤏", + "rHar": "⥤", + "race": "∽̱", + "racute": "ŕ", + "radic": "√", + "raemptyv": "⦳", + "rang": "⟩", + "rangd": "⦒", + "range": "⦥", + "rangle": "⟩", + "raqu": "»", + "raquo": "»", + "rarr": "→", + "rarrap": "⥵", + "rarrb": "⇥", + "rarrbfs": "⤠", + "rarrc": "⤳", + "rarrfs": "⤞", + "rarrhk": "↪", + "rarrlp": "↬", + "rarrpl": "⥅", + "rarrsim": "⥴", + "rarrtl": "↣", + "rarrw": "↝", + "ratail": "⤚", + "ratio": "∶", + "rationals": "ℚ", + "rbarr": "⤍", + "rbbrk": "❳", + "rbrace": "}", + "rbrack": "]", + "rbrke": "⦌", + "rbrksld": "⦎", + "rbrkslu": "⦐", + "rcaron": "ř", + "rcedil": "ŗ", + "rceil": "⌉", + "rcub": "}", + "rcy": "р", + "rdca": "⤷", + "rdldhar": "⥩", + "rdquo": "”", + "rdquor": "”", + "rdsh": "↳", + "real": "ℜ", + "realine": "ℛ", + "realpart": "ℜ", + "reals": "ℝ", + "rect": "▭", + "re": "®", + "reg": "®", + "rfisht": "⥽", + "rfloor": "⌋", + "rfr": "𝔯", + "rhard": "⇁", + "rharu": "⇀", + "rharul": "⥬", + "rho": "ρ", + "rhov": "ϱ", + "rightarrow": "→", + "rightarrowtail": "↣", + "rightharpoondown": "⇁", + "rightharpoonup": "⇀", + "rightleftarrows": "⇄", + "rightleftharpoons": "⇌", + "rightrightarrows": "⇉", + "rightsquigarrow": "↝", + "rightthreetimes": "⋌", + "ring": "˚", + "risingdotseq": "≓", + "rlarr": "⇄", + "rlhar": "⇌", + "rlm": "‏", + "rmoust": "⎱", + "rmoustache": "⎱", + "rnmid": "⫮", + "roang": "⟭", + "roarr": "⇾", + "robrk": "⟧", + "ropar": "⦆", + "ropf": "𝕣", + "roplus": "⨮", + "rotimes": "⨵", + "rpar": ")", + "rpargt": "⦔", + "rppolint": "⨒", + "rrarr": "⇉", + "rsaquo": "›", + "rscr": "𝓇", + "rsh": "↱", + "rsqb": "]", + "rsquo": "’", + "rsquor": "’", + "rthree": "⋌", + "rtimes": "⋊", + "rtri": "▹", + "rtrie": "⊵", + "rtrif": "▸", + "rtriltri": "⧎", + "ruluhar": "⥨", + "rx": "℞", + "sacute": "ś", + "sbquo": "‚", + "sc": "≻", + "scE": "⪴", + "scap": "⪸", + "scaron": "š", + "sccue": "≽", + "sce": "⪰", + "scedil": "ş", + "scirc": "ŝ", + "scnE": "⪶", + "scnap": "⪺", + "scnsim": "⋩", + "scpolint": "⨓", + "scsim": "≿", + "scy": "с", + "sdot": "⋅", + "sdotb": "⊡", + "sdote": "⩦", + "seArr": "⇘", + "searhk": "⤥", + "searr": "↘", + "searrow": "↘", + "sec": "§", + "sect": "§", + "semi": ";", + "seswar": "⤩", + "setminus": "∖", + "setmn": "∖", + "sext": "✶", + "sfr": "𝔰", + "sfrown": "⌢", + "sharp": "♯", + "shchcy": "щ", + "shcy": "ш", + "shortmid": "∣", + "shortparallel": "∥", + "sh": "­", + "shy": "­", + "sigma": "σ", + "sigmaf": "ς", + "sigmav": "ς", + "sim": "∼", + "simdot": "⩪", + "sime": "≃", + "simeq": "≃", + "simg": "⪞", + "simgE": "⪠", + "siml": "⪝", + "simlE": "⪟", + "simne": "≆", + "simplus": "⨤", + "simrarr": "⥲", + "slarr": "←", + "smallsetminus": "∖", + "smashp": "⨳", + "smeparsl": "⧤", + "smid": "∣", + "smile": "⌣", + "smt": "⪪", + "smte": "⪬", + "smtes": "⪬︀", + "softcy": "ь", + "sol": "/", + "solb": "⧄", + "solbar": "⌿", + "sopf": "𝕤", + "spades": "♠", + "spadesuit": "♠", + "spar": "∥", + "sqcap": "⊓", + "sqcaps": "⊓︀", + "sqcup": "⊔", + "sqcups": "⊔︀", + "sqsub": "⊏", + "sqsube": "⊑", + "sqsubset": "⊏", + "sqsubseteq": "⊑", + "sqsup": "⊐", + "sqsupe": "⊒", + "sqsupset": "⊐", + "sqsupseteq": "⊒", + "squ": "□", + "square": "□", + "squarf": "▪", + "squf": "▪", + "srarr": "→", + "sscr": "𝓈", + "ssetmn": "∖", + "ssmile": "⌣", + "sstarf": "⋆", + "star": "☆", + "starf": "★", + "straightepsilon": "ϵ", + "straightphi": "ϕ", + "strns": "¯", + "sub": "⊂", + "subE": "⫅", + "subdot": "⪽", + "sube": "⊆", + "subedot": "⫃", + "submult": "⫁", + "subnE": "⫋", + "subne": "⊊", + "subplus": "⪿", + "subrarr": "⥹", + "subset": "⊂", + "subseteq": "⊆", + "subseteqq": "⫅", + "subsetneq": "⊊", + "subsetneqq": "⫋", + "subsim": "⫇", + "subsub": "⫕", + "subsup": "⫓", + "succ": "≻", + "succapprox": "⪸", + "succcurlyeq": "≽", + "succeq": "⪰", + "succnapprox": "⪺", + "succneqq": "⪶", + "succnsim": "⋩", + "succsim": "≿", + "sum": "∑", + "sung": "♪", + "sup": "⊃", + "sup1": "¹", + "sup2": "²", + "sup3": "³", + "supE": "⫆", + "supdot": "⪾", + "supdsub": "⫘", + "supe": "⊇", + "supedot": "⫄", + "suphsol": "⟉", + "suphsub": "⫗", + "suplarr": "⥻", + "supmult": "⫂", + "supnE": "⫌", + "supne": "⊋", + "supplus": "⫀", + "supset": "⊃", + "supseteq": "⊇", + "supseteqq": "⫆", + "supsetneq": "⊋", + "supsetneqq": "⫌", + "supsim": "⫈", + "supsub": "⫔", + "supsup": "⫖", + "swArr": "⇙", + "swarhk": "⤦", + "swarr": "↙", + "swarrow": "↙", + "swnwar": "⤪", + "szli": "ß", + "szlig": "ß", + "target": "⌖", + "tau": "τ", + "tbrk": "⎴", + "tcaron": "ť", + "tcedil": "ţ", + "tcy": "т", + "tdot": "⃛", + "telrec": "⌕", + "tfr": "𝔱", + "there4": "∴", + "therefore": "∴", + "theta": "θ", + "thetasym": "ϑ", + "thetav": "ϑ", + "thickapprox": "≈", + "thicksim": "∼", + "thinsp": " ", + "thkap": "≈", + "thksim": "∼", + "thor": "þ", + "thorn": "þ", + "tilde": "˜", + "time": "×", + "times": "×", + "timesb": "⊠", + "timesbar": "⨱", + "timesd": "⨰", + "tint": "∭", + "toea": "⤨", + "top": "⊤", + "topbot": "⌶", + "topcir": "⫱", + "topf": "𝕥", + "topfork": "⫚", + "tosa": "⤩", + "tprime": "‴", + "trade": "™", + "triangle": "▵", + "triangledown": "▿", + "triangleleft": "◃", + "trianglelefteq": "⊴", + "triangleq": "≜", + "triangleright": "▹", + "trianglerighteq": "⊵", + "tridot": "◬", + "trie": "≜", + "triminus": "⨺", + "triplus": "⨹", + "trisb": "⧍", + "tritime": "⨻", + "trpezium": "⏢", + "tscr": "𝓉", + "tscy": "ц", + "tshcy": "ћ", + "tstrok": "ŧ", + "twixt": "≬", + "twoheadleftarrow": "↞", + "twoheadrightarrow": "↠", + "uArr": "⇑", + "uHar": "⥣", + "uacut": "ú", + "uacute": "ú", + "uarr": "↑", + "ubrcy": "ў", + "ubreve": "ŭ", + "ucir": "û", + "ucirc": "û", + "ucy": "у", + "udarr": "⇅", + "udblac": "ű", + "udhar": "⥮", + "ufisht": "⥾", + "ufr": "𝔲", + "ugrav": "ù", + "ugrave": "ù", + "uharl": "↿", + "uharr": "↾", + "uhblk": "▀", + "ulcorn": "⌜", + "ulcorner": "⌜", + "ulcrop": "⌏", + "ultri": "◸", + "umacr": "ū", + "um": "¨", + "uml": "¨", + "uogon": "ų", + "uopf": "𝕦", + "uparrow": "↑", + "updownarrow": "↕", + "upharpoonleft": "↿", + "upharpoonright": "↾", + "uplus": "⊎", + "upsi": "υ", + "upsih": "ϒ", + "upsilon": "υ", + "upuparrows": "⇈", + "urcorn": "⌝", + "urcorner": "⌝", + "urcrop": "⌎", + "uring": "ů", + "urtri": "◹", + "uscr": "𝓊", + "utdot": "⋰", + "utilde": "ũ", + "utri": "▵", + "utrif": "▴", + "uuarr": "⇈", + "uum": "ü", + "uuml": "ü", + "uwangle": "⦧", + "vArr": "⇕", + "vBar": "⫨", + "vBarv": "⫩", + "vDash": "⊨", + "vangrt": "⦜", + "varepsilon": "ϵ", + "varkappa": "ϰ", + "varnothing": "∅", + "varphi": "ϕ", + "varpi": "ϖ", + "varpropto": "∝", + "varr": "↕", + "varrho": "ϱ", + "varsigma": "ς", + "varsubsetneq": "⊊︀", + "varsubsetneqq": "⫋︀", + "varsupsetneq": "⊋︀", + "varsupsetneqq": "⫌︀", + "vartheta": "ϑ", + "vartriangleleft": "⊲", + "vartriangleright": "⊳", + "vcy": "в", + "vdash": "⊢", + "vee": "∨", + "veebar": "⊻", + "veeeq": "≚", + "vellip": "⋮", + "verbar": "|", + "vert": "|", + "vfr": "𝔳", + "vltri": "⊲", + "vnsub": "⊂⃒", + "vnsup": "⊃⃒", + "vopf": "𝕧", + "vprop": "∝", + "vrtri": "⊳", + "vscr": "𝓋", + "vsubnE": "⫋︀", + "vsubne": "⊊︀", + "vsupnE": "⫌︀", + "vsupne": "⊋︀", + "vzigzag": "⦚", + "wcirc": "ŵ", + "wedbar": "⩟", + "wedge": "∧", + "wedgeq": "≙", + "weierp": "℘", + "wfr": "𝔴", + "wopf": "𝕨", + "wp": "℘", + "wr": "≀", + "wreath": "≀", + "wscr": "𝓌", + "xcap": "⋂", + "xcirc": "◯", + "xcup": "⋃", + "xdtri": "▽", + "xfr": "𝔵", + "xhArr": "⟺", + "xharr": "⟷", + "xi": "ξ", + "xlArr": "⟸", + "xlarr": "⟵", + "xmap": "⟼", + "xnis": "⋻", + "xodot": "⨀", + "xopf": "𝕩", + "xoplus": "⨁", + "xotime": "⨂", + "xrArr": "⟹", + "xrarr": "⟶", + "xscr": "𝓍", + "xsqcup": "⨆", + "xuplus": "⨄", + "xutri": "△", + "xvee": "⋁", + "xwedge": "⋀", + "yacut": "ý", + "yacute": "ý", + "yacy": "я", + "ycirc": "ŷ", + "ycy": "ы", + "ye": "¥", + "yen": "¥", + "yfr": "𝔶", + "yicy": "ї", + "yopf": "𝕪", + "yscr": "𝓎", + "yucy": "ю", + "yum": "ÿ", + "yuml": "ÿ", + "zacute": "ź", + "zcaron": "ž", + "zcy": "з", + "zdot": "ż", + "zeetrf": "ℨ", + "zeta": "ζ", + "zfr": "𝔷", + "zhcy": "ж", + "zigrarr": "⇝", + "zopf": "𝕫", + "zscr": "𝓏", + "zwj": "‍", + "zwnj": "‌" +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license new file mode 100644 index 00000000000..32e7a3d93ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json new file mode 100644 index 00000000000..e1151d249e2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/package.json @@ -0,0 +1,71 @@ +{ + "name": "character-entities", + "version": "1.2.4", + "description": "HTML character entity information", + "license": "MIT", + "keywords": [ + "html", + "entity", + "entities", + "character", + "reference", + "name", + "replacement" + ], + "repository": "wooorm/character-entities", + "bugs": "https://github.com/wooorm/character-entities/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "main": "index.json", + "files": [ + "index.json" + ], + "dependencies": {}, + "devDependencies": { + "bail": "^1.0.0", + "browserify": "^16.0.0", + "concat-stream": "^2.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "generate": "node build", + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify index.json -s characterEntities -o character-entities.js", + "build-mangle": "browserify index.json -s characterEntities -p tinyify -o character-entities.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "lint": "xo", + "test-api": "node test", + "test": "npm run generate && npm run format && npm run build && npm run test-api" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "character-entities.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md new file mode 100644 index 00000000000..b890e2aec3c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-entities/readme.md @@ -0,0 +1,72 @@ +# character-entities + +[![Build][build-badge]][build] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +HTML character entity information. + +## Install + +[npm][]: + +```sh +npm install character-entities +``` + +## Use + +```js +var characterEntities = require('character-entities') + +console.log(characterEntities.AElig) // => 'Æ' +console.log(characterEntities.aelig) // => 'æ' +console.log(characterEntities.amp) // => '&' +``` + +## API + +### characterEntities + +Mapping between (case-sensitive) character entity names to replacements. + +## Support + +See [`html.spec.whatwg.org`][html]. + +## Related + +* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) + — HTML 4 character entity info +* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) + — Legacy character entity info +* [`parse-entities`](https://github.com/wooorm/parse-entities) + — Parse HTML character references +* [`stringify-entities`](https://github.com/wooorm/stringify-entities) + — Stringify HTML character references + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/character-entities.svg + +[build]: https://travis-ci.org/wooorm/character-entities + +[downloads-badge]: https://img.shields.io/npm/dm/character-entities.svg + +[downloads]: https://www.npmjs.com/package/character-entities + +[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities.svg + +[size]: https://bundlephobia.com/result?p=character-entities + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[html]: https://html.spec.whatwg.org/multipage/syntax.html#named-character-references diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json new file mode 100644 index 00000000000..9337a854e40 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/index.json @@ -0,0 +1,30 @@ +{ + "0": "�", + "128": "€", + "130": "‚", + "131": "ƒ", + "132": "„", + "133": "…", + "134": "†", + "135": "‡", + "136": "ˆ", + "137": "‰", + "138": "Š", + "139": "‹", + "140": "Œ", + "142": "Ž", + "145": "‘", + "146": "’", + "147": "“", + "148": "”", + "149": "•", + "150": "–", + "151": "—", + "152": "˜", + "153": "™", + "154": "š", + "155": "›", + "156": "œ", + "158": "ž", + "159": "Ÿ" +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license new file mode 100644 index 00000000000..32e7a3d93ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json new file mode 100644 index 00000000000..069dc4b2b53 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/package.json @@ -0,0 +1,74 @@ +{ + "name": "character-reference-invalid", + "version": "1.1.4", + "description": "HTML invalid numeric character reference information", + "license": "MIT", + "keywords": [ + "html", + "entity", + "numeric", + "character", + "reference", + "replacement", + "invalid", + "name" + ], + "repository": "wooorm/character-reference-invalid", + "bugs": "https://github.com/wooorm/character-reference-invalid/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "main": "index.json", + "files": [ + "index.json" + ], + "dependencies": {}, + "devDependencies": { + "bail": "^1.0.0", + "browserify": "^16.0.0", + "concat-stream": "^2.0.0", + "hast-util-select": "^3.0.0", + "hast-util-to-string": "^1.0.0", + "rehype-parse": "^6.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "unified": "^8.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "generate": "node build", + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify index.json -s characterReferenceInvalid -o character-reference-invalid.js", + "build-mangle": "browserify index.json -s characterReferenceInvalid -p tinyify -o character-reference-invalid.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test": "npm run generate && npm run format && npm run build && npm run test-api" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "character-reference-invalid.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md new file mode 100644 index 00000000000..e2e8f7a5177 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/character-reference-invalid/readme.md @@ -0,0 +1,74 @@ +# character-reference-invalid + +[![Build][build-badge]][build] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +HTML invalid numeric character reference information. + +## Install + +[npm][]: + +```sh +npm install character-reference-invalid +``` + +## Use + +```js +var characterReferenceInvalid = require('character-reference-invalid') + +console.log(characterReferenceInvalid[0x80]) // => '€' +console.log(characterReferenceInvalid[0x89]) // => '‰' +console.log(characterReferenceInvalid[0x99]) // => '™' +``` + +## API + +### `characterReferenceInvalid` + +Mapping between invalid numeric character reference to replacements. + +## Support + +See [`html.spec.whatwg.org`][html]. + +## Related + +* [`character-entities`](https://github.com/wooorm/character-entities) + — HTML character entity info +* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) + — HTML 4 character entity info +* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) + — Legacy character entity info +* [`parse-entities`](https://github.com/wooorm/parse-entities) + — Parse HTML character references +* [`stringify-entities`](https://github.com/wooorm/stringify-entities) + — Serialize HTML character references + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/character-reference-invalid.svg + +[build]: https://travis-ci.org/wooorm/character-reference-invalid + +[downloads-badge]: https://img.shields.io/npm/dm/character-reference-invalid.svg + +[downloads]: https://www.npmjs.com/package/character-reference-invalid + +[size-badge]: https://img.shields.io/bundlephobia/minzip/character-reference-invalid.svg + +[size]: https://bundlephobia.com/result?p=character-reference-invalid + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[html]: https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js new file mode 100644 index 00000000000..93d546695c7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/index.js @@ -0,0 +1,8 @@ +'use strict' + +module.exports = collapse + +// `collapse(' \t\nbar \nbaz\t') // ' bar baz '` +function collapse(value) { + return String(value).replace(/\s+/g, ' ') +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license new file mode 100644 index 00000000000..32e7a3d93ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json new file mode 100644 index 00000000000..6c9e8f348f4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/package.json @@ -0,0 +1,70 @@ +{ + "name": "collapse-white-space", + "version": "1.0.6", + "description": "Replace multiple white-space characters with a single space", + "license": "MIT", + "keywords": [ + "collapse", + "white", + "space" + ], + "repository": "wooorm/collapse-white-space", + "bugs": "https://github.com/wooorm/collapse-white-space/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s collapseWhiteSpace -o collapse-white-space.js", + "build-mangle": "browserify . -s collapseWhiteSpace -p tinyify -o collapse-white-space.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "collapse-white-space.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md new file mode 100644 index 00000000000..5154c9fedc3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/collapse-white-space/readme.md @@ -0,0 +1,58 @@ +# collapse-white-space + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Replace multiple whitespace characters with a single space. + +## Install + +[npm][]: + +```sh +npm install collapse-white-space +``` + +## Use + +```js +var collapse = require('collapse-white-space') + +collapse('\tfoo \n\tbar \t\r\nbaz') //=> ' foo bar baz' +``` + +## API + +### `collapse(value)` + +Replace multiple whitespace characters in value with a single space. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/collapse-white-space.svg + +[build]: https://travis-ci.org/wooorm/collapse-white-space + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/collapse-white-space.svg + +[coverage]: https://codecov.io/github/wooorm/collapse-white-space + +[downloads-badge]: https://img.shields.io/npm/dm/collapse-white-space.svg + +[downloads]: https://www.npmjs.com/package/collapse-white-space + +[size-badge]: https://img.shields.io/bundlephobia/minzip/collapse-white-space.svg + +[size]: https://bundlephobia.com/result?p=collapse-white-space + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json new file mode 100644 index 00000000000..3cce01d7832 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/.jscs.json @@ -0,0 +1,175 @@ +{ + "es3": true, + + "additionalRules": [], + + "requireSemicolons": true, + + "disallowMultipleSpaces": true, + + "disallowIdentifierNames": [], + + "requireCurlyBraces": { + "allExcept": [], + "keywords": ["if", "else", "for", "while", "do", "try", "catch"] + }, + + "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], + + "disallowSpaceAfterKeywords": [], + + "disallowSpaceBeforeComma": true, + "disallowSpaceAfterComma": false, + "disallowSpaceBeforeSemicolon": true, + + "disallowNodeTypes": [ + "DebuggerStatement", + "LabeledStatement", + "SwitchCase", + "SwitchStatement", + "WithStatement" + ], + + "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, + + "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, + "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, + "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, + "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, + "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, + + "requireSpaceBetweenArguments": true, + + "disallowSpacesInsideParentheses": true, + + "disallowSpacesInsideArrayBrackets": true, + + "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, + + "disallowSpaceAfterObjectKeys": true, + + "requireCommaBeforeLineBreak": true, + + "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], + "requireSpaceAfterPrefixUnaryOperators": [], + + "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], + "requireSpaceBeforePostfixUnaryOperators": [], + + "disallowSpaceBeforeBinaryOperators": [], + "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], + + "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], + "disallowSpaceAfterBinaryOperators": [], + + "disallowImplicitTypeConversion": ["binary", "string"], + + "disallowKeywords": ["with", "eval"], + + "requireKeywordsOnNewLine": [], + "disallowKeywordsOnNewLine": ["else"], + + "requireLineFeedAtFileEnd": true, + + "disallowTrailingWhitespace": true, + + "disallowTrailingComma": true, + + "excludeFiles": ["node_modules/**", "vendor/**"], + + "disallowMultipleLineStrings": true, + + "requireDotNotation": { "allExcept": ["keywords"] }, + + "requireParenthesesAroundIIFE": true, + + "validateLineBreaks": "LF", + + "validateQuoteMarks": { + "escape": true, + "mark": "'" + }, + + "disallowOperatorBeforeLineBreak": [], + + "requireSpaceBeforeKeywords": [ + "do", + "for", + "if", + "else", + "switch", + "case", + "try", + "catch", + "finally", + "while", + "with", + "return" + ], + + "validateAlignedFunctionParameters": { + "lineBreakAfterOpeningBraces": true, + "lineBreakBeforeClosingBraces": true + }, + + "requirePaddingNewLinesBeforeExport": true, + + "validateNewlineAfterArrayElements": { + "maximum": 6 + }, + + "requirePaddingNewLinesAfterUseStrict": true, + + "disallowArrowFunctions": true, + + "disallowMultiLineTernary": true, + + "validateOrderInObjectKeys": false, + + "disallowIdenticalDestructuringNames": true, + + "disallowNestedTernaries": { "maxLevel": 1 }, + + "requireSpaceAfterComma": { "allExcept": ["trailing"] }, + "requireAlignedMultilineParams": false, + + "requireSpacesInGenerator": { + "afterStar": true + }, + + "disallowSpacesInGenerator": { + "beforeStar": true + }, + + "disallowVar": false, + + "requireArrayDestructuring": false, + + "requireEnhancedObjectLiterals": false, + + "requireObjectDestructuring": false, + + "requireEarlyReturn": false, + + "requireCapitalizedConstructorsNew": { + "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] + }, + + "requireImportAlphabetized": false, + + "requireSpaceBeforeObjectValues": true, + "requireSpaceBeforeDestructuredValues": true, + + "disallowSpacesInsideTemplateStringPlaceholders": true, + + "disallowArrayDestructuringReturn": false, + + "requireNewlineBeforeSingleStatementsInIf": false, + + "disallowUnusedVariables": true, + + "requireSpacesInsideImportedObjectBraces": true, + + "requireUseStrict": true +} + diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE new file mode 100644 index 00000000000..e16d6a56ca6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/LICENSE @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) 2014 Stefan Thomas + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md new file mode 100644 index 00000000000..5b8249aa95e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/README.md @@ -0,0 +1,81 @@ +[![Build Status][travis-svg]][travis-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] + +# extend() for Node.js [![Version Badge][npm-version-png]][npm-url] + +`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true. + +Notes: + +* Since Node.js >= 4, + [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + now offers the same functionality natively (but without the "deep copy" option). + See [ECMAScript 2015 (ES6) in Node.js](https://nodejs.org/en/docs/es6). +* Some native implementations of `Object.assign` in both Node.js and many + browsers (since NPM modules are for the browser too) may not be fully + spec-compliant. + Check [`object.assign`](https://www.npmjs.com/package/object.assign) module for + a compliant candidate. + +## Installation + +This package is available on [npm][npm-url] as: `extend` + +``` sh +npm install extend +``` + +## Usage + +**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** + +*Extend one object with one or more others, returning the modified object.* + +**Example:** + +``` js +var extend = require('extend'); +extend(targetObject, object1, object2); +``` + +Keep in mind that the target object will be modified, and will be returned from extend(). + +If a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s). +Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. +Warning: passing `false` as the first argument is not supported. + +### Arguments + +* `deep` *Boolean* (optional) +If set, the merge becomes recursive (i.e. deep copy). +* `target` *Object* +The object to extend. +* `object1` *Object* +The object that will be merged into the first. +* `objectN` *Object* (Optional) +More objects to merge into the first. + +## License + +`node-extend` is licensed under the [MIT License][mit-license-url]. + +## Acknowledgements + +All credit to the jQuery authors for perfecting this amazing utility. + +Ported to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb]. + +[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg +[travis-url]: https://travis-ci.org/justmoon/node-extend +[npm-url]: https://npmjs.org/package/extend +[mit-license-url]: http://opensource.org/licenses/MIT +[github-justmoon]: https://github.com/justmoon +[github-insin]: https://github.com/insin +[github-ljharb]: https://github.com/ljharb +[npm-version-png]: http://versionbadg.es/justmoon/node-extend.svg +[deps-svg]: https://david-dm.org/justmoon/node-extend.svg +[deps-url]: https://david-dm.org/justmoon/node-extend +[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg +[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies + diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js new file mode 100644 index 00000000000..2aa3faae68c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/index.js @@ -0,0 +1,117 @@ +'use strict'; + +var hasOwn = Object.prototype.hasOwnProperty; +var toStr = Object.prototype.toString; +var defineProperty = Object.defineProperty; +var gOPD = Object.getOwnPropertyDescriptor; + +var isArray = function isArray(arr) { + if (typeof Array.isArray === 'function') { + return Array.isArray(arr); + } + + return toStr.call(arr) === '[object Array]'; +}; + +var isPlainObject = function isPlainObject(obj) { + if (!obj || toStr.call(obj) !== '[object Object]') { + return false; + } + + var hasOwnConstructor = hasOwn.call(obj, 'constructor'); + var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); + // Not own constructor property must be Object + if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + var key; + for (key in obj) { /**/ } + + return typeof key === 'undefined' || hasOwn.call(obj, key); +}; + +// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target +var setProperty = function setProperty(target, options) { + if (defineProperty && options.name === '__proto__') { + defineProperty(target, options.name, { + enumerable: true, + configurable: true, + value: options.newValue, + writable: true + }); + } else { + target[options.name] = options.newValue; + } +}; + +// Return undefined instead of __proto__ if '__proto__' is not an own property +var getProperty = function getProperty(obj, name) { + if (name === '__proto__') { + if (!hasOwn.call(obj, name)) { + return void 0; + } else if (gOPD) { + // In early versions of node, obj['__proto__'] is buggy when obj has + // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. + return gOPD(obj, name).value; + } + } + + return obj[name]; +}; + +module.exports = function extend() { + var options, name, src, copy, copyIsArray, clone; + var target = arguments[0]; + var i = 1; + var length = arguments.length; + var deep = false; + + // Handle a deep copy situation + if (typeof target === 'boolean') { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { + target = {}; + } + + for (; i < length; ++i) { + options = arguments[i]; + // Only deal with non-null/undefined values + if (options != null) { + // Extend the base object + for (name in options) { + src = getProperty(target, name); + copy = getProperty(options, name); + + // Prevent never-ending loop + if (target !== copy) { + // Recurse if we're merging plain objects or arrays + if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && isArray(src) ? src : []; + } else { + clone = src && isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); + + // Don't bring in undefined values + } else if (typeof copy !== 'undefined') { + setProperty(target, { name: name, newValue: copy }); + } + } + } + } + } + + // Return the modified object + return target; +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json new file mode 100644 index 00000000000..85279f78054 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/extend/package.json @@ -0,0 +1,42 @@ +{ + "name": "extend", + "author": "Stefan Thomas (http://www.justmoon.net)", + "version": "3.0.2", + "description": "Port of jQuery.extend for node.js and the browser", + "main": "index", + "scripts": { + "pretest": "npm run lint", + "test": "npm run tests-only", + "posttest": "npm run coverage-quiet", + "tests-only": "node test", + "coverage": "covert test/index.js", + "coverage-quiet": "covert test/index.js --quiet", + "lint": "npm run jscs && npm run eslint", + "jscs": "jscs *.js */*.js", + "eslint": "eslint *.js */*.js" + }, + "contributors": [ + { + "name": "Jordan Harband", + "url": "https://github.com/ljharb" + } + ], + "keywords": [ + "extend", + "clone", + "merge" + ], + "repository": { + "type": "git", + "url": "https://github.com/justmoon/node-extend.git" + }, + "dependencies": {}, + "devDependencies": { + "@ljharb/eslint-config": "^12.2.1", + "covert": "^1.1.0", + "eslint": "^4.19.1", + "jscs": "^3.0.7", + "tape": "^4.9.1" + }, + "license": "MIT" +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE new file mode 100644 index 00000000000..dea3013d671 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/LICENSE @@ -0,0 +1,16 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md new file mode 100644 index 00000000000..b1c56658557 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/README.md @@ -0,0 +1,42 @@ +Browser-friendly inheritance fully compatible with standard node.js +[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). + +This package exports standard `inherits` from node.js `util` module in +node environment, but also provides alternative browser-friendly +implementation through [browser +field](https://gist.github.com/shtylman/4339901). Alternative +implementation is a literal copy of standard one located in standalone +module to avoid requiring of `util`. It also has a shim for old +browsers with no `Object.create` support. + +While keeping you sure you are using standard `inherits` +implementation in node.js environment, it allows bundlers such as +[browserify](https://github.com/substack/node-browserify) to not +include full `util` package to your client code if all you need is +just `inherits` function. It worth, because browser shim for `util` +package is large and `inherits` is often the single function you need +from it. + +It's recommended to use this package instead of +`require('util').inherits` for any code that has chances to be used +not only in node.js but in browser too. + +## usage + +```js +var inherits = require('inherits'); +// then use exactly as the standard one +``` + +## note on version ~1.0 + +Version ~1.0 had completely different motivation and is not compatible +neither with 2.0 nor with standard node.js `inherits`. + +If you are using version ~1.0 and planning to switch to ~2.0, be +careful: + +* new version uses `super_` instead of `super` for referencing + superclass +* new version overwrites current prototype while old one preserves any + existing fields on it diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js new file mode 100644 index 00000000000..f71f2d93294 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits.js @@ -0,0 +1,9 @@ +try { + var util = require('util'); + /* istanbul ignore next */ + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + /* istanbul ignore next */ + module.exports = require('./inherits_browser.js'); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js new file mode 100644 index 00000000000..86bbb3dc29e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/inherits_browser.js @@ -0,0 +1,27 @@ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }) + } + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json new file mode 100644 index 00000000000..37b4366b83e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/inherits/package.json @@ -0,0 +1,29 @@ +{ + "name": "inherits", + "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", + "version": "2.0.4", + "keywords": [ + "inheritance", + "class", + "klass", + "oop", + "object-oriented", + "inherits", + "browser", + "browserify" + ], + "main": "./inherits.js", + "browser": "./inherits_browser.js", + "repository": "git://github.com/isaacs/inherits", + "license": "ISC", + "scripts": { + "test": "tap" + }, + "devDependencies": { + "tap": "^14.2.4" + }, + "files": [ + "inherits.js", + "inherits_browser.js" + ] +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js new file mode 100644 index 00000000000..26d3650ef06 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/index.js @@ -0,0 +1,14 @@ +'use strict' + +module.exports = alphabetical + +// Check if the given character code, or the character code at the first +// character, is alphabetical. +function alphabetical(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character + + return ( + (code >= 97 && code <= 122) /* a-z */ || + (code >= 65 && code <= 90) /* A-Z */ + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json new file mode 100644 index 00000000000..c7764f2a09e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/package.json @@ -0,0 +1,75 @@ +{ + "name": "is-alphabetical", + "version": "1.0.4", + "description": "Check if a character is alphabetical", + "license": "MIT", + "keywords": [ + "string", + "character", + "char", + "code", + "alphabetical" + ], + "repository": "wooorm/is-alphabetical", + "bugs": "https://github.com/wooorm/is-alphabetical/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify -s isAlphabetical -o is-alphabetical.js", + "build-mangle": "browserify -s isAlphabetical -p tinyify -o is-alphabetical.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "capitalized-comments": "off" + }, + "ignores": [ + "is-alphabetical.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md new file mode 100644 index 00000000000..2a6064b6865 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphabetical/readme.md @@ -0,0 +1,70 @@ +# is-alphabetical + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Check if a character is alphabetical. + +## Install + +[npm][]: + +```sh +npm install is-alphabetical +``` + +## Use + +```js +var alphabetical = require('is-alphabetical') + +alphabetical('a') // => true +alphabetical('B') // => true +alphabetical('0') // => false +alphabetical('💩') // => false +``` + +## API + +### `alphabetical(character|code)` + +Check whether the given character code (`number`), or the character code at the +first position (`string`), is alphabetical. + +## Related + +* [`is-decimal`](https://github.com/wooorm/is-decimal) +* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) +* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) +* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) +* [`is-word-character`](https://github.com/wooorm/is-word-character) + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/is-alphabetical.svg + +[build]: https://travis-ci.org/wooorm/is-alphabetical + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-alphabetical.svg + +[coverage]: https://codecov.io/github/wooorm/is-alphabetical + +[downloads-badge]: https://img.shields.io/npm/dm/is-alphabetical.svg + +[downloads]: https://www.npmjs.com/package/is-alphabetical + +[size-badge]: https://img.shields.io/bundlephobia/minzip/is-alphabetical.svg + +[size]: https://bundlephobia.com/result?p=is-alphabetical + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js new file mode 100644 index 00000000000..cd5edef3dbf --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/index.js @@ -0,0 +1,12 @@ +'use strict' + +var alphabetical = require('is-alphabetical') +var decimal = require('is-decimal') + +module.exports = alphanumerical + +// Check if the given character code, or the character code at the first +// character, is alphanumerical. +function alphanumerical(character) { + return alphabetical(character) || decimal(character) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json new file mode 100644 index 00000000000..edaa31e66f0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/package.json @@ -0,0 +1,77 @@ +{ + "name": "is-alphanumerical", + "version": "1.0.4", + "description": "Check if a character is alphanumerical", + "license": "MIT", + "keywords": [ + "string", + "character", + "char", + "code", + "alphabetical", + "numerical", + "alphanumerical" + ], + "repository": "wooorm/is-alphanumerical", + "bugs": "https://github.com/wooorm/is-alphanumerical/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s isAlphanumerical -o is-alphanumerical.js", + "build-mangle": "browserify . -s isAlphanumerical -p tinyify -o is-alphanumerical.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "is-alphanumerical.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md new file mode 100644 index 00000000000..8496cad64e6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-alphanumerical/readme.md @@ -0,0 +1,71 @@ +# is-alphanumerical + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Check if a character is alphanumerical (`[a-zA-Z0-9]`). + +## Install + +[npm][]: + +```sh +npm install is-alphanumerical +``` + +## Use + +```js +var alphanumerical = require('is-alphanumerical') + +alphanumerical('a') // => true +alphanumerical('Z') // => true +alphanumerical('0') // => true +alphanumerical(' ') // => false +alphanumerical('💩') // => false +``` + +## API + +### `alphanumerical(character)` + +Check whether the given character code (`number`), or the character code at the +first position (`string`), is alphanumerical. + +## Related + +* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) +* [`is-decimal`](https://github.com/wooorm/is-decimal) +* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) +* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) +* [`is-word-character`](https://github.com/wooorm/is-word-character) + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/is-alphanumerical.svg + +[build]: https://travis-ci.org/wooorm/is-alphanumerical + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-alphanumerical.svg + +[coverage]: https://codecov.io/github/wooorm/is-alphanumerical + +[downloads-badge]: https://img.shields.io/npm/dm/is-alphanumerical.svg + +[downloads]: https://www.npmjs.com/package/is-alphanumerical + +[size-badge]: https://img.shields.io/bundlephobia/minzip/is-alphanumerical.svg + +[size]: https://bundlephobia.com/result?p=is-alphanumerical + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE new file mode 100644 index 00000000000..0c068ceecbd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md new file mode 100644 index 00000000000..cce0a8cf924 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/README.md @@ -0,0 +1,53 @@ +# is-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] + +[travis-image]: https://img.shields.io/travis/feross/is-buffer/master.svg +[travis-url]: https://travis-ci.org/feross/is-buffer +[npm-image]: https://img.shields.io/npm/v/is-buffer.svg +[npm-url]: https://npmjs.org/package/is-buffer +[downloads-image]: https://img.shields.io/npm/dm/is-buffer.svg +[downloads-url]: https://npmjs.org/package/is-buffer +[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg +[standard-url]: https://standardjs.com + +#### Determine if an object is a [`Buffer`](http://nodejs.org/api/buffer.html) (including the [browserify Buffer](https://github.com/feross/buffer)) + +[![saucelabs][saucelabs-image]][saucelabs-url] + +[saucelabs-image]: https://saucelabs.com/browser-matrix/is-buffer.svg +[saucelabs-url]: https://saucelabs.com/u/is-buffer + +## Why not use `Buffer.isBuffer`? + +This module lets you check if an object is a `Buffer` without using `Buffer.isBuffer` (which includes the whole [buffer](https://github.com/feross/buffer) module in [browserify](http://browserify.org/)). + +It's future-proof and works in node too! + +## install + +```bash +npm install is-buffer +``` + +## usage + +```js +var isBuffer = require('is-buffer') + +isBuffer(new Buffer(4)) // true + +isBuffer(undefined) // false +isBuffer(null) // false +isBuffer('') // false +isBuffer(true) // false +isBuffer(false) // false +isBuffer(0) // false +isBuffer(1) // false +isBuffer(1.0) // false +isBuffer('string') // false +isBuffer({}) // false +isBuffer(function foo () {}) // false +``` + +## license + +MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org). diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js new file mode 100644 index 00000000000..9cce396594f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/index.js @@ -0,0 +1,21 @@ +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +// The _isBuffer check is for Safari 5-7 support, because it's missing +// Object.prototype.constructor. Remove this eventually +module.exports = function (obj) { + return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) +} + +function isBuffer (obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +} + +// For Node v0.10 support. Remove this eventually. +function isSlowBuffer (obj) { + return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json new file mode 100644 index 00000000000..ea12137a63c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-buffer/package.json @@ -0,0 +1,51 @@ +{ + "name": "is-buffer", + "description": "Determine if an object is a Buffer", + "version": "1.1.6", + "author": { + "name": "Feross Aboukhadijeh", + "email": "feross@feross.org", + "url": "http://feross.org/" + }, + "bugs": { + "url": "https://github.com/feross/is-buffer/issues" + }, + "dependencies": {}, + "devDependencies": { + "standard": "*", + "tape": "^4.0.0", + "zuul": "^3.0.0" + }, + "keywords": [ + "buffer", + "buffers", + "type", + "core buffer", + "browser buffer", + "browserify", + "typed array", + "uint32array", + "int16array", + "int32array", + "float32array", + "float64array", + "browser", + "arraybuffer", + "dataview" + ], + "license": "MIT", + "main": "index.js", + "repository": { + "type": "git", + "url": "git://github.com/feross/is-buffer.git" + }, + "scripts": { + "test": "standard && npm run test-node && npm run test-browser", + "test-browser": "zuul -- test/*.js", + "test-browser-local": "zuul --local -- test/*.js", + "test-node": "tape test/*.js" + }, + "testling": { + "files": "test/*.js" + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js new file mode 100644 index 00000000000..a522104e5cf --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/index.js @@ -0,0 +1,11 @@ +'use strict' + +module.exports = decimal + +// Check if the given character code, or the character code at the first +// character, is decimal. +function decimal(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character + + return code >= 48 && code <= 57 /* 0-9 */ +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json new file mode 100644 index 00000000000..5589c2a4f1f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/package.json @@ -0,0 +1,72 @@ +{ + "name": "is-decimal", + "version": "1.0.4", + "description": "Check if a character is decimal", + "license": "MIT", + "keywords": [ + "string", + "character", + "char", + "code", + "decimal" + ], + "repository": "wooorm/is-decimal", + "bugs": "https://github.com/wooorm/is-decimal/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s isDecimal -o is-decimal.js", + "build-mangle": "browserify . -s isDecimal -p tinyify -o is-decimal.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "is-decimal.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md new file mode 100644 index 00000000000..d24a3d28c0a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-decimal/readme.md @@ -0,0 +1,69 @@ +# is-decimal + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Check if a character is decimal. + +## Install + +[npm][]: + +```sh +npm install is-decimal +``` + +## Use + +```js +var decimal = require('is-decimal') + +decimal('0') // => true +decimal('9') // => true +decimal('a') // => false +decimal('💩') // => false +``` + +## API + +### `decimal(character|code)` + +Check whether the given character code (`number`), or the character code at the +first position (`string`), is decimal. + +## Related + +* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) +* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) +* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) +* [`is-word-character`](https://github.com/wooorm/is-word-character) + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/is-decimal.svg + +[build]: https://travis-ci.org/wooorm/is-decimal + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-decimal.svg + +[coverage]: https://codecov.io/github/wooorm/is-decimal + +[downloads-badge]: https://img.shields.io/npm/dm/is-decimal.svg + +[downloads]: https://www.npmjs.com/package/is-decimal + +[size-badge]: https://img.shields.io/bundlephobia/minzip/is-decimal.svg + +[size]: https://bundlephobia.com/result?p=is-decimal + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js new file mode 100644 index 00000000000..567c9d1c077 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/index.js @@ -0,0 +1,15 @@ +'use strict' + +module.exports = hexadecimal + +// Check if the given character code, or the character code at the first +// character, is hexadecimal. +function hexadecimal(character) { + var code = typeof character === 'string' ? character.charCodeAt(0) : character + + return ( + (code >= 97 /* a */ && code <= 102) /* z */ || + (code >= 65 /* A */ && code <= 70) /* Z */ || + (code >= 48 /* A */ && code <= 57) /* Z */ + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json new file mode 100644 index 00000000000..b8741fe1029 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/package.json @@ -0,0 +1,72 @@ +{ + "name": "is-hexadecimal", + "version": "1.0.4", + "description": "Check if a character is hexadecimal", + "license": "MIT", + "keywords": [ + "string", + "character", + "char", + "code", + "hexadecimal" + ], + "repository": "wooorm/is-hexadecimal", + "bugs": "https://github.com/wooorm/is-hexadecimal/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s isHexadecimal -o is-hexadecimal.js", + "build-mangle": "browserify . -s isHexadecimal -p tinyify -o is-hexadecimal.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "is-hexadecimal.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md new file mode 100644 index 00000000000..7c82b1b8d46 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-hexadecimal/readme.md @@ -0,0 +1,70 @@ +# is-hexadecimal + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Check if a character is hexadecimal. + +## Install + +[npm][]: + +```sh +npm install is-hexadecimal +``` + +## Use + +```js +var hexadecimal = require('is-hexadecimal') + +hexadecimal('a') // => true +hexadecimal('0') // => true +hexadecimal('G') // => false +hexadecimal('💩') // => false +``` + +## API + +### `hexadecimal(character|code)` + +Check whether the given character code (`number`), or the character code at the +first position (`string`), is hexadecimal. + +## Related + +* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) +* [`is-alphanumerical`](https://github.com/wooorm/is-alphabetical) +* [`is-decimal`](https://github.com/wooorm/is-decimal) +* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) +* [`is-word-character`](https://github.com/wooorm/is-word-character) + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/is-hexadecimal.svg + +[build]: https://travis-ci.org/wooorm/is-hexadecimal + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-hexadecimal.svg + +[coverage]: https://codecov.io/github/wooorm/is-hexadecimal + +[downloads-badge]: https://img.shields.io/npm/dm/is-hexadecimal.svg + +[downloads]: https://www.npmjs.com/package/is-hexadecimal + +[size-badge]: https://img.shields.io/bundlephobia/minzip/is-hexadecimal.svg + +[size]: https://bundlephobia.com/result?p=is-hexadecimal + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js new file mode 100644 index 00000000000..0d1ba9eeb89 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/index.js @@ -0,0 +1,7 @@ +'use strict'; +var toString = Object.prototype.toString; + +module.exports = function (x) { + var prototype; + return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license new file mode 100644 index 00000000000..654d0bfe943 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/license @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json new file mode 100644 index 00000000000..d331f6e8169 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/package.json @@ -0,0 +1,36 @@ +{ + "name": "is-plain-obj", + "version": "1.1.0", + "description": "Check if a value is a plain object", + "license": "MIT", + "repository": "sindresorhus/is-plain-obj", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "node test.js" + }, + "files": [ + "index.js" + ], + "keywords": [ + "obj", + "object", + "is", + "check", + "test", + "type", + "plain", + "vanilla", + "pure", + "simple" + ], + "devDependencies": { + "ava": "0.0.4" + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md new file mode 100644 index 00000000000..269e56aeff0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-plain-obj/readme.md @@ -0,0 +1,35 @@ +# is-plain-obj [![Build Status](https://travis-ci.org/sindresorhus/is-plain-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-plain-obj) + +> Check if a value is a plain object + +An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`. + + +## Install + +``` +$ npm install --save is-plain-obj +``` + + +## Usage + +```js +var isPlainObj = require('is-plain-obj'); + +isPlainObj({foo: 'bar'}); +//=> true + +isPlainObj([1, 2, 3]); +//=> false +``` + + +## Related + +- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object + + +## License + +MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js new file mode 100644 index 00000000000..801c19f0d8d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/index.js @@ -0,0 +1,14 @@ +'use strict' + +module.exports = whitespace + +var fromCode = String.fromCharCode +var re = /\s/ + +// Check if the given character code, or the character code at the first +// character, is a whitespace character. +function whitespace(character) { + return re.test( + typeof character === 'number' ? fromCode(character) : character.charAt(0) + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json new file mode 100644 index 00000000000..d6b35d9a0b5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/package.json @@ -0,0 +1,74 @@ +{ + "name": "is-whitespace-character", + "version": "1.0.4", + "description": "Check if a character is a whitespace character", + "license": "MIT", + "keywords": [ + "string", + "character", + "char", + "code", + "whitespace", + "white", + "space" + ], + "repository": "wooorm/is-whitespace-character", + "bugs": "https://github.com/wooorm/is-whitespace-character/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s isWhitespaceCharacter -o is-whitespace-character.js", + "build-mangle": "browserify . -s isWhitespaceCharacter -p tinyify -o is-whitespace-character.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "is-whitespace-character.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md new file mode 100644 index 00000000000..34d4f343c86 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-whitespace-character/readme.md @@ -0,0 +1,74 @@ +# is-whitespace-character + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Check if a character is a whitespace character: `\s`, which equals all Unicode +Space Separators (including `[ \t\v\f]`), the BOM (`\uFEFF`), and line +terminator (`[\n\r\u2028\u2029]`). + +## Install + +[npm][]: + +```sh +npm install is-whitespace-character +``` + +## Use + +```js +var whitespace = require('is-whitespace-character') + +whitespace(' ') // => true +whitespace('\n') // => true +whitespace('\uFEFF') // => true +whitespace('_') // => false +whitespace('a') // => false +whitespace('💩') // => false +``` + +## API + +### `whitespaceCharacter(character|code)` + +Check whether the given character code (`number`), or the character code at the +first position (`string`), is a whitespace character. + +## Related + +* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) +* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) +* [`is-decimal`](https://github.com/wooorm/is-decimal) +* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) +* [`is-word-character`](https://github.com/wooorm/is-word-character) + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/is-whitespace-character.svg + +[build]: https://travis-ci.org/wooorm/is-whitespace-character + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-whitespace-character.svg + +[coverage]: https://codecov.io/github/wooorm/is-whitespace-character + +[downloads-badge]: https://img.shields.io/npm/dm/is-whitespace-character.svg + +[downloads]: https://www.npmjs.com/package/is-whitespace-character + +[size-badge]: https://img.shields.io/bundlephobia/minzip/is-whitespace-character.svg + +[size]: https://bundlephobia.com/result?p=is-whitespace-character + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js new file mode 100644 index 00000000000..8c3537f9956 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/index.js @@ -0,0 +1,14 @@ +'use strict' + +module.exports = wordCharacter + +var fromCode = String.fromCharCode +var re = /\w/ + +// Check if the given character code, or the character code at the first +// character, is a word character. +function wordCharacter(character) { + return re.test( + typeof character === 'number' ? fromCode(character) : character.charAt(0) + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json new file mode 100644 index 00000000000..42c262cf64f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/package.json @@ -0,0 +1,72 @@ +{ + "name": "is-word-character", + "version": "1.0.4", + "description": "Check if a character is a word character", + "license": "MIT", + "keywords": [ + "string", + "character", + "char", + "code", + "word" + ], + "repository": "wooorm/is-word-character", + "bugs": "https://github.com/wooorm/is-word-character/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s isWordCharacter -o is-word-character.js", + "build-mangle": "browserify . -s isWordCharacter -p tinyify -o is-word-character.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "is-word-character.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md new file mode 100644 index 00000000000..3c88ce976e3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/is-word-character/readme.md @@ -0,0 +1,72 @@ +# is-word-character + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Check if a character is a word character (`\w`, which equals `[a-zA-Z0-9_]`). + +## Install + +[npm][]: + +```sh +npm install is-word-character +``` + +## Use + +```js +var wordCharacter = require('is-word-character') + +wordCharacter('a') // => true +wordCharacter('Z') // => true +wordCharacter('0') // => true +wordCharacter('_') // => true +wordCharacter(' ') // => false +wordCharacter('💩') // => false +``` + +## API + +### `wordCharacter(character|code)` + +Check whether the given character code (`number`), or the character code at the +first position (`string`), is a word character. + +## Related + +* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) +* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) +* [`is-decimal`](https://github.com/wooorm/is-decimal) +* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) +* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/is-word-character.svg + +[build]: https://travis-ci.org/wooorm/is-word-character + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-word-character.svg + +[coverage]: https://codecov.io/github/wooorm/is-word-character + +[downloads-badge]: https://img.shields.io/npm/dm/is-word-character.svg + +[downloads]: https://www.npmjs.com/package/is-word-character + +[size-badge]: https://img.shields.io/bundlephobia/minzip/is-word-character.svg + +[size]: https://bundlephobia.com/result?p=is-word-character + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js new file mode 100644 index 00000000000..f8bea48eacc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/index.js @@ -0,0 +1,57 @@ +'use strict' + +module.exports = escapes + +var defaults = [ + '\\', + '`', + '*', + '{', + '}', + '[', + ']', + '(', + ')', + '#', + '+', + '-', + '.', + '!', + '_', + '>' +] + +var gfm = defaults.concat(['~', '|']) + +var commonmark = gfm.concat([ + '\n', + '"', + '$', + '%', + '&', + "'", + ',', + '/', + ':', + ';', + '<', + '=', + '?', + '@', + '^' +]) + +escapes.default = defaults +escapes.gfm = gfm +escapes.commonmark = commonmark + +// Get markdown escapes. +function escapes(options) { + var settings = options || {} + + if (settings.commonmark) { + return commonmark + } + + return settings.gfm ? gfm : defaults +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json new file mode 100644 index 00000000000..7f94d86ad7a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/package.json @@ -0,0 +1,72 @@ +{ + "name": "markdown-escapes", + "version": "1.0.4", + "description": "List of escapable characters in markdown", + "license": "MIT", + "keywords": [ + "markdown", + "escape", + "pedantic", + "gfm", + "commonmark" + ], + "repository": "wooorm/markdown-escapes", + "bugs": "https://github.com/wooorm/markdown-escapes/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s markdownEscapes -o markdown-escapes.js", + "build-mangle": "browserify . -s markdownEscapes -p tinyify -o markdown-escapes.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "markdown-escapes.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md new file mode 100644 index 00000000000..a7404526114 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/markdown-escapes/readme.md @@ -0,0 +1,80 @@ +# markdown-escapes + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +List of escapable characters in markdown. + +## Install + +[npm][]: + +```sh +npm install markdown-escapes +``` + +## Use + +```js +var escapes = require('markdown-escapes'); + +// Access by property: +escapes.commonmark; //=> ['\\', '`', ..., '@', '^'] + +// Access by options object: +escapes({gfm: true}); //=> ['\\', '`', ..., '~', '|'] +``` + +## API + +### `escapes([options])` + +Get escapes. +Supports `options.commonmark` and `options.gfm`, which when `true` returns the +extra escape characters supported by those flavors. + +###### Returns + +`Array.`. + +### `escapes.default` + +List of default escapable characters. + +### `escapes.gfm` + +List of escapable characters in GFM (which includes all `default`s). + +### `escapes.commonmark` + +List of escapable characters in CommonMark (which includes all `gfm`s). + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/markdown-escapes.svg + +[build]: https://travis-ci.org/wooorm/markdown-escapes + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/markdown-escapes.svg + +[coverage]: https://codecov.io/github/wooorm/markdown-escapes + +[downloads-badge]: https://img.shields.io/npm/dm/markdown-escapes.svg + +[downloads]: https://www.npmjs.com/package/markdown-escapes + +[size-badge]: https://img.shields.io/bundlephobia/minzip/markdown-escapes.svg + +[size]: https://bundlephobia.com/result?p=markdown-escapes + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js new file mode 100644 index 00000000000..feb32664202 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.browser.js @@ -0,0 +1,30 @@ +'use strict' + +/* eslint-env browser */ + +var el + +var semicolon = 59 // ';' + +module.exports = decodeEntity + +function decodeEntity(characters) { + var entity = '&' + characters + ';' + var char + + el = el || document.createElement('i') + el.innerHTML = entity + char = el.textContent + + // Some entities do not require the closing semicolon (`¬` - for instance), + // which leads to situations where parsing the assumed entity of ¬it; will + // result in the string `¬it;`. When we encounter a trailing semicolon after + // parsing and the entity to decode was not a semicolon (`;`), we can + // assume that the matching was incomplete + if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') { + return false + } + + // If the decoded string is equal to the input, the entity was not valid + return char === entity ? false : char +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js new file mode 100644 index 00000000000..87c3b1e0bc2 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/decode-entity.js @@ -0,0 +1,13 @@ +'use strict' + +var characterEntities = require('character-entities') + +module.exports = decodeEntity + +var own = {}.hasOwnProperty + +function decodeEntity(characters) { + return own.call(characterEntities, characters) + ? characterEntities[characters] + : false +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js new file mode 100644 index 00000000000..1606d02f659 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/index.js @@ -0,0 +1,450 @@ +'use strict' + +var legacy = require('character-entities-legacy') +var invalid = require('character-reference-invalid') +var decimal = require('is-decimal') +var hexadecimal = require('is-hexadecimal') +var alphanumerical = require('is-alphanumerical') +var decodeEntity = require('./decode-entity') + +module.exports = parseEntities + +var own = {}.hasOwnProperty +var fromCharCode = String.fromCharCode +var noop = Function.prototype + +// Default settings. +var defaults = { + warning: null, + reference: null, + text: null, + warningContext: null, + referenceContext: null, + textContext: null, + position: {}, + additional: null, + attribute: false, + nonTerminated: true +} + +// Characters. +var tab = 9 // '\t' +var lineFeed = 10 // '\n' +var formFeed = 12 // '\f' +var space = 32 // ' ' +var ampersand = 38 // '&' +var semicolon = 59 // ';' +var lessThan = 60 // '<' +var equalsTo = 61 // '=' +var numberSign = 35 // '#' +var uppercaseX = 88 // 'X' +var lowercaseX = 120 // 'x' +var replacementCharacter = 65533 // '�' + +// Reference types. +var name = 'named' +var hexa = 'hexadecimal' +var deci = 'decimal' + +// Map of bases. +var bases = {} + +bases[hexa] = 16 +bases[deci] = 10 + +// Map of types to tests. +// Each type of character reference accepts different characters. +// This test is used to detect whether a reference has ended (as the semicolon +// is not strictly needed). +var tests = {} + +tests[name] = alphanumerical +tests[deci] = decimal +tests[hexa] = hexadecimal + +// Warning types. +var namedNotTerminated = 1 +var numericNotTerminated = 2 +var namedEmpty = 3 +var numericEmpty = 4 +var namedUnknown = 5 +var numericDisallowed = 6 +var numericProhibited = 7 + +// Warning messages. +var messages = {} + +messages[namedNotTerminated] = + 'Named character references must be terminated by a semicolon' +messages[numericNotTerminated] = + 'Numeric character references must be terminated by a semicolon' +messages[namedEmpty] = 'Named character references cannot be empty' +messages[numericEmpty] = 'Numeric character references cannot be empty' +messages[namedUnknown] = 'Named character references must be known' +messages[numericDisallowed] = + 'Numeric character references cannot be disallowed' +messages[numericProhibited] = + 'Numeric character references cannot be outside the permissible Unicode range' + +// Wrap to ensure clean parameters are given to `parse`. +function parseEntities(value, options) { + var settings = {} + var option + var key + + if (!options) { + options = {} + } + + for (key in defaults) { + option = options[key] + settings[key] = + option === null || option === undefined ? defaults[key] : option + } + + if (settings.position.indent || settings.position.start) { + settings.indent = settings.position.indent || [] + settings.position = settings.position.start + } + + return parse(value, settings) +} + +// Parse entities. +// eslint-disable-next-line complexity +function parse(value, settings) { + var additional = settings.additional + var nonTerminated = settings.nonTerminated + var handleText = settings.text + var handleReference = settings.reference + var handleWarning = settings.warning + var textContext = settings.textContext + var referenceContext = settings.referenceContext + var warningContext = settings.warningContext + var pos = settings.position + var indent = settings.indent || [] + var length = value.length + var index = 0 + var lines = -1 + var column = pos.column || 1 + var line = pos.line || 1 + var queue = '' + var result = [] + var entityCharacters + var namedEntity + var terminated + var characters + var character + var reference + var following + var warning + var reason + var output + var entity + var begin + var start + var type + var test + var prev + var next + var diff + var end + + if (typeof additional === 'string') { + additional = additional.charCodeAt(0) + } + + // Cache the current point. + prev = now() + + // Wrap `handleWarning`. + warning = handleWarning ? parseError : noop + + // Ensure the algorithm walks over the first character and the end (inclusive). + index-- + length++ + + while (++index < length) { + // If the previous character was a newline. + if (character === lineFeed) { + column = indent[lines] || 1 + } + + character = value.charCodeAt(index) + + if (character === ampersand) { + following = value.charCodeAt(index + 1) + + // The behaviour depends on the identity of the next character. + if ( + following === tab || + following === lineFeed || + following === formFeed || + following === space || + following === ampersand || + following === lessThan || + following !== following || + (additional && following === additional) + ) { + // Not a character reference. + // No characters are consumed, and nothing is returned. + // This is not an error, either. + queue += fromCharCode(character) + column++ + + continue + } + + start = index + 1 + begin = start + end = start + + if (following === numberSign) { + // Numerical entity. + end = ++begin + + // The behaviour further depends on the next character. + following = value.charCodeAt(end) + + if (following === uppercaseX || following === lowercaseX) { + // ASCII hex digits. + type = hexa + end = ++begin + } else { + // ASCII digits. + type = deci + } + } else { + // Named entity. + type = name + } + + entityCharacters = '' + entity = '' + characters = '' + test = tests[type] + end-- + + while (++end < length) { + following = value.charCodeAt(end) + + if (!test(following)) { + break + } + + characters += fromCharCode(following) + + // Check if we can match a legacy named reference. + // If so, we cache that as the last viable named reference. + // This ensures we do not need to walk backwards later. + if (type === name && own.call(legacy, characters)) { + entityCharacters = characters + entity = legacy[characters] + } + } + + terminated = value.charCodeAt(end) === semicolon + + if (terminated) { + end++ + + namedEntity = type === name ? decodeEntity(characters) : false + + if (namedEntity) { + entityCharacters = characters + entity = namedEntity + } + } + + diff = 1 + end - start + + if (!terminated && !nonTerminated) { + // Empty. + } else if (!characters) { + // An empty (possible) entity is valid, unless it’s numeric (thus an + // ampersand followed by an octothorp). + if (type !== name) { + warning(numericEmpty, diff) + } + } else if (type === name) { + // An ampersand followed by anything unknown, and not terminated, is + // invalid. + if (terminated && !entity) { + warning(namedUnknown, 1) + } else { + // If theres something after an entity name which is not known, cap + // the reference. + if (entityCharacters !== characters) { + end = begin + entityCharacters.length + diff = 1 + end - begin + terminated = false + } + + // If the reference is not terminated, warn. + if (!terminated) { + reason = entityCharacters ? namedNotTerminated : namedEmpty + + if (settings.attribute) { + following = value.charCodeAt(end) + + if (following === equalsTo) { + warning(reason, diff) + entity = null + } else if (alphanumerical(following)) { + entity = null + } else { + warning(reason, diff) + } + } else { + warning(reason, diff) + } + } + } + + reference = entity + } else { + if (!terminated) { + // All non-terminated numeric entities are not rendered, and trigger a + // warning. + warning(numericNotTerminated, diff) + } + + // When terminated and number, parse as either hexadecimal or decimal. + reference = parseInt(characters, bases[type]) + + // Trigger a warning when the parsed number is prohibited, and replace + // with replacement character. + if (prohibited(reference)) { + warning(numericProhibited, diff) + reference = fromCharCode(replacementCharacter) + } else if (reference in invalid) { + // Trigger a warning when the parsed number is disallowed, and replace + // by an alternative. + warning(numericDisallowed, diff) + reference = invalid[reference] + } else { + // Parse the number. + output = '' + + // Trigger a warning when the parsed number should not be used. + if (disallowed(reference)) { + warning(numericDisallowed, diff) + } + + // Stringify the number. + if (reference > 0xffff) { + reference -= 0x10000 + output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800) + reference = 0xdc00 | (reference & 0x3ff) + } + + reference = output + fromCharCode(reference) + } + } + + // Found it! + // First eat the queued characters as normal text, then eat an entity. + if (reference) { + flush() + + prev = now() + index = end - 1 + column += end - start + 1 + result.push(reference) + next = now() + next.offset++ + + if (handleReference) { + handleReference.call( + referenceContext, + reference, + {start: prev, end: next}, + value.slice(start - 1, end) + ) + } + + prev = next + } else { + // If we could not find a reference, queue the checked characters (as + // normal characters), and move the pointer to their end. + // This is possible because we can be certain neither newlines nor + // ampersands are included. + characters = value.slice(start - 1, end) + queue += characters + column += characters.length + index = end - 1 + } + } else { + // Handle anything other than an ampersand, including newlines and EOF. + if ( + character === 10 // Line feed + ) { + line++ + lines++ + column = 0 + } + + if (character === character) { + queue += fromCharCode(character) + column++ + } else { + flush() + } + } + } + + // Return the reduced nodes, and any possible warnings. + return result.join('') + + // Get current position. + function now() { + return { + line: line, + column: column, + offset: index + (pos.offset || 0) + } + } + + // “Throw” a parse-error: a warning. + function parseError(code, offset) { + var position = now() + + position.column += offset + position.offset += offset + + handleWarning.call(warningContext, messages[code], position, code) + } + + // Flush `queue` (normal text). + // Macro invoked before each entity and at the end of `value`. + // Does nothing when `queue` is empty. + function flush() { + if (queue) { + result.push(queue) + + if (handleText) { + handleText.call(textContext, queue, {start: prev, end: now()}) + } + + queue = '' + } + } +} + +// Check if `character` is outside the permissible unicode range. +function prohibited(code) { + return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff +} + +// Check if `character` is disallowed. +function disallowed(code) { + return ( + (code >= 0x0001 && code <= 0x0008) || + code === 0x000b || + (code >= 0x000d && code <= 0x001f) || + (code >= 0x007f && code <= 0x009f) || + (code >= 0xfdd0 && code <= 0xfdef) || + (code & 0xffff) === 0xffff || + (code & 0xffff) === 0xfffe + ) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license new file mode 100644 index 00000000000..611b67581bb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json new file mode 100644 index 00000000000..a5e1bc46f6a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/package.json @@ -0,0 +1,91 @@ +{ + "name": "parse-entities", + "version": "1.2.2", + "description": "Parse HTML character references: fast, spec-compliant, positional information", + "license": "MIT", + "keywords": [ + "parse", + "html", + "character", + "reference", + "entity", + "entities" + ], + "repository": "wooorm/parse-entities", + "bugs": "https://github.com/wooorm/parse-entities/issues", + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "browser": { + "./decode-entity.js": "./decode-entity.browser.js" + }, + "react-native": { + "./decode-entity.js": "./decode-entity.js" + }, + "files": [ + "index.js", + "decode-entity.js", + "decode-entity.browser.js" + ], + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.12.1", + "remark-cli": "^6.0.0", + "remark-preset-wooorm": "^4.0.0", + "tape": "^4.2.0", + "tape-run": "^6.0.0", + "tinyify": "^2.4.3", + "xo": "^0.24.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s parseEntities > parse-entities.js", + "build-mangle": "browserify . -s parseEntities -p tinyify > parse-entities.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test-browser": "browserify test.js | tape-run", + "test": "npm run format && npm run build && npm run test-coverage && npm run test-browser" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "no-self-compare": "off", + "guard-for-in": "off", + "max-depth": "off" + }, + "ignores": [ + "parse-entities.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md new file mode 100644 index 00000000000..e9cc0f037ff --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/parse-entities/readme.md @@ -0,0 +1,217 @@ +# parse-entities + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Parse HTML character references: fast, spec-compliant, positional +information. + +## Installation + +[npm][]: + +```bash +npm install parse-entities +``` + +## Usage + +```js +var decode = require('parse-entities') + +decode('alpha & bravo') +// => alpha & bravo + +decode('charlie ©cat; delta') +// => charlie ©cat; delta + +decode('echo © foxtrot ≠ golf 𝌆 hotel') +// => echo © foxtrot ≠ golf 𝌆 hotel +``` + +## API + +## `parseEntities(value[, options])` + +##### `options` + +###### `options.additional` + +Additional character to accept (`string?`, default: `''`). +This allows other characters, without error, when following an ampersand. + +###### `options.attribute` + +Whether to parse `value` as an attribute value (`boolean?`, default: +`false`). + +###### `options.nonTerminated` + +Whether to allow non-terminated entities (`boolean`, default: `true`). +For example, `©cat` for `©cat`. This behaviour is spec-compliant but +can lead to unexpected results. + +###### `options.warning` + +Error handler ([`Function?`][warning]). + +###### `options.text` + +Text handler ([`Function?`][text]). + +###### `options.reference` + +Reference handler ([`Function?`][reference]). + +###### `options.warningContext` + +Context used when invoking `warning` (`'*'`, optional). + +###### `options.textContext` + +Context used when invoking `text` (`'*'`, optional). + +###### `options.referenceContext` + +Context used when invoking `reference` (`'*'`, optional) + +###### `options.position` + +Starting `position` of `value` (`Location` or `Position`, optional). Useful +when dealing with values nested in some sort of syntax tree. The default is: + +```js +{ + start: {line: 1, column: 1, offset: 0}, + indent: [] +} +``` + +##### Returns + +`string` — Decoded `value`. + +### `function warning(reason, position, code)` + +Error handler. + +##### Context + +`this` refers to `warningContext` when given to `parseEntities`. + +##### Parameters + +###### `reason` + +Human-readable reason for triggering a parse error (`string`). + +###### `position` + +Place at which the parse error occurred (`Position`). + +###### `code` + +Identifier of reason for triggering a parse error (`number`). + +The following codes are used: + +| Code | Example | Note | +| ---- | ------------------ | --------------------------------------------- | +| `1` | `foo & bar` | Missing semicolon (named) | +| `2` | `foo { bar` | Missing semicolon (numeric) | +| `3` | `Foo &bar baz` | Ampersand did not start a reference | +| `4` | `Foo &#` | Empty reference | +| `5` | `Foo &bar; baz` | Unknown entity | +| `6` | `Foo € baz` | [Disallowed reference][invalid] | +| `7` | `Foo � baz` | Prohibited: outside permissible unicode range | + +### `function text(value, location)` + +Text handler. + +##### Context + +`this` refers to `textContext` when given to `parseEntities`. + +##### Parameters + +###### `value` + +String of content (`string`). + +###### `location` + +Location at which `value` starts and ends (`Location`). + +### `function reference(value, location, source)` + +Character reference handler. + +##### Context + +`this` refers to `referenceContext` when given to `parseEntities`. + +##### Parameters + +###### `value` + +Encoded character reference (`string`). + +###### `location` + +Location at which `value` starts and ends (`Location`). + +###### `source` + +Source of character reference (`Location`). + +## Related + +* [`stringify-entities`](https://github.com/wooorm/stringify-entities) + — Encode HTML character references +* [`character-entities`](https://github.com/wooorm/character-entities) + — Info on character entities +* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) + — Info on HTML4 character entities +* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) + — Info on legacy character entities +* [`character-reference-invalid`](https://github.com/wooorm/character-reference-invalid) + — Info on invalid numeric character references + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/parse-entities.svg + +[build]: https://travis-ci.org/wooorm/parse-entities + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/parse-entities.svg + +[coverage]: https://codecov.io/github/wooorm/parse-entities + +[downloads-badge]: https://img.shields.io/npm/dm/parse-entities.svg + +[downloads]: https://www.npmjs.com/package/parse-entities + +[size-badge]: https://img.shields.io/bundlephobia/minzip/parse-entities.svg + +[size]: https://bundlephobia.com/result?p=parse-entities + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[warning]: #function-warningreason-position-code + +[text]: #function-textvalue-location + +[reference]: #function-referencevalue-location-source + +[invalid]: https://github.com/wooorm/character-reference-invalid diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js new file mode 100644 index 00000000000..1579e35518c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/index.js @@ -0,0 +1,14 @@ +'use strict'; + +var unherit = require('unherit'); +var xtend = require('xtend'); +var Parser = require('./lib/parser.js'); + +module.exports = parse; +parse.Parser = Parser; + +function parse(options) { + var Local = unherit(Parser); + Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options); + this.Parser = Local; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json new file mode 100644 index 00000000000..2d13b561792 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/block-elements.json @@ -0,0 +1,68 @@ +[ + "address", + "article", + "aside", + "base", + "basefont", + "blockquote", + "body", + "caption", + "center", + "col", + "colgroup", + "dd", + "details", + "dialog", + "dir", + "div", + "dl", + "dt", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "frame", + "frameset", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "iframe", + "legend", + "li", + "link", + "main", + "menu", + "menuitem", + "meta", + "nav", + "noframes", + "ol", + "optgroup", + "option", + "p", + "param", + "pre", + "section", + "source", + "title", + "summary", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "title", + "tr", + "track", + "ul" +] diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js new file mode 100644 index 00000000000..fd45b729d06 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/decode.js @@ -0,0 +1,64 @@ +'use strict'; + +var xtend = require('xtend'); +var entities = require('parse-entities'); + +module.exports = factory; + +/* Factory to create an entity decoder. */ +function factory(ctx) { + decoder.raw = decodeRaw; + + return decoder; + + /* Normalize `position` to add an `indent`. */ + function normalize(position) { + var offsets = ctx.offset; + var line = position.line; + var result = []; + + while (++line) { + if (!(line in offsets)) { + break; + } + + result.push((offsets[line] || 0) + 1); + } + + return { + start: position, + indent: result + }; + } + + /* Handle a warning. + * See https://github.com/wooorm/parse-entities + * for the warnings. */ + function handleWarning(reason, position, code) { + if (code === 3) { + return; + } + + ctx.file.message(reason, position); + } + + /* Decode `value` (at `position`) into text-nodes. */ + function decoder(value, position, handler) { + entities(value, { + position: normalize(position), + warning: handleWarning, + text: handler, + reference: handler, + textContext: ctx, + referenceContext: ctx + }); + } + + /* Decode `value` (at `position`) into a string. */ + function decodeRaw(value, position, options) { + return entities(value, xtend(options, { + position: normalize(position), + warning: handleWarning + })); + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js new file mode 100644 index 00000000000..37846f3930a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/defaults.js @@ -0,0 +1,10 @@ +'use strict'; + +module.exports = { + position: true, + gfm: true, + commonmark: false, + footnotes: false, + pedantic: false, + blocks: require('./block-elements.json') +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js new file mode 100644 index 00000000000..295bdc98551 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/break.js @@ -0,0 +1,17 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + var index = value.indexOf('\n', fromIndex); + + while (index > fromIndex) { + if (value.charAt(index - 1) !== ' ') { + break; + } + + index--; + } + + return index; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js new file mode 100644 index 00000000000..981c8169825 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/code-inline.js @@ -0,0 +1,7 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + return value.indexOf('`', fromIndex); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js new file mode 100644 index 00000000000..d208aef2fff --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/delete.js @@ -0,0 +1,7 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + return value.indexOf('~~', fromIndex); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js new file mode 100644 index 00000000000..6a1f24227d0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/emphasis.js @@ -0,0 +1,18 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + var asterisk = value.indexOf('*', fromIndex); + var underscore = value.indexOf('_', fromIndex); + + if (underscore === -1) { + return asterisk; + } + + if (asterisk === -1) { + return underscore; + } + + return underscore < asterisk ? underscore : asterisk; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js new file mode 100644 index 00000000000..f6c63715827 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/escape.js @@ -0,0 +1,7 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + return value.indexOf('\\', fromIndex); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js new file mode 100644 index 00000000000..0f16fd8016b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/link.js @@ -0,0 +1,16 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + var link = value.indexOf('[', fromIndex); + var image = value.indexOf('![', fromIndex); + + if (image === -1) { + return link; + } + + /* Link can never be `-1` if an image is found, so we don’t need + * to check for that :) */ + return link < image ? link : image; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js new file mode 100644 index 00000000000..da1cac0a499 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/strong.js @@ -0,0 +1,18 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + var asterisk = value.indexOf('**', fromIndex); + var underscore = value.indexOf('__', fromIndex); + + if (underscore === -1) { + return asterisk; + } + + if (asterisk === -1) { + return underscore; + } + + return underscore < asterisk ? underscore : asterisk; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js new file mode 100644 index 00000000000..3c5534268ab --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/tag.js @@ -0,0 +1,7 @@ +'use strict'; + +module.exports = locate; + +function locate(value, fromIndex) { + return value.indexOf('<', fromIndex); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js new file mode 100644 index 00000000000..59b63e25636 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/locate/url.js @@ -0,0 +1,26 @@ +'use strict'; + +module.exports = locate; + +var PROTOCOLS = ['https://', 'http://', 'mailto:']; + +function locate(value, fromIndex) { + var length = PROTOCOLS.length; + var index = -1; + var min = -1; + var position; + + if (!this.options.gfm) { + return -1; + } + + while (++index < length) { + position = value.indexOf(PROTOCOLS[index], fromIndex); + + if (position !== -1 && (position < min || min === -1)) { + min = position; + } + } + + return min; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js new file mode 100644 index 00000000000..5a8d8119556 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parse.js @@ -0,0 +1,45 @@ +'use strict'; + +var xtend = require('xtend'); +var removePosition = require('unist-util-remove-position'); + +module.exports = parse; + +var C_NEWLINE = '\n'; +var EXPRESSION_LINE_BREAKS = /\r\n|\r/g; + +/* Parse the bound file. */ +function parse() { + var self = this; + var value = String(self.file); + var start = {line: 1, column: 1, offset: 0}; + var content = xtend(start); + var node; + + /* Clean non-unix newlines: `\r\n` and `\r` are all + * changed to `\n`. This should not affect positional + * information. */ + value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE); + + if (value.charCodeAt(0) === 0xFEFF) { + value = value.slice(1); + + content.column++; + content.offset++; + } + + node = { + type: 'root', + children: self.tokenizeBlock(value, content), + position: { + start: start, + end: self.eof || xtend(start) + } + }; + + if (!self.options.position) { + removePosition(node, true); + } + + return node; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js new file mode 100644 index 00000000000..9291109f16f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/parser.js @@ -0,0 +1,152 @@ +'use strict'; + +var xtend = require('xtend'); +var toggle = require('state-toggle'); +var vfileLocation = require('vfile-location'); +var unescape = require('./unescape'); +var decode = require('./decode'); +var tokenizer = require('./tokenizer'); + +module.exports = Parser; + +function Parser(doc, file) { + this.file = file; + this.offset = {}; + this.options = xtend(this.options); + this.setOptions({}); + + this.inList = false; + this.inBlock = false; + this.inLink = false; + this.atStart = true; + + this.toOffset = vfileLocation(file).toOffset; + this.unescape = unescape(this, 'escape'); + this.decode = decode(this); +} + +var proto = Parser.prototype; + +/* Expose core. */ +proto.setOptions = require('./set-options'); +proto.parse = require('./parse'); + +/* Expose `defaults`. */ +proto.options = require('./defaults'); + +/* Enter and exit helpers. */ +proto.exitStart = toggle('atStart', true); +proto.enterList = toggle('inList', false); +proto.enterLink = toggle('inLink', false); +proto.enterBlock = toggle('inBlock', false); + +/* Nodes that can interupt a paragraph: + * + * ```markdown + * A paragraph, followed by a thematic break. + * ___ + * ``` + * + * In the above example, the thematic break “interupts” + * the paragraph. */ +proto.interruptParagraph = [ + ['thematicBreak'], + ['atxHeading'], + ['fencedCode'], + ['blockquote'], + ['html'], + ['setextHeading', {commonmark: false}], + ['definition', {commonmark: false}], + ['footnote', {commonmark: false}] +]; + +/* Nodes that can interupt a list: + * + * ```markdown + * - One + * ___ + * ``` + * + * In the above example, the thematic break “interupts” + * the list. */ +proto.interruptList = [ + ['atxHeading', {pedantic: false}], + ['fencedCode', {pedantic: false}], + ['thematicBreak', {pedantic: false}], + ['definition', {commonmark: false}], + ['footnote', {commonmark: false}] +]; + +/* Nodes that can interupt a blockquote: + * + * ```markdown + * > A paragraph. + * ___ + * ``` + * + * In the above example, the thematic break “interupts” + * the blockquote. */ +proto.interruptBlockquote = [ + ['indentedCode', {commonmark: true}], + ['fencedCode', {commonmark: true}], + ['atxHeading', {commonmark: true}], + ['setextHeading', {commonmark: true}], + ['thematicBreak', {commonmark: true}], + ['html', {commonmark: true}], + ['list', {commonmark: true}], + ['definition', {commonmark: false}], + ['footnote', {commonmark: false}] +]; + +/* Handlers. */ +proto.blockTokenizers = { + newline: require('./tokenize/newline'), + indentedCode: require('./tokenize/code-indented'), + fencedCode: require('./tokenize/code-fenced'), + blockquote: require('./tokenize/blockquote'), + atxHeading: require('./tokenize/heading-atx'), + thematicBreak: require('./tokenize/thematic-break'), + list: require('./tokenize/list'), + setextHeading: require('./tokenize/heading-setext'), + html: require('./tokenize/html-block'), + footnote: require('./tokenize/footnote-definition'), + definition: require('./tokenize/definition'), + table: require('./tokenize/table'), + paragraph: require('./tokenize/paragraph') +}; + +proto.inlineTokenizers = { + escape: require('./tokenize/escape'), + autoLink: require('./tokenize/auto-link'), + url: require('./tokenize/url'), + html: require('./tokenize/html-inline'), + link: require('./tokenize/link'), + reference: require('./tokenize/reference'), + strong: require('./tokenize/strong'), + emphasis: require('./tokenize/emphasis'), + deletion: require('./tokenize/delete'), + code: require('./tokenize/code-inline'), + break: require('./tokenize/break'), + text: require('./tokenize/text') +}; + +/* Expose precedence. */ +proto.blockMethods = keys(proto.blockTokenizers); +proto.inlineMethods = keys(proto.inlineTokenizers); + +/* Tokenizers. */ +proto.tokenizeBlock = tokenizer('block'); +proto.tokenizeInline = tokenizer('inline'); +proto.tokenizeFactory = tokenizer; + +/* Get all keys in `value`. */ +function keys(value) { + var result = []; + var key; + + for (key in value) { + result.push(key); + } + + return result; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js new file mode 100644 index 00000000000..c55f7f32f31 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/set-options.js @@ -0,0 +1,47 @@ +'use strict'; + +var xtend = require('xtend'); +var escapes = require('markdown-escapes'); +var defaults = require('./defaults'); + +module.exports = setOptions; + +function setOptions(options) { + var self = this; + var current = self.options; + var key; + var value; + + if (options == null) { + options = {}; + } else if (typeof options === 'object') { + options = xtend(options); + } else { + throw new Error( + 'Invalid value `' + options + '` ' + + 'for setting `options`' + ); + } + + for (key in defaults) { + value = options[key]; + + if (value == null) { + value = current[key]; + } + + if ( + (key !== 'blocks' && typeof value !== 'boolean') || + (key === 'blocks' && typeof value !== 'object') + ) { + throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`'); + } + + options[key] = value; + } + + self.options = options; + self.escape = escapes(options); + + return self; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js new file mode 100644 index 00000000000..c945a2c1f88 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/auto-link.js @@ -0,0 +1,145 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var decode = require('parse-entities'); +var locate = require('../locate/tag'); + +module.exports = autoLink; +autoLink.locator = locate; +autoLink.notInLink = true; + +var C_LT = '<'; +var C_GT = '>'; +var C_AT_SIGN = '@'; +var C_SLASH = '/'; +var MAILTO = 'mailto:'; +var MAILTO_LENGTH = MAILTO.length; + +/* Tokenise a link. */ +function autoLink(eat, value, silent) { + var self; + var subvalue; + var length; + var index; + var queue; + var character; + var hasAtCharacter; + var link; + var now; + var content; + var tokenizers; + var exit; + + if (value.charAt(0) !== C_LT) { + return; + } + + self = this; + subvalue = ''; + length = value.length; + index = 0; + queue = ''; + hasAtCharacter = false; + link = ''; + + index++; + subvalue = C_LT; + + while (index < length) { + character = value.charAt(index); + + if ( + whitespace(character) || + character === C_GT || + character === C_AT_SIGN || + (character === ':' && value.charAt(index + 1) === C_SLASH) + ) { + break; + } + + queue += character; + index++; + } + + if (!queue) { + return; + } + + link += queue; + queue = ''; + + character = value.charAt(index); + link += character; + index++; + + if (character === C_AT_SIGN) { + hasAtCharacter = true; + } else { + if ( + character !== ':' || + value.charAt(index + 1) !== C_SLASH + ) { + return; + } + + link += C_SLASH; + index++; + } + + while (index < length) { + character = value.charAt(index); + + if (whitespace(character) || character === C_GT) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (!queue || character !== C_GT) { + return; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + link += queue; + content = link; + subvalue += link + character; + now = eat.now(); + now.column++; + now.offset++; + + if (hasAtCharacter) { + if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) { + content = content.substr(MAILTO_LENGTH); + now.column += MAILTO_LENGTH; + now.offset += MAILTO_LENGTH; + } else { + link = MAILTO + link; + } + } + + /* Temporarily remove all tokenizers except text in autolinks. */ + tokenizers = self.inlineTokenizers; + self.inlineTokenizers = {text: tokenizers.text}; + + exit = self.enterLink(); + + content = self.tokenizeInline(content, now); + + self.inlineTokenizers = tokenizers; + exit(); + + return eat(subvalue)({ + type: 'link', + title: null, + url: decode(link, {nonTerminated: false}), + children: content + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js new file mode 100644 index 00000000000..bd700d6a6c8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/blockquote.js @@ -0,0 +1,129 @@ +'use strict'; + +var trim = require('trim'); +var interrupt = require('../util/interrupt'); + +module.exports = blockquote; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_GT = '>'; + +/* Tokenise a blockquote. */ +function blockquote(eat, value, silent) { + var self = this; + var offsets = self.offset; + var tokenizers = self.blockTokenizers; + var interruptors = self.interruptBlockquote; + var now = eat.now(); + var currentLine = now.line; + var length = value.length; + var values = []; + var contents = []; + var indents = []; + var add; + var index = 0; + var character; + var rest; + var nextIndex; + var content; + var line; + var startIndex; + var prefixed; + var exit; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + break; + } + + index++; + } + + if (value.charAt(index) !== C_GT) { + return; + } + + if (silent) { + return true; + } + + index = 0; + + while (index < length) { + nextIndex = value.indexOf(C_NEWLINE, index); + startIndex = index; + prefixed = false; + + if (nextIndex === -1) { + nextIndex = length; + } + + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + break; + } + + index++; + } + + if (value.charAt(index) === C_GT) { + index++; + prefixed = true; + + if (value.charAt(index) === C_SPACE) { + index++; + } + } else { + index = startIndex; + } + + content = value.slice(index, nextIndex); + + if (!prefixed && !trim(content)) { + index = startIndex; + break; + } + + if (!prefixed) { + rest = value.slice(index); + + /* Check if the following code contains a possible + * block. */ + if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) { + break; + } + } + + line = startIndex === index ? content : value.slice(startIndex, nextIndex); + + indents.push(index - startIndex); + values.push(line); + contents.push(content); + + index = nextIndex + 1; + } + + index = -1; + length = indents.length; + add = eat(values.join(C_NEWLINE)); + + while (++index < length) { + offsets[currentLine] = (offsets[currentLine] || 0) + indents[index]; + currentLine++; + } + + exit = self.enterBlock(); + contents = self.tokenizeBlock(contents.join(C_NEWLINE), now); + exit(); + + return add({ + type: 'blockquote', + children: contents + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js new file mode 100644 index 00000000000..eb531342bfe --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/break.js @@ -0,0 +1,40 @@ +'use strict'; + +var locate = require('../locate/break'); + +module.exports = hardBreak; +hardBreak.locator = locate; + +var MIN_BREAK_LENGTH = 2; + +function hardBreak(eat, value, silent) { + var length = value.length; + var index = -1; + var queue = ''; + var character; + + while (++index < length) { + character = value.charAt(index); + + if (character === '\n') { + if (index < MIN_BREAK_LENGTH) { + return; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + queue += character; + + return eat(queue)({type: 'break'}); + } + + if (character !== ' ') { + return; + } + + queue += character; + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js new file mode 100644 index 00000000000..65f2bc73273 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-fenced.js @@ -0,0 +1,236 @@ +'use strict'; + +var trim = require('trim-trailing-lines'); + +module.exports = fencedCode; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_TILDE = '~'; +var C_TICK = '`'; + +var MIN_FENCE_COUNT = 3; +var CODE_INDENT_COUNT = 4; + +function fencedCode(eat, value, silent) { + var self = this; + var settings = self.options; + var length = value.length + 1; + var index = 0; + var subvalue = ''; + var fenceCount; + var marker; + var character; + var flag; + var queue; + var content; + var exdentedContent; + var closing; + var exdentedClosing; + var indent; + var now; + + if (!settings.gfm) { + return; + } + + /* Eat initial spacing. */ + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + break; + } + + subvalue += character; + index++; + } + + indent = index; + + /* Eat the fence. */ + character = value.charAt(index); + + if (character !== C_TILDE && character !== C_TICK) { + return; + } + + index++; + marker = character; + fenceCount = 1; + subvalue += character; + + while (index < length) { + character = value.charAt(index); + + if (character !== marker) { + break; + } + + subvalue += character; + fenceCount++; + index++; + } + + if (fenceCount < MIN_FENCE_COUNT) { + return; + } + + /* Eat spacing before flag. */ + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + break; + } + + subvalue += character; + index++; + } + + /* Eat flag. */ + flag = ''; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if ( + character === C_NEWLINE || + character === C_TILDE || + character === C_TICK + ) { + break; + } + + if (character === C_SPACE || character === C_TAB) { + queue += character; + } else { + flag += queue + character; + queue = ''; + } + + index++; + } + + character = value.charAt(index); + + if (character && character !== C_NEWLINE) { + return; + } + + if (silent) { + return true; + } + + now = eat.now(); + now.column += subvalue.length; + now.offset += subvalue.length; + + subvalue += flag; + flag = self.decode.raw(self.unescape(flag), now); + + if (queue) { + subvalue += queue; + } + + queue = ''; + closing = ''; + exdentedClosing = ''; + content = ''; + exdentedContent = ''; + + /* Eat content. */ + while (index < length) { + character = value.charAt(index); + content += closing; + exdentedContent += exdentedClosing; + closing = ''; + exdentedClosing = ''; + + if (character !== C_NEWLINE) { + content += character; + exdentedClosing += character; + index++; + continue; + } + + /* Add the newline to `subvalue` if its the first + * character. Otherwise, add it to the `closing` + * queue. */ + if (content) { + closing += character; + exdentedClosing += character; + } else { + subvalue += character; + } + + queue = ''; + index++; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE) { + break; + } + + queue += character; + index++; + } + + closing += queue; + exdentedClosing += queue.slice(indent); + + if (queue.length >= CODE_INDENT_COUNT) { + continue; + } + + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== marker) { + break; + } + + queue += character; + index++; + } + + closing += queue; + exdentedClosing += queue; + + if (queue.length < fenceCount) { + continue; + } + + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + break; + } + + closing += character; + exdentedClosing += character; + index++; + } + + if (!character || character === C_NEWLINE) { + break; + } + } + + subvalue += content + closing; + + return eat(subvalue)({ + type: 'code', + lang: flag || null, + value: trim(exdentedContent) + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js new file mode 100644 index 00000000000..c73849d9ad8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-indented.js @@ -0,0 +1,98 @@ +'use strict'; + +var repeat = require('repeat-string'); +var trim = require('trim-trailing-lines'); + +module.exports = indentedCode; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; + +var CODE_INDENT_COUNT = 4; +var CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT); + +/* Tokenise indented code. */ +function indentedCode(eat, value, silent) { + var index = -1; + var length = value.length; + var subvalue = ''; + var content = ''; + var subvalueQueue = ''; + var contentQueue = ''; + var character; + var blankQueue; + var indent; + + while (++index < length) { + character = value.charAt(index); + + if (indent) { + indent = false; + + subvalue += subvalueQueue; + content += contentQueue; + subvalueQueue = ''; + contentQueue = ''; + + if (character === C_NEWLINE) { + subvalueQueue = character; + contentQueue = character; + } else { + subvalue += character; + content += character; + + while (++index < length) { + character = value.charAt(index); + + if (!character || character === C_NEWLINE) { + contentQueue = character; + subvalueQueue = character; + break; + } + + subvalue += character; + content += character; + } + } + } else if ( + character === C_SPACE && + value.charAt(index + 1) === character && + value.charAt(index + 2) === character && + value.charAt(index + 3) === character + ) { + subvalueQueue += CODE_INDENT; + index += 3; + indent = true; + } else if (character === C_TAB) { + subvalueQueue += character; + indent = true; + } else { + blankQueue = ''; + + while (character === C_TAB || character === C_SPACE) { + blankQueue += character; + character = value.charAt(++index); + } + + if (character !== C_NEWLINE) { + break; + } + + subvalueQueue += blankQueue + character; + contentQueue += character; + } + } + + if (content) { + if (silent) { + return true; + } + + return eat(subvalue)({ + type: 'code', + lang: null, + value: trim(content) + }); + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js new file mode 100644 index 00000000000..c0a496b4925 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/code-inline.js @@ -0,0 +1,112 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/code-inline'); + +module.exports = inlineCode; +inlineCode.locator = locate; + +var C_TICK = '`'; + +/* Tokenise inline code. */ +function inlineCode(eat, value, silent) { + var length = value.length; + var index = 0; + var queue = ''; + var tickQueue = ''; + var contentQueue; + var subqueue; + var count; + var openingCount; + var subvalue; + var character; + var found; + var next; + + while (index < length) { + if (value.charAt(index) !== C_TICK) { + break; + } + + queue += C_TICK; + index++; + } + + if (!queue) { + return; + } + + subvalue = queue; + openingCount = index; + queue = ''; + next = value.charAt(index); + count = 0; + + while (index < length) { + character = next; + next = value.charAt(index + 1); + + if (character === C_TICK) { + count++; + tickQueue += character; + } else { + count = 0; + queue += character; + } + + if (count && next !== C_TICK) { + if (count === openingCount) { + subvalue += queue + tickQueue; + found = true; + break; + } + + queue += tickQueue; + tickQueue = ''; + } + + index++; + } + + if (!found) { + if (openingCount % 2 !== 0) { + return; + } + + queue = ''; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + contentQueue = ''; + subqueue = ''; + length = queue.length; + index = -1; + + while (++index < length) { + character = queue.charAt(index); + + if (whitespace(character)) { + subqueue += character; + continue; + } + + if (subqueue) { + if (contentQueue) { + contentQueue += subqueue; + } + + subqueue = ''; + } + + contentQueue += character; + } + + return eat(subvalue)({ + type: 'inlineCode', + value: contentQueue + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js new file mode 100644 index 00000000000..1cce274cfbd --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/definition.js @@ -0,0 +1,278 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var normalize = require('../util/normalize'); + +module.exports = definition; +definition.notInList = true; +definition.notInBlock = true; + +var C_DOUBLE_QUOTE = '"'; +var C_SINGLE_QUOTE = '\''; +var C_BACKSLASH = '\\'; +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_BRACKET_OPEN = '['; +var C_BRACKET_CLOSE = ']'; +var C_PAREN_OPEN = '('; +var C_PAREN_CLOSE = ')'; +var C_COLON = ':'; +var C_LT = '<'; +var C_GT = '>'; + +function definition(eat, value, silent) { + var self = this; + var commonmark = self.options.commonmark; + var index = 0; + var length = value.length; + var subvalue = ''; + var beforeURL; + var beforeTitle; + var queue; + var character; + var test; + var identifier; + var url; + var title; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + break; + } + + subvalue += character; + index++; + } + + character = value.charAt(index); + + if (character !== C_BRACKET_OPEN) { + return; + } + + index++; + subvalue += character; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === C_BRACKET_CLOSE) { + break; + } else if (character === C_BACKSLASH) { + queue += character; + index++; + character = value.charAt(index); + } + + queue += character; + index++; + } + + if ( + !queue || + value.charAt(index) !== C_BRACKET_CLOSE || + value.charAt(index + 1) !== C_COLON + ) { + return; + } + + identifier = queue; + subvalue += queue + C_BRACKET_CLOSE + C_COLON; + index = subvalue.length; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if ( + character !== C_TAB && + character !== C_SPACE && + character !== C_NEWLINE + ) { + break; + } + + subvalue += character; + index++; + } + + character = value.charAt(index); + queue = ''; + beforeURL = subvalue; + + if (character === C_LT) { + index++; + + while (index < length) { + character = value.charAt(index); + + if (!isEnclosedURLCharacter(character)) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (character === isEnclosedURLCharacter.delimiter) { + subvalue += C_LT + queue + character; + index++; + } else { + if (commonmark) { + return; + } + + index -= queue.length + 1; + queue = ''; + } + } + + if (!queue) { + while (index < length) { + character = value.charAt(index); + + if (!isUnclosedURLCharacter(character)) { + break; + } + + queue += character; + index++; + } + + subvalue += queue; + } + + if (!queue) { + return; + } + + url = queue; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if ( + character !== C_TAB && + character !== C_SPACE && + character !== C_NEWLINE + ) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + test = null; + + if (character === C_DOUBLE_QUOTE) { + test = C_DOUBLE_QUOTE; + } else if (character === C_SINGLE_QUOTE) { + test = C_SINGLE_QUOTE; + } else if (character === C_PAREN_OPEN) { + test = C_PAREN_CLOSE; + } + + if (!test) { + queue = ''; + index = subvalue.length; + } else if (queue) { + subvalue += queue + character; + index = subvalue.length; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === test) { + break; + } + + if (character === C_NEWLINE) { + index++; + character = value.charAt(index); + + if (character === C_NEWLINE || character === test) { + return; + } + + queue += C_NEWLINE; + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (character !== test) { + return; + } + + beforeTitle = subvalue; + subvalue += queue + character; + index++; + title = queue; + queue = ''; + } else { + return; + } + + while (index < length) { + character = value.charAt(index); + + if (character !== C_TAB && character !== C_SPACE) { + break; + } + + subvalue += character; + index++; + } + + character = value.charAt(index); + + if (!character || character === C_NEWLINE) { + if (silent) { + return true; + } + + beforeURL = eat(beforeURL).test().end; + url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false}); + + if (title) { + beforeTitle = eat(beforeTitle).test().end; + title = self.decode.raw(self.unescape(title), beforeTitle); + } + + return eat(subvalue)({ + type: 'definition', + identifier: normalize(identifier), + title: title || null, + url: url + }); + } +} + +/* Check if `character` can be inside an enclosed URI. */ +function isEnclosedURLCharacter(character) { + return character !== C_GT && + character !== C_BRACKET_OPEN && + character !== C_BRACKET_CLOSE; +} + +isEnclosedURLCharacter.delimiter = C_GT; + +/* Check if `character` can be inside an unclosed URI. */ +function isUnclosedURLCharacter(character) { + return character !== C_BRACKET_OPEN && + character !== C_BRACKET_CLOSE && + !whitespace(character); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js new file mode 100644 index 00000000000..ca7c68a8c5c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/delete.js @@ -0,0 +1,60 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/delete'); + +module.exports = strikethrough; +strikethrough.locator = locate; + +var C_TILDE = '~'; +var DOUBLE = '~~'; + +function strikethrough(eat, value, silent) { + var self = this; + var character = ''; + var previous = ''; + var preceding = ''; + var subvalue = ''; + var index; + var length; + var now; + + if ( + !self.options.gfm || + value.charAt(0) !== C_TILDE || + value.charAt(1) !== C_TILDE || + whitespace(value.charAt(2)) + ) { + return; + } + + index = 1; + length = value.length; + now = eat.now(); + now.column += 2; + now.offset += 2; + + while (++index < length) { + character = value.charAt(index); + + if ( + character === C_TILDE && + previous === C_TILDE && + (!preceding || !whitespace(preceding)) + ) { + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + return eat(DOUBLE + subvalue + DOUBLE)({ + type: 'delete', + children: self.tokenizeInline(subvalue, now) + }); + } + + subvalue += previous; + preceding = previous; + previous = character; + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js new file mode 100644 index 00000000000..b2c87b4497d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/emphasis.js @@ -0,0 +1,85 @@ +'use strict'; + +var trim = require('trim'); +var word = require('is-word-character'); +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/emphasis'); + +module.exports = emphasis; +emphasis.locator = locate; + +var C_ASTERISK = '*'; +var C_UNDERSCORE = '_'; + +function emphasis(eat, value, silent) { + var self = this; + var index = 0; + var character = value.charAt(index); + var now; + var pedantic; + var marker; + var queue; + var subvalue; + var length; + var prev; + + if (character !== C_ASTERISK && character !== C_UNDERSCORE) { + return; + } + + pedantic = self.options.pedantic; + subvalue = character; + marker = character; + length = value.length; + index++; + queue = ''; + character = ''; + + if (pedantic && whitespace(value.charAt(index))) { + return; + } + + while (index < length) { + prev = character; + character = value.charAt(index); + + if (character === marker && (!pedantic || !whitespace(prev))) { + character = value.charAt(++index); + + if (character !== marker) { + if (!trim(queue) || prev === marker) { + return; + } + + if (!pedantic && marker === C_UNDERSCORE && word(character)) { + queue += marker; + continue; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + now = eat.now(); + now.column++; + now.offset++; + + return eat(subvalue + queue + marker)({ + type: 'emphasis', + children: self.tokenizeInline(queue, now) + }); + } + + queue += marker; + } + + if (!pedantic && character === '\\') { + queue += character; + character = value.charAt(++index); + } + + queue += character; + index++; + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js new file mode 100644 index 00000000000..d6f99bcc103 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/escape.js @@ -0,0 +1,34 @@ +'use strict'; + +var locate = require('../locate/escape'); + +module.exports = escape; +escape.locator = locate; + +function escape(eat, value, silent) { + var self = this; + var character; + var node; + + if (value.charAt(0) === '\\') { + character = value.charAt(1); + + if (self.escape.indexOf(character) !== -1) { + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + if (character === '\n') { + node = {type: 'break'}; + } else { + node = { + type: 'text', + value: character + }; + } + + return eat('\\' + character)(node); + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js new file mode 100644 index 00000000000..f48ff9bb7eb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/footnote-definition.js @@ -0,0 +1,185 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var normalize = require('../util/normalize'); + +module.exports = footnoteDefinition; +footnoteDefinition.notInList = true; +footnoteDefinition.notInBlock = true; + +var C_BACKSLASH = '\\'; +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_BRACKET_OPEN = '['; +var C_BRACKET_CLOSE = ']'; +var C_CARET = '^'; +var C_COLON = ':'; + +var EXPRESSION_INITIAL_TAB = /^( {4}|\t)?/gm; + +function footnoteDefinition(eat, value, silent) { + var self = this; + var offsets = self.offset; + var index; + var length; + var subvalue; + var now; + var currentLine; + var content; + var queue; + var subqueue; + var character; + var identifier; + var add; + var exit; + + if (!self.options.footnotes) { + return; + } + + index = 0; + length = value.length; + subvalue = ''; + now = eat.now(); + currentLine = now.line; + + while (index < length) { + character = value.charAt(index); + + if (!whitespace(character)) { + break; + } + + subvalue += character; + index++; + } + + if ( + value.charAt(index) !== C_BRACKET_OPEN || + value.charAt(index + 1) !== C_CARET + ) { + return; + } + + subvalue += C_BRACKET_OPEN + C_CARET; + index = subvalue.length; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === C_BRACKET_CLOSE) { + break; + } else if (character === C_BACKSLASH) { + queue += character; + index++; + character = value.charAt(index); + } + + queue += character; + index++; + } + + if ( + !queue || + value.charAt(index) !== C_BRACKET_CLOSE || + value.charAt(index + 1) !== C_COLON + ) { + return; + } + + if (silent) { + return true; + } + + identifier = normalize(queue); + subvalue += queue + C_BRACKET_CLOSE + C_COLON; + index = subvalue.length; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_TAB && character !== C_SPACE) { + break; + } + + subvalue += character; + index++; + } + + now.column += subvalue.length; + now.offset += subvalue.length; + queue = ''; + content = ''; + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === C_NEWLINE) { + subqueue = character; + index++; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_NEWLINE) { + break; + } + + subqueue += character; + index++; + } + + queue += subqueue; + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character !== C_SPACE) { + break; + } + + subqueue += character; + index++; + } + + if (subqueue.length === 0) { + break; + } + + queue += subqueue; + } + + if (queue) { + content += queue; + queue = ''; + } + + content += character; + index++; + } + + subvalue += content; + + content = content.replace(EXPRESSION_INITIAL_TAB, function (line) { + offsets[currentLine] = (offsets[currentLine] || 0) + line.length; + currentLine++; + + return ''; + }); + + add = eat(subvalue); + + exit = self.enterBlock(); + content = self.tokenizeBlock(content, now); + exit(); + + return add({ + type: 'footnoteDefinition', + identifier: identifier, + children: content + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js new file mode 100644 index 00000000000..aafeabb5491 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-atx.js @@ -0,0 +1,141 @@ +'use strict'; + +module.exports = atxHeading; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_HASH = '#'; + +var MAX_ATX_COUNT = 6; + +function atxHeading(eat, value, silent) { + var self = this; + var settings = self.options; + var length = value.length + 1; + var index = -1; + var now = eat.now(); + var subvalue = ''; + var content = ''; + var character; + var queue; + var depth; + + /* Eat initial spacing. */ + while (++index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + index--; + break; + } + + subvalue += character; + } + + /* Eat hashes. */ + depth = 0; + + while (++index <= length) { + character = value.charAt(index); + + if (character !== C_HASH) { + index--; + break; + } + + subvalue += character; + depth++; + } + + if (depth > MAX_ATX_COUNT) { + return; + } + + if ( + !depth || + (!settings.pedantic && value.charAt(index + 1) === C_HASH) + ) { + return; + } + + length = value.length + 1; + + /* Eat intermediate white-space. */ + queue = ''; + + while (++index < length) { + character = value.charAt(index); + + if (character !== C_SPACE && character !== C_TAB) { + index--; + break; + } + + queue += character; + } + + /* Exit when not in pedantic mode without spacing. */ + if ( + !settings.pedantic && + queue.length === 0 && + character && + character !== C_NEWLINE + ) { + return; + } + + if (silent) { + return true; + } + + /* Eat content. */ + subvalue += queue; + queue = ''; + content = ''; + + while (++index < length) { + character = value.charAt(index); + + if (!character || character === C_NEWLINE) { + break; + } + + if ( + character !== C_SPACE && + character !== C_TAB && + character !== C_HASH + ) { + content += queue + character; + queue = ''; + continue; + } + + while (character === C_SPACE || character === C_TAB) { + queue += character; + character = value.charAt(++index); + } + + while (character === C_HASH) { + queue += character; + character = value.charAt(++index); + } + + while (character === C_SPACE || character === C_TAB) { + queue += character; + character = value.charAt(++index); + } + + index--; + } + + now.column += subvalue.length; + now.offset += subvalue.length; + subvalue += content + queue; + + return eat(subvalue)({ + type: 'heading', + depth: depth, + children: self.tokenizeInline(content, now) + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js new file mode 100644 index 00000000000..96c6130da74 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/heading-setext.js @@ -0,0 +1,107 @@ +'use strict'; + +module.exports = setextHeading; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_EQUALS = '='; +var C_DASH = '-'; + +var MAX_HEADING_INDENT = 3; + +/* Map of characters which can be used to mark setext + * headers, mapping to their corresponding depth. */ +var SETEXT_MARKERS = {}; + +SETEXT_MARKERS[C_EQUALS] = 1; +SETEXT_MARKERS[C_DASH] = 2; + +function setextHeading(eat, value, silent) { + var self = this; + var now = eat.now(); + var length = value.length; + var index = -1; + var subvalue = ''; + var content; + var queue; + var character; + var marker; + var depth; + + /* Eat initial indentation. */ + while (++index < length) { + character = value.charAt(index); + + if (character !== C_SPACE || index >= MAX_HEADING_INDENT) { + index--; + break; + } + + subvalue += character; + } + + /* Eat content. */ + content = ''; + queue = ''; + + while (++index < length) { + character = value.charAt(index); + + if (character === C_NEWLINE) { + index--; + break; + } + + if (character === C_SPACE || character === C_TAB) { + queue += character; + } else { + content += queue + character; + queue = ''; + } + } + + now.column += subvalue.length; + now.offset += subvalue.length; + subvalue += content + queue; + + /* Ensure the content is followed by a newline and a + * valid marker. */ + character = value.charAt(++index); + marker = value.charAt(++index); + + if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) { + return; + } + + subvalue += character; + + /* Eat Setext-line. */ + queue = marker; + depth = SETEXT_MARKERS[marker]; + + while (++index < length) { + character = value.charAt(index); + + if (character !== marker) { + if (character !== C_NEWLINE) { + return; + } + + index--; + break; + } + + queue += character; + } + + if (silent) { + return true; + } + + return eat(subvalue + queue)({ + type: 'heading', + depth: depth, + children: self.tokenizeInline(content, now) + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js new file mode 100644 index 00000000000..6e81eb290a3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-block.js @@ -0,0 +1,94 @@ +'use strict'; + +var openCloseTag = require('../util/html').openCloseTag; + +module.exports = blockHTML; + +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_NEWLINE = '\n'; +var C_LT = '<'; + +function blockHTML(eat, value, silent) { + var self = this; + var blocks = self.options.blocks; + var length = value.length; + var index = 0; + var next; + var line; + var offset; + var character; + var count; + var sequence; + var subvalue; + + var sequences = [ + [/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true], + [/^/, true], + [/^<\?/, /\?>/, true], + [/^/, true], + [/^/, true], + [new RegExp('^|$))', 'i'), /^$/, true], + [new RegExp(openCloseTag.source + '\\s*$'), /^$/, false] + ]; + + /* Eat initial spacing. */ + while (index < length) { + character = value.charAt(index); + + if (character !== C_TAB && character !== C_SPACE) { + break; + } + + index++; + } + + if (value.charAt(index) !== C_LT) { + return; + } + + next = value.indexOf(C_NEWLINE, index + 1); + next = next === -1 ? length : next; + line = value.slice(index, next); + offset = -1; + count = sequences.length; + + while (++offset < count) { + if (sequences[offset][0].test(line)) { + sequence = sequences[offset]; + break; + } + } + + if (!sequence) { + return; + } + + if (silent) { + return sequence[2]; + } + + index = next; + + if (!sequence[1].test(line)) { + while (index < length) { + next = value.indexOf(C_NEWLINE, index + 1); + next = next === -1 ? length : next; + line = value.slice(index + 1, next); + + if (sequence[1].test(line)) { + if (line) { + index = next; + } + + break; + } + + index = next; + } + } + + subvalue = value.slice(0, index); + + return eat(subvalue)({type: 'html', value: subvalue}); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js new file mode 100644 index 00000000000..c204e962b15 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/html-inline.js @@ -0,0 +1,54 @@ +'use strict'; + +var alphabetical = require('is-alphabetical'); +var locate = require('../locate/tag'); +var tag = require('../util/html').tag; + +module.exports = inlineHTML; +inlineHTML.locator = locate; + +var EXPRESSION_HTML_LINK_OPEN = /^/i; + +function inlineHTML(eat, value, silent) { + var self = this; + var length = value.length; + var character; + var subvalue; + + if (value.charAt(0) !== '<' || length < 3) { + return; + } + + character = value.charAt(1); + + if ( + !alphabetical(character) && + character !== '?' && + character !== '!' && + character !== '/' + ) { + return; + } + + subvalue = value.match(tag); + + if (!subvalue) { + return; + } + + /* istanbul ignore if - not used yet. */ + if (silent) { + return true; + } + + subvalue = subvalue[0]; + + if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) { + self.inLink = true; + } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) { + self.inLink = false; + } + + return eat(subvalue)({type: 'html', value: subvalue}); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js new file mode 100644 index 00000000000..3ef5e1ba312 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/link.js @@ -0,0 +1,392 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/link'); + +module.exports = link; +link.locator = locate; + +var own = {}.hasOwnProperty; + +var C_BACKSLASH = '\\'; +var C_BRACKET_OPEN = '['; +var C_BRACKET_CLOSE = ']'; +var C_PAREN_OPEN = '('; +var C_PAREN_CLOSE = ')'; +var C_LT = '<'; +var C_GT = '>'; +var C_TICK = '`'; +var C_DOUBLE_QUOTE = '"'; +var C_SINGLE_QUOTE = '\''; + +/* Map of characters, which can be used to mark link + * and image titles. */ +var LINK_MARKERS = {}; + +LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE; +LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE; + +/* Map of characters, which can be used to mark link + * and image titles in commonmark-mode. */ +var COMMONMARK_LINK_MARKERS = {}; + +COMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE; +COMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE; +COMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE; + +function link(eat, value, silent) { + var self = this; + var subvalue = ''; + var index = 0; + var character = value.charAt(0); + var pedantic = self.options.pedantic; + var commonmark = self.options.commonmark; + var gfm = self.options.gfm; + var closed; + var count; + var opening; + var beforeURL; + var beforeTitle; + var subqueue; + var hasMarker; + var markers; + var isImage; + var content; + var marker; + var length; + var title; + var depth; + var queue; + var url; + var now; + var exit; + var node; + + /* Detect whether this is an image. */ + if (character === '!') { + isImage = true; + subvalue = character; + character = value.charAt(++index); + } + + /* Eat the opening. */ + if (character !== C_BRACKET_OPEN) { + return; + } + + /* Exit when this is a link and we’re already inside + * a link. */ + if (!isImage && self.inLink) { + return; + } + + subvalue += character; + queue = ''; + index++; + + /* Eat the content. */ + length = value.length; + now = eat.now(); + depth = 0; + + now.column += index; + now.offset += index; + + while (index < length) { + character = value.charAt(index); + subqueue = character; + + if (character === C_TICK) { + /* Inline-code in link content. */ + count = 1; + + while (value.charAt(index + 1) === C_TICK) { + subqueue += character; + index++; + count++; + } + + if (!opening) { + opening = count; + } else if (count >= opening) { + opening = 0; + } + } else if (character === C_BACKSLASH) { + /* Allow brackets to be escaped. */ + index++; + subqueue += value.charAt(index); + /* In GFM mode, brackets in code still count. + * In all other modes, they don’t. This empty + * block prevents the next statements are + * entered. */ + } else if ((!opening || gfm) && character === C_BRACKET_OPEN) { + depth++; + } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) { + if (depth) { + depth--; + } else { + /* Allow white-space between content and + * url in GFM mode. */ + if (!pedantic) { + while (index < length) { + character = value.charAt(index + 1); + + if (!whitespace(character)) { + break; + } + + subqueue += character; + index++; + } + } + + if (value.charAt(index + 1) !== C_PAREN_OPEN) { + return; + } + + subqueue += C_PAREN_OPEN; + closed = true; + index++; + + break; + } + } + + queue += subqueue; + subqueue = ''; + index++; + } + + /* Eat the content closing. */ + if (!closed) { + return; + } + + content = queue; + subvalue += queue + subqueue; + index++; + + /* Eat white-space. */ + while (index < length) { + character = value.charAt(index); + + if (!whitespace(character)) { + break; + } + + subvalue += character; + index++; + } + + /* Eat the URL. */ + character = value.charAt(index); + markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS; + queue = ''; + beforeURL = subvalue; + + if (character === C_LT) { + index++; + beforeURL += C_LT; + + while (index < length) { + character = value.charAt(index); + + if (character === C_GT) { + break; + } + + if (commonmark && character === '\n') { + return; + } + + queue += character; + index++; + } + + if (value.charAt(index) !== C_GT) { + return; + } + + subvalue += C_LT + queue + C_GT; + url = queue; + index++; + } else { + character = null; + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (subqueue && own.call(markers, character)) { + break; + } + + if (whitespace(character)) { + if (!pedantic) { + break; + } + + subqueue += character; + } else { + if (character === C_PAREN_OPEN) { + depth++; + } else if (character === C_PAREN_CLOSE) { + if (depth === 0) { + break; + } + + depth--; + } + + queue += subqueue; + subqueue = ''; + + if (character === C_BACKSLASH) { + queue += C_BACKSLASH; + character = value.charAt(++index); + } + + queue += character; + } + + index++; + } + + subvalue += queue; + url = queue; + index = subvalue.length; + } + + /* Eat white-space. */ + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!whitespace(character)) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + subvalue += queue; + + /* Eat the title. */ + if (queue && own.call(markers, character)) { + index++; + subvalue += character; + queue = ''; + marker = markers[character]; + beforeTitle = subvalue; + + /* In commonmark-mode, things are pretty easy: the + * marker cannot occur inside the title. + * + * Non-commonmark does, however, support nested + * delimiters. */ + if (commonmark) { + while (index < length) { + character = value.charAt(index); + + if (character === marker) { + break; + } + + if (character === C_BACKSLASH) { + queue += C_BACKSLASH; + character = value.charAt(++index); + } + + index++; + queue += character; + } + + character = value.charAt(index); + + if (character !== marker) { + return; + } + + title = queue; + subvalue += queue + character; + index++; + + while (index < length) { + character = value.charAt(index); + + if (!whitespace(character)) { + break; + } + + subvalue += character; + index++; + } + } else { + subqueue = ''; + + while (index < length) { + character = value.charAt(index); + + if (character === marker) { + if (hasMarker) { + queue += marker + subqueue; + subqueue = ''; + } + + hasMarker = true; + } else if (!hasMarker) { + queue += character; + } else if (character === C_PAREN_CLOSE) { + subvalue += queue + marker + subqueue; + title = queue; + break; + } else if (whitespace(character)) { + subqueue += character; + } else { + queue += marker + subqueue + character; + subqueue = ''; + hasMarker = false; + } + + index++; + } + } + } + + if (value.charAt(index) !== C_PAREN_CLOSE) { + return; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + subvalue += C_PAREN_CLOSE; + + url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false}); + + if (title) { + beforeTitle = eat(beforeTitle).test().end; + title = self.decode.raw(self.unescape(title), beforeTitle); + } + + node = { + type: isImage ? 'image' : 'link', + title: title || null, + url: url + }; + + if (isImage) { + node.alt = self.decode.raw(self.unescape(content), now) || null; + } else { + exit = self.enterLink(); + node.children = self.tokenizeInline(content, now); + exit(); + } + + return eat(subvalue)(node); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js new file mode 100644 index 00000000000..9164c8167f8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/list.js @@ -0,0 +1,474 @@ +'use strict'; + +/* eslint-disable max-params */ + +var trim = require('trim'); +var repeat = require('repeat-string'); +var decimal = require('is-decimal'); +var getIndent = require('../util/get-indentation'); +var removeIndent = require('../util/remove-indentation'); +var interrupt = require('../util/interrupt'); + +module.exports = list; + +var C_ASTERISK = '*'; +var C_UNDERSCORE = '_'; +var C_PLUS = '+'; +var C_DASH = '-'; +var C_DOT = '.'; +var C_SPACE = ' '; +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_PAREN_CLOSE = ')'; +var C_X_LOWER = 'x'; + +var TAB_SIZE = 4; +var EXPRESSION_LOOSE_LIST_ITEM = /\n\n(?!\s*$)/; +var EXPRESSION_TASK_ITEM = /^\[([ \t]|x|X)][ \t]/; +var EXPRESSION_BULLET = /^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/; +var EXPRESSION_PEDANTIC_BULLET = /^([ \t]*)([*+-]|\d+[.)])([ \t]+)/; +var EXPRESSION_INITIAL_INDENT = /^( {1,4}|\t)?/gm; + +/* Map of characters which can be used to mark + * list-items. */ +var LIST_UNORDERED_MARKERS = {}; + +LIST_UNORDERED_MARKERS[C_ASTERISK] = true; +LIST_UNORDERED_MARKERS[C_PLUS] = true; +LIST_UNORDERED_MARKERS[C_DASH] = true; + +/* Map of characters which can be used to mark + * list-items after a digit. */ +var LIST_ORDERED_MARKERS = {}; + +LIST_ORDERED_MARKERS[C_DOT] = true; + +/* Map of characters which can be used to mark + * list-items after a digit. */ +var LIST_ORDERED_COMMONMARK_MARKERS = {}; + +LIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true; +LIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true; + +function list(eat, value, silent) { + var self = this; + var commonmark = self.options.commonmark; + var pedantic = self.options.pedantic; + var tokenizers = self.blockTokenizers; + var interuptors = self.interruptList; + var markers; + var index = 0; + var length = value.length; + var start = null; + var size = 0; + var queue; + var ordered; + var character; + var marker; + var nextIndex; + var startIndex; + var prefixed; + var currentMarker; + var content; + var line; + var prevEmpty; + var empty; + var items; + var allLines; + var emptyLines; + var item; + var enterTop; + var exitBlockquote; + var isLoose; + var node; + var now; + var end; + var indented; + + while (index < length) { + character = value.charAt(index); + + if (character === C_TAB) { + size += TAB_SIZE - (size % TAB_SIZE); + } else if (character === C_SPACE) { + size++; + } else { + break; + } + + index++; + } + + if (size >= TAB_SIZE) { + return; + } + + character = value.charAt(index); + + markers = commonmark ? + LIST_ORDERED_COMMONMARK_MARKERS : + LIST_ORDERED_MARKERS; + + if (LIST_UNORDERED_MARKERS[character] === true) { + marker = character; + ordered = false; + } else { + ordered = true; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!decimal(character)) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + + if (!queue || markers[character] !== true) { + return; + } + + start = parseInt(queue, 10); + marker = character; + } + + character = value.charAt(++index); + + if (character !== C_SPACE && character !== C_TAB) { + return; + } + + if (silent) { + return true; + } + + index = 0; + items = []; + allLines = []; + emptyLines = []; + + while (index < length) { + nextIndex = value.indexOf(C_NEWLINE, index); + startIndex = index; + prefixed = false; + indented = false; + + if (nextIndex === -1) { + nextIndex = length; + } + + end = index + TAB_SIZE; + size = 0; + + while (index < length) { + character = value.charAt(index); + + if (character === C_TAB) { + size += TAB_SIZE - (size % TAB_SIZE); + } else if (character === C_SPACE) { + size++; + } else { + break; + } + + index++; + } + + if (size >= TAB_SIZE) { + indented = true; + } + + if (item && size >= item.indent) { + indented = true; + } + + character = value.charAt(index); + currentMarker = null; + + if (!indented) { + if (LIST_UNORDERED_MARKERS[character] === true) { + currentMarker = character; + index++; + size++; + } else { + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!decimal(character)) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + index++; + + if (queue && markers[character] === true) { + currentMarker = character; + size += queue.length + 1; + } + } + + if (currentMarker) { + character = value.charAt(index); + + if (character === C_TAB) { + size += TAB_SIZE - (size % TAB_SIZE); + index++; + } else if (character === C_SPACE) { + end = index + TAB_SIZE; + + while (index < end) { + if (value.charAt(index) !== C_SPACE) { + break; + } + + index++; + size++; + } + + if (index === end && value.charAt(index) === C_SPACE) { + index -= TAB_SIZE - 1; + size -= TAB_SIZE - 1; + } + } else if (character !== C_NEWLINE && character !== '') { + currentMarker = null; + } + } + } + + if (currentMarker) { + if (!pedantic && marker !== currentMarker) { + break; + } + + prefixed = true; + } else { + if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) { + indented = true; + } else if (commonmark && item) { + indented = size >= item.indent || size > TAB_SIZE; + } + + prefixed = false; + index = startIndex; + } + + line = value.slice(startIndex, nextIndex); + content = startIndex === index ? line : value.slice(index, nextIndex); + + if ( + currentMarker === C_ASTERISK || + currentMarker === C_UNDERSCORE || + currentMarker === C_DASH + ) { + if (tokenizers.thematicBreak.call(self, eat, line, true)) { + break; + } + } + + prevEmpty = empty; + empty = !trim(content).length; + + if (indented && item) { + item.value = item.value.concat(emptyLines, line); + allLines = allLines.concat(emptyLines, line); + emptyLines = []; + } else if (prefixed) { + if (emptyLines.length !== 0) { + item.value.push(''); + item.trail = emptyLines.concat(); + } + + item = { + value: [line], + indent: size, + trail: [] + }; + + items.push(item); + allLines = allLines.concat(emptyLines, line); + emptyLines = []; + } else if (empty) { + if (prevEmpty) { + break; + } + + emptyLines.push(line); + } else { + if (prevEmpty) { + break; + } + + if (interrupt(interuptors, tokenizers, self, [eat, line, true])) { + break; + } + + item.value = item.value.concat(emptyLines, line); + allLines = allLines.concat(emptyLines, line); + emptyLines = []; + } + + index = nextIndex + 1; + } + + node = eat(allLines.join(C_NEWLINE)).reset({ + type: 'list', + ordered: ordered, + start: start, + loose: null, + children: [] + }); + + enterTop = self.enterList(); + exitBlockquote = self.enterBlock(); + isLoose = false; + index = -1; + length = items.length; + + while (++index < length) { + item = items[index].value.join(C_NEWLINE); + now = eat.now(); + + item = eat(item)(listItem(self, item, now), node); + + if (item.loose) { + isLoose = true; + } + + item = items[index].trail.join(C_NEWLINE); + + if (index !== length - 1) { + item += C_NEWLINE; + } + + eat(item); + } + + enterTop(); + exitBlockquote(); + + node.loose = isLoose; + + return node; +} + +function listItem(ctx, value, position) { + var offsets = ctx.offset; + var fn = ctx.options.pedantic ? pedanticListItem : normalListItem; + var checked = null; + var task; + var indent; + + value = fn.apply(null, arguments); + + if (ctx.options.gfm) { + task = value.match(EXPRESSION_TASK_ITEM); + + if (task) { + indent = task[0].length; + checked = task[1].toLowerCase() === C_X_LOWER; + offsets[position.line] += indent; + value = value.slice(indent); + } + } + + return { + type: 'listItem', + loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) || + value.charAt(value.length - 1) === C_NEWLINE, + checked: checked, + children: ctx.tokenizeBlock(value, position) + }; +} + +/* Create a list-item using overly simple mechanics. */ +function pedanticListItem(ctx, value, position) { + var offsets = ctx.offset; + var line = position.line; + + /* Remove the list-item’s bullet. */ + value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer); + + /* The initial line was also matched by the below, so + * we reset the `line`. */ + line = position.line; + + return value.replace(EXPRESSION_INITIAL_INDENT, replacer); + + /* A simple replacer which removed all matches, + * and adds their length to `offset`. */ + function replacer($0) { + offsets[line] = (offsets[line] || 0) + $0.length; + line++; + + return ''; + } +} + +/* Create a list-item using sane mechanics. */ +function normalListItem(ctx, value, position) { + var offsets = ctx.offset; + var line = position.line; + var max; + var bullet; + var rest; + var lines; + var trimmedLines; + var index; + var length; + + /* Remove the list-item’s bullet. */ + value = value.replace(EXPRESSION_BULLET, replacer); + + lines = value.split(C_NEWLINE); + + trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE); + + /* We replaced the initial bullet with something + * else above, which was used to trick + * `removeIndentation` into removing some more + * characters when possible. However, that could + * result in the initial line to be stripped more + * than it should be. */ + trimmedLines[0] = rest; + + offsets[line] = (offsets[line] || 0) + bullet.length; + line++; + + index = 0; + length = lines.length; + + while (++index < length) { + offsets[line] = (offsets[line] || 0) + + lines[index].length - trimmedLines[index].length; + line++; + } + + return trimmedLines.join(C_NEWLINE); + + function replacer($0, $1, $2, $3, $4) { + bullet = $1 + $2 + $3; + rest = $4; + + /* Make sure that the first nine numbered list items + * can indent with an extra space. That is, when + * the bullet did not receive an extra final space. */ + if (Number($2) < 10 && bullet.length % 2 === 1) { + $2 = C_SPACE + $2; + } + + max = $1 + repeat(C_SPACE, $2.length) + $3; + + return max + rest; + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js new file mode 100644 index 00000000000..6008670cc5e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/newline.js @@ -0,0 +1,47 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); + +module.exports = newline; + +/* Tokenise newline. */ +function newline(eat, value, silent) { + var character = value.charAt(0); + var length; + var subvalue; + var queue; + var index; + + if (character !== '\n') { + return; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + index = 1; + length = value.length; + subvalue = character; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!whitespace(character)) { + break; + } + + queue += character; + + if (character === '\n') { + subvalue += queue; + queue = ''; + } + + index++; + } + + eat(subvalue); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js new file mode 100644 index 00000000000..1492a027e78 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/paragraph.js @@ -0,0 +1,122 @@ +'use strict'; + +var trim = require('trim'); +var decimal = require('is-decimal'); +var trimTrailingLines = require('trim-trailing-lines'); +var interrupt = require('../util/interrupt'); + +module.exports = paragraph; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; + +var TAB_SIZE = 4; + +/* Tokenise paragraph. */ +function paragraph(eat, value, silent) { + var self = this; + var settings = self.options; + var commonmark = settings.commonmark; + var gfm = settings.gfm; + var tokenizers = self.blockTokenizers; + var interruptors = self.interruptParagraph; + var index = value.indexOf(C_NEWLINE); + var length = value.length; + var position; + var subvalue; + var character; + var size; + var now; + + while (index < length) { + /* Eat everything if there’s no following newline. */ + if (index === -1) { + index = length; + break; + } + + /* Stop if the next character is NEWLINE. */ + if (value.charAt(index + 1) === C_NEWLINE) { + break; + } + + /* In commonmark-mode, following indented lines + * are part of the paragraph. */ + if (commonmark) { + size = 0; + position = index + 1; + + while (position < length) { + character = value.charAt(position); + + if (character === C_TAB) { + size = TAB_SIZE; + break; + } else if (character === C_SPACE) { + size++; + } else { + break; + } + + position++; + } + + if (size >= TAB_SIZE) { + index = value.indexOf(C_NEWLINE, index + 1); + continue; + } + } + + subvalue = value.slice(index + 1); + + /* Check if the following code contains a possible + * block. */ + if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) { + break; + } + + /* Break if the following line starts a list, when + * already in a list, or when in commonmark, or when + * in gfm mode and the bullet is *not* numeric. */ + if ( + tokenizers.list.call(self, eat, subvalue, true) && + ( + self.inList || + commonmark || + (gfm && !decimal(trim.left(subvalue).charAt(0))) + ) + ) { + break; + } + + position = index; + index = value.indexOf(C_NEWLINE, index + 1); + + if (index !== -1 && trim(value.slice(position, index)) === '') { + index = position; + break; + } + } + + subvalue = value.slice(0, index); + + if (trim(subvalue) === '') { + eat(subvalue); + + return null; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + now = eat.now(); + subvalue = trimTrailingLines(subvalue); + + return eat(subvalue)({ + type: 'paragraph', + children: self.tokenizeInline(subvalue, now) + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js new file mode 100644 index 00000000000..50713f1ccfc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/reference.js @@ -0,0 +1,206 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/link'); +var normalize = require('../util/normalize'); + +module.exports = reference; +reference.locator = locate; + +var T_LINK = 'link'; +var T_IMAGE = 'image'; +var T_FOOTNOTE = 'footnote'; +var REFERENCE_TYPE_SHORTCUT = 'shortcut'; +var REFERENCE_TYPE_COLLAPSED = 'collapsed'; +var REFERENCE_TYPE_FULL = 'full'; +var C_CARET = '^'; +var C_BACKSLASH = '\\'; +var C_BRACKET_OPEN = '['; +var C_BRACKET_CLOSE = ']'; + +function reference(eat, value, silent) { + var self = this; + var character = value.charAt(0); + var index = 0; + var length = value.length; + var subvalue = ''; + var intro = ''; + var type = T_LINK; + var referenceType = REFERENCE_TYPE_SHORTCUT; + var content; + var identifier; + var now; + var node; + var exit; + var queue; + var bracketed; + var depth; + + /* Check whether we’re eating an image. */ + if (character === '!') { + type = T_IMAGE; + intro = character; + character = value.charAt(++index); + } + + if (character !== C_BRACKET_OPEN) { + return; + } + + index++; + intro += character; + queue = ''; + + /* Check whether we’re eating a footnote. */ + if (self.options.footnotes && value.charAt(index) === C_CARET) { + /* Exit if `![^` is found, so the `!` will be seen as text after this, + * and we’ll enter this function again when `[^` is found. */ + if (type === T_IMAGE) { + return; + } + + intro += C_CARET; + index++; + type = T_FOOTNOTE; + } + + /* Eat the text. */ + depth = 0; + + while (index < length) { + character = value.charAt(index); + + if (character === C_BRACKET_OPEN) { + bracketed = true; + depth++; + } else if (character === C_BRACKET_CLOSE) { + if (!depth) { + break; + } + + depth--; + } + + if (character === C_BACKSLASH) { + queue += C_BACKSLASH; + character = value.charAt(++index); + } + + queue += character; + index++; + } + + subvalue = queue; + content = queue; + character = value.charAt(index); + + if (character !== C_BRACKET_CLOSE) { + return; + } + + index++; + subvalue += character; + queue = ''; + + while (index < length) { + character = value.charAt(index); + + if (!whitespace(character)) { + break; + } + + queue += character; + index++; + } + + character = value.charAt(index); + + /* Inline footnotes cannot have an identifier. */ + if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) { + identifier = ''; + queue += character; + index++; + + while (index < length) { + character = value.charAt(index); + + if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) { + break; + } + + if (character === C_BACKSLASH) { + identifier += C_BACKSLASH; + character = value.charAt(++index); + } + + identifier += character; + index++; + } + + character = value.charAt(index); + + if (character === C_BRACKET_CLOSE) { + referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED; + queue += identifier + character; + index++; + } else { + identifier = ''; + } + + subvalue += queue; + queue = ''; + } else { + if (!content) { + return; + } + + identifier = content; + } + + /* Brackets cannot be inside the identifier. */ + if (referenceType !== REFERENCE_TYPE_FULL && bracketed) { + return; + } + + subvalue = intro + subvalue; + + if (type === T_LINK && self.inLink) { + return null; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) { + return eat(subvalue)({ + type: 'footnote', + children: this.tokenizeInline(content, eat.now()) + }); + } + + now = eat.now(); + now.column += intro.length; + now.offset += intro.length; + identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content; + + node = { + type: type + 'Reference', + identifier: normalize(identifier) + }; + + if (type === T_LINK || type === T_IMAGE) { + node.referenceType = referenceType; + } + + if (type === T_LINK) { + exit = self.enterLink(); + node.children = self.tokenizeInline(content, now); + exit(); + } else if (type === T_IMAGE) { + node.alt = self.decode.raw(self.unescape(content), now) || null; + } + + return eat(subvalue)(node); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js new file mode 100644 index 00000000000..12d5785bc64 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/strong.js @@ -0,0 +1,84 @@ +'use strict'; + +var trim = require('trim'); +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/strong'); + +module.exports = strong; +strong.locator = locate; + +var C_ASTERISK = '*'; +var C_UNDERSCORE = '_'; + +function strong(eat, value, silent) { + var self = this; + var index = 0; + var character = value.charAt(index); + var now; + var pedantic; + var marker; + var queue; + var subvalue; + var length; + var prev; + + if ( + (character !== C_ASTERISK && character !== C_UNDERSCORE) || + value.charAt(++index) !== character + ) { + return; + } + + pedantic = self.options.pedantic; + marker = character; + subvalue = marker + marker; + length = value.length; + index++; + queue = ''; + character = ''; + + if (pedantic && whitespace(value.charAt(index))) { + return; + } + + while (index < length) { + prev = character; + character = value.charAt(index); + + if ( + character === marker && + value.charAt(index + 1) === marker && + (!pedantic || !whitespace(prev)) + ) { + character = value.charAt(index + 2); + + if (character !== marker) { + if (!trim(queue)) { + return; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + now = eat.now(); + now.column += 2; + now.offset += 2; + + return eat(subvalue + queue + subvalue)({ + type: 'strong', + children: self.tokenizeInline(queue, now) + }); + } + } + + if (!pedantic && character === '\\') { + queue += character; + character = value.charAt(++index); + } + + queue += character; + index++; + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js new file mode 100644 index 00000000000..ce93b1d22f0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/table.js @@ -0,0 +1,266 @@ +'use strict'; + +var whitespace = require('is-whitespace-character'); + +module.exports = table; + +var C_BACKSLASH = '\\'; +var C_TICK = '`'; +var C_DASH = '-'; +var C_PIPE = '|'; +var C_COLON = ':'; +var C_SPACE = ' '; +var C_NEWLINE = '\n'; +var C_TAB = '\t'; + +var MIN_TABLE_COLUMNS = 1; +var MIN_TABLE_ROWS = 2; + +var TABLE_ALIGN_LEFT = 'left'; +var TABLE_ALIGN_CENTER = 'center'; +var TABLE_ALIGN_RIGHT = 'right'; +var TABLE_ALIGN_NONE = null; + +function table(eat, value, silent) { + var self = this; + var index; + var alignments; + var alignment; + var subvalue; + var row; + var length; + var lines; + var queue; + var character; + var hasDash; + var align; + var cell; + var preamble; + var count; + var opening; + var now; + var position; + var lineCount; + var line; + var rows; + var table; + var lineIndex; + var pipeIndex; + var first; + + /* Exit when not in gfm-mode. */ + if (!self.options.gfm) { + return; + } + + /* Get the rows. + * Detecting tables soon is hard, so there are some + * checks for performance here, such as the minimum + * number of rows, and allowed characters in the + * alignment row. */ + index = 0; + lineCount = 0; + length = value.length + 1; + lines = []; + + while (index < length) { + lineIndex = value.indexOf(C_NEWLINE, index); + pipeIndex = value.indexOf(C_PIPE, index + 1); + + if (lineIndex === -1) { + lineIndex = value.length; + } + + if (pipeIndex === -1 || pipeIndex > lineIndex) { + if (lineCount < MIN_TABLE_ROWS) { + return; + } + + break; + } + + lines.push(value.slice(index, lineIndex)); + lineCount++; + index = lineIndex + 1; + } + + /* Parse the alignment row. */ + subvalue = lines.join(C_NEWLINE); + alignments = lines.splice(1, 1)[0] || []; + index = 0; + length = alignments.length; + lineCount--; + alignment = false; + align = []; + + while (index < length) { + character = alignments.charAt(index); + + if (character === C_PIPE) { + hasDash = null; + + if (alignment === false) { + if (first === false) { + return; + } + } else { + align.push(alignment); + alignment = false; + } + + first = false; + } else if (character === C_DASH) { + hasDash = true; + alignment = alignment || TABLE_ALIGN_NONE; + } else if (character === C_COLON) { + if (alignment === TABLE_ALIGN_LEFT) { + alignment = TABLE_ALIGN_CENTER; + } else if (hasDash && alignment === TABLE_ALIGN_NONE) { + alignment = TABLE_ALIGN_RIGHT; + } else { + alignment = TABLE_ALIGN_LEFT; + } + } else if (!whitespace(character)) { + return; + } + + index++; + } + + if (alignment !== false) { + align.push(alignment); + } + + /* Exit when without enough columns. */ + if (align.length < MIN_TABLE_COLUMNS) { + return; + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + /* Parse the rows. */ + position = -1; + rows = []; + + table = eat(subvalue).reset({ + type: 'table', + align: align, + children: rows + }); + + while (++position < lineCount) { + line = lines[position]; + row = {type: 'tableRow', children: []}; + + /* Eat a newline character when this is not the + * first row. */ + if (position) { + eat(C_NEWLINE); + } + + /* Eat the row. */ + eat(line).reset(row, table); + + length = line.length + 1; + index = 0; + queue = ''; + cell = ''; + preamble = true; + count = null; + opening = null; + + while (index < length) { + character = line.charAt(index); + + if (character === C_TAB || character === C_SPACE) { + if (cell) { + queue += character; + } else { + eat(character); + } + + index++; + continue; + } + + if (character === '' || character === C_PIPE) { + if (preamble) { + eat(character); + } else { + if (character && opening) { + queue += character; + index++; + continue; + } + + if ((cell || character) && !preamble) { + subvalue = cell; + + if (queue.length > 1) { + if (character) { + subvalue += queue.slice(0, queue.length - 1); + queue = queue.charAt(queue.length - 1); + } else { + subvalue += queue; + queue = ''; + } + } + + now = eat.now(); + + eat(subvalue)({ + type: 'tableCell', + children: self.tokenizeInline(cell, now) + }, row); + } + + eat(queue + character); + + queue = ''; + cell = ''; + } + } else { + if (queue) { + cell += queue; + queue = ''; + } + + cell += character; + + if (character === C_BACKSLASH && index !== length - 2) { + cell += line.charAt(index + 1); + index++; + } + + if (character === C_TICK) { + count = 1; + + while (line.charAt(index + 1) === character) { + cell += character; + index++; + count++; + } + + if (!opening) { + opening = count; + } else if (count >= opening) { + opening = 0; + } + } + } + + preamble = false; + index++; + } + + /* Eat the alignment row. */ + if (!position) { + eat(C_NEWLINE + alignments); + } + } + + return table; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js new file mode 100644 index 00000000000..4aedfa90d5d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/text.js @@ -0,0 +1,58 @@ +'use strict'; + +module.exports = text; + +function text(eat, value, silent) { + var self = this; + var methods; + var tokenizers; + var index; + var length; + var subvalue; + var position; + var tokenizer; + var name; + var min; + var now; + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + methods = self.inlineMethods; + length = methods.length; + tokenizers = self.inlineTokenizers; + index = -1; + min = value.length; + + while (++index < length) { + name = methods[index]; + + if (name === 'text' || !tokenizers[name]) { + continue; + } + + tokenizer = tokenizers[name].locator; + + if (!tokenizer) { + eat.file.fail('Missing locator: `' + name + '`'); + } + + position = tokenizer.call(self, value, 1); + + if (position !== -1 && position < min) { + min = position; + } + } + + subvalue = value.slice(0, min); + now = eat.now(); + + self.decode(subvalue, now, function (content, position, source) { + eat(source || content)({ + type: 'text', + value: content + }); + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js new file mode 100644 index 00000000000..2391e3f592c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/thematic-break.js @@ -0,0 +1,70 @@ +'use strict'; + +module.exports = thematicBreak; + +var C_NEWLINE = '\n'; +var C_TAB = '\t'; +var C_SPACE = ' '; +var C_ASTERISK = '*'; +var C_UNDERSCORE = '_'; +var C_DASH = '-'; + +var THEMATIC_BREAK_MARKER_COUNT = 3; + +function thematicBreak(eat, value, silent) { + var index = -1; + var length = value.length + 1; + var subvalue = ''; + var character; + var marker; + var markerCount; + var queue; + + while (++index < length) { + character = value.charAt(index); + + if (character !== C_TAB && character !== C_SPACE) { + break; + } + + subvalue += character; + } + + if ( + character !== C_ASTERISK && + character !== C_DASH && + character !== C_UNDERSCORE + ) { + return; + } + + marker = character; + subvalue += character; + markerCount = 1; + queue = ''; + + while (++index < length) { + character = value.charAt(index); + + if (character === marker) { + markerCount++; + subvalue += queue + marker; + queue = ''; + } else if (character === C_SPACE) { + queue += character; + } else if ( + markerCount >= THEMATIC_BREAK_MARKER_COUNT && + (!character || character === C_NEWLINE) + ) { + subvalue += queue; + + if (silent) { + return true; + } + + return eat(subvalue)({type: 'thematicBreak'}); + } else { + return; + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js new file mode 100644 index 00000000000..297940bf4ab --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenize/url.js @@ -0,0 +1,144 @@ +'use strict'; + +var decode = require('parse-entities'); +var whitespace = require('is-whitespace-character'); +var locate = require('../locate/url'); + +module.exports = url; +url.locator = locate; +url.notInLink = true; + +var C_BRACKET_OPEN = '['; +var C_BRACKET_CLOSE = ']'; +var C_PAREN_OPEN = '('; +var C_PAREN_CLOSE = ')'; +var C_LT = '<'; +var C_AT_SIGN = '@'; + +var HTTP_PROTOCOL = 'http://'; +var HTTPS_PROTOCOL = 'https://'; +var MAILTO_PROTOCOL = 'mailto:'; + +var PROTOCOLS = [ + HTTP_PROTOCOL, + HTTPS_PROTOCOL, + MAILTO_PROTOCOL +]; + +var PROTOCOLS_LENGTH = PROTOCOLS.length; + +function url(eat, value, silent) { + var self = this; + var subvalue; + var content; + var character; + var index; + var position; + var protocol; + var match; + var length; + var queue; + var parenCount; + var nextCharacter; + var exit; + + if (!self.options.gfm) { + return; + } + + subvalue = ''; + index = -1; + length = PROTOCOLS_LENGTH; + + while (++index < length) { + protocol = PROTOCOLS[index]; + match = value.slice(0, protocol.length); + + if (match.toLowerCase() === protocol) { + subvalue = match; + break; + } + } + + if (!subvalue) { + return; + } + + index = subvalue.length; + length = value.length; + queue = ''; + parenCount = 0; + + while (index < length) { + character = value.charAt(index); + + if (whitespace(character) || character === C_LT) { + break; + } + + if ( + character === '.' || + character === ',' || + character === ':' || + character === ';' || + character === '"' || + character === '\'' || + character === ')' || + character === ']' + ) { + nextCharacter = value.charAt(index + 1); + + if (!nextCharacter || whitespace(nextCharacter)) { + break; + } + } + + if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) { + parenCount++; + } + + if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) { + parenCount--; + + if (parenCount < 0) { + break; + } + } + + queue += character; + index++; + } + + if (!queue) { + return; + } + + subvalue += queue; + content = subvalue; + + if (protocol === MAILTO_PROTOCOL) { + position = queue.indexOf(C_AT_SIGN); + + if (position === -1 || position === length - 1) { + return; + } + + content = content.substr(MAILTO_PROTOCOL.length); + } + + /* istanbul ignore if - never used (yet) */ + if (silent) { + return true; + } + + exit = self.enterLink(); + content = self.tokenizeInline(content, eat.now()); + exit(); + + return eat(subvalue)({ + type: 'link', + title: null, + url: decode(subvalue, {nonTerminated: false}), + children: content + }); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js new file mode 100644 index 00000000000..498ef22ad94 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/tokenizer.js @@ -0,0 +1,331 @@ +'use strict'; + +module.exports = factory; + +var MERGEABLE_NODES = { + text: mergeText, + blockquote: mergeBlockquote +}; + +/* Check whether a node is mergeable with adjacent nodes. */ +function mergeable(node) { + var start; + var end; + + if (node.type !== 'text' || !node.position) { + return true; + } + + start = node.position.start; + end = node.position.end; + + /* Only merge nodes which occupy the same size as their + * `value`. */ + return start.line !== end.line || + end.column - start.column === node.value.length; +} + +/* Merge two text nodes: `node` into `prev`. */ +function mergeText(prev, node) { + prev.value += node.value; + + return prev; +} + +/* Merge two blockquotes: `node` into `prev`, unless in + * CommonMark mode. */ +function mergeBlockquote(prev, node) { + if (this.options.commonmark) { + return node; + } + + prev.children = prev.children.concat(node.children); + + return prev; +} + +/* Construct a tokenizer. This creates both + * `tokenizeInline` and `tokenizeBlock`. */ +function factory(type) { + return tokenize; + + /* Tokenizer for a bound `type`. */ + function tokenize(value, location) { + var self = this; + var offset = self.offset; + var tokens = []; + var methods = self[type + 'Methods']; + var tokenizers = self[type + 'Tokenizers']; + var line = location.line; + var column = location.column; + var index; + var length; + var method; + var name; + var matched; + var valueLength; + + /* Trim white space only lines. */ + if (!value) { + return tokens; + } + + /* Expose on `eat`. */ + eat.now = now; + eat.file = self.file; + + /* Sync initial offset. */ + updatePosition(''); + + /* Iterate over `value`, and iterate over all + * tokenizers. When one eats something, re-iterate + * with the remaining value. If no tokenizer eats, + * something failed (should not happen) and an + * exception is thrown. */ + while (value) { + index = -1; + length = methods.length; + matched = false; + + while (++index < length) { + name = methods[index]; + method = tokenizers[name]; + + if ( + method && + /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) && + (!method.notInList || !self.inList) && + (!method.notInBlock || !self.inBlock) && + (!method.notInLink || !self.inLink) + ) { + valueLength = value.length; + + method.apply(self, [eat, value]); + + matched = valueLength !== value.length; + + if (matched) { + break; + } + } + } + + /* istanbul ignore if */ + if (!matched) { + self.file.fail(new Error('Infinite loop'), eat.now()); + } + } + + self.eof = now(); + + return tokens; + + /* Update line, column, and offset based on + * `value`. */ + function updatePosition(subvalue) { + var lastIndex = -1; + var index = subvalue.indexOf('\n'); + + while (index !== -1) { + line++; + lastIndex = index; + index = subvalue.indexOf('\n', index + 1); + } + + if (lastIndex === -1) { + column += subvalue.length; + } else { + column = subvalue.length - lastIndex; + } + + if (line in offset) { + if (lastIndex !== -1) { + column += offset[line]; + } else if (column <= offset[line]) { + column = offset[line] + 1; + } + } + } + + /* Get offset. Called before the first character is + * eaten to retrieve the range's offsets. */ + function getOffset() { + var indentation = []; + var pos = line + 1; + + /* Done. Called when the last character is + * eaten to retrieve the range’s offsets. */ + return function () { + var last = line + 1; + + while (pos < last) { + indentation.push((offset[pos] || 0) + 1); + + pos++; + } + + return indentation; + }; + } + + /* Get the current position. */ + function now() { + var pos = {line: line, column: column}; + + pos.offset = self.toOffset(pos); + + return pos; + } + + /* Store position information for a node. */ + function Position(start) { + this.start = start; + this.end = now(); + } + + /* Throw when a value is incorrectly eaten. + * This shouldn’t happen but will throw on new, + * incorrect rules. */ + function validateEat(subvalue) { + /* istanbul ignore if */ + if (value.substring(0, subvalue.length) !== subvalue) { + /* Capture stack-trace. */ + self.file.fail( + new Error( + 'Incorrectly eaten value: please report this ' + + 'warning on http://git.io/vg5Ft' + ), + now() + ); + } + } + + /* Mark position and patch `node.position`. */ + function position() { + var before = now(); + + return update; + + /* Add the position to a node. */ + function update(node, indent) { + var prev = node.position; + var start = prev ? prev.start : before; + var combined = []; + var n = prev && prev.end.line; + var l = before.line; + + node.position = new Position(start); + + /* If there was already a `position`, this + * node was merged. Fixing `start` wasn’t + * hard, but the indent is different. + * Especially because some information, the + * indent between `n` and `l` wasn’t + * tracked. Luckily, that space is + * (should be?) empty, so we can safely + * check for it now. */ + if (prev && indent && prev.indent) { + combined = prev.indent; + + if (n < l) { + while (++n < l) { + combined.push((offset[n] || 0) + 1); + } + + combined.push(before.column); + } + + indent = combined.concat(indent); + } + + node.position.indent = indent || []; + + return node; + } + } + + /* Add `node` to `parent`s children or to `tokens`. + * Performs merges where possible. */ + function add(node, parent) { + var children = parent ? parent.children : tokens; + var prev = children[children.length - 1]; + + if ( + prev && + node.type === prev.type && + node.type in MERGEABLE_NODES && + mergeable(prev) && + mergeable(node) + ) { + node = MERGEABLE_NODES[node.type].call(self, prev, node); + } + + if (node !== prev) { + children.push(node); + } + + if (self.atStart && tokens.length !== 0) { + self.exitStart(); + } + + return node; + } + + /* Remove `subvalue` from `value`. + * `subvalue` must be at the start of `value`. */ + function eat(subvalue) { + var indent = getOffset(); + var pos = position(); + var current = now(); + + validateEat(subvalue); + + apply.reset = reset; + reset.test = test; + apply.test = test; + + value = value.substring(subvalue.length); + + updatePosition(subvalue); + + indent = indent(); + + return apply; + + /* Add the given arguments, add `position` to + * the returned node, and return the node. */ + function apply(node, parent) { + return pos(add(pos(node), parent), indent); + } + + /* Functions just like apply, but resets the + * content: the line and column are reversed, + * and the eaten value is re-added. + * This is useful for nodes with a single + * type of content, such as lists and tables. + * See `apply` above for what parameters are + * expected. */ + function reset() { + var node = apply.apply(null, arguments); + + line = current.line; + column = current.column; + value = subvalue + value; + + return node; + } + + /* Test the position, after eating, and reverse + * to a not-eaten state. */ + function test() { + var result = pos({}); + + line = current.line; + column = current.column; + value = subvalue + value; + + return result.position; + } + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js new file mode 100644 index 00000000000..321900e7eac --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/unescape.js @@ -0,0 +1,37 @@ +'use strict'; + +module.exports = factory; + +/* Factory to de-escape a value, based on a list at `key` + * in `ctx`. */ +function factory(ctx, key) { + return unescape; + + /* De-escape a string using the expression at `key` + * in `ctx`. */ + function unescape(value) { + var prev = 0; + var index = value.indexOf('\\'); + var escape = ctx[key]; + var queue = []; + var character; + + while (index !== -1) { + queue.push(value.slice(prev, index)); + prev = index + 1; + character = value.charAt(prev); + + /* If the following character is not a valid escape, + * add the slash. */ + if (!character || escape.indexOf(character) === -1) { + queue.push('\\'); + } + + index = value.indexOf('\\', prev); + } + + queue.push(value.slice(prev)); + + return queue.join(''); + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js new file mode 100644 index 00000000000..3e09e1411ed --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/get-indentation.js @@ -0,0 +1,32 @@ +'use strict'; + +module.exports = indentation; + +/* Map of characters, and their column length, + * which can be used as indentation. */ +var characters = {' ': 1, '\t': 4}; + +/* Gets indentation information for a line. */ +function indentation(value) { + var index = 0; + var indent = 0; + var character = value.charAt(index); + var stops = {}; + var size; + + while (character in characters) { + size = characters[character]; + + indent += size; + + if (size > 1) { + indent = Math.floor(indent / size) * size; + } + + stops[indent] = index; + + character = value.charAt(++index); + } + + return {indent: indent, stops: stops}; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js new file mode 100644 index 00000000000..5f211f13f8f --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/html.js @@ -0,0 +1,25 @@ +'use strict'; + +var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; +var unquoted = '[^"\'=<>`\\u0000-\\u0020]+'; +var singleQuoted = '\'[^\']*\''; +var doubleQuoted = '"[^"]*"'; +var attributeValue = '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')'; +var attribute = '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)'; +var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; +var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; +var comment = '|'; +var processing = '<[?].*?[?]>'; +var declaration = ']*>'; +var cdata = ''; + +exports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')'); + +exports.tag = new RegExp('^(?:' + + openTag + '|' + + closeTag + '|' + + comment + '|' + + processing + '|' + + declaration + '|' + + cdata + +')'); diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js new file mode 100644 index 00000000000..e3178ab45c6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/interrupt.js @@ -0,0 +1,43 @@ +'use strict'; + +module.exports = interrupt; + +function interrupt(interruptors, tokenizers, ctx, params) { + var bools = ['pedantic', 'commonmark']; + var count = bools.length; + var length = interruptors.length; + var index = -1; + var interruptor; + var config; + var fn; + var offset; + var bool; + var ignore; + + while (++index < length) { + interruptor = interruptors[index]; + config = interruptor[1] || {}; + fn = interruptor[0]; + offset = -1; + ignore = false; + + while (++offset < count) { + bool = bools[offset]; + + if (config[bool] !== undefined && config[bool] !== ctx.options[bool]) { + ignore = true; + break; + } + } + + if (ignore) { + continue; + } + + if (tokenizers[fn].apply(ctx, params)) { + return true; + } + } + + return false; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js new file mode 100644 index 00000000000..846ceeecac5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/normalize.js @@ -0,0 +1,11 @@ +'use strict'; + +var collapseWhiteSpace = require('collapse-white-space'); + +module.exports = normalize; + +/* Normalize an identifier. Collapses multiple white space + * characters into a single space, and removes casing. */ +function normalize(value) { + return collapseWhiteSpace(value).toLowerCase(); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js new file mode 100644 index 00000000000..20f18be7408 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/lib/util/remove-indentation.js @@ -0,0 +1,78 @@ +'use strict'; + +var trim = require('trim'); +var repeat = require('repeat-string'); +var getIndent = require('./get-indentation'); + +module.exports = indentation; + +var C_SPACE = ' '; +var C_NEWLINE = '\n'; +var C_TAB = '\t'; + +/* Remove the minimum indent from every line in `value`. + * Supports both tab, spaced, and mixed indentation (as + * well as possible). */ +function indentation(value, maximum) { + var values = value.split(C_NEWLINE); + var position = values.length + 1; + var minIndent = Infinity; + var matrix = []; + var index; + var indentation; + var stops; + var padding; + + values.unshift(repeat(C_SPACE, maximum) + '!'); + + while (position--) { + indentation = getIndent(values[position]); + + matrix[position] = indentation.stops; + + if (trim(values[position]).length === 0) { + continue; + } + + if (indentation.indent) { + if (indentation.indent > 0 && indentation.indent < minIndent) { + minIndent = indentation.indent; + } + } else { + minIndent = Infinity; + + break; + } + } + + if (minIndent !== Infinity) { + position = values.length; + + while (position--) { + stops = matrix[position]; + index = minIndent; + + while (index && !(index in stops)) { + index--; + } + + if ( + trim(values[position]).length !== 0 && + minIndent && + index !== minIndent + ) { + padding = C_TAB; + } else { + padding = ''; + } + + values[position] = padding + values[position].slice( + index in stops ? stops[index] + 1 : 0 + ); + } + } + + values.shift(); + + return values.join(C_NEWLINE); +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json new file mode 100644 index 00000000000..822420cb252 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/package.json @@ -0,0 +1,44 @@ +{ + "name": "remark-parse", + "version": "5.0.0", + "description": "Markdown parser for remark", + "license": "MIT", + "keywords": [ + "markdown", + "abstract", + "syntax", + "tree", + "ast", + "parse" + ], + "homepage": "http://remark.js.org", + "repository": "https://github.com/remarkjs/remark/tree/master/packages/remark-parse", + "bugs": "https://github.com/remarkjs/remark/issues", + "author": "Titus Wormer (http://wooorm.com)", + "contributors": [ + "Titus Wormer (http://wooorm.com)", + "Eugene Sharygin " + ], + "files": [ + "index.js", + "lib" + ], + "dependencies": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + }, + "xo": false +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md new file mode 100644 index 00000000000..ecaa6c093c0 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/remark-parse/readme.md @@ -0,0 +1,453 @@ +# remark-parse [![Build Status][build-badge]][build-status] [![Coverage Status][coverage-badge]][coverage-status] [![Chat][chat-badge]][chat] + +[Parser][] for [**unified**][unified]. Parses markdown to an +[**MDAST**][mdast] syntax tree. Used in the [**remark** +processor][processor]. Can be [extended][extend] to change how +markdown is parsed. + +## Installation + +[npm][]: + +```sh +npm install remark-parse +``` + +## Usage + +```js +var unified = require('unified'); +var createStream = require('unified-stream'); +var markdown = require('remark-parse'); +var html = require('remark-html'); + +var processor = unified() + .use(markdown, {commonmark: true}) + .use(html) + +process.stdin + .pipe(createStream(processor)) + .pipe(process.stdout); +``` + +## Table of Contents + +* [API](#api) + * [processor.use(parse\[, options\])](#processoruseparse-options) + * [parse.Parser](#parseparser) +* [Extending the Parser](#extending-the-parser) + * [Parser#blockTokenizers](#parserblocktokenizers) + * [Parser#blockMethods](#parserblockmethods) + * [Parser#inlineTokenizers](#parserinlinetokenizers) + * [Parser#inlineMethods](#parserinlinemethods) + * [function tokenizer(eat, value, silent)](#function-tokenizereat-value-silent) + * [tokenizer.locator(value, fromIndex)](#tokenizerlocatorvalue-fromindex) + * [eat(subvalue)](#eatsubvalue) + * [add(node\[, parent\])](#addnode-parent) + * [add.test()](#addtest) + * [add.reset(node\[, parent\])](#addresetnode-parent) + * [Turning off a tokenizer](#turning-off-a-tokenizer) +* [License](#license) + +## API + +### `processor.use(parse[, options])` + +Configure the `processor` to read markdown as input and process an +[**MDAST**][mdast] syntax tree. + +##### `options` + +Options are passed directly, or passed later through [`processor.data()`][data]. + +##### `options.gfm` + +```md +hello ~~hi~~ world +``` + +GFM mode (`boolean`, default: `true`) turns on: + +* [Fenced code blocks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) +* [Autolinking of URLs](https://help.github.com/articles/github-flavored-markdown/#url-autolinking) +* [Deletions (strikethrough)](https://help.github.com/articles/github-flavored-markdown/#strikethrough) +* [Task lists](https://help.github.com/articles/writing-on-github/#task-lists) +* [Tables](https://help.github.com/articles/github-flavored-markdown/#tables) + +##### `options.commonmark` + +```md +This is a paragraph + and this is also part of the preceding paragraph. +``` + +CommonMark mode (`boolean`, default: `false`) allows: + +* Empty lines to split blockquotes +* Parentheses (`(` and `)`) around for link and image titles +* Any escaped [ASCII-punctuation][escapes] character +* Closing parenthesis (`)`) as an ordered list marker +* URL definitions (and footnotes, when enabled) in blockquotes + +CommonMark mode disallows: + +* Code directly following a paragraph +* ATX-headings (`# Hash headings`) without spacing after opening hashes + or and before closing hashes +* Setext headings (`Underline headings\n---`) when following a paragraph +* Newlines in link and image titles +* White space in link and image URLs in auto-links (links in brackets, + `<` and `>`) +* Lazy blockquote continuation, lines not preceded by a closing angle + bracket (`>`), for lists, code, and thematicBreak + +##### `options.footnotes` + +```md +Something something[^or something?]. + +And something else[^1]. + +[^1]: This reference footnote contains a paragraph... + + * ...and a list +``` + +Footnotes mode (`boolean`, default: `false`) enables reference footnotes and +inline footnotes. Both are wrapped in square brackets and preceded by a caret +(`^`), and can be referenced from inside other footnotes. + +##### `options.blocks` + +```md +foo + +``` + +Blocks (`Array.`, default: list of [block HTML elements][blocks]) +exposes let’s users define block-level HTML elements. + +##### `options.pedantic` + +```md +Check out some_file_name.txt +``` + +Pedantic mode (`boolean`, default: `false`) turns on: + +* Emphasis (`_alpha_`) and importance (`__bravo__`) with underscores + in words +* Unordered lists with different markers (`*`, `-`, `+`) +* If `commonmark` is also turned on, ordered lists with different + markers (`.`, `)`) +* And pedantic mode removes less spaces in list-items (at most four, + instead of the whole indent) + +### `parse.Parser` + +Access to the [parser][], if you need it. + +## Extending the Parser + +Most often, using transformers to manipulate a syntax tree produces +the desired output. Sometimes, mainly when introducing new syntactic +entities with a certain level of precedence, interfacing with the parser +is necessary. + +If the `remark-parse` plugin is used, it adds a [`Parser`][parser] constructor +to the `processor`. Other plugins can add tokenizers to the parser’s prototype +to change how markdown is parsed. + +The below plugin adds a [tokenizer][] for at-mentions. + +```js +module.exports = mentions; + +function mentions() { + var Parser = this.Parser; + var tokenizers = Parser.prototype.inlineTokenizers; + var methods = Parser.prototype.inlineMethods; + + /* Add an inline tokenizer (defined in the following example). */ + tokenizers.mention = tokenizeMention; + + /* Run it just before `text`. */ + methods.splice(methods.indexOf('text'), 0, 'mention'); +} +``` + +### `Parser#blockTokenizers` + +An object mapping tokenizer names to [tokenizer][]s. These +tokenizers (for example: `fencedCode`, `table`, and `paragraph`) eat +from the start of a value to a line ending. + +See `#blockMethods` below for a list of methods that are included by +default. + +### `Parser#blockMethods` + +Array of `blockTokenizers` names (`string`) specifying the order in +which they run. + + + +* `newline` +* `indentedCode` +* `fencedCode` +* `blockquote` +* `atxHeading` +* `thematicBreak` +* `list` +* `setextHeading` +* `html` +* `footnote` +* `definition` +* `table` +* `paragraph` + + + +### `Parser#inlineTokenizers` + +An object mapping tokenizer names to [tokenizer][]s. These tokenizers +(for example: `url`, `reference`, and `emphasis`) eat from the start +of a value. To increase performance, they depend on [locator][]s. + +See `#inlineMethods` below for a list of methods that are included by +default. + +### `Parser#inlineMethods` + +Array of `inlineTokenizers` names (`string`) specifying the order in +which they run. + + + +* `escape` +* `autoLink` +* `url` +* `html` +* `link` +* `reference` +* `strong` +* `emphasis` +* `deletion` +* `code` +* `break` +* `text` + + + +### `function tokenizer(eat, value, silent)` + +```js +tokenizeMention.notInLink = true; +tokenizeMention.locator = locateMention; + +function tokenizeMention(eat, value, silent) { + var match = /^@(\w+)/.exec(value); + + if (match) { + if (silent) { + return true; + } + + return eat(match[0])({ + type: 'link', + url: 'https://social-network/' + match[1], + children: [{type: 'text', value: match[0]}] + }); + } +} +``` + +The parser knows two types of tokenizers: block level and inline level. +Block level tokenizers are the same as inline level tokenizers, with +the exception that the latter must have a [locator][]. + +Tokenizers _test_ whether a document starts with a certain syntactic +entity. In _silent_ mode, they return whether that test passes. +In _normal_ mode, they consume that token, a process which is called +“eating”. Locators enable tokenizers to function faster by providing +information on where the next entity may occur. + +###### Signatures + +* `Node? = tokenizer(eat, value)` +* `boolean? = tokenizer(eat, value, silent)` + +###### Parameters + +* `eat` ([`Function`][eat]) — Eat, when applicable, an entity +* `value` (`string`) — Value which may start an entity +* `silent` (`boolean`, optional) — Whether to detect or consume + +###### Properties + +* `locator` ([`Function`][locator]) + — Required for inline tokenizers +* `onlyAtStart` (`boolean`) + — Whether nodes can only be found at the beginning of the document +* `notInBlock` (`boolean`) + — Whether nodes cannot be in blockquotes, lists, or footnote + definitions +* `notInList` (`boolean`) + — Whether nodes cannot be in lists +* `notInLink` (`boolean`) + — Whether nodes cannot be in links + +###### Returns + +* In _silent_ mode, whether a node can be found at the start of `value` +* In _normal_ mode, a node if it can be found at the start of `value` + +### `tokenizer.locator(value, fromIndex)` + +```js +function locateMention(value, fromIndex) { + return value.indexOf('@', fromIndex); +} +``` + +Locators are required for inline tokenization to keep the process +performant. Locators enable inline tokenizers to function faster by +providing information on the where the next entity occurs. Locators +may be wrong, it’s OK if there actually isn’t a node to be found at +the index they return, but they must skip any nodes. + +###### Parameters + +* `value` (`string`) — Value which may contain an entity +* `fromIndex` (`number`) — Position to start searching at + +###### Returns + +Index at which an entity may start, and `-1` otherwise. + +### `eat(subvalue)` + +```js +var add = eat('foo'); +``` + +Eat `subvalue`, which is a string at the start of the +[tokenize][tokenizer]d `value` (it’s tracked to ensure the correct +value is eaten). + +###### Parameters + +* `subvalue` (`string`) - Value to eat. + +###### Returns + +[`add`][add]. + +### `add(node[, parent])` + +```js +var add = eat('foo'); +add({type: 'text', value: 'foo'}); +``` + +Add [positional information][location] to `node` and add it to `parent`. + +###### Parameters + +* `node` ([`Node`][node]) - Node to patch position on and insert +* `parent` ([`Node`][node], optional) - Place to add `node` to in + the syntax tree. Defaults to the currently processed node + +###### Returns + +The given `node`. + +### `add.test()` + +Get the [positional information][location] which would be patched on +`node` by `add`. + +###### Returns + +[`Location`][location]. + +### `add.reset(node[, parent])` + +`add`, but resets the internal location. Useful for example in +lists, where the same content is first eaten for a list, and later +for list items + +###### Parameters + +* `node` ([`Node`][node]) - Node to patch position on and insert +* `parent` ([`Node`][node], optional) - Place to add `node` to in + the syntax tree. Defaults to the currently processed node + +###### Returns + +The given `node`. + +### Turning off a tokenizer + +In rare situations, you may want to turn off a tokenizer to avoid parsing +that syntactic feature. This can be done by deleting the tokenizer from +your Parser’s `blockTokenizers` (or `blockMethods`) or `inlineTokenizers` +(or `inlineMethods`). + +The following example turns off indented code blocks: + +```js +delete remarkParse.Parser.prototype.blockTokenizers.indentedCode; +``` + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/remarkjs/remark.svg + +[build-status]: https://travis-ci.org/remarkjs/remark + +[coverage-badge]: https://img.shields.io/codecov/c/github/remarkjs/remark.svg + +[coverage-status]: https://codecov.io/github/remarkjs/remark + +[chat-badge]: https://img.shields.io/gitter/room/remarkjs/Lobby.svg + +[chat]: https://gitter.im/remarkjs/Lobby + +[license]: https://github.com/remarkjs/remark/blob/master/LICENSE + +[author]: http://wooorm.com + +[npm]: https://docs.npmjs.com/cli/install + +[unified]: https://github.com/unifiedjs/unified + +[data]: https://github.com/unifiedjs/unified#processordatakey-value + +[processor]: https://github.com/unifiedjs/remark/blob/master/packages/remark + +[mdast]: https://github.com/syntax-tree/mdast + +[escapes]: http://spec.commonmark.org/0.25/#backslash-escapes + +[node]: https://github.com/syntax-tree/unist#node + +[location]: https://github.com/syntax-tree/unist#location + +[parser]: https://github.com/unifiedjs/unified#processorparser + +[extend]: #extending-the-parser + +[tokenizer]: #function-tokenizereat-value-silent + +[locator]: #tokenizerlocatorvalue-fromindex + +[eat]: #eatsubvalue + +[add]: #addnode-parent + +[blocks]: https://github.com/remarkjs/remark/blob/master/packages/remark-parse/lib/block-elements.json diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE new file mode 100644 index 00000000000..39245ac1c60 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md new file mode 100644 index 00000000000..aaa5e91c7a7 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/README.md @@ -0,0 +1,136 @@ +# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string) + +> Repeat the given string n times. Fastest implementation for repeating a string. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save repeat-string +``` + +## Usage + +### [repeat](index.js#L41) + +Repeat the given `string` the specified `number` of times. + +**Example:** + +**Example** + +```js +var repeat = require('repeat-string'); +repeat('A', 5); +//=> AAAAA +``` + +**Params** + +* `string` **{String}**: The string to repeat +* `number` **{Number}**: The number of times to repeat the string +* `returns` **{String}**: Repeated string + +## Benchmarks + +Repeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)): + +```sh +# 2x +repeat-string █████████████████████████ (26,953,977 ops/sec) +repeating █████████ (9,855,695 ops/sec) +native ██████████████████ (19,453,895 ops/sec) + +# 3x +repeat-string █████████████████████████ (19,445,252 ops/sec) +repeating ███████████ (8,661,565 ops/sec) +native ████████████████████ (16,020,598 ops/sec) + +# 10x +repeat-string █████████████████████████ (23,792,521 ops/sec) +repeating █████████ (8,571,332 ops/sec) +native ███████████████ (14,582,955 ops/sec) + +# 50x +repeat-string █████████████████████████ (23,640,179 ops/sec) +repeating █████ (5,505,509 ops/sec) +native ██████████ (10,085,557 ops/sec) + +# 250x +repeat-string █████████████████████████ (23,489,618 ops/sec) +repeating ████ (3,962,937 ops/sec) +native ████████ (7,724,892 ops/sec) + +# 2000x +repeat-string █████████████████████████ (20,315,172 ops/sec) +repeating ████ (3,297,079 ops/sec) +native ███████ (6,203,331 ops/sec) + +# 20000x +repeat-string █████████████████████████ (23,382,915 ops/sec) +repeating ███ (2,980,058 ops/sec) +native █████ (5,578,808 ops/sec) +``` + +**Run the benchmarks** + +Install dev dependencies: + +```sh +npm i -d && node benchmark +``` + +## About + +### Related projects + +[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.") + +### Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +### Contributors + +| **Commits** | **Contributor**
| +| --- | --- | +| 51 | [jonschlinkert](https://github.com/jonschlinkert) | +| 2 | [LinusU](https://github.com/LinusU) | +| 2 | [tbusser](https://github.com/tbusser) | +| 1 | [doowb](https://github.com/doowb) | +| 1 | [wooorm](https://github.com/wooorm) | + +### Building docs + +_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ + +To generate the readme and API documentation with [verb](https://github.com/verbose/verb): + +```sh +$ npm install -g verb verb-generate-readme && verb +``` + +### Running tests + +Install dev dependencies: + +```sh +$ npm install -d && npm test +``` + +### Author + +**Jon Schlinkert** + +* [github/jonschlinkert](https://github.com/jonschlinkert) +* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) + +### License + +Copyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert). +Released under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._ \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js new file mode 100644 index 00000000000..4459afd8016 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/index.js @@ -0,0 +1,70 @@ +/*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ + +'use strict'; + +/** + * Results cache + */ + +var res = ''; +var cache; + +/** + * Expose `repeat` + */ + +module.exports = repeat; + +/** + * Repeat the given `string` the specified `number` + * of times. + * + * **Example:** + * + * ```js + * var repeat = require('repeat-string'); + * repeat('A', 5); + * //=> AAAAA + * ``` + * + * @param {String} `string` The string to repeat + * @param {Number} `number` The number of times to repeat the string + * @return {String} Repeated string + * @api public + */ + +function repeat(str, num) { + if (typeof str !== 'string') { + throw new TypeError('expected a string'); + } + + // cover common, quick use cases + if (num === 1) return str; + if (num === 2) return str + str; + + var max = str.length * num; + if (cache !== str || typeof cache === 'undefined') { + cache = str; + res = ''; + } else if (res.length >= max) { + return res.substr(0, max); + } + + while (max > res.length && num > 1) { + if (num & 1) { + res += str; + } + + num >>= 1; + str += str; + } + + res += str; + res = res.substr(0, max); + return res; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json new file mode 100644 index 00000000000..09f889299b6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/repeat-string/package.json @@ -0,0 +1,77 @@ +{ + "name": "repeat-string", + "description": "Repeat the given string n times. Fastest implementation for repeating a string.", + "version": "1.6.1", + "homepage": "https://github.com/jonschlinkert/repeat-string", + "author": "Jon Schlinkert (http://github.com/jonschlinkert)", + "contributors": [ + "Brian Woodward (https://github.com/doowb)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Linus Unnebäck (http://linus.unnebäck.se)", + "Thijs Busser (http://tbusser.net)", + "Titus (wooorm.com)" + ], + "repository": "jonschlinkert/repeat-string", + "bugs": { + "url": "https://github.com/jonschlinkert/repeat-string/issues" + }, + "license": "MIT", + "files": [ + "index.js" + ], + "main": "index.js", + "engines": { + "node": ">=0.10" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "ansi-cyan": "^0.1.1", + "benchmarked": "^0.2.5", + "gulp-format-md": "^0.1.11", + "isobject": "^2.1.0", + "mocha": "^3.1.2", + "repeating": "^3.0.0", + "text-table": "^0.2.0", + "yargs-parser": "^4.0.2" + }, + "keywords": [ + "fast", + "fastest", + "fill", + "left", + "left-pad", + "multiple", + "pad", + "padding", + "repeat", + "repeating", + "repetition", + "right", + "right-pad", + "string", + "times" + ], + "verb": { + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "related": { + "list": [ + "repeat-element" + ] + }, + "helpers": [ + "./benchmark/helper.js" + ], + "reflinks": [ + "verb" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE new file mode 100755 index 00000000000..fd38d693515 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md new file mode 100644 index 00000000000..8775983b783 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/README.md @@ -0,0 +1,50 @@ +

+ + + +

+ +# replace-ext + +[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] + +Replaces a file extension with another one. + +## Usage + +```js +var replaceExt = require('replace-ext'); + +var path = '/some/dir/file.js'; +var newPath = replaceExt(path, '.coffee'); + +console.log(newPath); // /some/dir/file.coffee +``` + +## API + +### `replaceExt(path, extension)` + +Replaces the extension from `path` with `extension` and returns the updated path string. + +Does not replace the extension if `path` is not a string or is empty. + +## License + +MIT + +[downloads-image]: http://img.shields.io/npm/dm/replace-ext.svg +[npm-url]: https://www.npmjs.com/package/replace-ext +[npm-image]: http://img.shields.io/npm/v/replace-ext.svg + +[travis-url]: https://travis-ci.org/gulpjs/replace-ext +[travis-image]: http://img.shields.io/travis/gulpjs/replace-ext.svg?label=travis-ci + +[appveyor-url]: https://ci.appveyor.com/project/gulpjs/replace-ext +[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/replace-ext.svg?label=appveyor + +[coveralls-url]: https://coveralls.io/r/gulpjs/replace-ext +[coveralls-image]: http://img.shields.io/coveralls/gulpjs/replace-ext/master.svg + +[gitter-url]: https://gitter.im/gulpjs/gulp +[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js new file mode 100644 index 00000000000..7cb7789e280 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/index.js @@ -0,0 +1,18 @@ +'use strict'; + +var path = require('path'); + +function replaceExt(npath, ext) { + if (typeof npath !== 'string') { + return npath; + } + + if (npath.length === 0) { + return npath; + } + + var nFileName = path.basename(npath, path.extname(npath)) + ext; + return path.join(path.dirname(npath), nFileName); +} + +module.exports = replaceExt; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json new file mode 100644 index 00000000000..27dbe31042d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/replace-ext/package.json @@ -0,0 +1,44 @@ +{ + "name": "replace-ext", + "version": "1.0.0", + "description": "Replaces a file extension with another one", + "author": "Gulp Team (http://gulpjs.com/)", + "contributors": [ + "Eric Schoffstall ", + "Blaine Bublitz " + ], + "repository": "gulpjs/replace-ext", + "license": "MIT", + "engines": { + "node": ">= 0.10" + }, + "main": "index.js", + "files": [ + "LICENSE", + "index.js" + ], + "scripts": { + "lint": "eslint . && jscs index.js test/", + "pretest": "npm run lint", + "test": "mocha --async-only", + "cover": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly", + "coveralls": "npm run cover && istanbul-coveralls" + }, + "dependencies": {}, + "devDependencies": { + "eslint": "^1.10.3", + "eslint-config-gulp": "^2.0.0", + "expect": "^1.16.0", + "istanbul": "^0.4.3", + "istanbul-coveralls": "^1.0.3", + "jscs": "^2.3.5", + "jscs-preset-gulp": "^1.0.0", + "mocha": "^2.4.5" + }, + "keywords": [ + "gulp", + "extensions", + "filepath", + "basename" + ] +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js new file mode 100644 index 00000000000..aceee00d1db --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/index.js @@ -0,0 +1,23 @@ +'use strict' + +module.exports = factory + +// Construct a state `toggler`: a function which inverses `property` in context +// based on its current value. +// The by `toggler` returned function restores that value. +function factory(key, state, ctx) { + return enter + + function enter() { + var context = ctx || this + var current = context[key] + + context[key] = !state + + return exit + + function exit() { + context[key] = current + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json new file mode 100644 index 00000000000..1111db06366 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/package.json @@ -0,0 +1,70 @@ +{ + "name": "state-toggle", + "version": "1.0.3", + "description": "Enter/exit a state", + "license": "MIT", + "keywords": [ + "enter", + "exit", + "state" + ], + "repository": "wooorm/state-toggle", + "bugs": "https://github.com/wooorm/state-toggle/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s stateToggle -o state-toggle.js", + "build-mangle": "browserify . -s stateToggle -p tinyify -o state-toggle.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "state-toggle.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md new file mode 100644 index 00000000000..9fcca1e5ef6 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/state-toggle/readme.md @@ -0,0 +1,95 @@ +# state-toggle + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Enter/exit a state. + +## Install + +[npm][]: + +```sh +npm install state-toggle +``` + +## Use + +```js +var toggle = require('state-toggle') + +var ctx = {on: false} +var enter = toggle('on', ctx.on, ctx) +var exit + +// Entering: +exit = enter() +console.log(ctx.on) // => true + +// Exiting: +exit() +console.log(ctx.on) // => false +``` + +## API + +### `toggle(key, initial[, ctx])` + +Create a toggle, which when entering toggles `key` on `ctx` (or `this`, if `ctx` +is not given) to `!initial`, and when exiting, sets `key` on the context back to +the value it had before entering. + +###### Returns + +`Function` — [`enter`][enter]. + +### `enter()` + +Enter the state. + +###### Context + +If no `ctx` was given to `toggle`, the context object (`this`) of `enter()` is +used to toggle. + +###### Returns + +`Function` — [`exit`][exit]. + +### `exit()` + +Exit the state, reverting `key` to the value it had before entering. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/state-toggle.svg + +[build]: https://travis-ci.org/wooorm/state-toggle + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/state-toggle.svg + +[coverage]: https://codecov.io/github/wooorm/state-toggle + +[downloads-badge]: https://img.shields.io/npm/dm/state-toggle.svg + +[downloads]: https://www.npmjs.com/package/state-toggle + +[size-badge]: https://img.shields.io/bundlephobia/minzip/state-toggle.svg + +[size]: https://bundlephobia.com/result?p=state-toggle + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[enter]: #enter + +[exit]: #exit diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js new file mode 100644 index 00000000000..eff85c6baed --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/index.js @@ -0,0 +1,8 @@ +'use strict' + +module.exports = trimTrailingLines + +// Remove final newline characters from `value`. +function trimTrailingLines(value) { + return String(value).replace(/\n+$/, '') +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license new file mode 100644 index 00000000000..611b67581bb --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json new file mode 100644 index 00000000000..861198394c3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/package.json @@ -0,0 +1,72 @@ +{ + "name": "trim-trailing-lines", + "version": "1.1.4", + "description": "Remove final line feeds from a string", + "license": "MIT", + "keywords": [ + "trim", + "final", + "line", + "newline", + "characters" + ], + "repository": "wooorm/trim-trailing-lines", + "bugs": "https://github.com/wooorm/trim-trailing-lines/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^17.0.0", + "nyc": "^15.0.0", + "prettier": "^2.0.0", + "remark-cli": "^9.0.0", + "remark-preset-wooorm": "^8.0.0", + "tape": "^5.0.0", + "tinyify": "^3.0.0", + "xo": "^0.34.0" + }, + "scripts": { + "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", + "build-bundle": "browserify . -s trimTrailingLines -o trim-trailing-lines.js", + "build-mangle": "browserify . -s trimTrailingLines -p tinyify -o trim-trailing-lines.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "trim-trailing-lines.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md new file mode 100644 index 00000000000..a9c1f441b84 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim-trailing-lines/readme.md @@ -0,0 +1,68 @@ +# trim-trailing-lines + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Remove final line feeds from a string. + +## Install + +[npm][]: + +```sh +npm install trim-trailing-lines +``` + +## Use + +```js +var trimTrailingLines = require('trim-trailing-lines') + +trimTrailingLines('foo\nbar') // => 'foo\nbar' +trimTrailingLines('foo\nbar\n') // => 'foo\nbar' +trimTrailingLines('foo\nbar\n\n') // => 'foo\nbar' +``` + +## API + +### `trimTrailingLines(value)` + +Remove final line feed characters from `value`. + +###### Parameters + +* `value` (`string`) — Value with trailing line feeds, coerced to string. + +###### Returns + +`string` — Value without trailing newlines. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/trim-trailing-lines.svg + +[build]: https://travis-ci.org/wooorm/trim-trailing-lines + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trim-trailing-lines.svg + +[coverage]: https://codecov.io/github/wooorm/trim-trailing-lines + +[downloads-badge]: https://img.shields.io/npm/dm/trim-trailing-lines.svg + +[downloads]: https://www.npmjs.com/package/trim-trailing-lines + +[size-badge]: https://img.shields.io/bundlephobia/minzip/trim-trailing-lines.svg + +[size]: https://bundlephobia.com/result?p=trim-trailing-lines + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile new file mode 100644 index 00000000000..4e9c8d36ebc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Makefile @@ -0,0 +1,7 @@ + +test: + @./node_modules/.bin/mocha \ + --require should \ + --reporter spec + +.PHONY: test \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md new file mode 100644 index 00000000000..3460f523fbe --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/Readme.md @@ -0,0 +1,69 @@ + +# trim + + Trims string whitespace. + +## Installation + +``` +$ npm install trim +$ component install component/trim +``` + +## API + + - [trim(str)](#trimstr) + - [.left(str)](#leftstr) + - [.right(str)](#rightstr) + + + +### trim(str) +should trim leading / trailing whitespace. + +```js +trim(' foo bar ').should.equal('foo bar'); +trim('\n\n\nfoo bar\n\r\n\n').should.equal('foo bar'); +``` + + +### .left(str) +should trim leading whitespace. + +```js +trim.left(' foo bar ').should.equal('foo bar '); +``` + + +### .right(str) +should trim trailing whitespace. + +```js +trim.right(' foo bar ').should.equal(' foo bar'); +``` + + +## License + +(The MIT License) + +Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js new file mode 100644 index 00000000000..640c24cf302 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/index.js @@ -0,0 +1,14 @@ + +exports = module.exports = trim; + +function trim(str){ + return str.replace(/^\s*|\s*$/g, ''); +} + +exports.left = function(str){ + return str.replace(/^\s*/, ''); +}; + +exports.right = function(str){ + return str.replace(/\s*$/, ''); +}; diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json new file mode 100644 index 00000000000..64ee5c69d84 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trim/package.json @@ -0,0 +1,18 @@ +{ + "name": "trim", + "version": "0.0.1", + "description": "Trim string whitespace", + "keywords": ["string", "trim"], + "author": "TJ Holowaychuk ", + "dependencies": {}, + "devDependencies": { + "mocha": "*", + "should": "*" + }, + "main": "index", + "component": { + "scripts": { + "trim/index.js": "index.js" + } + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js new file mode 100644 index 00000000000..2b73d868056 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/index.js @@ -0,0 +1,74 @@ +'use strict' + +var wrap = require('./wrap.js') + +module.exports = trough + +trough.wrap = wrap + +var slice = [].slice + +// Create new middleware. +function trough() { + var fns = [] + var middleware = {} + + middleware.run = run + middleware.use = use + + return middleware + + // Run `fns`. Last argument must be a completion handler. + function run() { + var index = -1 + var input = slice.call(arguments, 0, -1) + var done = arguments[arguments.length - 1] + + if (typeof done !== 'function') { + throw new Error('Expected function as last argument, not ' + done) + } + + next.apply(null, [null].concat(input)) + + // Run the next `fn`, if any. + function next(err) { + var fn = fns[++index] + var params = slice.call(arguments, 0) + var values = params.slice(1) + var length = input.length + var pos = -1 + + if (err) { + done(err) + return + } + + // Copy non-nully input into values. + while (++pos < length) { + if (values[pos] === null || values[pos] === undefined) { + values[pos] = input[pos] + } + } + + input = values + + // Next or done. + if (fn) { + wrap(fn, next).apply(null, input) + } else { + done.apply(null, [null].concat(input)) + } + } + } + + // Add `fn` to the list. + function use(fn) { + if (typeof fn !== 'function') { + throw new Error('Expected `fn` to be a function, not ' + fn) + } + + fns.push(fn) + + return middleware + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license new file mode 100644 index 00000000000..3f0166f62b1 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/license @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json new file mode 100644 index 00000000000..cbf7782f89a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/package.json @@ -0,0 +1,75 @@ +{ + "name": "trough", + "version": "1.0.5", + "description": "Middleware: a channel used to convey a liquid", + "license": "MIT", + "keywords": [ + "middleware", + "ware" + ], + "repository": "wooorm/trough", + "bugs": "https://github.com/wooorm/trough/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js", + "wrap.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify index.js -s trough > trough.js", + "build-mangle": "browserify index.js -s trough -p tinyify > trough.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "unicorn/prefer-reflect-apply": "off", + "unicorn/prefer-type-error": "off", + "guard-for-in": "off" + }, + "ignores": [ + "trough.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md new file mode 100644 index 00000000000..ce3d38bca9a --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/readme.md @@ -0,0 +1,330 @@ +# trough + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +> **trough** /trôf/ — a channel used to convey a liquid. + +`trough` is like [`ware`][ware] with less sugar, and middleware functions can +change the input of the next. + +## Install + +[npm][]: + +```sh +npm install trough +``` + +## Use + +```js +var fs = require('fs') +var path = require('path') +var trough = require('trough') + +var pipeline = trough() + .use(function(fileName) { + console.log('Checking… ' + fileName) + }) + .use(function(fileName) { + return path.join(process.cwd(), fileName) + }) + .use(function(filePath, next) { + fs.stat(filePath, function(err, stats) { + next(err, {filePath, stats}) + }) + }) + .use(function(ctx, next) { + if (ctx.stats.isFile()) { + fs.readFile(ctx.filePath, next) + } else { + next(new Error('Expected file')) + } + }) + +pipeline.run('readme.md', console.log) +pipeline.run('node_modules', console.log) +``` + +Yields: + +```txt +Checking… readme.md +Checking… node_modules +Error: Expected file + at ~/example.js:21:12 + at wrapped (~/node_modules/trough/index.js:93:19) + at next (~/node_modules/trough/index.js:56:24) + at done (~/node_modules/trough/index.js:124:12) + at ~/node_modules/example.js:14:7 + at FSReqWrap.oncomplete (fs.js:153:5) +null +``` + +## API + +### `trough()` + +Create a new [`Trough`][trough]. + +#### `trough.wrap(middleware, callback[, …input])` + +Call `middleware` with all input. +If `middleware` accepts more arguments than given in input, and extra `done` +function is passed in after the input when calling it. +It must be called. + +The first value in `input` is called the main input value. +All other input values are called the rest input values. +The values given to `callback` are the input values, merged with every non-nully +output value. + +* If `middleware` throws an error, returns a promise that is rejected, or + calls the given `done` function with an error, `callback` is invoked with + that error +* If `middleware` returns a value or returns a promise that is resolved, that + value is the main output value +* If `middleware` calls `done`, all non-nully values except for the first one + (the error) overwrite the output values + +### `Trough` + +A pipeline. + +#### `Trough#run([input…, ]done)` + +Run the pipeline (all [`use()`][use]d middleware). +Invokes [`done`][done] on completion with either an error or the output of the +last middleware. + +> Note! +> as the length of input defines whether [async][] functions get a `next` +> function, it’s recommended to keep `input` at one value normally. + +##### `function done(err?, [output…])` + +The final handler passed to [`run()`][run], invoked with an error if a +[middleware function][fn] rejected, passed, or threw one, or the output of the +last middleware function. + +#### `Trough#use(fn)` + +Add `fn`, a [middleware function][fn], to the pipeline. + +##### `function fn([input…, ][next])` + +A middleware function invoked with the output of its predecessor. + +###### Synchronous + +If `fn` returns or throws an error, the pipeline fails and `done` is invoked +with that error. + +If `fn` returns a value (neither `null` nor `undefined`), the first `input` of +the next function is set to that value (all other `input` is passed through). + +The following example shows how returning an error stops the pipeline: + +```js +var trough = require('trough') + +trough() + .use(function(val) { + return new Error('Got: ' + val) + }) + .run('some value', console.log) +``` + +Yields: + +```txt +Error: Got: some value + at ~/example.js:5:12 + … +``` + +The following example shows how throwing an error stops the pipeline: + +```js +var trough = require('trough') + +trough() + .use(function(val) { + throw new Error('Got: ' + val) + }) + .run('more value', console.log) +``` + +Yields: + +```txt +Error: Got: more value + at ~/example.js:5:11 + … +``` + +The following example shows how the first output can be modified: + +```js +var trough = require('trough') + +trough() + .use(function(val) { + return 'even ' + val + }) + .run('more value', 'untouched', console.log) +``` + +Yields: + +```txt +null 'even more value' 'untouched' +``` + +###### Promise + +If `fn` returns a promise, and that promise rejects, the pipeline fails and +`done` is invoked with the rejected value. + +If `fn` returns a promise, and that promise resolves with a value (neither +`null` nor `undefined`), the first `input` of the next function is set to that +value (all other `input` is passed through). + +The following example shows how rejecting a promise stops the pipeline: + +```js +var trough = require('trough') + +trough() + .use(function(val) { + return new Promise(function(resolve, reject) { + reject('Got: ' + val) + }) + }) + .run('val', console.log) +``` + +Yields: + +```txt +Got: val +``` + +The following example shows how the input isn’t touched by resolving to `null`. + +```js +var trough = require('trough') + +trough() + .use(function() { + return new Promise(function(resolve) { + setTimeout(function() { + resolve(null) + }, 100) + }) + }) + .run('Input', console.log) +``` + +Yields: + +```txt +null 'Input' +``` + +###### Asynchronous + +If `fn` accepts one more argument than the given `input`, a `next` function is +given (after the input). `next` must be called, but doesn’t have to be called +async. + +If `next` is given a value (neither `null` nor `undefined`) as its first +argument, the pipeline fails and `done` is invoked with that value. + +If `next` is given no value (either `null` or `undefined`) as the first +argument, all following non-nully values change the input of the following +function, and all nully values default to the `input`. + +The following example shows how passing a first argument stops the pipeline: + +```js +var trough = require('trough') + +trough() + .use(function(val, next) { + next(new Error('Got: ' + val)) + }) + .run('val', console.log) +``` + +Yields: + +```txt +Error: Got: val + at ~/example.js:5:10 +``` + +The following example shows how more values than the input are passed. + +```js +var trough = require('trough') + +trough() + .use(function(val, next) { + setTimeout(function() { + next(null, null, 'values') + }, 100) + }) + .run('some', console.log) +``` + +Yields: + +```txt +null 'some' 'values' +``` + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/trough.svg + +[build]: https://travis-ci.org/wooorm/trough + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trough.svg + +[coverage]: https://codecov.io/github/wooorm/trough + +[downloads-badge]: https://img.shields.io/npm/dm/trough.svg + +[downloads]: https://www.npmjs.com/package/trough + +[size-badge]: https://img.shields.io/bundlephobia/minzip/trough.svg + +[size]: https://bundlephobia.com/result?p=trough + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[ware]: https://github.com/segmentio/ware + +[trough]: #trough-1 + +[use]: #troughusefn + +[run]: #troughruninput-done + +[fn]: #function-fninput-next + +[done]: #function-doneerr-output + +[async]: #asynchronous diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js new file mode 100644 index 00000000000..cf568c07adf --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/trough/wrap.js @@ -0,0 +1,64 @@ +'use strict' + +var slice = [].slice + +module.exports = wrap + +// Wrap `fn`. +// Can be sync or async; return a promise, receive a completion handler, return +// new values and errors. +function wrap(fn, callback) { + var invoked + + return wrapped + + function wrapped() { + var params = slice.call(arguments, 0) + var callback = fn.length > params.length + var result + + if (callback) { + params.push(done) + } + + try { + result = fn.apply(null, params) + } catch (error) { + // Well, this is quite the pickle. + // `fn` received a callback and invoked it (thus continuing the pipeline), + // but later also threw an error. + // We’re not about to restart the pipeline again, so the only thing left + // to do is to throw the thing instead. + if (callback && invoked) { + throw error + } + + return done(error) + } + + if (!callback) { + if (result && typeof result.then === 'function') { + result.then(then, done) + } else if (result instanceof Error) { + done(result) + } else { + then(result) + } + } + } + + // Invoke `next`, only once. + function done() { + if (!invoked) { + invoked = true + + callback.apply(null, arguments) + } + } + + // Invoke `done` with one value. + // Tracks if an error is passed, too. + function then(value) { + done(null, value) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js new file mode 100644 index 00000000000..32ead7770fa --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/index.js @@ -0,0 +1,45 @@ +'use strict' + +var xtend = require('xtend') +var inherits = require('inherits') + +module.exports = unherit + +// Create a custom constructor which can be modified without affecting the +// original class. +function unherit(Super) { + var result + var key + var value + + inherits(Of, Super) + inherits(From, Of) + + // Clone values. + result = Of.prototype + + for (key in result) { + value = result[key] + + if (value && typeof value === 'object') { + result[key] = 'concat' in value ? value.concat() : xtend(value) + } + } + + return Of + + // Constructor accepting a single argument, which itself is an `arguments` + // object. + function From(parameters) { + return Super.apply(this, parameters) + } + + // Constructor accepting variadic arguments. + function Of() { + if (!(this instanceof Of)) { + return new From(arguments) + } + + return Super.apply(this, arguments) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license new file mode 100644 index 00000000000..f3722d94b38 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/license @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json new file mode 100644 index 00000000000..445a5006502 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/package.json @@ -0,0 +1,72 @@ +{ + "name": "unherit", + "version": "1.1.3", + "description": "Clone a constructor without affecting the super-class", + "license": "MIT", + "keywords": [ + "clone", + "super", + "class", + "constructor" + ], + "repository": "wooorm/unherit", + "bugs": "https://github.com/wooorm/unherit/issues", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^15.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s unherit -o unherit.js", + "build-mangle": "browserify . -s unherit -p tinyify -o unherit.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "unicorn/prefer-reflect-apply": "off", + "guard-for-in": "off" + }, + "ignores": [ + "unherit.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md new file mode 100644 index 00000000000..bf679597d89 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unherit/readme.md @@ -0,0 +1,79 @@ +# unherit + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +Create a custom constructor which can be modified without affecting the original +class. + +## Install + +[npm][]: + +```sh +npm install unherit +``` + +## Use + +```js +var EventEmitter = require('events').EventEmitter +var unherit = require('unherit') + +// Create a private class which acts just like `EventEmitter`. +var Emitter = unherit(EventEmitter) + +Emitter.prototype.defaultMaxListeners = 0 +// Now, all instances of `Emitter` have no maximum listeners, without affecting +// other `EventEmitter`s. + +new Emitter().defaultMaxListeners === 0 // => true +new EventEmitter().defaultMaxListeners === undefined // => true +new Emitter() instanceof EventEmitter // => true +``` + +## API + +### `unherit(Super)` + +Create a custom constructor which can be modified without affecting the original +class. + +###### Parameters + +* `Super` (`Function`) — Super-class + +###### Returns + +`Function` — Constructor acting like `Super`, which can be modified without +affecting the original class. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/wooorm/unherit.svg + +[build]: https://travis-ci.org/wooorm/unherit + +[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/unherit.svg + +[coverage]: https://codecov.io/github/wooorm/unherit + +[downloads-badge]: https://img.shields.io/npm/dm/unherit.svg + +[downloads]: https://www.npmjs.com/package/unherit + +[size-badge]: https://img.shields.io/bundlephobia/minzip/unherit.svg + +[size]: https://bundlephobia.com/result?p=unherit + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE new file mode 100644 index 00000000000..f3722d94b38 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js new file mode 100644 index 00000000000..b8f9011d170 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/index.js @@ -0,0 +1,466 @@ +'use strict' + +/* Dependencies. */ +var extend = require('extend') +var bail = require('bail') +var vfile = require('vfile') +var trough = require('trough') +var string = require('x-is-string') +var plain = require('is-plain-obj') + +/* Expose a frozen processor. */ +module.exports = unified().freeze() + +var slice = [].slice +var own = {}.hasOwnProperty + +/* Process pipeline. */ +var pipeline = trough() + .use(pipelineParse) + .use(pipelineRun) + .use(pipelineStringify) + +function pipelineParse(p, ctx) { + ctx.tree = p.parse(ctx.file) +} + +function pipelineRun(p, ctx, next) { + p.run(ctx.tree, ctx.file, done) + + function done(err, tree, file) { + if (err) { + next(err) + } else { + ctx.tree = tree + ctx.file = file + next() + } + } +} + +function pipelineStringify(p, ctx) { + ctx.file.contents = p.stringify(ctx.tree, ctx.file) +} + +/* Function to create the first processor. */ +function unified() { + var attachers = [] + var transformers = trough() + var namespace = {} + var frozen = false + var freezeIndex = -1 + + /* Data management. */ + processor.data = data + + /* Lock. */ + processor.freeze = freeze + + /* Plug-ins. */ + processor.attachers = attachers + processor.use = use + + /* API. */ + processor.parse = parse + processor.stringify = stringify + processor.run = run + processor.runSync = runSync + processor.process = process + processor.processSync = processSync + + /* Expose. */ + return processor + + /* Create a new processor based on the processor + * in the current scope. */ + function processor() { + var destination = unified() + var length = attachers.length + var index = -1 + + while (++index < length) { + destination.use.apply(null, attachers[index]) + } + + destination.data(extend(true, {}, namespace)) + + return destination + } + + /* Freeze: used to signal a processor that has finished + * configuration. + * + * For example, take unified itself. It’s frozen. + * Plug-ins should not be added to it. Rather, it should + * be extended, by invoking it, before modifying it. + * + * In essence, always invoke this when exporting a + * processor. */ + function freeze() { + var values + var plugin + var options + var transformer + + if (frozen) { + return processor + } + + while (++freezeIndex < attachers.length) { + values = attachers[freezeIndex] + plugin = values[0] + options = values[1] + transformer = null + + if (options === false) { + continue + } + + if (options === true) { + values[1] = undefined + } + + transformer = plugin.apply(processor, values.slice(1)) + + if (typeof transformer === 'function') { + transformers.use(transformer) + } + } + + frozen = true + freezeIndex = Infinity + + return processor + } + + /* Data management. + * Getter / setter for processor-specific informtion. */ + function data(key, value) { + if (string(key)) { + /* Set `key`. */ + if (arguments.length === 2) { + assertUnfrozen('data', frozen) + + namespace[key] = value + + return processor + } + + /* Get `key`. */ + return (own.call(namespace, key) && namespace[key]) || null + } + + /* Set space. */ + if (key) { + assertUnfrozen('data', frozen) + namespace = key + return processor + } + + /* Get space. */ + return namespace + } + + /* Plug-in management. + * + * Pass it: + * * an attacher and options, + * * a preset, + * * a list of presets, attachers, and arguments (list + * of attachers and options). */ + function use(value) { + var settings + + assertUnfrozen('use', frozen) + + if (value === null || value === undefined) { + /* Empty */ + } else if (typeof value === 'function') { + addPlugin.apply(null, arguments) + } else if (typeof value === 'object') { + if ('length' in value) { + addList(value) + } else { + addPreset(value) + } + } else { + throw new Error('Expected usable value, not `' + value + '`') + } + + if (settings) { + namespace.settings = extend(namespace.settings || {}, settings) + } + + return processor + + function addPreset(result) { + addList(result.plugins) + + if (result.settings) { + settings = extend(settings || {}, result.settings) + } + } + + function add(value) { + if (typeof value === 'function') { + addPlugin(value) + } else if (typeof value === 'object') { + if ('length' in value) { + addPlugin.apply(null, value) + } else { + addPreset(value) + } + } else { + throw new Error('Expected usable value, not `' + value + '`') + } + } + + function addList(plugins) { + var length + var index + + if (plugins === null || plugins === undefined) { + /* Empty */ + } else if (typeof plugins === 'object' && 'length' in plugins) { + length = plugins.length + index = -1 + + while (++index < length) { + add(plugins[index]) + } + } else { + throw new Error('Expected a list of plugins, not `' + plugins + '`') + } + } + + function addPlugin(plugin, value) { + var entry = find(plugin) + + if (entry) { + if (plain(entry[1]) && plain(value)) { + value = extend(entry[1], value) + } + + entry[1] = value + } else { + attachers.push(slice.call(arguments)) + } + } + } + + function find(plugin) { + var length = attachers.length + var index = -1 + var entry + + while (++index < length) { + entry = attachers[index] + + if (entry[0] === plugin) { + return entry + } + } + } + + /* Parse a file (in string or VFile representation) + * into a Unist node using the `Parser` on the + * processor. */ + function parse(doc) { + var file = vfile(doc) + var Parser + + freeze() + Parser = processor.Parser + assertParser('parse', Parser) + + if (newable(Parser)) { + return new Parser(String(file), file).parse() + } + + return Parser(String(file), file) // eslint-disable-line new-cap + } + + /* Run transforms on a Unist node representation of a file + * (in string or VFile representation), async. */ + function run(node, file, cb) { + assertNode(node) + freeze() + + if (!cb && typeof file === 'function') { + cb = file + file = null + } + + if (!cb) { + return new Promise(executor) + } + + executor(null, cb) + + function executor(resolve, reject) { + transformers.run(node, vfile(file), done) + + function done(err, tree, file) { + tree = tree || node + if (err) { + reject(err) + } else if (resolve) { + resolve(tree) + } else { + cb(null, tree, file) + } + } + } + } + + /* Run transforms on a Unist node representation of a file + * (in string or VFile representation), sync. */ + function runSync(node, file) { + var complete = false + var result + + run(node, file, done) + + assertDone('runSync', 'run', complete) + + return result + + function done(err, tree) { + complete = true + bail(err) + result = tree + } + } + + /* Stringify a Unist node representation of a file + * (in string or VFile representation) into a string + * using the `Compiler` on the processor. */ + function stringify(node, doc) { + var file = vfile(doc) + var Compiler + + freeze() + Compiler = processor.Compiler + assertCompiler('stringify', Compiler) + assertNode(node) + + if (newable(Compiler)) { + return new Compiler(node, file).compile() + } + + return Compiler(node, file) // eslint-disable-line new-cap + } + + /* Parse a file (in string or VFile representation) + * into a Unist node using the `Parser` on the processor, + * then run transforms on that node, and compile the + * resulting node using the `Compiler` on the processor, + * and store that result on the VFile. */ + function process(doc, cb) { + freeze() + assertParser('process', processor.Parser) + assertCompiler('process', processor.Compiler) + + if (!cb) { + return new Promise(executor) + } + + executor(null, cb) + + function executor(resolve, reject) { + var file = vfile(doc) + + pipeline.run(processor, {file: file}, done) + + function done(err) { + if (err) { + reject(err) + } else if (resolve) { + resolve(file) + } else { + cb(null, file) + } + } + } + } + + /* Process the given document (in string or VFile + * representation), sync. */ + function processSync(doc) { + var complete = false + var file + + freeze() + assertParser('processSync', processor.Parser) + assertCompiler('processSync', processor.Compiler) + file = vfile(doc) + + process(file, done) + + assertDone('processSync', 'process', complete) + + return file + + function done(err) { + complete = true + bail(err) + } + } +} + +/* Check if `func` is a constructor. */ +function newable(value) { + return typeof value === 'function' && keys(value.prototype) +} + +/* Check if `value` is an object with keys. */ +function keys(value) { + var key + for (key in value) { + return true + } + return false +} + +/* Assert a parser is available. */ +function assertParser(name, Parser) { + if (typeof Parser !== 'function') { + throw new Error('Cannot `' + name + '` without `Parser`') + } +} + +/* Assert a compiler is available. */ +function assertCompiler(name, Compiler) { + if (typeof Compiler !== 'function') { + throw new Error('Cannot `' + name + '` without `Compiler`') + } +} + +/* Assert the processor is not frozen. */ +function assertUnfrozen(name, frozen) { + if (frozen) { + throw new Error( + [ + 'Cannot invoke `' + name + '` on a frozen processor.\nCreate a new ', + 'processor first, by invoking it: use `processor()` instead of ', + '`processor`.' + ].join('') + ) + } +} + +/* Assert `node` is a Unist node. */ +function assertNode(node) { + if (!node || !string(node.type)) { + throw new Error('Expected node, got `' + node + '`') + } +} + +/* Assert that `complete` is `true`. */ +function assertDone(name, asyncName, complete) { + if (!complete) { + throw new Error( + '`' + name + '` finished async. Use `' + asyncName + '` instead' + ) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json new file mode 100644 index 00000000000..21777216934 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/package.json @@ -0,0 +1,86 @@ +{ + "name": "unified", + "version": "6.2.0", + "description": "Pluggable text processing interface", + "license": "MIT", + "keywords": [ + "process", + "parse", + "transform", + "compile", + "stringify", + "rehype", + "retext", + "remark" + ], + "repository": "unifiedjs/unified", + "bugs": "https://github.com/unifiedjs/unified/issues", + "author": "Titus Wormer (http://wooorm.com)", + "contributors": [ + "Titus Wormer (http://wooorm.com)" + ], + "files": [ + "index.js", + "lib" + ], + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^2.0.0", + "x-is-string": "^0.1.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "esmangle": "^1.0.0", + "nyc": "^11.0.0", + "prettier": "^1.12.1", + "remark-cli": "^5.0.0", + "remark-preset-wooorm": "^4.0.0", + "tape": "^4.4.0", + "xo": "^0.20.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", + "build-bundle": "browserify index.js -s unified > unified.js", + "build-mangle": "esmangle unified.js > unified.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "guard-for-in": "off", + "no-var": "off", + "object-shorthand": "off", + "prefer-arrow-callback": "off", + "unicorn/prefer-type-error": "off" + }, + "ignores": [ + "unified.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md new file mode 100644 index 00000000000..e979e0b3629 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unified/readme.md @@ -0,0 +1,993 @@ +# ![unified][logo] + +[![Build Status][travis-badge]][travis] +[![Coverage Status][codecov-badge]][codecov] +[![Chat][chat-badge]][chat] + +**unified** is an interface for processing text using syntax trees. It’s what +powers [**remark**][remark], [**retext**][retext], and [**rehype**][rehype], +but it also allows for processing between multiple syntaxes. + +The website for **unified**, [`unifiedjs.github.io`][site], provides a less +technical and more practical introduction to unified. Make sure to visit it +and try its introductory [Guides][]. + +## Installation + +[npm][]: + +```bash +npm install unified +``` + +## Usage + +```js +var unified = require('unified') +var markdown = require('remark-parse') +var remark2rehype = require('remark-rehype') +var doc = require('rehype-document') +var format = require('rehype-format') +var html = require('rehype-stringify') +var report = require('vfile-reporter') + +unified() + .use(markdown) + .use(remark2rehype) + .use(doc) + .use(format) + .use(html) + .process('# Hello world!', function(err, file) { + console.error(report(err || file)) + console.log(String(file)) + }) +``` + +Yields: + +```html +no issues found + + + + + + + +

Hello world!

+ + +``` + +## Table of Contents + +* [Description](#description) +* [API](#api) + * [processor()](#processor) + * [processor.use(plugin\[, options\])](#processoruseplugin-options) + * [processor.parse(file|value)](#processorparsefilevalue) + * [processor.stringify(node\[, file\])](#processorstringifynode-file) + * [processor.run(node\[, file\]\[, done\])](#processorrunnode-file-done) + * [processor.runSync(node\[, file\])](#processorrunsyncnode-file) + * [processor.process(file|value\[, done\])](#processorprocessfilevalue-done) + * [processor.processSync(file|value)](#processorprocesssyncfilevalue) + * [processor.data(key\[, value\])](#processordatakey-value) + * [processor.freeze()](#processorfreeze) +* [Plugin](#plugin) + * [function attacher(\[options\])](#function-attacheroptions) + * [function transformer(node, file\[, next\])](#function-transformernode-file-next) +* [Preset](#preset) +* [Contribute](#contribute) +* [Acknowledgments](#acknowledgments) +* [License](#license) + +## Description + +**unified** is an interface for processing text using syntax trees. Syntax +trees are a representation understandable to programs. Those programs, called +[**plugin**][plugin]s, take these trees and modify them, amongst other things. +To get to the syntax tree from input text there’s a [**parser**][parser]. To +get from that back to text there’s a [**compiler**][compiler]. This is the +[**process**][process] of a **processor**. + +```ascii +| ....................... process() ......................... | +| ......... parse() ..... | run() | ..... stringify() ....... | + + +--------+ +----------+ +Input ->- | Parser | ->- Syntax Tree ->- | Compiler | ->- Output + +--------+ | +----------+ + X + | + +--------------+ + | Transformers | + +--------------+ +``` + +###### Processors + +Every processor implements another processor. To create a new processor invoke +another processor. This creates a processor that is configured to function the +same as its ancestor. But when the descendant processor is configured in the +future it does not affect the ancestral processor. + +When processors are exposed from a module (for example, unified itself) they +should not be configured directly, as that would change their behaviour for all +module users. Those processors are [**frozen**][freeze] and they should be +invoked to create a new processor before they are used. + +###### Node + +The syntax trees used in **unified** are [**Unist**][unist] nodes: plain +JavaScript objects with a `type` property. The semantics of those `type`s are +defined by other projects. + +There are several [utilities][unist-utilities] for working with these nodes. + +###### List of Processors + +The following projects process different syntax trees. They parse text to +their respective syntax tree and they compile their syntax trees back to text. +These processors can be used as-is, or their parsers and compilers can be mixed +and matched with **unified** and other plugins to process between different +syntaxes. + +* [**rehype**][rehype] ([**HAST**][hast]) — HTML +* [**remark**][remark] ([**MDAST**][mdast]) — Markdown +* [**retext**][retext] ([**NLCST**][nlcst]) — Natural language + +###### List of Plugins + +The below plugins work with **unified**, unrelated to what flavour the syntax +tree is in: + +* [`unified-diff`](https://github.com/unifiedjs/unified-diff) + — Ignore messages for unchanged lines in Travis + +See [**remark**][remark-plugins], [**rehype**][rehype-plugins], and +[**retext**][retext-plugins] for lists of their plugins. + +###### File + +When processing documents metadata is often gathered about that document. +[**VFile**][vfile] is a virtual file format which stores data and handles +metadata and messages for **unified** and its plugins. + +There are several [utilities][vfile-utilities] for working with these files. + +###### Configuration + +To configure a processor invoke its [`use`][use] method, supply it a +[**plugin**][plugin], and optionally settings. + +###### Integrations + +**unified** can integrate with the file-system through +[`unified-engine`][engine]. On top of that, CLI apps can be created with +[`unified-args`][args], Gulp plugins with [`unified-engine-gulp`][gulp], and +Atom Linters with [`unified-engine-atom`][atom]. + +A streaming interface is provided through [`unified-stream`][stream]. + +###### Programming interface + +The API gives access to processing metadata (such as lint messages) and +supports multiple passed through files: + +```js +var unified = require('unified') +var markdown = require('remark-parse') +var styleGuide = require('remark-preset-lint-markdown-style-guide') +var remark2retext = require('remark-retext') +var english = require('retext-english') +var equality = require('retext-equality') +var remark2rehype = require('remark-rehype') +var html = require('rehype-stringify') +var report = require('vfile-reporter') + +unified() + .use(markdown) + .use(styleGuide) + .use( + remark2retext, + unified() + .use(english) + .use(equality) + ) + .use(remark2rehype) + .use(html) + .process('*Emphasis* and _importance_, you guys!', function(err, file) { + console.error(report(err || file)) + console.log(String(file)) + }) +``` + +Yields: + +```txt + 1:16-1:28 warning Emphasis should use `*` as a marker emphasis-marker remark-lint + 1:34-1:38 warning `guys` may be insensitive, use `people`, `persons`, `folks` instead gals-men retext-equality + +⚠ 2 warnings +

Emphasis and importance, you guys!

+``` + +###### Processing between syntaxes + +The processors can be combined in two modes. + +**Bridge** mode transforms the syntax tree from one flavour (the origin) to +another (the destination). Then, transformations are applied on that tree. +Finally, the origin processor continues transforming the original syntax tree. + +**Mutate** mode also transforms the syntax tree from one flavour to another. +But then the origin processor continues transforming the destination syntax +tree. + +In the previous example (“Programming interface”), `remark-retext` is used in +bridge mode: the origin syntax tree is kept after retext is done; whereas +`remark-rehype` is used in mutate mode: it sets a new syntax tree and discards +the original. + +* [`remark-retext`][remark-retext] +* [`remark-rehype`][remark-rehype] +* [`rehype-retext`][rehype-retext] +* [`rehype-remark`][rehype-remark] + +## API + +### `processor()` + +Object describing how to process text. + +###### Returns + +`Function` — New [**unfrozen**][freeze] processor which is configured to +function the same as its ancestor. But when the descendant processor is +configured in the future it does not affect the ancestral processor. + +###### Example + +The following example shows how a new processor can be created (from the remark +processor) and linked to **stdin**(4) and **stdout**(4). + +```js +var remark = require('remark') +var concat = require('concat-stream') + +process.stdin.pipe(concat(onconcat)) + +function onconcat(buf) { + var doc = remark() + .processSync(buf) + .toString() + + process.stdout.write(doc) +} +``` + +### `processor.use(plugin[, options])` + +Configure the processor to use a [**plugin**][plugin] and optionally configure +that plugin with options. + +###### Signatures + +* `processor.use(plugin[, options])` +* `processor.use(preset)` +* `processor.use(list)` + +###### Parameters + +* `plugin` ([`Plugin`][plugin]) +* `options` (`*`, optional) — Configuration for `plugin` +* `preset` (`Object`) — Object with an optional `plugins` (set to `list`), + and/or an optional `settings` object +* `list` (`Array`) — List of plugins, presets, and pairs (`plugin` and + `options` in an array) + +###### Returns + +`processor` — The processor on which `use` is invoked. + +###### Note + +`use` cannot be called on [frozen][freeze] processors. Invoke the processor +first to create a new unfrozen processor. + +###### Example + +There are many ways to pass plugins to `.use()`. The below example gives an +overview. + +```js +var unified = require('unified') + +unified() + // Plugin with options: + .use(plugin, {}) + // Plugins: + .use([plugin, pluginB]) + // Two plugins, the second with options: + .use([plugin, [pluginB, {}]]) + // Preset with plugins and settings: + .use({plugins: [plugin, [pluginB, {}]], settings: {position: false}}) + // Settings only: + .use({settings: {position: false}}) + +function plugin() {} +function pluginB() {} +``` + +### `processor.parse(file|value)` + +Parse text to a syntax tree. + +###### Parameters + +* `file` ([`VFile`][file]) + — Or anything which can be given to `vfile()` + +###### Returns + +[`Node`][node] — Syntax tree representation of input. + +###### Note + +`parse` [freezes][freeze] the processor if not already frozen. + +#### `processor.Parser` + +Function handling the parsing of text to a syntax tree. Used in the +[**parse**][parse] phase in the process and invoked with a `string` and +[`VFile`][file] representation of the document to parse. + +`Parser` can be a normal function in which case it must return a +[`Node`][node]: the syntax tree representation of the given file. + +`Parser` can also be a constructor function (a function with keys in its +`prototype`) in which case it’s invoked with `new`. Instances must have a +`parse` method which is invoked without arguments and must return a +[`Node`][node]. + +### `processor.stringify(node[, file])` + +Compile a syntax tree to text. + +###### Parameters + +* `node` ([`Node`][node]) +* `file` ([`VFile`][file], optional); + — Or anything which can be given to `vfile()` + +###### Returns + +`string` — String representation of the syntax tree file. + +###### Note + +`stringify` [freezes][freeze] the processor if not already frozen. + +#### `processor.Compiler` + +Function handling the compilation of syntax tree to a text. Used in the +[**stringify**][stringify] phase in the process and invoked with a +[`Node`][node] and [`VFile`][file] representation of the document to stringify. + +`Compiler` can be a normal function in which case it must return a `string`: +the text representation of the given syntax tree. + +`Compiler` can also be a constructor function (a function with keys in its +`prototype`) in which case it’s invoked with `new`. Instances must have a +`compile` method which is invoked without arguments and must return a `string`. + +### `processor.run(node[, file][, done])` + +Transform a syntax tree by applying [**plugin**][plugin]s to it. + +###### Parameters + +* `node` ([`Node`][node]) +* `file` ([`VFile`][file], optional) + — Or anything which can be given to `vfile()` +* `done` ([`Function`][run-done], optional) + +###### Returns + +[`Promise`][promise] if `done` is not given. Rejected with an error, or +resolved with the resulting syntax tree. + +###### Note + +`run` [freezes][freeze] the processor if not already frozen. + +##### `function done(err[, node, file])` + +Invoked when transformation is complete. Either invoked with an error or a +syntax tree and a file. + +###### Parameters + +* `err` (`Error`) — Fatal error +* `node` ([`Node`][node]) +* `file` ([`VFile`][file]) + +### `processor.runSync(node[, file])` + +Transform a syntax tree by applying [**plugin**][plugin]s to it. + +If asynchronous [**plugin**][plugin]s are configured an error is thrown. + +###### Parameters + +* `node` ([`Node`][node]) +* `file` ([`VFile`][file], optional) + — Or anything which can be given to `vfile()` + +###### Returns + +[`Node`][node] — The given syntax tree. + +###### Note + +`runSync` [freezes][freeze] the processor if not already frozen. + +### `processor.process(file|value[, done])` + +Process the given representation of a file as configured on the processor. The +process invokes `parse`, `run`, and `stringify` internally. + +###### Parameters + +* `file` ([`VFile`][file]) +* `value` (`string`) — String representation of a file +* `done` ([`Function`][process-done], optional) + +###### Returns + +[`Promise`][promise] if `done` is not given. Rejected with an error or +resolved with the resulting file. + +###### Note + +`process` [freezes][freeze] the processor if not already frozen. + +#### `function done(err, file)` + +Invoked when the process is complete. Invoked with a fatal error, if any, and +the [`VFile`][file]. + +###### Parameters + +* `err` (`Error`, optional) — Fatal error +* `file` ([`VFile`][file]) + +###### Example + +```js +var unified = require('unified') +var markdown = require('remark-parse') +var remark2rehype = require('remark-rehype') +var doc = require('rehype-document') +var format = require('rehype-format') +var html = require('rehype-stringify') + +unified() + .use(markdown) + .use(remark2rehype) + .use(doc) + .use(format) + .use(html) + .process('# Hello world!') + .then( + function(file) { + console.log(String(file)) + }, + function(err) { + console.error(String(err)) + } + ) +``` + +Yields: + +```html + + + + + + + +

Hello world!

+ + +``` + +### `processor.processSync(file|value)` + +Process the given representation of a file as configured on the processor. The +process invokes `parse`, `run`, and `stringify` internally. + +If asynchronous [**plugin**][plugin]s are configured an error is thrown. + +###### Parameters + +* `file` ([`VFile`][file]) +* `value` (`string`) — String representation of a file + +###### Returns + +[`VFile`][file] — Virtual file with modified [`contents`][vfile-contents]. + +###### Note + +`processSync` [freezes][freeze] the processor if not already frozen. + +###### Example + +```js +var unified = require('unified') +var markdown = require('remark-parse') +var remark2rehype = require('remark-rehype') +var doc = require('rehype-document') +var format = require('rehype-format') +var html = require('rehype-stringify') + +var processor = unified() + .use(markdown) + .use(remark2rehype) + .use(doc) + .use(format) + .use(html) + +console.log(processor.processSync('# Hello world!').toString()) +``` + +Yields: + +```html + + + + + + + +

Hello world!

+ + +``` + +### `processor.data(key[, value])` + +Get or set information in an in-memory key-value store accessible to all phases +of the process. An example is a list of HTML elements which are self-closing, +which is needed when parsing, transforming, and compiling HTML. + +###### Parameters + +* `key` (`string`) — Identifier +* `value` (`*`, optional) — Value to set. Omit if getting `key` + +###### Returns + +* `processor` — If setting, the processor on which `data` is invoked +* `*` — If getting, the value at `key` + +###### Note + +Setting information with `data` cannot occur on [frozen][freeze] processors. +Invoke the processor first to create a new unfrozen processor. + +###### Example + +The following example show how to get and set information: + +```js +var unified = require('unified') + +console.log( + unified() + .data('alpha', 'bravo') + .data('alpha') +) +``` + +Yields: + +```txt +bravo +``` + +### `processor.freeze()` + +Freeze a processor. Frozen processors are meant to be extended and not to be +configured or processed directly. + +Once a processor is frozen it cannot be unfrozen. New processors functioning +just like it can be created by invoking the processor. + +It’s possible to freeze processors explicitly, by calling `.freeze()`, but +[`.parse()`][parse], [`.run()`][run], [`.stringify()`][stringify], and +[`.process()`][process] call `.freeze()` to freeze a processor too. + +###### Returns + +`Processor` — The processor on which `freeze` is invoked. + +###### Example + +The following example, `index.js`, shows how [**rehype**][rehype] prevents +extensions to itself: + +```js +var unified = require('unified') +var parse = require('rehype-parse') +var stringify = require('rehype-stringify') + +module.exports = unified() + .use(parse) + .use(stringify) + .freeze() +``` + +The below example, `a.js`, shows how that processor can be used and configured. + +```js +var rehype = require('rehype') +var format = require('rehype-format') +// ... + +rehype() + .use(format) + // ... +``` + +The below example, `b.js`, shows a similar looking example which operates on +the frozen [**rehype**][rehype] interface. If this behaviour was allowed it +would result in unexpected behaviour so an error is thrown. **This is +invalid**: + +```js +var rehype = require('rehype') +var format = require('rehype-format') +// ... + +rehype + .use(format) + // ... +``` + +Yields: + +```txt +~/node_modules/unified/index.js:440 + throw new Error( + ^ + +Error: Cannot invoke `use` on a frozen processor. +Create a new processor first, by invoking it: use `processor()` instead of `processor`. + at assertUnfrozen (~/node_modules/unified/index.js:440:11) + at Function.use (~/node_modules/unified/index.js:172:5) + at Object. (~/b.js:6:4) +``` + +## `Plugin` + +**unified** plugins change the way the applied-on processor works in the +following ways: + +* They modify the [**processor**][processor]: such as changing the parser, + the compiler, or linking it to other processors +* They transform [**syntax tree**][node] representation of files +* They modify metadata of files + +Plugins are a concept. They materialise as [`attacher`][attacher]s. + +###### Example + +`move.js`: + +```js +module.exports = move + +function move(options) { + var expected = (options || {}).extname + + if (!expected) { + throw new Error('Missing `extname` in options') + } + + return transformer + + function transformer(tree, file) { + if (file.extname && file.extname !== expected) { + file.extname = expected + } + } +} +``` + +`index.js`: + +```js +var unified = require('unified') +var parse = require('remark-parse') +var remark2rehype = require('remark-rehype') +var stringify = require('rehype-stringify') +var vfile = require('to-vfile') +var report = require('vfile-reporter') +var move = require('./move') + +unified() + .use(parse) + .use(remark2rehype) + .use(move, {extname: '.html'}) + .use(stringify) + .process(vfile.readSync('index.md'), function(err, file) { + console.error(report(err || file)) + if (file) { + vfile.writeSync(file) // Written to `index.html`. + } + }) +``` + +### `function attacher([options])` + +An attacher is the thing passed to [`use`][use]. It configures the processor +and in turn can receive options. + +Attachers can configure processors, such as by interacting with parsers and +compilers, linking them to other processors, or by specifying how the syntax +tree is handled. + +###### Context + +The context object is set to the invoked on [`processor`][processor]. + +###### Parameters + +* `options` (`*`, optional) — Configuration + +###### Returns + +[`transformer`][transformer] — Optional. + +###### Note + +Attachers are invoked when the processor is [frozen][freeze]: either when +`.freeze()` is called explicitly, or when [`.parse()`][parse], [`.run()`][run], +[`.stringify()`][stringify], or [`.process()`][process] is called for the first +time. + +### `function transformer(node, file[, next])` + +Transformers modify the syntax tree or metadata of a file. A transformer is a +function which is invoked each time a file is passed through the transform +phase. If an error occurs (either because it’s thrown, returned, rejected, or +passed to [`next`][next]), the process stops. + +The transformation process in **unified** is handled by [`trough`][trough], see +it’s documentation for the exact semantics of transformers. + +###### Parameters + +* `node` ([`Node`][node]) +* `file` ([`VFile`][file]) +* `next` ([`Function`][next], optional) + +###### Returns + +* `Error` — Can be returned to stop the process +* [`Node`][node] — Can be returned and results in further transformations + and `stringify`s to be performed on the new tree +* `Promise` — If a promise is returned, the function is asynchronous, and + **must** be resolved (optionally with a [`Node`][node]) or rejected + (optionally with an `Error`) + +#### `function next(err[, tree[, file]])` + +If the signature of a transformer includes `next` (third argument), the +function **may** finish asynchronous, and **must** invoke `next()`. + +###### Parameters + +* `err` (`Error`, optional) — Stop the process +* `node` ([`Node`][node], optional) — New syntax tree +* `file` ([`VFile`][file], optional) — New virtual file + +## `Preset` + +Presets provide a potentially sharable way to configure processors. They can +contain multiple plugins and optionally settings as well. + +###### Example + +`preset.js`: + +```js +exports.settings = {bullet: '*', fences: true} + +exports.plugins = [ + require('remark-preset-lint-recommended'), + require('remark-comment-config'), + require('remark-preset-lint-markdown-style-guide'), + [require('remark-toc'), {maxDepth: 3, tight: true}], + require('remark-github') +] +``` + +`index.js`: + +```js +var remark = require('remark') +var vfile = require('to-vfile') +var report = require('vfile-reporter') +var preset = require('./preset') + +remark() + .use(preset) + .process(vfile.readSync('index.md'), function(err, file) { + console.error(report(err || file)) + + if (file) { + vfile.writeSync(file) + } + }) +``` + +## Contribute + +**unified** is built by people just like you! Check out +[`contributing.md`][contributing] for ways to get started. + +This project has a [Code of Conduct][coc]. By interacting with this repository, +organisation, or community you agree to abide by its terms. + +Want to chat with the community and contributors? Join us in [Gitter][chat]! + +Have an idea for a cool new utility or tool? That’s great! If you want +feedback, help, or just to share it with the world you can do so by creating +an issue in the [`unifiedjs/ideas`][ideas] repository! + +## Acknowledgments + +Preliminary work for unified was done [in 2014][preliminary] for +[**retext**][retext] and inspired by [`ware`][ware]. Further incubation +happened in [**remark**][remark]. The project was finally [externalised][] +in 2015 and [published][] as `unified`. The project was authored by +[**@wooorm**](https://github.com/wooorm). + +Although `unified` since moved it’s plugin architecture to [`trough`][trough], +thanks to [**@calvinfo**](https://github.com/calvinfo), +[**@ianstormtaylor**](https://github.com/ianstormtaylor), and others for their +work on [`ware`][ware], which was a huge initial inspiration. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[logo]: https://cdn.rawgit.com/unifiedjs/unified/0cd3a41/logo.svg + +[travis-badge]: https://img.shields.io/travis/unifiedjs/unified.svg + +[travis]: https://travis-ci.org/unifiedjs/unified + +[codecov-badge]: https://img.shields.io/codecov/c/github/unifiedjs/unified.svg + +[codecov]: https://codecov.io/github/unifiedjs/unified + +[chat-badge]: https://img.shields.io/gitter/room/unifiedjs/Lobby.svg + +[chat]: https://gitter.im/unifiedjs/Lobby + +[npm]: https://docs.npmjs.com/cli/install + +[license]: LICENSE + +[author]: http://wooorm.com + +[site]: https://unifiedjs.github.io + +[guides]: https://unifiedjs.github.io/#guides + +[rehype]: https://github.com/rehypejs/rehype + +[remark]: https://github.com/remarkjs/remark + +[retext]: https://github.com/retextjs/retext + +[hast]: https://github.com/syntax-tree/hast + +[mdast]: https://github.com/syntax-tree/mdast + +[nlcst]: https://github.com/syntax-tree/nlcst + +[unist]: https://github.com/syntax-tree/unist + +[engine]: https://github.com/unifiedjs/unified-engine + +[args]: https://github.com/unifiedjs/unified-args + +[gulp]: https://github.com/unifiedjs/unified-engine-gulp + +[atom]: https://github.com/unifiedjs/unified-engine-atom + +[remark-rehype]: https://github.com/remarkjs/remark-rehype + +[remark-retext]: https://github.com/remarkjs/remark-retext + +[rehype-retext]: https://github.com/rehypejs/rehype-retext + +[rehype-remark]: https://github.com/rehypejs/rehype-remark + +[unist-utilities]: https://github.com/syntax-tree/unist#list-of-utilities + +[vfile]: https://github.com/vfile/vfile + +[vfile-contents]: https://github.com/vfile/vfile#vfilecontents + +[vfile-utilities]: https://github.com/vfile/vfile#related-tools + +[file]: #file + +[node]: #node + +[processor]: #processor + +[process]: #processorprocessfilevalue-done + +[parse]: #processorparsefilevalue + +[parser]: #processorparser + +[stringify]: #processorstringifynode-file + +[run]: #processorrunnode-file-done + +[compiler]: #processorcompiler + +[use]: #processoruseplugin-options + +[attacher]: #function-attacheroptions + +[transformer]: #function-transformernode-file-next + +[next]: #function-nexterr-tree-file + +[freeze]: #processorfreeze + +[plugin]: #plugin + +[run-done]: #function-doneerr-node-file + +[process-done]: #function-doneerr-file + +[trough]: https://github.com/wooorm/trough#function-fninput-next + +[promise]: https://developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Promise + +[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#list-of-plugins + +[rehype-plugins]: https://github.com/rehypejs/rehype/blob/master/doc/plugins.md#list-of-plugins + +[retext-plugins]: https://github.com/retextjs/retext/blob/master/doc/plugins.md#list-of-plugins + +[stream]: https://github.com/unifiedjs/unified-stream + +[contributing]: contributing.md + +[coc]: code-of-conduct.md + +[ideas]: https://github.com/unifiedjs/ideas + +[preliminary]: https://github.com/retextjs/retext/commit/8fcb1f#diff-168726dbe96b3ce427e7fedce31bb0bc + +[externalised]: https://github.com/remarkjs/remark/commit/9892ec#diff-168726dbe96b3ce427e7fedce31bb0bc + +[published]: https://github.com/unifiedjs/unified/commit/2ba1cf + +[ware]: https://github.com/segmentio/ware diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js new file mode 100644 index 00000000000..f92f34f1051 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/convert.js @@ -0,0 +1,87 @@ +'use strict' + +module.exports = convert + +function convert(test) { + if (typeof test === 'string') { + return typeFactory(test) + } + + if (test === null || test === undefined) { + return ok + } + + if (typeof test === 'object') { + return ('length' in test ? anyFactory : matchesFactory)(test) + } + + if (typeof test === 'function') { + return test + } + + throw new Error('Expected function, string, or object as test') +} + +function convertAll(tests) { + var results = [] + var length = tests.length + var index = -1 + + while (++index < length) { + results[index] = convert(tests[index]) + } + + return results +} + +// Utility assert each property in `test` is represented in `node`, and each +// values are strictly equal. +function matchesFactory(test) { + return matches + + function matches(node) { + var key + + for (key in test) { + if (node[key] !== test[key]) { + return false + } + } + + return true + } +} + +function anyFactory(tests) { + var checks = convertAll(tests) + var length = checks.length + + return matches + + function matches() { + var index = -1 + + while (++index < length) { + if (checks[index].apply(this, arguments)) { + return true + } + } + + return false + } +} + +// Utility to convert a string into a function which checks a given node’s type +// for said string. +function typeFactory(test) { + return type + + function type(node) { + return Boolean(node && node.type === test) + } +} + +// Utility to return true. +function ok() { + return true +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js new file mode 100644 index 00000000000..f18d416e08d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/index.js @@ -0,0 +1,37 @@ +'use strict' + +var convert = require('./convert') + +module.exports = is + +is.convert = convert + +// Assert if `test` passes for `node`. +// When a `parent` node is known the `index` of node should also be given. +// eslint-disable-next-line max-params +function is(node, test, index, parent, context) { + var hasParent = parent !== null && parent !== undefined + var hasIndex = index !== null && index !== undefined + var check = convert(test) + + if ( + hasIndex && + (typeof index !== 'number' || index < 0 || index === Infinity) + ) { + throw new Error('Expected positive finite index or child node') + } + + if (hasParent && (!is(parent) || !parent.children)) { + throw new Error('Expected parent node') + } + + if (!node || !node.type || typeof node.type !== 'string') { + return false + } + + if (hasParent !== hasIndex) { + throw new Error('Expected both parent and index') + } + + return Boolean(check.call(context, node, index, parent)) +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license new file mode 100644 index 00000000000..cfa79e66cfc --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/license @@ -0,0 +1,22 @@ +(The MIT license) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json new file mode 100644 index 00000000000..25193acddd8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/package.json @@ -0,0 +1,75 @@ +{ + "name": "unist-util-is", + "version": "3.0.0", + "description": "Utility to check if a node passes a test", + "license": "MIT", + "keywords": [ + "unist", + "node", + "is", + "equal", + "test", + "type", + "util", + "utility" + ], + "repository": "syntax-tree/unist-util-is", + "bugs": "https://github.com/syntax-tree/unist-util-is/issues", + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js", + "convert.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.0.0", + "remark-cli": "^6.0.0", + "remark-preset-wooorm": "^5.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.24.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s unistUtilIs > unist-util-is.js", + "build-mangle": "browserify . -s unistUtilIs -p tinyify > unist-util-is.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "unicorn/prefer-type-error": "off" + }, + "ignore": [ + "unist-util-is.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md new file mode 100644 index 00000000000..7d53629aba8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-is/readme.md @@ -0,0 +1,202 @@ +# unist-util-is + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +[**unist**][unist] utility to check if a node passes a test. + +## Install + +[npm][]: + +```sh +npm install unist-util-is +``` + +## Usage + +```js +var is = require('unist-util-is') + +var node = {type: 'strong'} +var parent = {type: 'paragraph', children: [node]} + +function test(node, n) { + return n === 5 +} + +is() // => false +is({children: []}) // => false +is(node) // => true +is(node, 'strong') // => true +is(node, 'emphasis') // => false + +is(node, node) // => true +is(parent, {type: 'paragraph'}) // => true +is(parent, {type: 'strong'}) // => false + +is(node, test) // => false +is(node, test, 4, parent) // => false +is(node, test, 5, parent) // => true +``` + +## API + +### `is(node[, test[, index, parent[, context]]])` + +###### Parameters + +* `node` ([`Node`][node]) — Node to check. +* `test` ([`Function`][test], `string`, `Object`, or `Array.`, optional) + — When not given, checks if `node` is a [`Node`][node]. + When `string`, works like passing `node => node.type === test`. + When `array`, checks if any one of the subtests pass. + When `object`, checks that all keys in `test` are in `node`, + and that they have strictly equal values +* `index` (`number`, optional) — [Index][] of `node` in `parent` +* `parent` ([`Node`][node], optional) — [Parent][] of `node` +* `context` (`*`, optional) — Context object to invoke `test` with + +###### Returns + +`boolean` — Whether `test` passed *and* `node` is a [`Node`][node] (object with +`type` set to a non-empty `string`). + +#### `function test(node[, index, parent])` + +###### Parameters + +* `node` ([`Node`][node]) — Node to check +* `index` (`number?`) — [Index][] of `node` in `parent` +* `parent` ([`Node?`][node]) — [Parent][] of `node` + +###### Context + +`*` — The to `is` given `context`. + +###### Returns + +`boolean?` — Whether `node` matches. + +### `is.convert(test)` + +Create a test function from `test`, that can later be called with a `node`, +`index`, and `parent`. +Useful if you’re going to test many nodes, for example when creating a utility +where something else passes an is-compatible test. + +Can also be accessed with `require('unist-util-is/convert')`. + +For example: + +```js +var u = require('unist-builder') +var convert = require('unist-util-is/convert') + +var test = convert('leaf') + +var tree = u('tree', [ + u('node', [u('leaf', '1')]), + u('leaf', '2'), + u('node', [u('leaf', '3'), u('leaf', '4')]), + u('leaf', '5') +]) + +var leafs = tree.children.filter((child, index) => test(child, index, tree)) + +console.log(leafs) +``` + +Yields: + +```js +[({type: 'leaf', value: '2'}, {type: 'leaf', value: '5'})] +``` + +## Related + +* [`unist-util-find-after`](https://github.com/syntax-tree/unist-util-find-after) + — Find a node after another node +* [`unist-util-find-before`](https://github.com/syntax-tree/unist-util-find-before) + — Find a node before another node +* [`unist-util-find-all-after`](https://github.com/syntax-tree/unist-util-find-all-after) + — Find all nodes after another node +* [`unist-util-find-all-before`](https://github.com/syntax-tree/unist-util-find-all-before) + — Find all nodes before another node +* [`unist-util-find-all-between`](https://github.com/mrzmmr/unist-util-find-all-between) + — Find all nodes between two nodes +* [`unist-util-find`](https://github.com/blahah/unist-util-find) + — Find nodes matching a predicate +* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) + — Create a new tree with nodes that pass a check +* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) + — Remove nodes from tree + +## Contribute + +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get +started. +See [`support.md`][support] for ways to get help. + +This project has a [Code of Conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-is.svg + +[build]: https://travis-ci.org/syntax-tree/unist-util-is + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-is.svg + +[coverage]: https://codecov.io/github/syntax-tree/unist-util-is + +[downloads-badge]: https://img.shields.io/npm/dm/unist-util-is.svg + +[downloads]: https://www.npmjs.com/package/unist-util-is + +[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-is.svg + +[size]: https://bundlephobia.com/result?p=unist-util-is + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg + +[chat]: https://spectrum.chat/unified/syntax-tree + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/master/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md + +[unist]: https://github.com/syntax-tree/unist + +[node]: https://github.com/syntax-tree/unist#node + +[parent]: https://github.com/syntax-tree/unist#parent-1 + +[index]: https://github.com/syntax-tree/unist#index + +[test]: #function-testnode-index-parent diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js new file mode 100644 index 00000000000..09639598179 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/index.js @@ -0,0 +1,18 @@ +'use strict' + +var visit = require('unist-util-visit') + +module.exports = removePosition + +function removePosition(node, force) { + visit(node, force ? hard : soft) + return node +} + +function hard(node) { + delete node.position +} + +function soft(node) { + node.position = undefined +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json new file mode 100644 index 00000000000..e1166471c37 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/package.json @@ -0,0 +1,76 @@ +{ + "name": "unist-util-remove-position", + "version": "1.1.4", + "description": "Remove `position`s from a unist tree", + "license": "MIT", + "keywords": [ + "unist", + "utility", + "remove", + "position", + "location" + ], + "repository": "syntax-tree/unist-util-remove-position", + "bugs": "https://github.com/syntax-tree/unist-util-remove-position/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": { + "unist-util-visit": "^1.1.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.0.0", + "remark": "^11.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "unist-builder": "^2.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s unistUtilRemovePosition > unist-util-remove-position.js", + "build-mangle": "browserify . -s unistUtilRemovePosition -p tinyify > unist-util-remove-position.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "unist-util-remove-position.js" + ] + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md new file mode 100644 index 00000000000..e79ed14b350 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-remove-position/readme.md @@ -0,0 +1,131 @@ +# unist-util-remove-position + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +[**unist**][unist] utility to remove [`position`][position]s from tree. + +## Install + +[npm][]: + +```sh +npm install unist-util-remove-position +``` + +## Usage + +```js +var remark = require('remark') +var removePosition = require('unist-util-remove-position') + +var tree = remark().parse('Some _emphasis_, **importance**, and `code`.') + +removePosition(tree, true) + +console.dir(tree, {depth: null}) +``` + +Yields: + +```js +{ + type: 'root', + children: [ + { + type: 'paragraph', + children: [ + { type: 'text', value: 'Some ' }, + { + type: 'emphasis', + children: [ { type: 'text', value: 'emphasis' } ] + }, + { type: 'text', value: ', ' }, + { + type: 'strong', + children: [ { type: 'text', value: 'importance' } ] + }, + { type: 'text', value: ', and ' }, + { type: 'inlineCode', value: 'code' }, + { type: 'text', value: '.' } + ] + } + ] +} +``` + +## API + +### `removePosition(node[, force])` + +Remove [`position`][position]s from [`node`][node]. +If `force` is given, uses `delete`, otherwise, sets `position`s to `undefined`. + +###### Returns + +The given `node`. + +## Contribute + +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get +started. +See [`support.md`][support] for ways to get help. + +This project has a [Code of Conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-remove-position.svg + +[build]: https://travis-ci.org/syntax-tree/unist-util-remove-position + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-remove-position.svg + +[coverage]: https://codecov.io/github/syntax-tree/unist-util-remove-position + +[downloads-badge]: https://img.shields.io/npm/dm/unist-util-remove-position.svg + +[downloads]: https://www.npmjs.com/package/unist-util-remove-position + +[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-remove-position.svg + +[size]: https://bundlephobia.com/result?p=unist-util-remove-position + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg + +[chat]: https://spectrum.chat/unified/syntax-tree + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/master/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md + +[unist]: https://github.com/syntax-tree/unist + +[position]: https://github.com/syntax-tree/unist#position + +[node]: https://github.com/syntax-tree/unist#node diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/LICENSE @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js new file mode 100644 index 00000000000..3be1e14276c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/index.js @@ -0,0 +1,50 @@ +'use strict' + +var own = {}.hasOwnProperty + +module.exports = stringify + +function stringify(value) { + /* Nothing. */ + if (!value || typeof value !== 'object') { + return null + } + + /* Node. */ + if (own.call(value, 'position') || own.call(value, 'type')) { + return position(value.position) + } + + /* Position. */ + if (own.call(value, 'start') || own.call(value, 'end')) { + return position(value) + } + + /* Point. */ + if (own.call(value, 'line') || own.call(value, 'column')) { + return point(value) + } + + /* ? */ + return null +} + +function point(point) { + if (!point || typeof point !== 'object') { + point = {} + } + + return index(point.line) + ':' + index(point.column) +} + +function position(pos) { + if (!pos || typeof pos !== 'object') { + pos = {} + } + + return point(pos.start) + '-' + point(pos.end) +} + +function index(value) { + return value && typeof value === 'number' ? value : 1 +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json new file mode 100644 index 00000000000..2e20b672051 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/package.json @@ -0,0 +1,77 @@ +{ + "name": "unist-util-stringify-position", + "version": "1.1.2", + "description": "Stringify a Unist node, position, or point", + "license": "MIT", + "keywords": [ + "unist", + "position", + "location", + "point", + "node", + "stringify", + "tostring", + "util", + "utility" + ], + "repository": "syntax-tree/unist-util-stringify-position", + "bugs": "https://github.com/syntax-tree/unist-util-stringify-position/issues", + "author": "Titus Wormer (http://wooorm.com)", + "contributors": [ + "Titus Wormer (http://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "esmangle": "^1.0.0", + "nyc": "^11.0.0", + "prettier": "^1.12.1", + "remark-cli": "^5.0.0", + "remark-preset-wooorm": "^4.0.0", + "tape": "^4.5.1", + "xo": "^0.20.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", + "build-bundle": "browserify index.js --no-builtins -s unistUtilStringifyPosition > unist-util-stringify-position.js", + "build-mangle": "esmangle unist-util-stringify-position.js > unist-util-stringify-position.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "guard-for-in": "off", + "no-var": "off", + "prefer-arrow-callback": "off" + }, + "ignores": [ + "unist-util-stringify-position.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md new file mode 100644 index 00000000000..85c753b5e1b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-stringify-position/readme.md @@ -0,0 +1,100 @@ +# unist-util-stringify-position [![Build Status][build-badge]][build-page] [![Coverage Status][coverage-badge]][coverage-page] + +Stringify a [**Unist**][unist] [`Position`][position] or [`Point`][point]. + +## Installation + +[npm][]: + +```bash +npm install unist-util-stringify-position +``` + +## Usage + +```javascript +var stringify = require('unist-util-stringify-position') + +// Point +stringify({line: 2, column: 3}) // => '2:3' + +// Position +stringify({ + start: {line: 2}, + end: {line: 3} +}) // => '2:1-3:1' + +// Node +stringify({ + type: 'text', + value: '!', + position: { + start: {line: 5, column: 11}, + end: {line: 5, column: 12} + } +}) // => '5:11-5:12' +``` + +## API + +### `stringifyPosition(node|position|point)` + +Stringify one point, a position (start and end points), or +a node’s position. + +###### Parameters + +* `node` ([`Node`][node]) + — Node whose `'position'` property to stringify +* `position` ([`Position`][position]) + — Position whose `'start'` and `'end'` points to stringify +* `point` ([`Point`][point]) + — Point whose `'line'` and `'column'` to stringify + +###### Returns + +`string?` — A range `ls:cs-le:ce` (when given `node` or +`position`) or a point `l:c` (when given `point`), where `l` stands +for line, `c` for column, `s` for `start`, and `e` for +end. `null` is returned if the given value is neither `node`, +`position`, nor `point`. + +## Contribute + +See [`contributing.md` in `syntax-tree/unist`][contributing] for ways to get +started. + +This organisation has a [Code of Conduct][coc]. By interacting with this +repository, organisation, or community you agree to abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-stringify-position.svg + +[build-page]: https://travis-ci.org/syntax-tree/unist-util-stringify-position + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-stringify-position.svg + +[coverage-page]: https://codecov.io/github/syntax-tree/unist-util-stringify-position?branch=master + +[npm]: https://docs.npmjs.com/cli/install + +[license]: LICENSE + +[author]: http://wooorm.com + +[unist]: https://github.com/syntax-tree/unist + +[node]: https://github.com/syntax-tree/unist#node + +[position]: https://github.com/syntax-tree/unist#position + +[point]: https://github.com/syntax-tree/unist#point + +[contributing]: https://github.com/syntax-tree/unist/blob/master/contributing.md + +[coc]: https://github.com/syntax-tree/unist/blob/master/code-of-conduct.md diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js new file mode 100644 index 00000000000..c72635924f8 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/index.js @@ -0,0 +1,78 @@ +'use strict' + +module.exports = visitParents + +var convert = require('unist-util-is/convert') + +var CONTINUE = true +var SKIP = 'skip' +var EXIT = false + +visitParents.CONTINUE = CONTINUE +visitParents.SKIP = SKIP +visitParents.EXIT = EXIT + +function visitParents(tree, test, visitor, reverse) { + var is + + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor + visitor = test + test = null + } + + is = convert(test) + + one(tree, null, []) + + // Visit a single node. + function one(node, index, parents) { + var result = [] + var subresult + + if (!test || is(node, index, parents[parents.length - 1] || null)) { + result = toResult(visitor(node, parents)) + + if (result[0] === EXIT) { + return result + } + } + + if (node.children && result[0] !== SKIP) { + subresult = toResult(all(node.children, parents.concat(node))) + return subresult[0] === EXIT ? subresult : result + } + + return result + } + + // Visit children in `parent`. + function all(children, parents) { + var min = -1 + var step = reverse ? -1 : 1 + var index = (reverse ? children.length : min) + step + var result + + while (index > min && index < children.length) { + result = one(children[index], index, parents) + + if (result[0] === EXIT) { + return result + } + + index = typeof result[1] === 'number' ? result[1] : index + step + } + } +} + +function toResult(value) { + if (value !== null && typeof value === 'object' && 'length' in value) { + return value + } + + if (typeof value === 'number') { + return [CONTINUE, value] + } + + return [value] +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json new file mode 100644 index 00000000000..26e187202d1 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/package.json @@ -0,0 +1,70 @@ +{ + "name": "unist-util-visit-parents", + "version": "2.1.2", + "description": "Recursively walk over unist nodes, with ancestral information", + "license": "MIT", + "keywords": [ + "unist", + "walk", + "util", + "utility" + ], + "repository": "syntax-tree/unist-util-visit-parents", + "bugs": "https://github.com/syntax-tree/unist-util-visit-parents/issues", + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": { + "unist-util-is": "^3.0.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.0.0", + "remark": "^10.0.0", + "remark-cli": "^6.0.0", + "remark-preset-wooorm": "^5.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.24.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify index.js -s unistUtilVisitParents > unist-util-visit-parents.js", + "build-mangle": "browserify index.js -s unistUtilVisitParents -p tinyify > unist-util-visit-parents.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "unist-util-visit-parents.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md new file mode 100644 index 00000000000..ec7efc7bd03 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit-parents/readme.md @@ -0,0 +1,218 @@ +# unist-util-visit-parents + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +[**unist**][unist] utility to visit nodes, with ancestral information. + +## Install + +[npm][]: + +```sh +npm install unist-util-visit-parents +``` + +## Usage + +```js +var remark = require('remark') +var visit = require('unist-util-visit-parents') + +var tree = remark.parse('Some _emphasis_, **importance**, and `code`.') + +visit(tree, 'strong', visitor) + +function visitor(node, ancestors) { + console.log(ancestors) +} +``` + +Yields: + +```js +[ { type: 'root', children: [ [Object] ] }, + { type: 'paragraph', + children: + [ [Object], + [Object], + [Object], + [Object], + [Object], + [Object], + [Object] ] } ] +``` + +## API + +### `visit(tree[, test], visitor[, reverse])` + +Visit nodes ([**inclusive descendants**][descendant] of [`tree`][tree]), with +ancestral information. Optionally filtering nodes. Optionally in reverse. + +###### Parameters + +* `tree` ([`Node`][node]) — [Tree][] to traverse +* `test` ([`Test`][is], optional) — [`is`][is]-compatible test (such as a + [type][]) +* `visitor` ([Function][visitor]) — Function invoked when a node is found + that passes `test` +* `reverse` (`boolean`, default: `false`) — The tree is walked in [preorder][] + (NLR), visiting the node itself, then its [head][], etc. + When `reverse` is passed, the tree is stilled walked in preorder, but now + in NRL (the node itself, then its [tail][], etc.) + +#### `next? = visitor(node, ancestors)` + +Invoked when a node (matching `test`, if given) is found. + +Visitors are free to transform `node`. +They can also transform the [parent][] of node (the last of `ancestors`). +Replacing `node` itself, if `visit.SKIP` is not returned, still causes its +[descendant][]s to be visited. +If adding or removing previous [sibling][]s (or next siblings, in case of +`reverse`) of `node`, `visitor` should return a new [`index`][index] (`number`) +to specify the sibling to traverse after `node` is traversed. +Adding or removing next siblings of `node` (or previous siblings, in case of +reverse) is handled as expected without needing to return a new `index`. +Removing the `children` property of parent still results in them being +traversed. + +###### Parameters + +* `node` ([`Node`][node]) — Found node +* `ancestors` (`Array.`) — [Ancestor][]s of `node` + +##### Returns + +The return value can have the following forms: + +* [`index`][index] (`number`) — Treated as a tuple of `[CONTINUE, index]` +* `action` (`*`) — Treated as a tuple of `[action]` +* `tuple` (`Array.<*>`) — List with one or two values, the first an `action`, + the second and `index`. + Note that passing a tuple only makes sense if the `action` is `SKIP`. + If the `action` is `EXIT`, that action can be returned. + If the `action` is `CONTINUE`, `index` can be returned. + +###### `action` + +An action can have the following values: + +* `visit.EXIT` (`false`) — Stop traversing immediately +* `visit.CONTINUE` (`true`) — Continue traversing as normal (same behaviour + as not returning anything) +* `visit.SKIP` (`'skip'`) — Do not traverse this node’s children; continue + with the specified index + +###### `index` + +[`index`][index] (`number`) — Move to the sibling at `index` next (after `node` +itself is completely traversed). +Useful if mutating the tree, such as removing the node the visitor is currently +on, or any of its previous siblings (or next siblings, in case of `reverse`) +Results less than `0` or greater than or equal to `children.length` stop +traversing the parent + +## Related + +* [`unist-util-visit`](https://github.com/syntax-tree/unist-util-visit) + — Like `visit-parents`, but with one parent +* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) + — Create a new tree with all nodes that pass a test +* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) + — Create a new tree with all nodes mapped by a given function +* [`unist-util-flatmap`](https://gitlab.com/staltz/unist-util-flatmap) + — Create a new tree by mapping (to an array) with the provided function and + then flattening +* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) + — Remove nodes from a tree that pass a test +* [`unist-util-select`](https://github.com/eush77/unist-util-select) + — Select nodes with CSS-like selectors + +## Contribute + +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get +started. +See [`support.md`][support] for ways to get help. + +This project has a [Code of Conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit-parents.svg + +[build]: https://travis-ci.org/syntax-tree/unist-util-visit-parents + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit-parents.svg + +[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit-parents + +[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit-parents.svg + +[downloads]: https://www.npmjs.com/package/unist-util-visit-parents + +[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit-parents.svg + +[size]: https://bundlephobia.com/result?p=unist-util-visit-parents + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg + +[chat]: https://spectrum.chat/unified/syntax-tree + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[unist]: https://github.com/syntax-tree/unist + +[node]: https://github.com/syntax-tree/unist#node + +[visitor]: #next--visitornode-ancestors + +[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/master/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md + +[is]: https://github.com/syntax-tree/unist-util-is + +[preorder]: https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/ + +[descendant]: https://github.com/syntax-tree/unist#descendant + +[head]: https://github.com/syntax-tree/unist#head + +[tail]: https://github.com/syntax-tree/unist#tail + +[parent]: https://github.com/syntax-tree/unist#parent-1 + +[sibling]: https://github.com/syntax-tree/unist#sibling + +[index]: https://github.com/syntax-tree/unist#index + +[ancestor]: https://github.com/syntax-tree/unist#ancestor + +[tree]: https://github.com/syntax-tree/unist#tree + +[type]: https://github.com/syntax-tree/unist#type diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js new file mode 100644 index 00000000000..39970e7deba --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/index.js @@ -0,0 +1,29 @@ +'use strict' + +module.exports = visit + +var visitParents = require('unist-util-visit-parents') + +var CONTINUE = visitParents.CONTINUE +var SKIP = visitParents.SKIP +var EXIT = visitParents.EXIT + +visit.CONTINUE = CONTINUE +visit.SKIP = SKIP +visit.EXIT = EXIT + +function visit(tree, test, visitor, reverse) { + if (typeof test === 'function' && typeof visitor !== 'function') { + reverse = visitor + visitor = test + test = null + } + + visitParents(tree, test, overload, reverse) + + function overload(node, parents) { + var parent = parents[parents.length - 1] + var index = parent ? parent.children.indexOf(node) : null + return visitor(node, index, parent) + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license new file mode 100644 index 00000000000..32e7a3d93ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json new file mode 100644 index 00000000000..44b8bd4897b --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/package.json @@ -0,0 +1,79 @@ +{ + "name": "unist-util-visit", + "version": "1.4.1", + "description": "Recursively walk over unist nodes", + "license": "MIT", + "keywords": [ + "unist", + "remark", + "markdown", + "retext", + "natural", + "language", + "node", + "visit", + "walk", + "util", + "utility" + ], + "repository": "syntax-tree/unist-util-visit", + "bugs": "https://github.com/syntax-tree/unist-util-visit/issues", + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)", + "Eugene Sharygin ", + "Richard Gibson " + ], + "files": [ + "index.js" + ], + "dependencies": { + "unist-util-visit-parents": "^2.0.0" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.0.0", + "remark": "^10.0.0", + "remark-cli": "^6.0.0", + "remark-preset-wooorm": "^5.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "xo": "^0.24.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s unistUtilVisit > unist-util-visit.js", + "build-mangle": "browserify . -s unistUtilVisit -p tinyify > unist-util-visit.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "unist-util-visit.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md new file mode 100644 index 00000000000..25808a27a54 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/unist-util-visit/readme.md @@ -0,0 +1,121 @@ +# unist-util-visit + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] + +[**unist**][unist] utility to visit nodes. + +## Install + +[npm][]: + +```bash +npm install unist-util-visit +``` + +## Usage + +```javascript +var u = require('unist-builder') +var visit = require('unist-util-visit') + +var tree = u('tree', [ + u('leaf', '1'), + u('node', [u('leaf', '2')]), + u('void'), + u('leaf', '3') +]) + +visit(tree, 'leaf', function(node) { + console.log(node) +}) +``` + +Yields: + +```js +{ type: 'leaf', value: '1' } +{ type: 'leaf', value: '2' } +{ type: 'leaf', value: '3' } +``` + +## API + +### `visit(tree[, test], visitor[, reverse])` + +This function works exactly the same as [`unist-util-visit-parents`][vp], +but `visitor` has a different signature. + +#### `next? = visitor(node, index, parent)` + +Instead of being passed an array of ancestors, `visitor` is invoked with the +node’s [`index`][index] and its [`parent`][parent]. + +Otherwise the same as [`unist-util-visit-parents`][vp]. + +## Related + +* [`unist-util-visit-parents`][vp] + — Like `visit`, but with a stack of parents +* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) + — Create a new tree with all nodes that pass a test +* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) + — Create a new tree with all nodes mapped by a given function +* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) + — Remove nodes from a tree that pass a test +* [`unist-util-select`](https://github.com/eush77/unist-util-select) + — Select nodes with CSS-like selectors + +## Contribute + +See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get +started. +See [`support.md`][support] for ways to get help. + +This project has a [Code of Conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit.svg + +[build]: https://travis-ci.org/syntax-tree/unist-util-visit + +[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit.svg + +[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit + +[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit.svg + +[downloads]: https://www.npmjs.com/package/unist-util-visit + +[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit.svg + +[size]: https://bundlephobia.com/result?p=unist-util-visit + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md + +[support]: https://github.com/syntax-tree/.github/blob/master/support.md + +[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md + +[unist]: https://github.com/syntax-tree/unist + +[vp]: https://github.com/syntax-tree/unist-util-visit-parents + +[index]: https://github.com/syntax-tree/unist#index + +[parent]: https://github.com/syntax-tree/unist#parent-1 diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js new file mode 100644 index 00000000000..2d7c21c1808 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/index.js @@ -0,0 +1,74 @@ +'use strict' + +module.exports = factory + +function factory(file) { + var contents = indices(String(file)) + + return { + toPosition: offsetToPositionFactory(contents), + toOffset: positionToOffsetFactory(contents) + } +} + +// Factory to get the line and column-based `position` for `offset` in the bound +// indices. +function offsetToPositionFactory(indices) { + return offsetToPosition + + // Get the line and column-based `position` for `offset` in the bound indices. + function offsetToPosition(offset) { + var index = -1 + var length = indices.length + + if (offset < 0) { + return {} + } + + while (++index < length) { + if (indices[index] > offset) { + return { + line: index + 1, + column: offset - (indices[index - 1] || 0) + 1, + offset: offset + } + } + } + + return {} + } +} + +// Factory to get the `offset` for a line and column-based `position` in the +// bound indices. +function positionToOffsetFactory(indices) { + return positionToOffset + + // Get the `offset` for a line and column-based `position` in the bound + // indices. + function positionToOffset(position) { + var line = position && position.line + var column = position && position.column + + if (!isNaN(line) && !isNaN(column) && line - 1 in indices) { + return (indices[line - 2] || 0) + column - 1 || 0 + } + + return -1 + } +} + +// Get indices of line-breaks in `value`. +function indices(value) { + var result = [] + var index = value.indexOf('\n') + + while (index !== -1) { + result.push(index + 1) + index = value.indexOf('\n', index + 1) + } + + result.push(value.length + 1) + + return result +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license new file mode 100644 index 00000000000..8d8660d36ef --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json new file mode 100644 index 00000000000..f66857cf1c9 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/package.json @@ -0,0 +1,73 @@ +{ + "name": "vfile-location", + "version": "2.0.6", + "description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file", + "license": "MIT", + "keywords": [ + "remark", + "comment", + "message", + "marker", + "control" + ], + "repository": "vfile/vfile-location", + "bugs": "https://github.com/vfile/vfile-location/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": {}, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^14.0.0", + "prettier": "^1.0.0", + "remark-cli": "^7.0.0", + "remark-preset-wooorm": "^6.0.0", + "tape": "^4.0.0", + "tinyify": "^2.0.0", + "vfile": "^4.0.0", + "xo": "^0.25.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", + "build-bundle": "browserify . -s vfileLocation > vfile-location.js", + "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "ignores": [ + "vfile-location.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md new file mode 100644 index 00000000000..aa126a3fe39 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-location/readme.md @@ -0,0 +1,115 @@ +# vfile-location + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +Convert between positions (line and column-based) and offsets (range-based) +locations in a [virtual file][vfile]. + +## Install + +[npm][]: + +```sh +npm install vfile-location +``` + +## Usage + +```js +var vfile = require('vfile') +var vfileLocation = require('vfile-location') + +var location = vfileLocation(vfile('foo\nbar\nbaz')) + +var offset = location.toOffset({line: 3, column: 3}) // => 10 +location.toPosition(offset) // => {line: 3, column: 3, offset: 10} +``` + +## API + +### `location = vfileLocation(doc)` + +Get transform functions for the given `doc` (`string`) or [`file`][vfile]. + +Returns an object with [`toOffset`][to-offset] and [`toPosition`][to-position]. + +### `location.toOffset(position)` + +Get the `offset` (`number`) for a line and column-based [`position`][position] +in the bound file. +Returns `-1` when given invalid or out of bounds input. + +### `location.toPosition(offset)` + +Get the line and column-based [`position`][position] for `offset` in the bound +file. + +## Contribute + +See [`contributing.md`][contributing] in [`vfile/.github`][health] for ways to +get started. +See [`support.md`][support] for ways to get help. + +This project has a [Code of Conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/vfile/vfile-location.svg + +[build]: https://travis-ci.org/vfile/vfile-location + +[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg + +[coverage]: https://codecov.io/github/vfile/vfile-location + +[downloads-badge]: https://img.shields.io/npm/dm/vfile-location.svg + +[downloads]: https://www.npmjs.com/package/vfile-location + +[size-badge]: https://img.shields.io/bundlephobia/minzip/vfile-location.svg + +[size]: https://bundlephobia.com/result?p=vfile-location + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg + +[chat]: https://spectrum.chat/unified/vfile + +[npm]: https://docs.npmjs.com/cli/install + +[contributing]: https://github.com/vfile/.github/blob/master/contributing.md + +[support]: https://github.com/vfile/.github/blob/master/support.md + +[health]: https://github.com/vfile/.github + +[coc]: https://github.com/vfile/.github/blob/master/code-of-conduct.md + +[license]: license + +[author]: https://wooorm.com + +[vfile]: https://github.com/vfile/vfile + +[to-offset]: #locationtooffsetposition + +[to-position]: #locationtopositionoffset + +[position]: https://github.com/syntax-tree/unist#position diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js new file mode 100644 index 00000000000..c913753249e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/index.js @@ -0,0 +1,94 @@ +'use strict' + +var stringify = require('unist-util-stringify-position') + +module.exports = VMessage + +// Inherit from `Error#`. +function VMessagePrototype() {} +VMessagePrototype.prototype = Error.prototype +VMessage.prototype = new VMessagePrototype() + +// Message properties. +var proto = VMessage.prototype + +proto.file = '' +proto.name = '' +proto.reason = '' +proto.message = '' +proto.stack = '' +proto.fatal = null +proto.column = null +proto.line = null + +// Construct a new VMessage. +// +// Note: We cannot invoke `Error` on the created context, as that adds readonly +// `line` and `column` attributes on Safari 9, thus throwing and failing the +// data. +function VMessage(reason, position, origin) { + var parts + var range + var location + + if (typeof position === 'string') { + origin = position + position = null + } + + parts = parseOrigin(origin) + range = stringify(position) || '1:1' + + location = { + start: {line: null, column: null}, + end: {line: null, column: null} + } + + // Node. + if (position && position.position) { + position = position.position + } + + if (position) { + // Position. + if (position.start) { + location = position + position = position.start + } else { + // Point. + location.start = position + } + } + + if (reason.stack) { + this.stack = reason.stack + reason = reason.message + } + + this.message = reason + this.name = range + this.reason = reason + this.line = position ? position.line : null + this.column = position ? position.column : null + this.location = location + this.source = parts[0] + this.ruleId = parts[1] +} + +function parseOrigin(origin) { + var result = [null, null] + var index + + if (typeof origin === 'string') { + index = origin.indexOf(':') + + if (index === -1) { + result[1] = origin + } else { + result[0] = origin.slice(0, index) + result[1] = origin.slice(index + 1) + } + } + + return result +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license new file mode 100644 index 00000000000..045ffe0e075 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/license @@ -0,0 +1,22 @@ +(The MIT License) + +Copyright (c) 2017 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json new file mode 100644 index 00000000000..7396bb68e54 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/package.json @@ -0,0 +1,73 @@ +{ + "name": "vfile-message", + "version": "1.1.1", + "description": "Create a virtual message", + "license": "MIT", + "keywords": [ + "vfile", + "virtual", + "message" + ], + "repository": "vfile/vfile-message", + "bugs": "https://github.com/vfile/vfile-message/issues", + "author": "Titus Wormer (https://wooorm.com)", + "contributors": [ + "Titus Wormer (https://wooorm.com)" + ], + "files": [ + "index.js" + ], + "dependencies": { + "unist-util-stringify-position": "^1.1.1" + }, + "devDependencies": { + "browserify": "^16.0.0", + "nyc": "^13.0.0", + "prettier": "^1.12.1", + "remark-cli": "^6.0.0", + "remark-preset-wooorm": "^4.0.0", + "tape": "^4.0.0", + "tinyify": "^2.4.3", + "xo": "^0.23.0" + }, + "scripts": { + "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", + "build-bundle": "browserify . -s vfileMessage > vfile-message.js", + "build-mangle": "browserify . -s vfileMessage -p tinyify > vfile-message.min.js", + "build": "npm run build-bundle && npm run build-mangle", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run format && npm run build && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "prettier": { + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "bracketSpacing": false, + "semi": false, + "trailingComma": "none" + }, + "xo": { + "prettier": true, + "esnext": false, + "rules": { + "no-var": "off", + "prefer-arrow-callback": "off", + "object-shorthand": "off" + }, + "ignores": [ + "vfile-message.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md new file mode 100644 index 00000000000..0c88353a53c --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile-message/readme.md @@ -0,0 +1,194 @@ +# vfile-message + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Chat][chat-badge]][chat] + +Create [vfile][] messages. + +## Installation + +[npm][]: + +```bash +npm install vfile-message +``` + +## Usage + +```js +var VMessage = require('vfile-message') + +var message = new VMessage( + '`braavo` is misspelt; did you mean `bravo`?', + {line: 1, column: 8}, + 'spell:typo' +) + +console.log(message) +``` + +Yields: + +```js +{ [1:8: `braavo` is misspelt; did you mean `bravo`?] + reason: '`braavo` is misspelt; did you mean `bravo`?', + fatal: null, + line: 1, + column: 8, + location: + { start: { line: 1, column: 8 }, + end: { line: null, column: null } }, + source: 'spell', + ruleId: 'typo' } +``` + +## API + +### `VMessage(reason[, position][, origin])` + +Constructor of a message for `reason` at `position` from `origin`. When +an error is passed in as `reason`, copies the stack. + +##### Parameters + +###### `reason` + +Reason for message (`string` or `Error`). Uses the stack and message of the +error if given. + +###### `position` + +Place at which the message occurred in a file ([`Node`][node], +[`Position`][position], or [`Point`][point], optional). + +###### `origin` + +Place in code the message originates from (`string`, optional). + +Can either be the [`ruleId`][ruleid] (`'rule'`), or a string with both a +[`source`][source] and a [`ruleId`][ruleid] delimited with a colon +(`'source:rule'`). + +##### Extends + +[`Error`][error]. + +##### Returns + +An instance of itself. + +##### Properties + +###### `reason` + +Reason for message (`string`). + +###### `fatal` + +If `true`, marks associated file as no longer processable (`boolean?`). If +`false`, necessitates a (potential) change. The value can also be `null` or +`undefined`. + +###### `line` + +Starting line of error (`number?`). + +###### `column` + +Starting column of error (`number?`). + +###### `location` + +Full range information, when available ([`Position`][position]). Has `start` +and `end` properties, both set to an object with `line` and `column`, set to +`number?`. + +###### `source` + +Namespace of warning (`string?`). + +###### `ruleId` + +Category of message (`string?`). + +###### `stack` + +Stack of message (`string?`). + +##### Custom properties + +It’s OK to store custom data directly on the `VMessage`, some of those are +handled by [utilities][util]. + +###### `file` + +You may add a `file` property with a path of a file (used throughout the +[**VFile**][vfile] ecosystem). + +###### `note` + +You may add a `note` property with a long form description of the message +(supported by [`vfile-reporter`][reporter]). + +###### `url` + +You may add a `url` property with a link to documentation for the message. + +## Contribute + +See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. + +This organisation has a [Code of Conduct][coc]. By interacting with this +repository, organisation, or community you agree to abide by its terms. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/vfile/vfile-message.svg + +[build]: https://travis-ci.org/vfile/vfile-message + +[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg + +[coverage]: https://codecov.io/github/vfile/vfile-message + +[downloads-badge]: https://img.shields.io/npm/dm/vfile-message.svg + +[downloads]: https://www.npmjs.com/package/vfile-message + +[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg + +[chat]: https://spectrum.chat/unified/vfile + +[npm]: https://docs.npmjs.com/cli/install + +[license]: license + +[author]: https://wooorm.com + +[error]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error + +[node]: https://github.com/syntax-tree/unist#node + +[position]: https://github.com/syntax-tree/unist#position + +[point]: https://github.com/syntax-tree/unist#point + +[vfile]: https://github.com/vfile/vfile + +[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md + +[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md + +[util]: https://github.com/vfile/vfile#utilities + +[reporter]: https://github.com/vfile/vfile-reporter + +[ruleid]: #ruleid + +[source]: #source diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE new file mode 100644 index 00000000000..f3722d94b38 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/LICENSE @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js new file mode 100644 index 00000000000..2d88a333993 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/core.js @@ -0,0 +1,169 @@ +'use strict'; + +var path = require('path'); +var replace = require('replace-ext'); +var buffer = require('is-buffer'); + +module.exports = VFile; + +var own = {}.hasOwnProperty; +var proto = VFile.prototype; + +proto.toString = toString; + +/* Order of setting (least specific to most), we need this because + * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path + * is needed before a stem can be set. */ +var order = [ + 'history', + 'path', + 'basename', + 'stem', + 'extname', + 'dirname' +]; + +/* Construct a new file. */ +function VFile(options) { + var prop; + var index; + var length; + + if (!options) { + options = {}; + } else if (typeof options === 'string' || buffer(options)) { + options = {contents: options}; + } else if ('message' in options && 'messages' in options) { + return options; + } + + if (!(this instanceof VFile)) { + return new VFile(options); + } + + this.data = {}; + this.messages = []; + this.history = []; + this.cwd = process.cwd(); + + /* Set path related properties in the correct order. */ + index = -1; + length = order.length; + + while (++index < length) { + prop = order[index]; + + if (own.call(options, prop)) { + this[prop] = options[prop]; + } + } + + /* Set non-path related properties. */ + for (prop in options) { + if (order.indexOf(prop) === -1) { + this[prop] = options[prop]; + } + } +} + +/* Access full path (`~/index.min.js`). */ +Object.defineProperty(proto, 'path', { + get: function () { + return this.history[this.history.length - 1]; + }, + set: function (path) { + assertNonEmpty(path, 'path'); + + if (path !== this.path) { + this.history.push(path); + } + } +}); + +/* Access parent path (`~`). */ +Object.defineProperty(proto, 'dirname', { + get: function () { + return typeof this.path === 'string' ? path.dirname(this.path) : undefined; + }, + set: function (dirname) { + assertPath(this.path, 'dirname'); + this.path = path.join(dirname || '', this.basename); + } +}); + +/* Access basename (`index.min.js`). */ +Object.defineProperty(proto, 'basename', { + get: function () { + return typeof this.path === 'string' ? path.basename(this.path) : undefined; + }, + set: function (basename) { + assertNonEmpty(basename, 'basename'); + assertPart(basename, 'basename'); + this.path = path.join(this.dirname || '', basename); + } +}); + +/* Access extname (`.js`). */ +Object.defineProperty(proto, 'extname', { + get: function () { + return typeof this.path === 'string' ? path.extname(this.path) : undefined; + }, + set: function (extname) { + var ext = extname || ''; + + assertPart(ext, 'extname'); + assertPath(this.path, 'extname'); + + if (ext) { + if (ext.charAt(0) !== '.') { + throw new Error('`extname` must start with `.`'); + } + + if (ext.indexOf('.', 1) !== -1) { + throw new Error('`extname` cannot contain multiple dots'); + } + } + + this.path = replace(this.path, ext); + } +}); + +/* Access stem (`index.min`). */ +Object.defineProperty(proto, 'stem', { + get: function () { + return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined; + }, + set: function (stem) { + assertNonEmpty(stem, 'stem'); + assertPart(stem, 'stem'); + this.path = path.join(this.dirname || '', stem + (this.extname || '')); + } +}); + +/* Get the value of the file. */ +function toString(encoding) { + var value = this.contents || ''; + return buffer(value) ? value.toString(encoding) : String(value); +} + +/* Assert that `part` is not a path (i.e., does + * not contain `path.sep`). */ +function assertPart(part, name) { + if (part.indexOf(path.sep) !== -1) { + throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`'); + } +} + +/* Assert that `part` is not empty. */ +function assertNonEmpty(part, name) { + if (!part) { + throw new Error('`' + name + '` cannot be empty'); + } +} + +/* Assert `path` exists. */ +function assertPath(path, name) { + if (!path) { + throw new Error('Setting `' + name + '` requires `path` to be set too'); + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js new file mode 100644 index 00000000000..9b3c7e0d10e --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/index.js @@ -0,0 +1,53 @@ +'use strict'; + +var VMessage = require('vfile-message'); +var VFile = require('./core.js'); + +module.exports = VFile; + +var proto = VFile.prototype; + +proto.message = message; +proto.info = info; +proto.fail = fail; + +/* Slight backwards compatibility. Remove in the future. */ +proto.warn = message; + +/* Create a message with `reason` at `position`. + * When an error is passed in as `reason`, copies the stack. */ +function message(reason, position, origin) { + var filePath = this.path; + var message = new VMessage(reason, position, origin); + + if (filePath) { + message.name = filePath + ':' + message.name; + message.file = filePath; + } + + message.fatal = false; + + this.messages.push(message); + + return message; +} + +/* Fail. Creates a vmessage, associates it with the file, + * and throws it. */ +function fail() { + var message = this.message.apply(this, arguments); + + message.fatal = true; + + throw message; +} + +/* Info. Creates a vmessage, associates it with the file, + * and marks the fatality as null. */ +function info() { + var message = this.message.apply(this, arguments); + + message.fatal = null; + + return message; +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json new file mode 100644 index 00000000000..aba5f34dd9d --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/package.json @@ -0,0 +1,78 @@ +{ + "name": "vfile", + "version": "2.3.0", + "description": "Virtual file format for text processing", + "license": "MIT", + "keywords": [ + "virtual", + "file", + "text", + "processing", + "message", + "warning", + "error", + "remark", + "retext" + ], + "repository": "vfile/vfile", + "bugs": "https://github.com/vfile/vfile/issues", + "author": "Titus Wormer (http://wooorm.com)", + "contributors": [ + "Titus Wormer (http://wooorm.com)", + "Brendan Abbott ", + "Denys Dovhan ", + "Kyle Mathews ", + "Shinnosuke Watanabe ", + "Sindre Sorhus " + ], + "files": [ + "core.js", + "index.js" + ], + "dependencies": { + "is-buffer": "^1.1.4", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + }, + "devDependencies": { + "browserify": "^14.0.0", + "esmangle": "^1.0.0", + "nyc": "^11.0.0", + "remark-cli": "^4.0.0", + "remark-preset-wooorm": "^3.0.0", + "tape": "^4.4.0", + "xo": "^0.18.0" + }, + "scripts": { + "build-md": "remark . -qfo", + "build-bundle": "browserify index.js -s VFile > vfile.js", + "build-mangle": "esmangle vfile.js > vfile.min.js", + "build": "npm run build-md && npm run build-bundle && npm run build-mangle", + "lint": "xo", + "test-api": "node test", + "test-coverage": "nyc --reporter lcov tape test.js", + "test": "npm run build && npm run lint && npm run test-coverage" + }, + "nyc": { + "check-coverage": true, + "lines": 100, + "functions": 100, + "branches": 100 + }, + "xo": { + "space": true, + "esnext": false, + "rules": { + "unicorn/no-new-buffer": "off" + }, + "ignores": [ + "vfile.js" + ] + }, + "remarkConfig": { + "plugins": [ + "preset-wooorm" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md new file mode 100644 index 00000000000..1488031d7ed --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/vfile/readme.md @@ -0,0 +1,285 @@ +# ![vfile][] + +[![Build Status][build-badge]][build-status] +[![Coverage Status][coverage-badge]][coverage-status] + +**VFile** is a virtual file format used by [**unified**][unified], +a text processing umbrella (it powers [**retext**][retext] for +natural language, [**remark**][remark] for markdown, and +[**rehype**][rehype] for HTML). Each processors that parse, transform, +and compile text, and need a virtual representation of files and a +place to store [messages][] about them. Plus, they work in the browser. +**VFile** provides these requirements at a small size, in IE 9 and up. + +> **VFile** is different from the excellent [**vinyl**][vinyl] +> in that it has a smaller API, a smaller size, and focuses on +> [messages][]. + +VFile can be used anywhere where files need a lightweight representation. +For example, it’s used in: + +* [`documentation`](https://github.com/documentationjs/documentation) + — The documentation system for modern JavaScript +* [`weh`](https://github.com/wehjs/weh) + — Declarative small site generator +* [`geojsonhint`](https://github.com/mapbox/geojsonhint) + — Complete, fast, standards-based validation for geojson + +## Installation + +[npm][]: + +```bash +npm install vfile +``` + +## Table of Contents + +* [Usage](#usage) +* [Utilities](#utilities) +* [Reporters](#reporters) +* [API](#api) + * [VFile(\[options\])](#vfileoptions) + * [vfile.contents](#vfilecontents) + * [vfile.cwd](#vfilecwd) + * [vfile.path](#vfilepath) + * [vfile.basename](#vfilebasename) + * [vfile.stem](#vfilestem) + * [vfile.extname](#vfileextname) + * [vfile.dirname](#vfiledirname) + * [vfile.history](#vfilehistory) + * [vfile.messages](#vfilemessages) + * [vfile.data](#vfiledata) + * [VFile#toString(\[encoding\])](#vfiletostringencoding) + * [VFile#message(reason\[, position\]\[, origin\])](#vfilemessagereason-position-origin) + * [VFile#info(reason\[, position\]\[, origin\])](#vfileinforeason-position-origin) + * [VFile#fail(reason\[, position\]\[, origin\])](#vfilefailreason-position-origin) +* [License](#license) + +## Usage + +```js +var vfile = require('vfile'); + +var file = vfile({path: '~/example.txt', contents: 'Alpha *braavo* charlie.'}); + +file.path; //=> '~/example.txt' +file.dirname; //=> '~' + +file.extname = '.md'; + +file.basename; //=> 'example.md' + +file.basename = 'index.text'; + +file.history; //=> ['~/example.txt', '~/example.md', '~/index.text'] + +file.message('`braavo` is misspelt; did you mean `bravo`?', {line: 1, column: 8}); + +console.log(file.messages); +``` + +Yields: + +```js +[ { [~/index.text:1:8: `braavo` is misspelt; did you mean `bravo`?] + message: '`braavo` is misspelt; did you mean `bravo`?', + name: '~/index.text:1:8', + file: '~/index.text', + reason: '`braavo` is misspelt; did you mean `bravo`?', + line: 1, + column: 8, + location: { start: [Object], end: [Object] }, + ruleId: null, + source: null, + fatal: false } ] +``` + +## Utilities + +The following list of projects includes tools for working with virtual +files. See [**Unist**][unist] for projects working with nodes. + +* [`convert-vinyl-to-vfile`](https://github.com/dustinspecker/convert-vinyl-to-vfile) + — Convert from [Vinyl][] +* [`is-vfile-message`](https://github.com/shinnn/is-vfile-message) + — Check if a value is a `VMessage` object +* [`to-vfile`](https://github.com/vfile/to-vfile) + — Create a virtual file from a file-path (and optionally read it) +* [`vfile-find-down`](https://github.com/vfile/vfile-find-down) + — Find files by searching the file system downwards +* [`vfile-find-up`](https://github.com/vfile/vfile-find-up) + — Find files by searching the file system upwards +* [`vfile-location`](https://github.com/vfile/vfile-location) + — Convert between line/column- and range-based locations +* [`vfile-statistics`](https://github.com/vfile/vfile-statistics) + — Count messages per category +* [`vfile-messages-to-vscode-diagnostics`](https://github.com/shinnn/vfile-messages-to-vscode-diagnostics) + — Convert to VS Code diagnostics +* [`vfile-sort`](https://github.com/vfile/vfile-sort) + — Sort messages by line/column +* [`vfile-to-eslint`](https://github.com/vfile/vfile-to-eslint) + — Convert VFiles to ESLint formatter compatible output + +## Reporters + +The following list of projects show linting results for given virtual files. +Reporters _must_ accept `Array.` as their first argument, and return +`string`. Reporters _may_ accept other values too, in which case it’s suggested +to stick to `vfile-reporter`s interface. + +* [`vfile-reporter`][reporter] + — Stylish reporter +* [`vfile-reporter-json`](https://github.com/vfile/vfile-reporter-json) + — JSON reporter +* [`vfile-reporter-pretty`](https://github.com/vfile/vfile-reporter-pretty) + — Pretty reporter + +## API + +### `VFile([options])` + +Create a new virtual file. If `options` is `string` or `Buffer`, treats +it as `{contents: options}`. If `options` is a `VFile`, returns it. +All other options are set on the newly created `vfile`. + +Path related properties are set in the following order (least specific +to most specific): `history`, `path`, `basename`, `stem`, `extname`, +`dirname`. + +It’s not possible to set either `dirname` or `extname` without setting +either `history`, `path`, `basename`, or `stem` as well. + +###### Example + +```js +vfile(); +vfile('console.log("alpha");'); +vfile(Buffer.from('exit 1')); +vfile({path: path.join(__dirname, 'readme.md')}); +vfile({stem: 'readme', extname: '.md', dirname: __dirname}); +vfile({other: 'properties', are: 'copied', ov: {e: 'r'}}); +``` + +### `vfile.contents` + +`Buffer`, `string`, `null` — Raw value. + +### `vfile.cwd` + +`string` — Base of `path`. Defaults to `process.cwd()`. + +### `vfile.path` + +`string?` — Path of `vfile`. Cannot be nullified. + +### `vfile.basename` + +`string?` — Current name (including extension) of `vfile`. Cannot +contain path separators. Cannot be nullified either (use +`file.path = file.dirname` instead). + +### `vfile.stem` + +`string?` — Name (without extension) of `vfile`. Cannot be nullified, +and cannot contain path separators. + +### `vfile.extname` + +`string?` — Extension (with dot) of `vfile`. Cannot be set if +there’s no `path` yet and cannot contain path separators. + +### `vfile.dirname` + +`string?` — Path to parent directory of `vfile`. Cannot be set if +there’s no `path` yet. + +### `vfile.history` + +`Array.` — List of file-paths the file moved between. + +### `vfile.messages` + +[`Array.`][message] — List of messages associated with the file. + +### `vfile.data` + +`Object` — Place to store custom information. It’s OK to store custom +data directly on the `vfile`, moving it to `data` gives a _little_ more +privacy. + +### `VFile#toString([encoding])` + +Convert contents of `vfile` to string. If `contents` is a buffer, +`encoding` is used to stringify buffers (default: `'utf8'`). + +### `VFile#message(reason[, position][, origin])` + +Associates a message with the file, where `fatal` is set to `false`. +Constructs a new [`VMessage`][vmessage] and adds it to +[`vfile.messages`][messages]. + +##### Returns + +[`VMessage`][vmessage]. + +### `VFile#info(reason[, position][, origin])` + +Associates an informational message with the file, where `fatal` is set to +`null`. Calls [`#message()`][message] internally. + +##### Returns + +[`VMessage`][vmessage]. + +### `VFile#fail(reason[, position][, origin])` + +Associates a fatal message with the file, then immediately throws it. +Note: fatal errors mean a file is no longer processable. +Calls [`#message()`][message] internally. + +##### Throws + +[`VMessage`][vmessage]. + +## License + +[MIT][license] © [Titus Wormer][author] + + + +[build-badge]: https://img.shields.io/travis/vfile/vfile.svg + +[build-status]: https://travis-ci.org/vfile/vfile + +[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile.svg + +[coverage-status]: https://codecov.io/github/vfile/vfile + +[npm]: https://docs.npmjs.com/cli/install + +[license]: LICENSE + +[author]: http://wooorm.com + +[vfile]: https://cdn.rawgit.com/vfile/vfile/f65510e/logo.svg + +[unified]: https://github.com/unifiedjs/unified + +[retext]: https://github.com/wooorm/retext + +[remark]: https://github.com/wooorm/remark + +[rehype]: https://github.com/wooorm/rehype + +[vinyl]: https://github.com/gulpjs/vinyl + +[unist]: https://github.com/syntax-tree/unist#list-of-utilities + +[reporter]: https://github.com/vfile/vfile-reporter + +[vmessage]: https://github.com/vfile/vfile-message + +[messages]: #vfilemessages + +[message]: #vfilemessagereason-position-origin diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE new file mode 100644 index 00000000000..0d0834052f3 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/LICENCE @@ -0,0 +1,19 @@ +Copyright (c) 2014 Matt-Esch. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md new file mode 100644 index 00000000000..99977d475ac --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/README.md @@ -0,0 +1,46 @@ +# x-is-string + +Simple string test + +## Example + +```js +var isString = require("x-is-string") + +isString("hello") +// -> true + +isString("") +// -> true + +isString(new String("things")) +// -> true + +isString(1) +// -> false + +isString(true) +// -> false + +isString(new Date()) +// -> false + +isString({}) +// -> false + +isString(null) +// -> false + +isString(undefined) +// -> false +``` + +## Installation + +`npm install x-is-string` + +## Contributors + + - Matt-Esch + +## MIT Licenced \ No newline at end of file diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js new file mode 100644 index 00000000000..090130d4ce4 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/index.js @@ -0,0 +1,7 @@ +var toString = Object.prototype.toString + +module.exports = isString + +function isString(obj) { + return toString.call(obj) === "[object String]" +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json new file mode 100644 index 00000000000..ea267ce3511 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/x-is-string/package.json @@ -0,0 +1,55 @@ +{ + "name": "x-is-string", + "version": "0.1.0", + "description": "Simple string test", + "keywords": [], + "author": "Matt-Esch ", + "repository": "git://github.com/Matt-Esch/x-is-string.git", + "main": "index", + "homepage": "https://github.com/Matt-Esch/x-is-string", + "contributors": [ + { + "name": "Matt-Esch" + } + ], + "bugs": { + "url": "https://github.com/Matt-Esch/x-is-string/issues", + "email": "matt@mattesch.info" + }, + "dependencies": {}, + "devDependencies": { + "tape": "^2.12.2" + }, + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/Matt-Esch/x-is-string/raw/master/LICENSE" + } + ], + "scripts": { + "test": "node ./test/index.js", + "start": "node ./index.js", + "watch": "nodemon -w ./index.js index.js", + "travis-test": "istanbul cover ./test/index.js && ((cat coverage/lcov.info | coveralls) || exit 0)", + "cover": "istanbul cover --report none --print detail ./test/index.js", + "view-cover": "istanbul report html && google-chrome ./coverage/index.html", + "test-browser": "testem-browser ./test/browser/index.js", + "testem": "testem-both -b=./test/browser/index.js" + }, + "testling": { + "files": "test/index.js", + "browsers": [ + "ie/8..latest", + "firefox/16..latest", + "firefox/nightly", + "chrome/22..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest", + "android-browser/4.2..latest" + ] + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE new file mode 100644 index 00000000000..0099f4f6c77 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md new file mode 100644 index 00000000000..4a2703cff27 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/README.md @@ -0,0 +1,32 @@ +# xtend + +[![browser support][3]][4] + +[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) + +Extend like a boss + +xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. + +## Examples + +```js +var extend = require("xtend") + +// extend returns a new object. Does not mutate arguments +var combination = extend({ + a: "a", + b: "c" +}, { + b: "b" +}) +// { a: "a", b: "b" } +``` + +## Stability status: Locked + +## MIT Licensed + + + [3]: http://ci.testling.com/Raynos/xtend.png + [4]: http://ci.testling.com/Raynos/xtend diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js new file mode 100644 index 00000000000..94889c9de11 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/immutable.js @@ -0,0 +1,19 @@ +module.exports = extend + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function extend() { + var target = {} + + for (var i = 0; i < arguments.length; i++) { + var source = arguments[i] + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + + return target +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js new file mode 100644 index 00000000000..72debede6ca --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/mutable.js @@ -0,0 +1,17 @@ +module.exports = extend + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function extend(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] + + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + target[key] = source[key] + } + } + } + + return target +} diff --git a/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json new file mode 100644 index 00000000000..f7a39d10af5 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/node_modules/xtend/package.json @@ -0,0 +1,55 @@ +{ + "name": "xtend", + "version": "4.0.2", + "description": "extend like a boss", + "keywords": [ + "extend", + "merge", + "options", + "opts", + "object", + "array" + ], + "author": "Raynos ", + "repository": "git://github.com/Raynos/xtend.git", + "main": "immutable", + "scripts": { + "test": "node test" + }, + "dependencies": {}, + "devDependencies": { + "tape": "~1.1.0" + }, + "homepage": "https://github.com/Raynos/xtend", + "contributors": [ + { + "name": "Jake Verbaten" + }, + { + "name": "Matt Esch" + } + ], + "bugs": { + "url": "https://github.com/Raynos/xtend/issues", + "email": "raynos2@gmail.com" + }, + "license": "MIT", + "testling": { + "files": "test.js", + "browsers": [ + "ie/7..latest", + "firefox/16..latest", + "firefox/nightly", + "chrome/22..latest", + "chrome/canary", + "opera/12..latest", + "opera/next", + "safari/5.1..latest", + "ipad/6.0..latest", + "iphone/6.0..latest" + ] + }, + "engines": { + "node": ">=0.4" + } +} diff --git a/tools/node_modules/eslint-plugin-markdown/package.json b/tools/node_modules/eslint-plugin-markdown/package.json new file mode 100644 index 00000000000..ffdf6f45d01 --- /dev/null +++ b/tools/node_modules/eslint-plugin-markdown/package.json @@ -0,0 +1,59 @@ +{ + "name": "eslint-plugin-markdown", + "version": "2.0.0", + "description": "An ESLint plugin to lint JavaScript in Markdown code fences.", + "license": "MIT", + "author": { + "name": "Brandon Mills", + "url": "https://github.com/btmills" + }, + "repository": "eslint/eslint-plugin-markdown", + "bugs": { + "url": "https://github.com/eslint/eslint-plugin-markdown/issues" + }, + "homepage": "https://github.com/eslint/eslint-plugin-markdown#readme", + "keywords": [ + "eslint", + "eslintplugin", + "markdown", + "lint", + "linter" + ], + "scripts": { + "lint": "eslint --ext js,md .", + "prepare": "node ./npm-prepare.js", + "test": "npm run lint && npm run test-cov", + "test-cov": "nyc _mocha -- -c tests/{examples,lib}/**/*.js", + "generate-release": "eslint-generate-release", + "generate-alpharelease": "eslint-generate-prerelease alpha", + "generate-betarelease": "eslint-generate-prerelease beta", + "generate-rcrelease": "eslint-generate-prerelease rc", + "publish-release": "eslint-publish-release" + }, + "main": "index.js", + "files": [ + "index.js", + "lib/index.js", + "lib/processor.js" + ], + "devDependencies": { + "chai": "^4.2.0", + "eslint": "^6.8.0", + "eslint-config-eslint": "^6.0.0", + "eslint-plugin-jsdoc": "^15.9.5", + "eslint-plugin-node": "^9.0.0", + "eslint-release": "^3.1.2", + "mocha": "^6.2.2", + "nyc": "^14.1.1" + }, + "dependencies": { + "remark-parse": "^5.0.0", + "unified": "^6.1.2" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.12.0 || >= 12.0.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/@babel/code-frame/package.json b/tools/node_modules/eslint/node_modules/@babel/code-frame/package.json index 213c1916a9e..07a28a6bda4 100644 --- a/tools/node_modules/eslint/node_modules/@babel/code-frame/package.json +++ b/tools/node_modules/eslint/node_modules/@babel/code-frame/package.json @@ -1,33 +1,25 @@ { - "author": { - "name": "Sebastian McKenzie", - "email": "sebmck@gmail.com" - }, - "bugs": { - "url": "https://github.com/babel/babel/issues" - }, - "bundleDependencies": false, - "dependencies": { - "@babel/highlight": "^7.10.4" - }, - "deprecated": false, + "name": "@babel/code-frame", + "version": "7.12.11", "description": "Generate errors that contain a code frame that point to source locations.", - "devDependencies": { - "@types/chalk": "^2.0.0", - "chalk": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "author": "Sebastian McKenzie ", "homepage": "https://babeljs.io/", "license": "MIT", - "main": "lib/index.js", - "name": "@babel/code-frame", "publishConfig": { "access": "public" }, "repository": { "type": "git", - "url": "git+https://github.com/babel/babel.git", + "url": "https://github.com/babel/babel.git", "directory": "packages/babel-code-frame" }, - "version": "7.12.11" + "main": "lib/index.js", + "dependencies": { + "@babel/highlight": "^7.10.4" + }, + "devDependencies": { + "@types/chalk": "^2.0.0", + "chalk": "^2.0.0", + "strip-ansi": "^4.0.0" + } } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json b/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json index e70625729dd..464dbfa3aac 100644 --- a/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json +++ b/tools/node_modules/eslint/node_modules/@babel/helper-validator-identifier/package.json @@ -1,26 +1,20 @@ { - "bugs": { - "url": "https://github.com/babel/babel/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "@babel/helper-validator-identifier", + "version": "7.12.11", "description": "Validate identifier/keywords name", - "devDependencies": { - "charcodes": "^0.2.0", - "unicode-13.0.0": "^0.8.0" + "repository": { + "type": "git", + "url": "https://github.com/babel/babel.git", + "directory": "packages/babel-helper-validator-identifier" }, - "exports": "./lib/index.js", - "homepage": "https://github.com/babel/babel#readme", "license": "MIT", - "main": "./lib/index.js", - "name": "@babel/helper-validator-identifier", "publishConfig": { "access": "public" }, - "repository": { - "type": "git", - "url": "git+https://github.com/babel/babel.git", - "directory": "packages/babel-helper-validator-identifier" - }, - "version": "7.12.11" + "main": "./lib/index.js", + "exports": "./lib/index.js", + "devDependencies": { + "charcodes": "^0.2.0", + "unicode-13.0.0": "^0.8.0" + } } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/index.js new file mode 100644 index 00000000000..90a871c4d78 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/index.js @@ -0,0 +1,165 @@ +'use strict'; +const colorConvert = require('color-convert'); + +const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; +}; + +const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; +}; + +const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; +}; + +function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + + // Fix humans + styles.color.grey = styles.color.gray; + + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + + group[styleName] = styles[styleName]; + + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + const ansi2ansi = n => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } + + const suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; +} + +// Make the export immutable +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/license b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/license new file mode 100644 index 00000000000..e7af2f77107 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/package.json new file mode 100644 index 00000000000..65edb48c399 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/package.json @@ -0,0 +1,56 @@ +{ + "name": "ansi-styles", + "version": "3.2.1", + "description": "ANSI escape codes for styling strings in the terminal", + "license": "MIT", + "repository": "chalk/ansi-styles", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava", + "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor" + }, + "files": [ + "index.js" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "color-convert": "^1.9.0" + }, + "devDependencies": { + "ava": "*", + "babel-polyfill": "^6.23.0", + "svg-term-cli": "^2.1.1", + "xo": "*" + }, + "ava": { + "require": "babel-polyfill" + } +} diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/readme.md new file mode 100644 index 00000000000..3158e2df59c --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/ansi-styles/readme.md @@ -0,0 +1,147 @@ +# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) + +> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal + +You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. + + + + +## Install + +``` +$ npm install ansi-styles +``` + + +## Usage + +```js +const style = require('ansi-styles'); + +console.log(`${style.green.open}Hello world!${style.green.close}`); + + +// Color conversion between 16/256/truecolor +// NOTE: If conversion goes to 16 colors or 256 colors, the original color +// may be degraded to fit that color palette. This means terminals +// that do not support 16 million colors will best-match the +// original color. +console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); +console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); +console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close); +``` + +## API + +Each style has an `open` and `close` property. + + +## Styles + +### Modifiers + +- `reset` +- `bold` +- `dim` +- `italic` *(Not widely supported)* +- `underline` +- `inverse` +- `hidden` +- `strikethrough` *(Not widely supported)* + +### Colors + +- `black` +- `red` +- `green` +- `yellow` +- `blue` +- `magenta` +- `cyan` +- `white` +- `gray` ("bright black") +- `redBright` +- `greenBright` +- `yellowBright` +- `blueBright` +- `magentaBright` +- `cyanBright` +- `whiteBright` + +### Background colors + +- `bgBlack` +- `bgRed` +- `bgGreen` +- `bgYellow` +- `bgBlue` +- `bgMagenta` +- `bgCyan` +- `bgWhite` +- `bgBlackBright` +- `bgRedBright` +- `bgGreenBright` +- `bgYellowBright` +- `bgBlueBright` +- `bgMagentaBright` +- `bgCyanBright` +- `bgWhiteBright` + + +## Advanced usage + +By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. + +- `style.modifier` +- `style.color` +- `style.bgColor` + +###### Example + +```js +console.log(style.color.green.open); +``` + +Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values. + +###### Example + +```js +console.log(style.codes.get(36)); +//=> 39 +``` + + +## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) + +`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. + +To use these, call the associated conversion function with the intended output, for example: + +```js +style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code +style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code + +style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code +style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code + +style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code +style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code +``` + + +## Related + +- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal + + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Josh Junon](https://github.com/qix-) + + +## License + +MIT diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/chalk/package.json index 270fecdc347..bc324685a76 100644 --- a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/chalk/package.json +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/chalk/package.json @@ -1,80 +1,71 @@ { - "bugs": { - "url": "https://github.com/chalk/chalk/issues" - }, - "bundleDependencies": false, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "deprecated": false, - "description": "Terminal string styling done right", - "devDependencies": { - "ava": "*", - "coveralls": "^3.0.0", - "execa": "^0.9.0", - "flow-bin": "^0.68.0", - "import-fresh": "^2.0.0", - "matcha": "^0.7.0", - "nyc": "^11.0.2", - "resolve-from": "^4.0.0", - "typescript": "^2.5.3", - "xo": "*" - }, - "engines": { - "node": ">=4" - }, - "files": [ - "index.js", - "templates.js", - "types/index.d.ts", - "index.js.flow" - ], - "homepage": "https://github.com/chalk/chalk#readme", - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "str", - "ansi", - "style", - "styles", - "tty", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "name": "chalk", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/chalk.git" - }, - "scripts": { - "bench": "matcha benchmark.js", - "coveralls": "nyc report --reporter=text-lcov | coveralls", - "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava" - }, - "types": "types/index.d.ts", - "version": "2.4.2", - "xo": { - "envs": [ - "node", - "mocha" - ], - "ignores": [ - "test/_flow.js" - ] - } -} \ No newline at end of file + "name": "chalk", + "version": "2.4.2", + "description": "Terminal string styling done right", + "license": "MIT", + "repository": "chalk/chalk", + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava", + "bench": "matcha benchmark.js", + "coveralls": "nyc report --reporter=text-lcov | coveralls" + }, + "files": [ + "index.js", + "templates.js", + "types/index.d.ts", + "index.js.flow" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "str", + "ansi", + "style", + "styles", + "tty", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "devDependencies": { + "ava": "*", + "coveralls": "^3.0.0", + "execa": "^0.9.0", + "flow-bin": "^0.68.0", + "import-fresh": "^2.0.0", + "matcha": "^0.7.0", + "nyc": "^11.0.2", + "resolve-from": "^4.0.0", + "typescript": "^2.5.3", + "xo": "*" + }, + "types": "types/index.d.ts", + "xo": { + "envs": [ + "node", + "mocha" + ], + "ignores": [ + "test/_flow.js" + ] + } +} diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/LICENSE b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/LICENSE new file mode 100644 index 00000000000..5b4c386f926 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2011-2016 Heather Arthur + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/README.md b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/README.md new file mode 100644 index 00000000000..d4b08fc3699 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/README.md @@ -0,0 +1,68 @@ +# color-convert + +[![Build Status](https://travis-ci.org/Qix-/color-convert.svg?branch=master)](https://travis-ci.org/Qix-/color-convert) + +Color-convert is a color conversion library for JavaScript and node. +It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, `ansi`, `ansi16`, `hex` strings, and CSS `keyword`s (will round to closest): + +```js +var convert = require('color-convert'); + +convert.rgb.hsl(140, 200, 100); // [96, 48, 59] +convert.keyword.rgb('blue'); // [0, 0, 255] + +var rgbChannels = convert.rgb.channels; // 3 +var cmykChannels = convert.cmyk.channels; // 4 +var ansiChannels = convert.ansi16.channels; // 1 +``` + +# Install + +```console +$ npm install color-convert +``` + +# API + +Simply get the property of the _from_ and _to_ conversion that you're looking for. + +All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on `.raw` to the function. + +All 'from' functions have a hidden property called `.channels` that indicates the number of channels the function expects (not including alpha). + +```js +var convert = require('color-convert'); + +// Hex to LAB +convert.hex.lab('DEADBF'); // [ 76, 21, -2 ] +convert.hex.lab.raw('DEADBF'); // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ] + +// RGB to CMYK +convert.rgb.cmyk(167, 255, 4); // [ 35, 0, 98, 0 ] +convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ] +``` + +### Arrays +All functions that accept multiple arguments also support passing an array. + +Note that this does **not** apply to functions that convert from a color that only requires one value (e.g. `keyword`, `ansi256`, `hex`, etc.) + +```js +var convert = require('color-convert'); + +convert.rgb.hex(123, 45, 67); // '7B2D43' +convert.rgb.hex([123, 45, 67]); // '7B2D43' +``` + +## Routing + +Conversions that don't have an _explicitly_ defined conversion (in [conversions.js](conversions.js)), but can be converted by means of sub-conversions (e.g. XYZ -> **RGB** -> CMYK), are automatically routed together. This allows just about any color model supported by `color-convert` to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> **LAB** -> **XYZ** -> **RGB** -> Hex). + +Keep in mind that extensive conversions _may_ result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see [conversions.js](conversions.js). + +# Contribute + +If there is a new model you would like to support, or want to add a direct conversion between two existing models, please send us a pull request. + +# License +Copyright © 2011-2016, Heather Arthur and Josh Junon. Licensed under the [MIT License](LICENSE). diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/conversions.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/conversions.js new file mode 100644 index 00000000000..32172007ec0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/conversions.js @@ -0,0 +1,868 @@ +/* MIT license */ +var cssKeywords = require('color-name'); + +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +var reverseKeywords = {}; +for (var key in cssKeywords) { + if (cssKeywords.hasOwnProperty(key)) { + reverseKeywords[cssKeywords[key]] = key; + } +} + +var convert = module.exports = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; + +// hide .channels and .labels properties +for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); + } +} + +convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [ + h * 360, + s * 100, + v * 100 + ]; +}; + +convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; +}; + +convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; +}; + +/** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ +function comparativeDistance(x, y) { + return ( + Math.pow(x[0] - y[0], 2) + + Math.pow(x[1] - y[1], 2) + + Math.pow(x[2] - y[2], 2) + ); +} + +convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; + + // Compute comparative distance + var distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + + return currentClosestKeyword; +}; + +convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; + +convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + + // assume sRGB + r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); + g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); + b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); + + var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + + return [x * 100, y * 100, z * 100]; +}; + +convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + t1 = 2 * l - t2; + + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + + return [h, sv * 100, v * 100]; +}; + +convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - (s * f)); + var t = 255 * v * (1 - (s * (1 - f))); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; + +convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; +}; + +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + + // wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } + + return [r * 255, g * 255, b * 255]; +}; + +convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); + + // assume sRGB + r = r > 0.0031308 + ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) + : r * 12.92; + + g = g > 0.0031308 + ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) + : g * 12.92; + + b = b > 0.0031308 + ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) + : b * 12.92; + + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + + x *= 95.047; + y *= 100; + z *= 108.883; + + return [x, y, z]; +}; + +convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + + return [l, c, h]; +}; + +convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + + return [l, a, b]; +}; + +convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; + +convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + + // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round(((r - 8) / 247) * 24) + 232; + } + + var ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); + + return ansi; +}; + +convert.ansi16.rgb = function (args) { + var color = args % 10; + + // handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = ((color & 1) * mult) * 255; + var g = (((color >> 1) & 1) * mult) * 255; + var b = (((color >> 2) & 1) * mult) * 255; + + return [r, g, b]; +}; + +convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = (rem % 6) / 5 * 255; + + return [r, g, b]; +}; + +convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = (integer >> 16) & 0xFF; + var g = (integer >> 8) & 0xFF; + var b = integer & 0xFF; + + return [r, g, b]; +}; + +convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = (max - min); + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = (h % 1) * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } + + mg = (1.0 - c) * g; + + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; + +convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; + +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; + +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; +}; + +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/index.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/index.js new file mode 100644 index 00000000000..e65b5d775da --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/index.js @@ -0,0 +1,78 @@ +var conversions = require('./conversions'); +var route = require('./route'); + +var convert = {}; + +var models = Object.keys(conversions); + +function wrapRaw(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + var result = fn(args); + + // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(function (fromModel) { + convert[fromModel] = {}; + + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + var routes = route(fromModel); + var routeModels = Object.keys(routes); + + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); + +module.exports = convert; diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/package.json new file mode 100644 index 00000000000..dfbc471407f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/package.json @@ -0,0 +1,46 @@ +{ + "name": "color-convert", + "description": "Plain color conversion functions", + "version": "1.9.3", + "author": "Heather Arthur ", + "license": "MIT", + "repository": "Qix-/color-convert", + "scripts": { + "pretest": "xo", + "test": "node test/basic.js" + }, + "keywords": [ + "color", + "colour", + "convert", + "converter", + "conversion", + "rgb", + "hsl", + "hsv", + "hwb", + "cmyk", + "ansi", + "ansi16" + ], + "files": [ + "index.js", + "conversions.js", + "css-keywords.js", + "route.js" + ], + "xo": { + "rules": { + "default-case": 0, + "no-inline-comments": 0, + "operator-linebreak": 0 + } + }, + "devDependencies": { + "chalk": "1.1.1", + "xo": "0.11.2" + }, + "dependencies": { + "color-name": "1.1.3" + } +} diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/route.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/route.js new file mode 100644 index 00000000000..0a1fdea689e --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-convert/route.js @@ -0,0 +1,97 @@ +var conversions = require('./conversions'); + +/* + this function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + var graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + var models = Object.keys(conversions); + + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} + +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +module.exports = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/LICENSE b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/LICENSE new file mode 100644 index 00000000000..c6b10012540 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/LICENSE @@ -0,0 +1,8 @@ +The MIT License (MIT) +Copyright (c) 2015 Dmitry Ivanov + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/README.md b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/README.md new file mode 100644 index 00000000000..932b979176f --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/README.md @@ -0,0 +1,11 @@ +A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. + +[![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) + + +```js +var colors = require('color-name'); +colors.red //[255,0,0] +``` + +
diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/index.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/index.js new file mode 100644 index 00000000000..b7c198a6f3d --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/index.js @@ -0,0 +1,152 @@ +'use strict' + +module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/package.json new file mode 100644 index 00000000000..d061123ef02 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/color-name/package.json @@ -0,0 +1,25 @@ +{ + "name": "color-name", + "version": "1.1.3", + "description": "A list of color names and its values", + "main": "index.js", + "scripts": { + "test": "node test.js" + }, + "repository": { + "type": "git", + "url": "git@github.com:dfcreative/color-name.git" + }, + "keywords": [ + "color-name", + "color", + "color-keyword", + "keyword" + ], + "author": "DY ", + "license": "MIT", + "bugs": { + "url": "https://github.com/dfcreative/color-name/issues" + }, + "homepage": "https://github.com/dfcreative/color-name" +} diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/index.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/index.js new file mode 100644 index 00000000000..5139728fba6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/index.js @@ -0,0 +1,8 @@ +'use strict'; +module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/license b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/license new file mode 100644 index 00000000000..e7af2f77107 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/package.json new file mode 100644 index 00000000000..e1eb17a15ed --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/package.json @@ -0,0 +1,44 @@ +{ + "name": "has-flag", + "version": "3.0.0", + "description": "Check if argv has a specific flag", + "license": "MIT", + "repository": "sindresorhus/has-flag", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "has", + "check", + "detect", + "contains", + "find", + "flag", + "cli", + "command-line", + "argv", + "process", + "arg", + "args", + "argument", + "arguments", + "getopt", + "minimist", + "optimist" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + } +} diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/readme.md b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/readme.md new file mode 100644 index 00000000000..677893c278a --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/has-flag/readme.md @@ -0,0 +1,70 @@ +# has-flag [![Build Status](https://travis-ci.org/sindresorhus/has-flag.svg?branch=master)](https://travis-ci.org/sindresorhus/has-flag) + +> Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag + +Correctly stops looking after an `--` argument terminator. + + +## Install + +``` +$ npm install has-flag +``` + + +## Usage + +```js +// foo.js +const hasFlag = require('has-flag'); + +hasFlag('unicorn'); +//=> true + +hasFlag('--unicorn'); +//=> true + +hasFlag('f'); +//=> true + +hasFlag('-f'); +//=> true + +hasFlag('foo=bar'); +//=> true + +hasFlag('foo'); +//=> false + +hasFlag('rainbow'); +//=> false +``` + +``` +$ node foo.js -f --unicorn --foo=bar -- --rainbow +``` + + +## API + +### hasFlag(flag, [argv]) + +Returns a boolean for whether the flag exists. + +#### flag + +Type: `string` + +CLI flag to look for. The `--` prefix is optional. + +#### argv + +Type: `string[]`
+Default: `process.argv` + +CLI arguments. + + +## License + +MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/browser.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/browser.js new file mode 100644 index 00000000000..62afa3a7425 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/browser.js @@ -0,0 +1,5 @@ +'use strict'; +module.exports = { + stdout: false, + stderr: false +}; diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/index.js b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/index.js new file mode 100644 index 00000000000..1704131bdf6 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/index.js @@ -0,0 +1,131 @@ +'use strict'; +const os = require('os'); +const hasFlag = require('has-flag'); + +const env = process.env; + +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/license b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/license new file mode 100644 index 00000000000..e7af2f77107 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/license @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/package.json new file mode 100644 index 00000000000..ad199f5cdb0 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/package.json @@ -0,0 +1,53 @@ +{ + "name": "supports-color", + "version": "5.5.0", + "description": "Detect whether a terminal supports color", + "license": "MIT", + "repository": "chalk/supports-color", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js", + "browser.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect", + "truecolor", + "16m" + ], + "dependencies": { + "has-flag": "^3.0.0" + }, + "devDependencies": { + "ava": "^0.25.0", + "import-fresh": "^2.0.0", + "xo": "^0.20.0" + }, + "browser": "browser.js" +} diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/readme.md b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/readme.md new file mode 100644 index 00000000000..f6e40195730 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/node_modules/supports-color/readme.md @@ -0,0 +1,66 @@ +# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) + +> Detect whether a terminal supports color + + +## Install + +``` +$ npm install supports-color +``` + + +## Usage + +```js +const supportsColor = require('supports-color'); + +if (supportsColor.stdout) { + console.log('Terminal stdout supports color'); +} + +if (supportsColor.stdout.has256) { + console.log('Terminal stdout supports 256 colors'); +} + +if (supportsColor.stderr.has16m) { + console.log('Terminal stderr supports 16 million colors (truecolor)'); +} +``` + + +## API + +Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported. + +The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag: + +- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors) +- `.level = 2` and `.has256 = true`: 256 color support +- `.level = 3` and `.has16m = true`: Truecolor support (16 million colors) + + +## Info + +It obeys the `--color` and `--no-color` CLI flags. + +Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add the environment variable `FORCE_COLOR=1` to forcefully enable color or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks. + +Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively. + + +## Related + +- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right + + +## Maintainers + +- [Sindre Sorhus](https://github.com/sindresorhus) +- [Josh Junon](https://github.com/qix-) + + +## License + +MIT diff --git a/tools/node_modules/eslint/node_modules/@babel/highlight/package.json b/tools/node_modules/eslint/node_modules/@babel/highlight/package.json index 6bf73954542..4504cd15a14 100644 --- a/tools/node_modules/eslint/node_modules/@babel/highlight/package.json +++ b/tools/node_modules/eslint/node_modules/@babel/highlight/package.json @@ -1,34 +1,26 @@ { - "author": { - "name": "suchipi", - "email": "me@suchipi.com" - }, - "bugs": { - "url": "https://github.com/babel/babel/issues" - }, - "bundleDependencies": false, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "deprecated": false, + "name": "@babel/highlight", + "version": "7.13.8", "description": "Syntax highlight JavaScript strings for output in terminals.", - "devDependencies": { - "@types/chalk": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "author": "suchipi ", "homepage": "https://babel.dev/docs/en/next/babel-highlight", "license": "MIT", - "main": "lib/index.js", - "name": "@babel/highlight", "publishConfig": { "access": "public" }, "repository": { "type": "git", - "url": "git+https://github.com/babel/babel.git", + "url": "https://github.com/babel/babel.git", "directory": "packages/babel-highlight" }, - "version": "7.13.8" + "main": "lib/index.js", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "devDependencies": { + "@types/chalk": "^2.0.0", + "strip-ansi": "^4.0.0" + } } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json index 9a730ea76f3..d4dbb4b7134 100644 --- a/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json +++ b/tools/node_modules/eslint/node_modules/@eslint/eslintrc/package.json @@ -1,24 +1,37 @@ { - "author": { - "name": "Nicholas C. Zakas" + "name": "@eslint/eslintrc", + "version": "0.4.0", + "description": "The legacy ESLintRC config file format for ESLint", + "main": "lib/index.js", + "files": [ + "lib", + "conf", + "LICENSE" + ], + "publishConfig": { + "access": "public" }, + "scripts": { + "lint": "eslint .", + "test": "mocha -R progress -c 'tests/lib/**/*.js'", + "generate-release": "eslint-generate-release", + "generate-alpharelease": "eslint-generate-prerelease alpha", + "generate-betarelease": "eslint-generate-prerelease beta", + "generate-rcrelease": "eslint-generate-prerelease rc", + "publish-release": "eslint-publish-release" + }, + "repository": "eslint/eslintrc", + "keywords": [ + "ESLint", + "ESLintRC", + "Configuration" + ], + "author": "Nicholas C. Zakas", + "license": "MIT", "bugs": { "url": "https://github.com/eslint/eslintrc/issues" }, - "bundleDependencies": false, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "deprecated": false, - "description": "The legacy ESLintRC config file format for ESLint", + "homepage": "https://github.com/eslint/eslintrc#readme", "devDependencies": { "chai": "^4.2.0", "eslint": "^7.7.0", @@ -32,38 +45,18 @@ "sinon": "^9.2.0", "temp-dir": "^2.0.0" }, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, "engines": { "node": "^10.12.0 || >=12.0.0" - }, - "files": [ - "lib", - "conf", - "LICENSE" - ], - "homepage": "https://github.com/eslint/eslintrc#readme", - "keywords": [ - "ESLint", - "ESLintRC", - "Configuration" - ], - "license": "MIT", - "main": "lib/index.js", - "name": "@eslint/eslintrc", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslintrc.git" - }, - "scripts": { - "generate-alpharelease": "eslint-generate-prerelease alpha", - "generate-betarelease": "eslint-generate-prerelease beta", - "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "eslint .", - "publish-release": "eslint-publish-release", - "test": "mocha -R progress -c 'tests/lib/**/*.js'" - }, - "version": "0.4.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json index e26bc863624..f42a7ea1437 100644 --- a/tools/node_modules/eslint/node_modules/acorn-jsx/package.json +++ b/tools/node_modules/eslint/node_modules/acorn-jsx/package.json @@ -1,32 +1,27 @@ { - "bugs": { - "url": "https://github.com/acornjs/acorn-jsx/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "acorn-jsx", "description": "Modern, fast React.js JSX parser", - "devDependencies": { - "acorn": "^8.0.1" - }, "homepage": "https://github.com/acornjs/acorn-jsx", - "license": "MIT", + "version": "5.3.1", "maintainers": [ { "name": "Ingvar Stepanyan", "email": "me@rreverser.com", - "url": "http://rreverser.com/" + "web": "http://rreverser.com/" } ], - "name": "acorn-jsx", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, "repository": { "type": "git", - "url": "git+https://github.com/acornjs/acorn-jsx.git" + "url": "https://github.com/acornjs/acorn-jsx" }, + "license": "MIT", "scripts": { "test": "node test/run.js" }, - "version": "5.3.1" -} \ No newline at end of file + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "devDependencies": { + "acorn": "^8.0.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/acorn/package.json b/tools/node_modules/eslint/node_modules/acorn/package.json index a0944f1372f..10699306d36 100644 --- a/tools/node_modules/eslint/node_modules/acorn/package.json +++ b/tools/node_modules/eslint/node_modules/acorn/package.json @@ -1,44 +1,35 @@ { - "bin": { - "acorn": "bin/acorn" - }, - "bugs": { - "url": "https://github.com/acornjs/acorn/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "acorn", "description": "ECMAScript parser", - "engines": { - "node": ">=0.4.0" - }, "homepage": "https://github.com/acornjs/acorn", - "license": "MIT", "main": "dist/acorn.js", + "types": "dist/acorn.d.ts", + "module": "dist/acorn.mjs", + "version": "7.4.1", + "engines": {"node": ">=0.4.0"}, "maintainers": [ { "name": "Marijn Haverbeke", "email": "marijnh@gmail.com", - "url": "https://marijnhaverbeke.nl" + "web": "https://marijnhaverbeke.nl" }, { "name": "Ingvar Stepanyan", "email": "me@rreverser.com", - "url": "https://rreverser.com/" + "web": "https://rreverser.com/" }, { "name": "Adrian Heine", - "url": "http://adrianheine.de" + "web": "http://adrianheine.de" } ], - "module": "dist/acorn.mjs", - "name": "acorn", "repository": { "type": "git", - "url": "git+https://github.com/acornjs/acorn.git" + "url": "https://github.com/acornjs/acorn.git" }, + "license": "MIT", "scripts": { "prepare": "cd ..; npm run build:main && npm run build:bin" }, - "types": "dist/acorn.d.ts", - "version": "7.4.1" -} \ No newline at end of file + "bin": {"acorn": "./bin/acorn"} +} diff --git a/tools/node_modules/eslint/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/ajv/package.json index 6657aaf6c4a..559a933c8c1 100644 --- a/tools/node_modules/eslint/node_modules/ajv/package.json +++ b/tools/node_modules/eslint/node_modules/ajv/package.json @@ -1,23 +1,72 @@ { - "author": { - "name": "Evgeny Poberezkin" + "name": "ajv", + "version": "6.12.6", + "description": "Another JSON Schema Validator", + "main": "lib/ajv.js", + "typings": "lib/ajv.d.ts", + "files": [ + "lib/", + "dist/", + "scripts/", + "LICENSE", + ".tonic_example.js" + ], + "scripts": { + "eslint": "eslint lib/{compile/,}*.js spec/{**/,}*.js scripts --ignore-pattern spec/JSON-Schema-Test-Suite", + "jshint": "jshint lib/{compile/,}*.js", + "lint": "npm run jshint && npm run eslint", + "test-spec": "mocha spec/{**/,}*.spec.js -R spec", + "test-fast": "AJV_FAST_TEST=true npm run test-spec", + "test-debug": "npm run test-spec -- --inspect-brk", + "test-cov": "nyc npm run test-spec", + "test-ts": "tsc --target ES5 --noImplicitAny --noEmit spec/typescript/index.ts", + "bundle": "del-cli dist && node ./scripts/bundle.js . Ajv pure_getters", + "bundle-beautify": "node ./scripts/bundle.js js-beautify", + "build": "del-cli lib/dotjs/*.js \"!lib/dotjs/index.js\" && node scripts/compile-dots.js", + "test-karma": "karma start", + "test-browser": "del-cli .browser && npm run bundle && scripts/prepare-tests && npm run test-karma", + "test-all": "npm run test-cov && if-node-version 10 npm run test-browser", + "test": "npm run lint && npm run build && npm run test-all", + "prepublish": "npm run build && npm run bundle", + "watch": "watch \"npm run build\" ./lib/dot" + }, + "nyc": { + "exclude": [ + "**/spec/**", + "node_modules" + ], + "reporter": [ + "lcov", + "text-summary" + ] + }, + "repository": { + "type": "git", + "url": "https://github.com/ajv-validator/ajv.git" }, + "keywords": [ + "JSON", + "schema", + "validator", + "validation", + "jsonschema", + "json-schema", + "json-schema-validator", + "json-schema-validation" + ], + "author": "Evgeny Poberezkin", + "license": "MIT", "bugs": { "url": "https://github.com/ajv-validator/ajv/issues" }, - "bundleDependencies": false, - "collective": { - "type": "opencollective", - "url": "https://opencollective.com/ajv" - }, + "homepage": "https://github.com/ajv-validator/ajv", + "tonicExampleFilename": ".tonic_example.js", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" }, - "deprecated": false, - "description": "Another JSON Schema Validator", "devDependencies": { "ajv-async": "^1.0.0", "bluebird": "^3.5.3", @@ -46,65 +95,12 @@ "uglify-js": "^3.6.9", "watch": "^1.0.0" }, - "files": [ - "lib/", - "dist/", - "scripts/", - "LICENSE", - ".tonic_example.js" - ], + "collective": { + "type": "opencollective", + "url": "https://opencollective.com/ajv" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" - }, - "homepage": "https://github.com/ajv-validator/ajv", - "keywords": [ - "JSON", - "schema", - "validator", - "validation", - "jsonschema", - "json-schema", - "json-schema-validator", - "json-schema-validation" - ], - "license": "MIT", - "main": "lib/ajv.js", - "name": "ajv", - "nyc": { - "exclude": [ - "**/spec/**", - "node_modules" - ], - "reporter": [ - "lcov", - "text-summary" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/ajv-validator/ajv.git" - }, - "scripts": { - "build": "del-cli lib/dotjs/*.js \"!lib/dotjs/index.js\" && node scripts/compile-dots.js", - "bundle": "del-cli dist && node ./scripts/bundle.js . Ajv pure_getters", - "bundle-beautify": "node ./scripts/bundle.js js-beautify", - "eslint": "eslint lib/{compile/,}*.js spec/{**/,}*.js scripts --ignore-pattern spec/JSON-Schema-Test-Suite", - "jshint": "jshint lib/{compile/,}*.js", - "lint": "npm run jshint && npm run eslint", - "prepublish": "npm run build && npm run bundle", - "test": "npm run lint && npm run build && npm run test-all", - "test-all": "npm run test-cov && if-node-version 10 npm run test-browser", - "test-browser": "del-cli .browser && npm run bundle && scripts/prepare-tests && npm run test-karma", - "test-cov": "nyc npm run test-spec", - "test-debug": "npm run test-spec -- --inspect-brk", - "test-fast": "AJV_FAST_TEST=true npm run test-spec", - "test-karma": "karma start", - "test-spec": "mocha spec/{**/,}*.spec.js -R spec", - "test-ts": "tsc --target ES5 --noImplicitAny --noEmit spec/typescript/index.ts", - "watch": "watch \"npm run build\" ./lib/dot" - }, - "tonicExampleFilename": ".tonic_example.js", - "typings": "lib/ajv.d.ts", - "version": "6.12.6" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/ansi-colors/package.json b/tools/node_modules/eslint/node_modules/ansi-colors/package.json index 8c23184218a..e11093140b3 100644 --- a/tools/node_modules/eslint/node_modules/ansi-colors/package.json +++ b/tools/node_modules/eslint/node_modules/ansi-colors/package.json @@ -1,32 +1,33 @@ { - "author": { - "name": "Brian Woodward", - "url": "https://github.com/doowb" - }, + "name": "ansi-colors", + "description": "Easily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).", + "version": "4.1.1", + "homepage": "https://github.com/doowb/ansi-colors", + "author": "Brian Woodward (https://github.com/doowb)", + "contributors": [ + "Brian Woodward (https://twitter.com/doowb)", + "Jason Schilling (https://sourecode.de)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Jordan (https://github.com/Silic0nS0ldier)" + ], + "repository": "doowb/ansi-colors", "bugs": { "url": "https://github.com/doowb/ansi-colors/issues" }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "Jason Schilling", - "url": "https://sourecode.de" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Jordan", - "url": "https://github.com/Silic0nS0ldier" - } + "license": "MIT", + "files": [ + "index.js", + "symbols.js", + "types/index.d.ts" ], - "deprecated": false, - "description": "Easily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).", + "main": "index.js", + "types": "./types/index.d.ts", + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "mocha" + }, "devDependencies": { "decache": "^4.5.1", "gulp-format-md": "^2.0.0", @@ -34,15 +35,6 @@ "mocha": "^6.1.4", "text-table": "^0.2.0" }, - "engines": { - "node": ">=6" - }, - "files": [ - "index.js", - "symbols.js", - "types/index.d.ts" - ], - "homepage": "https://github.com/doowb/ansi-colors", "keywords": [ "ansi", "bgblack", @@ -83,17 +75,6 @@ "white", "yellow" ], - "license": "MIT", - "main": "index.js", - "name": "ansi-colors", - "repository": { - "type": "git", - "url": "git+https://github.com/doowb/ansi-colors.git" - }, - "scripts": { - "test": "mocha" - }, - "types": "./types/index.d.ts", "verb": { "toc": false, "layout": "default", @@ -124,6 +105,5 @@ "colors", "kleur" ] - }, - "version": "4.1.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/ansi-regex/package.json index d0574afde48..7af801f3522 100644 --- a/tools/node_modules/eslint/node_modules/ansi-regex/package.json +++ b/tools/node_modules/eslint/node_modules/ansi-regex/package.json @@ -1,64 +1,55 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-regex/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Regular expression for matching ANSI escape codes", - "devDependencies": { - "ava": "^2.4.0", - "tsd": "^0.9.0", - "xo": "^0.25.3" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/chalk/ansi-regex#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "text", - "regex", - "regexp", - "re", - "match", - "test", - "find", - "pattern" - ], - "license": "MIT", - "name": "ansi-regex", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-regex.git" - }, - "scripts": { - "test": "xo && ava && tsd", - "view-supported": "node fixtures/view-codes.js" - }, - "version": "5.0.0" -} \ No newline at end of file + "name": "ansi-regex", + "version": "5.0.0", + "description": "Regular expression for matching ANSI escape codes", + "license": "MIT", + "repository": "chalk/ansi-regex", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd", + "view-supported": "node fixtures/view-codes.js" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "devDependencies": { + "ava": "^2.4.0", + "tsd": "^0.9.0", + "xo": "^0.25.3" + } +} diff --git a/tools/node_modules/eslint/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/ansi-styles/index.js index 90a871c4d78..5d82581a13f 100644 --- a/tools/node_modules/eslint/node_modules/ansi-styles/index.js +++ b/tools/node_modules/eslint/node_modules/ansi-styles/index.js @@ -1,21 +1,63 @@ 'use strict'; -const colorConvert = require('color-convert'); -const wrapAnsi16 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); +const wrapAnsi16 = (fn, offset) => (...args) => { + const code = fn(...args); return `\u001B[${code + offset}m`; }; -const wrapAnsi256 = (fn, offset) => function () { - const code = fn.apply(colorConvert, arguments); +const wrapAnsi256 = (fn, offset) => (...args) => { + const code = fn(...args); return `\u001B[${38 + offset};5;${code}m`; }; -const wrapAnsi16m = (fn, offset) => function () { - const rgb = fn.apply(colorConvert, arguments); +const wrapAnsi16m = (fn, offset) => (...args) => { + const rgb = fn(...args); return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; }; +const ansi2ansi = n => n; +const rgb2rgb = (r, g, b) => [r, g, b]; + +const setLazyProperty = (object, property, get) => { + Object.defineProperty(object, property, { + get: () => { + const value = get(); + + Object.defineProperty(object, property, { + value, + enumerable: true, + configurable: true + }); + + return value; + }, + enumerable: true, + configurable: true + }); +}; + +/** @type {typeof import('color-convert')} */ +let colorConvert; +const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { + if (colorConvert === undefined) { + colorConvert = require('color-convert'); + } + + const offset = isBackground ? 10 : 0; + const styles = {}; + + for (const [sourceSpace, suite] of Object.entries(colorConvert)) { + const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; + if (sourceSpace === targetSpace) { + styles[name] = wrap(identity, offset); + } else if (typeof suite === 'object') { + styles[name] = wrap(suite[targetSpace], offset); + } + } + + return styles; +}; + function assembleStyles() { const codes = new Map(); const styles = { @@ -39,9 +81,9 @@ function assembleStyles() { magenta: [35, 39], cyan: [36, 39], white: [37, 39], - gray: [90, 39], // Bright color + blackBright: [90, 39], redBright: [91, 39], greenBright: [92, 39], yellowBright: [93, 39], @@ -72,15 +114,14 @@ function assembleStyles() { } }; - // Fix humans - styles.color.grey = styles.color.gray; - - for (const groupName of Object.keys(styles)) { - const group = styles[groupName]; - - for (const styleName of Object.keys(group)) { - const style = group[styleName]; + // Alias bright black as gray (and grey) + styles.color.gray = styles.color.blackBright; + styles.bgColor.bgGray = styles.bgColor.bgBlackBright; + styles.color.grey = styles.color.blackBright; + styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; + for (const [groupName, group] of Object.entries(styles)) { + for (const [styleName, style] of Object.entries(group)) { styles[styleName] = { open: `\u001B[${style[0]}m`, close: `\u001B[${style[1]}m` @@ -95,65 +136,22 @@ function assembleStyles() { value: group, enumerable: false }); - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); } - const ansi2ansi = n => n; - const rgb2rgb = (r, g, b) => [r, g, b]; + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); styles.color.close = '\u001B[39m'; styles.bgColor.close = '\u001B[49m'; - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; - - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; - - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== 'object') { - continue; - } - - const suite = colorConvert[key]; - - if (key === 'ansi16') { - key = 'ansi'; - } - - if ('ansi16' in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } - - if ('ansi256' in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } - - if ('rgb' in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } + setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); + setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); + setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); + setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); return styles; } diff --git a/tools/node_modules/eslint/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/ansi-styles/package.json index 5663ace24b4..75393284d7e 100644 --- a/tools/node_modules/eslint/node_modules/ansi-styles/package.json +++ b/tools/node_modules/eslint/node_modules/ansi-styles/package.json @@ -1,65 +1,56 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "ava": { - "require": "babel-polyfill" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-styles/issues" - }, - "bundleDependencies": false, - "dependencies": { - "color-convert": "^1.9.0" - }, - "deprecated": false, - "description": "ANSI escape codes for styling strings in the terminal", - "devDependencies": { - "ava": "*", - "babel-polyfill": "^6.23.0", - "svg-term-cli": "^2.1.1", - "xo": "*" - }, - "engines": { - "node": ">=4" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/chalk/ansi-styles#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "name": "ansi-styles", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-styles.git" - }, - "scripts": { - "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor", - "test": "xo && ava" - }, - "version": "3.2.1" -} \ No newline at end of file + "name": "ansi-styles", + "version": "4.3.0", + "description": "ANSI escape codes for styling strings in the terminal", + "license": "MIT", + "repository": "chalk/ansi-styles", + "funding": "https://github.com/chalk/ansi-styles?sponsor=1", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd", + "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "color-convert": "^2.0.1" + }, + "devDependencies": { + "@types/color-convert": "^1.9.0", + "ava": "^2.3.0", + "svg-term-cli": "^2.1.1", + "tsd": "^0.11.0", + "xo": "^0.25.3" + } +} diff --git a/tools/node_modules/eslint/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/ansi-styles/readme.md index 3158e2df59c..24883de808b 100644 --- a/tools/node_modules/eslint/node_modules/ansi-styles/readme.md +++ b/tools/node_modules/eslint/node_modules/ansi-styles/readme.md @@ -1,11 +1,10 @@ # ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) -> [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal +> [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. - - + ## Install @@ -13,7 +12,6 @@ You probably want the higher-level [chalk](https://github.com/chalk/chalk) modul $ npm install ansi-styles ``` - ## Usage ```js @@ -29,14 +27,13 @@ console.log(`${style.green.open}Hello world!${style.green.close}`); // original color. console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); -console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close); +console.log(style.color.ansi16m.hex('#abcdef') + 'Hello world!' + style.color.close); ``` ## API Each style has an `open` and `close` property. - ## Styles ### Modifiers @@ -60,7 +57,7 @@ Each style has an `open` and `close` property. - `magenta` - `cyan` - `white` -- `gray` ("bright black") +- `blackBright` (alias: `gray`, `grey`) - `redBright` - `greenBright` - `yellowBright` @@ -79,7 +76,7 @@ Each style has an `open` and `close` property. - `bgMagenta` - `bgCyan` - `bgWhite` -- `bgBlackBright` +- `bgBlackBright` (alias: `bgGray`, `bgGrey`) - `bgRedBright` - `bgGreenBright` - `bgYellowBright` @@ -88,7 +85,6 @@ Each style has an `open` and `close` property. - `bgCyanBright` - `bgWhiteBright` - ## Advanced usage By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. @@ -112,11 +108,21 @@ console.log(style.codes.get(36)); //=> 39 ``` - ## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) `ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. +The following color spaces from `color-convert` are supported: + +- `rgb` +- `hex` +- `keyword` +- `hsl` +- `hsv` +- `hwb` +- `ansi` +- `ansi256` + To use these, call the associated conversion function with the intended output, for example: ```js @@ -130,18 +136,17 @@ style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code ``` - ## Related - [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal - ## Maintainers - [Sindre Sorhus](https://github.com/sindresorhus) - [Josh Junon](https://github.com/qix-) +## For enterprise -## License +Available as part of the Tidelift Subscription. -MIT +The maintainers of `ansi-styles` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-ansi-styles?utm_source=npm-ansi-styles&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/tools/node_modules/eslint/node_modules/argparse/package.json b/tools/node_modules/eslint/node_modules/argparse/package.json index 12f9cf1395b..62fba0a9fcf 100644 --- a/tools/node_modules/eslint/node_modules/argparse/package.json +++ b/tools/node_modules/eslint/node_modules/argparse/package.json @@ -1,32 +1,7 @@ { - "bugs": { - "url": "https://github.com/nodeca/argparse/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Eugene Shkuropat" - }, - { - "name": "Paul Jacobson" - } - ], - "dependencies": { - "sprintf-js": "~1.0.2" - }, - "deprecated": false, + "name": "argparse", "description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library", - "devDependencies": { - "eslint": "^2.13.1", - "istanbul": "^0.4.5", - "mocha": "^3.1.0", - "ndoc": "^5.0.1" - }, - "files": [ - "index.js", - "lib/" - ], - "homepage": "https://github.com/nodeca/argparse#readme", + "version": "1.0.10", "keywords": [ "cli", "parser", @@ -34,14 +9,26 @@ "option", "args" ], + "contributors": [ + "Eugene Shkuropat", + "Paul Jacobson" + ], + "files": [ + "index.js", + "lib/" + ], "license": "MIT", - "name": "argparse", - "repository": { - "type": "git", - "url": "git+https://github.com/nodeca/argparse.git" - }, + "repository": "nodeca/argparse", "scripts": { "test": "make test" }, - "version": "1.0.10" -} \ No newline at end of file + "dependencies": { + "sprintf-js": "~1.0.2" + }, + "devDependencies": { + "eslint": "^2.13.1", + "istanbul": "^0.4.5", + "mocha": "^3.1.0", + "ndoc": "^5.0.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/astral-regex/package.json b/tools/node_modules/eslint/node_modules/astral-regex/package.json index 50ad84da9d6..d1ceea7f3ad 100644 --- a/tools/node_modules/eslint/node_modules/astral-regex/package.json +++ b/tools/node_modules/eslint/node_modules/astral-regex/package.json @@ -1,42 +1,33 @@ { - "author": { - "name": "Kevin Mårtensson", - "email": "kevinmartensson@gmail.com", - "url": "github.com/kevva" - }, - "bugs": { - "url": "https://github.com/kevva/astral-regex/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Regular expression for matching astral symbols", - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/kevva/astral-regex#readme", - "keywords": [ - "astral", - "emoji", - "regex", - "surrogate" - ], - "license": "MIT", - "name": "astral-regex", - "repository": { - "type": "git", - "url": "git+https://github.com/kevva/astral-regex.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "2.0.0" -} \ No newline at end of file + "name": "astral-regex", + "version": "2.0.0", + "description": "Regular expression for matching astral symbols", + "license": "MIT", + "repository": "kevva/astral-regex", + "author": { + "name": "Kevin Mårtensson", + "email": "kevinmartensson@gmail.com", + "url": "github.com/kevva" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "astral", + "emoji", + "regex", + "surrogate" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/bail/index.js b/tools/node_modules/eslint/node_modules/bail/index.js deleted file mode 100644 index ef5e8807adf..00000000000 --- a/tools/node_modules/eslint/node_modules/bail/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict' - -module.exports = bail - -function bail(err) { - if (err) { - throw err - } -} diff --git a/tools/node_modules/eslint/node_modules/bail/license b/tools/node_modules/eslint/node_modules/bail/license deleted file mode 100644 index 32e7a3d93ca..00000000000 --- a/tools/node_modules/eslint/node_modules/bail/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/bail/package.json b/tools/node_modules/eslint/node_modules/bail/package.json deleted file mode 100644 index 1544ac972fd..00000000000 --- a/tools/node_modules/eslint/node_modules/bail/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/bail/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Throw a given error", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/bail#readme", - "keywords": [ - "fail", - "bail", - "throw", - "callback", - "error" - ], - "license": "MIT", - "name": "bail", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/bail.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.js -s bail -o bail.js", - "build-mangle": "browserify index.js -s bail -p tinyify -o bail.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.5", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "bail.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/bail/readme.md b/tools/node_modules/eslint/node_modules/bail/readme.md deleted file mode 100644 index 8e7b0863c01..00000000000 --- a/tools/node_modules/eslint/node_modules/bail/readme.md +++ /dev/null @@ -1,84 +0,0 @@ -# bail - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -:warning: Throw a given error. - -## Install - -[npm][]: - -```sh -npm install bail -``` - -## Use - -```js -var bail = require('bail') - -bail() - -bail(new Error('failure')) -// Error: failure -// at repl:1:6 -// at REPLServer.defaultEval (repl.js:154:27) -// … -``` - -## API - -### `bail([err])` - -Throw a given error. - -###### Parameters - -* `err` (`Error?`) — Optional error. - -###### Throws - -* `Error` — Given error, if any. - -## Related - -* [`noop`][noop] -* [`noop2`][noop2] -* [`noop3`][noop3] - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/bail.svg - -[build]: https://travis-ci.org/wooorm/bail - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/bail.svg - -[coverage]: https://codecov.io/github/wooorm/bail - -[downloads-badge]: https://img.shields.io/npm/dm/bail.svg - -[downloads]: https://www.npmjs.com/package/bail - -[size-badge]: https://img.shields.io/bundlephobia/minzip/bail.svg - -[size]: https://bundlephobia.com/result?p=bail - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[noop]: https://www.npmjs.com/package/noop - -[noop2]: https://www.npmjs.com/package/noop2 - -[noop3]: https://www.npmjs.com/package/noop3 diff --git a/tools/node_modules/eslint/node_modules/balanced-match/package.json b/tools/node_modules/eslint/node_modules/balanced-match/package.json index 354df6cf2f7..61349c6edad 100644 --- a/tools/node_modules/eslint/node_modules/balanced-match/package.json +++ b/tools/node_modules/eslint/node_modules/balanced-match/package.json @@ -1,21 +1,22 @@ { - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" + "name": "balanced-match", + "description": "Match balanced character pairs, like \"{\" and \"}\"", + "version": "1.0.0", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/balanced-match.git" }, - "bugs": { - "url": "https://github.com/juliangruber/balanced-match/issues" + "homepage": "https://github.com/juliangruber/balanced-match", + "main": "index.js", + "scripts": { + "test": "make test", + "bench": "make bench" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, - "description": "Match balanced character pairs, like \"{\" and \"}\"", "devDependencies": { "matcha": "^0.7.0", "tape": "^4.6.0" }, - "homepage": "https://github.com/juliangruber/balanced-match", "keywords": [ "match", "regexp", @@ -23,17 +24,12 @@ "balanced", "parse" ], - "license": "MIT", - "main": "index.js", - "name": "balanced-match", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/balanced-match.git" - }, - "scripts": { - "bench": "make bench", - "test": "make test" + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" }, + "license": "MIT", "testling": { "files": "test/*.js", "browsers": [ @@ -49,6 +45,5 @@ "iphone/6.0..latest", "android-browser/4.2..latest" ] - }, - "version": "1.0.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/brace-expansion/package.json b/tools/node_modules/eslint/node_modules/brace-expansion/package.json index af3bc67cac8..a18faa8fd67 100644 --- a/tools/node_modules/eslint/node_modules/brace-expansion/package.json +++ b/tools/node_modules/eslint/node_modules/brace-expansion/package.json @@ -1,37 +1,33 @@ { - "author": { - "name": "Julian Gruber", - "email": "mail@juliangruber.com", - "url": "http://juliangruber.com" + "name": "brace-expansion", + "description": "Brace expansion as known from sh/bash", + "version": "1.1.11", + "repository": { + "type": "git", + "url": "git://github.com/juliangruber/brace-expansion.git" }, - "bugs": { - "url": "https://github.com/juliangruber/brace-expansion/issues" + "homepage": "https://github.com/juliangruber/brace-expansion", + "main": "index.js", + "scripts": { + "test": "tape test/*.js", + "gentest": "bash test/generate.sh", + "bench": "matcha test/perf/bench.js" }, - "bundleDependencies": false, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" }, - "deprecated": false, - "description": "Brace expansion as known from sh/bash", "devDependencies": { "matcha": "^0.7.0", "tape": "^4.6.0" }, - "homepage": "https://github.com/juliangruber/brace-expansion", "keywords": [], - "license": "MIT", - "main": "index.js", - "name": "brace-expansion", - "repository": { - "type": "git", - "url": "git://github.com/juliangruber/brace-expansion.git" - }, - "scripts": { - "bench": "matcha test/perf/bench.js", - "gentest": "bash test/generate.sh", - "test": "tape test/*.js" + "author": { + "name": "Julian Gruber", + "email": "mail@juliangruber.com", + "url": "http://juliangruber.com" }, + "license": "MIT", "testling": { "files": "test/*.js", "browsers": [ @@ -47,6 +43,5 @@ "iphone/6.0..latest", "android-browser/4.2..latest" ] - }, - "version": "1.1.11" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/callsites/package.json b/tools/node_modules/eslint/node_modules/callsites/package.json index b36dc6b150f..93463c34b25 100644 --- a/tools/node_modules/eslint/node_modules/callsites/package.json +++ b/tools/node_modules/eslint/node_modules/callsites/package.json @@ -1,48 +1,39 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/callsites/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Get callsites from the V8 stack trace API", - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=6" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/sindresorhus/callsites#readme", - "keywords": [ - "stacktrace", - "v8", - "callsite", - "callsites", - "stack", - "trace", - "function", - "file", - "line", - "debug" - ], - "license": "MIT", - "name": "callsites", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/callsites.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "3.1.0" -} \ No newline at end of file + "name": "callsites", + "version": "3.1.0", + "description": "Get callsites from the V8 stack trace API", + "license": "MIT", + "repository": "sindresorhus/callsites", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "stacktrace", + "v8", + "callsite", + "callsites", + "stack", + "trace", + "function", + "file", + "line", + "debug" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js deleted file mode 100644 index 5d82581a13f..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/index.js +++ /dev/null @@ -1,163 +0,0 @@ -'use strict'; - -const wrapAnsi16 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${code + offset}m`; -}; - -const wrapAnsi256 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${38 + offset};5;${code}m`; -}; - -const wrapAnsi16m = (fn, offset) => (...args) => { - const rgb = fn(...args); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; -}; - -const ansi2ansi = n => n; -const rgb2rgb = (r, g, b) => [r, g, b]; - -const setLazyProperty = (object, property, get) => { - Object.defineProperty(object, property, { - get: () => { - const value = get(); - - Object.defineProperty(object, property, { - value, - enumerable: true, - configurable: true - }); - - return value; - }, - enumerable: true, - configurable: true - }); -}; - -/** @type {typeof import('color-convert')} */ -let colorConvert; -const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { - if (colorConvert === undefined) { - colorConvert = require('color-convert'); - } - - const offset = isBackground ? 10 : 0; - const styles = {}; - - for (const [sourceSpace, suite] of Object.entries(colorConvert)) { - const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; - if (sourceSpace === targetSpace) { - styles[name] = wrap(identity, offset); - } else if (typeof suite === 'object') { - styles[name] = wrap(suite[targetSpace], offset); - } - } - - return styles; -}; - -function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - - // Bright color - blackBright: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - - // Alias bright black as gray (and grey) - styles.color.gray = styles.color.blackBright; - styles.bgColor.bgGray = styles.bgColor.bgBlackBright; - styles.color.grey = styles.color.blackBright; - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; - - for (const [groupName, group] of Object.entries(styles)) { - for (const [styleName, style] of Object.entries(group)) { - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - - group[styleName] = styles[styleName]; - - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - } - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - - setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); - setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); - - return styles; -} - -// Make the export immutable -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/license b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json deleted file mode 100644 index d276e03d254..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-styles/issues" - }, - "bundleDependencies": false, - "dependencies": { - "color-convert": "^2.0.1" - }, - "deprecated": false, - "description": "ANSI escape codes for styling strings in the terminal", - "devDependencies": { - "@types/color-convert": "^1.9.0", - "ava": "^2.3.0", - "svg-term-cli": "^2.1.1", - "tsd": "^0.11.0", - "xo": "^0.25.3" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "funding": "https://github.com/chalk/ansi-styles?sponsor=1", - "homepage": "https://github.com/chalk/ansi-styles#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "name": "ansi-styles", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-styles.git" - }, - "scripts": { - "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor", - "test": "xo && ava && tsd" - }, - "version": "4.3.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md deleted file mode 100644 index 24883de808b..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/ansi-styles/readme.md +++ /dev/null @@ -1,152 +0,0 @@ -# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) - -> [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal - -You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. - - - -## Install - -``` -$ npm install ansi-styles -``` - -## Usage - -```js -const style = require('ansi-styles'); - -console.log(`${style.green.open}Hello world!${style.green.close}`); - - -// Color conversion between 16/256/truecolor -// NOTE: If conversion goes to 16 colors or 256 colors, the original color -// may be degraded to fit that color palette. This means terminals -// that do not support 16 million colors will best-match the -// original color. -console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); -console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); -console.log(style.color.ansi16m.hex('#abcdef') + 'Hello world!' + style.color.close); -``` - -## API - -Each style has an `open` and `close` property. - -## Styles - -### Modifiers - -- `reset` -- `bold` -- `dim` -- `italic` *(Not widely supported)* -- `underline` -- `inverse` -- `hidden` -- `strikethrough` *(Not widely supported)* - -### Colors - -- `black` -- `red` -- `green` -- `yellow` -- `blue` -- `magenta` -- `cyan` -- `white` -- `blackBright` (alias: `gray`, `grey`) -- `redBright` -- `greenBright` -- `yellowBright` -- `blueBright` -- `magentaBright` -- `cyanBright` -- `whiteBright` - -### Background colors - -- `bgBlack` -- `bgRed` -- `bgGreen` -- `bgYellow` -- `bgBlue` -- `bgMagenta` -- `bgCyan` -- `bgWhite` -- `bgBlackBright` (alias: `bgGray`, `bgGrey`) -- `bgRedBright` -- `bgGreenBright` -- `bgYellowBright` -- `bgBlueBright` -- `bgMagentaBright` -- `bgCyanBright` -- `bgWhiteBright` - -## Advanced usage - -By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. - -- `style.modifier` -- `style.color` -- `style.bgColor` - -###### Example - -```js -console.log(style.color.green.open); -``` - -Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values. - -###### Example - -```js -console.log(style.codes.get(36)); -//=> 39 -``` - -## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) - -`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. - -The following color spaces from `color-convert` are supported: - -- `rgb` -- `hex` -- `keyword` -- `hsl` -- `hsv` -- `hwb` -- `ansi` -- `ansi256` - -To use these, call the associated conversion function with the intended output, for example: - -```js -style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code -style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code - -style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code -style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code - -style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code -style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code -``` - -## Related - -- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - -## For enterprise - -Available as part of the Tidelift Subscription. - -The maintainers of `ansi-styles` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-ansi-styles?utm_source=npm-ansi-styles&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/LICENSE b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/LICENSE deleted file mode 100644 index 5b4c386f926..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2011-2016 Heather Arthur - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/README.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/README.md deleted file mode 100644 index d4b08fc3699..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# color-convert - -[![Build Status](https://travis-ci.org/Qix-/color-convert.svg?branch=master)](https://travis-ci.org/Qix-/color-convert) - -Color-convert is a color conversion library for JavaScript and node. -It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, `ansi`, `ansi16`, `hex` strings, and CSS `keyword`s (will round to closest): - -```js -var convert = require('color-convert'); - -convert.rgb.hsl(140, 200, 100); // [96, 48, 59] -convert.keyword.rgb('blue'); // [0, 0, 255] - -var rgbChannels = convert.rgb.channels; // 3 -var cmykChannels = convert.cmyk.channels; // 4 -var ansiChannels = convert.ansi16.channels; // 1 -``` - -# Install - -```console -$ npm install color-convert -``` - -# API - -Simply get the property of the _from_ and _to_ conversion that you're looking for. - -All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on `.raw` to the function. - -All 'from' functions have a hidden property called `.channels` that indicates the number of channels the function expects (not including alpha). - -```js -var convert = require('color-convert'); - -// Hex to LAB -convert.hex.lab('DEADBF'); // [ 76, 21, -2 ] -convert.hex.lab.raw('DEADBF'); // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ] - -// RGB to CMYK -convert.rgb.cmyk(167, 255, 4); // [ 35, 0, 98, 0 ] -convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ] -``` - -### Arrays -All functions that accept multiple arguments also support passing an array. - -Note that this does **not** apply to functions that convert from a color that only requires one value (e.g. `keyword`, `ansi256`, `hex`, etc.) - -```js -var convert = require('color-convert'); - -convert.rgb.hex(123, 45, 67); // '7B2D43' -convert.rgb.hex([123, 45, 67]); // '7B2D43' -``` - -## Routing - -Conversions that don't have an _explicitly_ defined conversion (in [conversions.js](conversions.js)), but can be converted by means of sub-conversions (e.g. XYZ -> **RGB** -> CMYK), are automatically routed together. This allows just about any color model supported by `color-convert` to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> **LAB** -> **XYZ** -> **RGB** -> Hex). - -Keep in mind that extensive conversions _may_ result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see [conversions.js](conversions.js). - -# Contribute - -If there is a new model you would like to support, or want to add a direct conversion between two existing models, please send us a pull request. - -# License -Copyright © 2011-2016, Heather Arthur and Josh Junon. Licensed under the [MIT License](LICENSE). diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/conversions.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/conversions.js deleted file mode 100644 index 2657f265c9e..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/conversions.js +++ /dev/null @@ -1,839 +0,0 @@ -/* MIT license */ -/* eslint-disable no-mixed-operators */ -const cssKeywords = require('color-name'); - -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -const reverseKeywords = {}; -for (const key of Object.keys(cssKeywords)) { - reverseKeywords[cssKeywords[key]] = key; -} - -const convert = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; - -module.exports = convert; - -// Hide .channels and .labels properties -for (const model of Object.keys(convert)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - const {channels, labels} = convert[model]; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); -} - -convert.rgb.hsl = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const min = Math.min(r, g, b); - const max = Math.max(r, g, b); - const delta = max - min; - let h; - let s; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - const l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - let rdif; - let gdif; - let bdif; - let h; - let s; - - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const v = Math.max(r, g, b); - const diff = v - Math.min(r, g, b); - const diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = 0; - s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = (1 / 3) + rdif - bdif; - } else if (b === v) { - h = (2 / 3) + gdif - rdif; - } - - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [ - h * 360, - s * 100, - v * 100 - ]; -}; - -convert.rgb.hwb = function (rgb) { - const r = rgb[0]; - const g = rgb[1]; - let b = rgb[2]; - const h = convert.rgb.hsl(rgb)[0]; - const w = 1 / 255 * Math.min(r, Math.min(g, b)); - - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - - const k = Math.min(1 - r, 1 - g, 1 - b); - const c = (1 - r - k) / (1 - k) || 0; - const m = (1 - g - k) / (1 - k) || 0; - const y = (1 - b - k) / (1 - k) || 0; - - return [c * 100, m * 100, y * 100, k * 100]; -}; - -function comparativeDistance(x, y) { - /* - See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - */ - return ( - ((x[0] - y[0]) ** 2) + - ((x[1] - y[1]) ** 2) + - ((x[2] - y[2]) ** 2) - ); -} - -convert.rgb.keyword = function (rgb) { - const reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - - let currentClosestDistance = Infinity; - let currentClosestKeyword; - - for (const keyword of Object.keys(cssKeywords)) { - const value = cssKeywords[keyword]; - - // Compute comparative distance - const distance = comparativeDistance(rgb, value); - - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - let r = rgb[0] / 255; - let g = rgb[1] / 255; - let b = rgb[2] / 255; - - // Assume sRGB - r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); - g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); - b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); - - const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - const xyz = convert.rgb.xyz(rgb); - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - const h = hsl[0] / 360; - const s = hsl[1] / 100; - const l = hsl[2] / 100; - let t2; - let t3; - let val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - const t1 = 2 * l - t2; - - const rgb = [0, 0, 0]; - for (let i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - const h = hsl[0]; - let s = hsl[1] / 100; - let l = hsl[2] / 100; - let smin = s; - const lmin = Math.max(l, 0.01); - - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - const v = (l + s) / 2; - const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); - - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - const h = hsv[0] / 60; - const s = hsv[1] / 100; - let v = hsv[2] / 100; - const hi = Math.floor(h) % 6; - - const f = h - Math.floor(h); - const p = 255 * v * (1 - s); - const q = 255 * v * (1 - (s * f)); - const t = 255 * v * (1 - (s * (1 - f))); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - const h = hsv[0]; - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const vmin = Math.max(v, 0.01); - let sl; - let l; - - l = (2 - s) * v; - const lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - - return [h, sl * 100, l * 100]; -}; - -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - const h = hwb[0] / 360; - let wh = hwb[1] / 100; - let bl = hwb[2] / 100; - const ratio = wh + bl; - let f; - - // Wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - const i = Math.floor(6 * h); - const v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - const n = wh + f * (v - wh); // Linear interpolation - - let r; - let g; - let b; - /* eslint-disable max-statements-per-line,no-multi-spaces */ - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; - } - /* eslint-enable max-statements-per-line,no-multi-spaces */ - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - const c = cmyk[0] / 100; - const m = cmyk[1] / 100; - const y = cmyk[2] / 100; - const k = cmyk[3] / 100; - - const r = 1 - Math.min(1, c * (1 - k) + k); - const g = 1 - Math.min(1, m * (1 - k) + k); - const b = 1 - Math.min(1, y * (1 - k) + k); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - const x = xyz[0] / 100; - const y = xyz[1] / 100; - const z = xyz[2] / 100; - let r; - let g; - let b; - - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - - // Assume sRGB - r = r > 0.0031308 - ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) - : r * 12.92; - - g = g > 0.0031308 - ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) - : g * 12.92; - - b = b > 0.0031308 - ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) - : b * 12.92; - - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let x; - let y; - let z; - - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - - const y2 = y ** 3; - const x2 = x ** 3; - const z2 = z ** 3; - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - - x *= 95.047; - y *= 100; - z *= 108.883; - - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let h; - - const hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - const c = Math.sqrt(a * a + b * b); - - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - const l = lch[0]; - const c = lch[1]; - const h = lch[2]; - - const hr = h / 360 * 2 * Math.PI; - const a = c * Math.cos(hr); - const b = c * Math.sin(hr); - - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args, saturation = null) { - const [r, g, b] = args; - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - let ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // Optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - const r = args[0]; - const g = args[1]; - const b = args[2]; - - // We use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round(((r - 8) / 247) * 24) + 232; - } - - const ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - - return ansi; -}; - -convert.ansi16.rgb = function (args) { - let color = args % 10; - - // Handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - - return [color, color, color]; - } - - const mult = (~~(args > 50) + 1) * 0.5; - const r = ((color & 1) * mult) * 255; - const g = (((color >> 1) & 1) * mult) * 255; - const b = (((color >> 2) & 1) * mult) * 255; - - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // Handle greyscale - if (args >= 232) { - const c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - - let rem; - const r = Math.floor(args / 36) / 5 * 255; - const g = Math.floor((rem = args % 36) / 6) / 5 * 255; - const b = (rem % 6) / 5 * 255; - - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - const integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); - - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - - let colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(char => { - return char + char; - }).join(''); - } - - const integer = parseInt(colorString, 16); - const r = (integer >> 16) & 0xFF; - const g = (integer >> 8) & 0xFF; - const b = integer & 0xFF; - - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const max = Math.max(Math.max(r, g), b); - const min = Math.min(Math.min(r, g), b); - const chroma = (max - min); - let grayscale; - let hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma; - } - - hue /= 6; - hue %= 1; - - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - const s = hsl[1] / 100; - const l = hsl[2] / 100; - - const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); - - let f = 0; - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - const s = hsv[1] / 100; - const v = hsv[2] / 100; - - const c = s * v; - let f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - const h = hcg[0] / 360; - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - const pure = [0, 0, 0]; - const hi = (h % 1) * 6; - const v = hi % 1; - const w = 1 - v; - let mg = 0; - - /* eslint-disable max-statements-per-line */ - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - /* eslint-enable max-statements-per-line */ - - mg = (1.0 - c) * g; - - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; - -convert.hcg.hsv = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - const v = c + g * (1.0 - c); - let f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - const l = g * (1.0 - c) + 0.5 * c; - let s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - const w = hwb[1] / 100; - const b = hwb[2] / 100; - const v = 1 - b; - const c = v - w; - let g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hsv = convert.gray.hsl; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - const val = Math.round(gray[0] / 100 * 255) & 0xFF; - const integer = (val << 16) + (val << 8) + val; - - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - const val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/index.js deleted file mode 100644 index b648e5737be..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/index.js +++ /dev/null @@ -1,81 +0,0 @@ -const conversions = require('./conversions'); -const route = require('./route'); - -const convert = {}; - -const models = Object.keys(conversions); - -function wrapRaw(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - return fn(args); - }; - - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - const result = fn(args); - - // We're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (let len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; - - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(fromModel => { - convert[fromModel] = {}; - - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); - - const routes = route(fromModel); - const routeModels = Object.keys(routes); - - routeModels.forEach(toModel => { - const fn = routes[toModel]; - - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); - -module.exports = convert; diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/package.json deleted file mode 100644 index 427616bd058..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "author": { - "name": "Heather Arthur", - "email": "fayearthur@gmail.com" - }, - "bugs": { - "url": "https://github.com/Qix-/color-convert/issues" - }, - "bundleDependencies": false, - "dependencies": { - "color-name": "~1.1.4" - }, - "deprecated": false, - "description": "Plain color conversion functions", - "devDependencies": { - "chalk": "^2.4.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=7.0.0" - }, - "files": [ - "index.js", - "conversions.js", - "route.js" - ], - "homepage": "https://github.com/Qix-/color-convert#readme", - "keywords": [ - "color", - "colour", - "convert", - "converter", - "conversion", - "rgb", - "hsl", - "hsv", - "hwb", - "cmyk", - "ansi", - "ansi16" - ], - "license": "MIT", - "name": "color-convert", - "repository": { - "type": "git", - "url": "git+https://github.com/Qix-/color-convert.git" - }, - "scripts": { - "pretest": "xo", - "test": "node test/basic.js" - }, - "version": "2.0.1", - "xo": { - "rules": { - "default-case": 0, - "no-inline-comments": 0, - "operator-linebreak": 0 - } - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/route.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/route.js deleted file mode 100644 index 1a08521b5a0..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-convert/route.js +++ /dev/null @@ -1,97 +0,0 @@ -const conversions = require('./conversions'); - -/* - This function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph() { - const graph = {}; - // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - const models = Object.keys(conversions); - - for (let len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} - -// https://en.wikipedia.org/wiki/Breadth-first_search -function deriveBFS(fromModel) { - const graph = buildGraph(); - const queue = [fromModel]; // Unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - const current = queue.pop(); - const adjacents = Object.keys(conversions[current]); - - for (let len = adjacents.length, i = 0; i < len; i++) { - const adjacent = adjacents[i]; - const node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - const path = [graph[toModel].parent, toModel]; - let fn = conversions[graph[toModel].parent][toModel]; - - let cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -module.exports = function (fromModel) { - const graph = deriveBFS(fromModel); - const conversion = {}; - - const models = Object.keys(graph); - for (let len = models.length, i = 0; i < len; i++) { - const toModel = models[i]; - const node = graph[toModel]; - - if (node.parent === null) { - // No possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/LICENSE b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/LICENSE deleted file mode 100644 index c6b10012540..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/LICENSE +++ /dev/null @@ -1,8 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/README.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/README.md deleted file mode 100644 index 932b979176f..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/README.md +++ /dev/null @@ -1,11 +0,0 @@ -A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. - -[![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) - - -```js -var colors = require('color-name'); -colors.red //[255,0,0] -``` - - diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/index.js deleted file mode 100644 index b7c198a6f3d..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/index.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict' - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/package.json deleted file mode 100644 index 07b8f6ece81..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/color-name/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "author": { - "name": "DY", - "email": "dfcreative@gmail.com" - }, - "bugs": { - "url": "https://github.com/colorjs/color-name/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A list of color names and its values", - "files": [ - "index.js" - ], - "homepage": "https://github.com/colorjs/color-name", - "keywords": [ - "color-name", - "color", - "color-keyword", - "keyword" - ], - "license": "MIT", - "main": "index.js", - "name": "color-name", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/colorjs/color-name.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.1.4" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/index.js deleted file mode 100644 index b6f80b1f8ff..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -module.exports = (flag, argv = process.argv) => { - const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); - const position = argv.indexOf(prefix + flag); - const terminatorPosition = argv.indexOf('--'); - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); -}; diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/license b/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/package.json deleted file mode 100644 index c71a95689f3..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/has-flag/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Check if argv has a specific flag", - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/sindresorhus/has-flag#readme", - "keywords": [ - "has", - "check", - "detect", - "contains", - "find", - "flag", - "cli", - "command-line", - "argv", - "process", - "arg", - "args", - "argument", - "arguments", - "getopt", - "minimist", - "optimist" - ], - "license": "MIT", - "name": "has-flag", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/has-flag.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "4.0.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/readme.md deleted file mode 100644 index 3f72dff29a6..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/has-flag/readme.md +++ /dev/null @@ -1,89 +0,0 @@ -# has-flag [![Build Status](https://travis-ci.org/sindresorhus/has-flag.svg?branch=master)](https://travis-ci.org/sindresorhus/has-flag) - -> Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag - -Correctly stops looking after an `--` argument terminator. - ---- - -
- - Get professional support for this package with a Tidelift subscription - -
- - Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. -
-
- ---- - - -## Install - -``` -$ npm install has-flag -``` - - -## Usage - -```js -// foo.js -const hasFlag = require('has-flag'); - -hasFlag('unicorn'); -//=> true - -hasFlag('--unicorn'); -//=> true - -hasFlag('f'); -//=> true - -hasFlag('-f'); -//=> true - -hasFlag('foo=bar'); -//=> true - -hasFlag('foo'); -//=> false - -hasFlag('rainbow'); -//=> false -``` - -``` -$ node foo.js -f --unicorn --foo=bar -- --rainbow -``` - - -## API - -### hasFlag(flag, [argv]) - -Returns a boolean for whether the flag exists. - -#### flag - -Type: `string` - -CLI flag to look for. The `--` prefix is optional. - -#### argv - -Type: `string[]`
-Default: `process.argv` - -CLI arguments. - - -## Security - -To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js deleted file mode 100644 index 62afa3a7425..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/browser.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; -module.exports = { - stdout: false, - stderr: false -}; diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js deleted file mode 100644 index 6fada390fb8..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/index.js +++ /dev/null @@ -1,135 +0,0 @@ -'use strict'; -const os = require('os'); -const tty = require('tty'); -const hasFlag = require('has-flag'); - -const {env} = process; - -let forceColor; -if (hasFlag('no-color') || - hasFlag('no-colors') || - hasFlag('color=false') || - hasFlag('color=never')) { - forceColor = 0; -} else if (hasFlag('color') || - hasFlag('colors') || - hasFlag('color=true') || - hasFlag('color=always')) { - forceColor = 1; -} - -if ('FORCE_COLOR' in env) { - if (env.FORCE_COLOR === 'true') { - forceColor = 1; - } else if (env.FORCE_COLOR === 'false') { - forceColor = 0; - } else { - forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); - } -} - -function translateLevel(level) { - if (level === 0) { - return false; - } - - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} - -function supportsColor(haveStream, streamIsTTY) { - if (forceColor === 0) { - return 0; - } - - if (hasFlag('color=16m') || - hasFlag('color=full') || - hasFlag('color=truecolor')) { - return 3; - } - - if (hasFlag('color=256')) { - return 2; - } - - if (haveStream && !streamIsTTY && forceColor === undefined) { - return 0; - } - - const min = forceColor || 0; - - if (env.TERM === 'dumb') { - return min; - } - - if (process.platform === 'win32') { - // Windows 10 build 10586 is the first Windows release that supports 256 colors. - // Windows 10 build 14931 is the first release that supports 16m/TrueColor. - const osRelease = os.release().split('.'); - if ( - Number(osRelease[0]) >= 10 && - Number(osRelease[2]) >= 10586 - ) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - - return 1; - } - - if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { - return 1; - } - - return min; - } - - if ('TEAMCITY_VERSION' in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - - if (env.COLORTERM === 'truecolor') { - return 3; - } - - if ('TERM_PROGRAM' in env) { - const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); - - switch (env.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - case 'Apple_Terminal': - return 2; - // No default - } - } - - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - - if ('COLORTERM' in env) { - return 1; - } - - return min; -} - -function getSupportLevel(stream) { - const level = supportsColor(stream, stream && stream.isTTY); - return translateLevel(level); -} - -module.exports = { - supportsColor: getSupportLevel, - stdout: translateLevel(supportsColor(true, tty.isatty(1))), - stderr: translateLevel(supportsColor(true, tty.isatty(2))) -}; diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/license b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json deleted file mode 100644 index 5f90dfc93a7..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "browser": "browser.js", - "bugs": { - "url": "https://github.com/chalk/supports-color/issues" - }, - "bundleDependencies": false, - "dependencies": { - "has-flag": "^4.0.0" - }, - "deprecated": false, - "description": "Detect whether a terminal supports color", - "devDependencies": { - "ava": "^1.4.1", - "import-fresh": "^3.0.0", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "browser.js" - ], - "homepage": "https://github.com/chalk/supports-color#readme", - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "ansi", - "styles", - "tty", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "support", - "supports", - "capability", - "detect", - "truecolor", - "16m" - ], - "license": "MIT", - "name": "supports-color", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/supports-color.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "7.2.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md b/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md deleted file mode 100644 index 36542285863..00000000000 --- a/tools/node_modules/eslint/node_modules/chalk/node_modules/supports-color/readme.md +++ /dev/null @@ -1,76 +0,0 @@ -# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color) - -> Detect whether a terminal supports color - - -## Install - -``` -$ npm install supports-color -``` - - -## Usage - -```js -const supportsColor = require('supports-color'); - -if (supportsColor.stdout) { - console.log('Terminal stdout supports color'); -} - -if (supportsColor.stdout.has256) { - console.log('Terminal stdout supports 256 colors'); -} - -if (supportsColor.stderr.has16m) { - console.log('Terminal stderr supports 16 million colors (truecolor)'); -} -``` - - -## API - -Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported. - -The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag: - -- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors) -- `.level = 2` and `.has256 = true`: 256 color support -- `.level = 3` and `.has16m = true`: Truecolor support (16 million colors) - - -## Info - -It obeys the `--color` and `--no-color` CLI flags. - -For situations where using `--color` is not possible, use the environment variable `FORCE_COLOR=1` (level 1), `FORCE_COLOR=2` (level 2), or `FORCE_COLOR=3` (level 3) to forcefully enable color, or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks. - -Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively. - - -## Related - -- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - - ---- - -
- - Get professional support for this package with a Tidelift subscription - -
- - Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. -
-
- ---- diff --git a/tools/node_modules/eslint/node_modules/chalk/package.json b/tools/node_modules/eslint/node_modules/chalk/package.json index fbb12850511..0d99f0f2862 100644 --- a/tools/node_modules/eslint/node_modules/chalk/package.json +++ b/tools/node_modules/eslint/node_modules/chalk/package.json @@ -1,77 +1,68 @@ { - "bugs": { - "url": "https://github.com/chalk/chalk/issues" - }, - "bundleDependencies": false, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "deprecated": false, - "description": "Terminal string styling done right", - "devDependencies": { - "ava": "^2.4.0", - "coveralls": "^3.0.7", - "execa": "^4.0.0", - "import-fresh": "^3.1.0", - "matcha": "^0.7.0", - "nyc": "^15.0.0", - "resolve-from": "^5.0.0", - "tsd": "^0.7.4", - "xo": "^0.28.2" - }, - "engines": { - "node": ">=10" - }, - "files": [ - "source", - "index.d.ts" - ], - "funding": "https://github.com/chalk/chalk?sponsor=1", - "homepage": "https://github.com/chalk/chalk#readme", - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "str", - "ansi", - "style", - "styles", - "tty", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "main": "source", - "name": "chalk", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/chalk.git" - }, - "scripts": { - "bench": "matcha benchmark.js", - "test": "xo && nyc ava && tsd" - }, - "version": "4.1.0", - "xo": { - "rules": { - "unicorn/prefer-string-slice": "off", - "unicorn/prefer-includes": "off", - "@typescript-eslint/member-ordering": "off", - "no-redeclare": "off", - "unicorn/string-content": "off", - "unicorn/better-regex": "off" - } - } -} \ No newline at end of file + "name": "chalk", + "version": "4.1.0", + "description": "Terminal string styling done right", + "license": "MIT", + "repository": "chalk/chalk", + "funding": "https://github.com/chalk/chalk?sponsor=1", + "main": "source", + "engines": { + "node": ">=10" + }, + "scripts": { + "test": "xo && nyc ava && tsd", + "bench": "matcha benchmark.js" + }, + "files": [ + "source", + "index.d.ts" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "str", + "ansi", + "style", + "styles", + "tty", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "devDependencies": { + "ava": "^2.4.0", + "coveralls": "^3.0.7", + "execa": "^4.0.0", + "import-fresh": "^3.1.0", + "matcha": "^0.7.0", + "nyc": "^15.0.0", + "resolve-from": "^5.0.0", + "tsd": "^0.7.4", + "xo": "^0.28.2" + }, + "xo": { + "rules": { + "unicorn/prefer-string-slice": "off", + "unicorn/prefer-includes": "off", + "@typescript-eslint/member-ordering": "off", + "no-redeclare": "off", + "unicorn/string-content": "off", + "unicorn/better-regex": "off" + } + } +} diff --git a/tools/node_modules/eslint/node_modules/character-entities-legacy/index.json b/tools/node_modules/eslint/node_modules/character-entities-legacy/index.json deleted file mode 100644 index d83b75251b7..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities-legacy/index.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "AElig": "Æ", - "AMP": "&", - "Aacute": "Á", - "Acirc": "Â", - "Agrave": "À", - "Aring": "Å", - "Atilde": "Ã", - "Auml": "Ä", - "COPY": "©", - "Ccedil": "Ç", - "ETH": "Ð", - "Eacute": "É", - "Ecirc": "Ê", - "Egrave": "È", - "Euml": "Ë", - "GT": ">", - "Iacute": "Í", - "Icirc": "Î", - "Igrave": "Ì", - "Iuml": "Ï", - "LT": "<", - "Ntilde": "Ñ", - "Oacute": "Ó", - "Ocirc": "Ô", - "Ograve": "Ò", - "Oslash": "Ø", - "Otilde": "Õ", - "Ouml": "Ö", - "QUOT": "\"", - "REG": "®", - "THORN": "Þ", - "Uacute": "Ú", - "Ucirc": "Û", - "Ugrave": "Ù", - "Uuml": "Ü", - "Yacute": "Ý", - "aacute": "á", - "acirc": "â", - "acute": "´", - "aelig": "æ", - "agrave": "à", - "amp": "&", - "aring": "å", - "atilde": "ã", - "auml": "ä", - "brvbar": "¦", - "ccedil": "ç", - "cedil": "¸", - "cent": "¢", - "copy": "©", - "curren": "¤", - "deg": "°", - "divide": "÷", - "eacute": "é", - "ecirc": "ê", - "egrave": "è", - "eth": "ð", - "euml": "ë", - "frac12": "½", - "frac14": "¼", - "frac34": "¾", - "gt": ">", - "iacute": "í", - "icirc": "î", - "iexcl": "¡", - "igrave": "ì", - "iquest": "¿", - "iuml": "ï", - "laquo": "«", - "lt": "<", - "macr": "¯", - "micro": "µ", - "middot": "·", - "nbsp": " ", - "not": "¬", - "ntilde": "ñ", - "oacute": "ó", - "ocirc": "ô", - "ograve": "ò", - "ordf": "ª", - "ordm": "º", - "oslash": "ø", - "otilde": "õ", - "ouml": "ö", - "para": "¶", - "plusmn": "±", - "pound": "£", - "quot": "\"", - "raquo": "»", - "reg": "®", - "sect": "§", - "shy": "­", - "sup1": "¹", - "sup2": "²", - "sup3": "³", - "szlig": "ß", - "thorn": "þ", - "times": "×", - "uacute": "ú", - "ucirc": "û", - "ugrave": "ù", - "uml": "¨", - "uuml": "ü", - "yacute": "ý", - "yen": "¥", - "yuml": "ÿ" -} diff --git a/tools/node_modules/eslint/node_modules/character-entities-legacy/license b/tools/node_modules/eslint/node_modules/character-entities-legacy/license deleted file mode 100644 index 32e7a3d93ca..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities-legacy/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json b/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json deleted file mode 100644 index 701c76396e0..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities-legacy/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/character-entities-legacy/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "HTML legacy character entity information", - "devDependencies": { - "bail": "^1.0.0", - "browserify": "^16.0.0", - "concat-stream": "^2.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.json" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/character-entities-legacy#readme", - "keywords": [ - "html", - "entity", - "entities", - "character", - "reference", - "name", - "replacement" - ], - "license": "MIT", - "main": "index.json", - "name": "character-entities-legacy", - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/character-entities-legacy.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.json -s characterEntitiesLegacy -o character-entities-legacy.js", - "build-mangle": "browserify index.json -s characterEntitiesLegacy -p tinyify -o character-entities-legacy.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "generate": "node build", - "test": "npm run generate && npm run format && npm run build && npm run test-api", - "test-api": "node test" - }, - "version": "1.1.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "character-entities-legacy.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/character-entities-legacy/readme.md b/tools/node_modules/eslint/node_modules/character-entities-legacy/readme.md deleted file mode 100644 index 711a090a7d2..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities-legacy/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# character-entities-legacy - -[![Build][build-badge]][build] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -HTML legacy character entity information: for legacy reasons some character -entities are not required to have a trailing semicolon: `©` is perfectly -okay for `©`. - -## Install - -[npm][]: - -```sh -npm install character-entities-legacy -``` - -## Use - -```js -var characterEntitiesLegacy = require('character-entities-legacy') - -console.log(characterEntitiesLegacy.copy) // => '©' -console.log(characterEntitiesLegacy.frac34) // => '¾' -console.log(characterEntitiesLegacy.sup1) // => '¹' -``` - -## API - -### `characterEntitiesLegacy` - -Mapping between (case-sensitive) legacy character entity names to replacements. - -## Support - -See [`whatwg/html`][html]. - -## Related - -* [`character-entities`](https://github.com/wooorm/character-entities) - — HTML character entity info -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — HTML 4 character entity info -* [`parse-entities`](https://github.com/wooorm/parse-entities) - — Parse HTML character references -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Serialize HTML character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/character-entities-legacy.svg - -[build]: https://travis-ci.org/wooorm/character-entities-legacy - -[downloads-badge]: https://img.shields.io/npm/dm/character-entities-legacy.svg - -[downloads]: https://www.npmjs.com/package/character-entities-legacy - -[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities-legacy.svg - -[size]: https://bundlephobia.com/result?p=character-entities-legacy - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[html]: https://raw.githubusercontent.com/whatwg/html/master/json-entities-legacy.inc diff --git a/tools/node_modules/eslint/node_modules/character-entities/index.json b/tools/node_modules/eslint/node_modules/character-entities/index.json deleted file mode 100644 index a63babe0935..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities/index.json +++ /dev/null @@ -1,2224 +0,0 @@ -{ - "AEli": "Æ", - "AElig": "Æ", - "AM": "&", - "AMP": "&", - "Aacut": "Á", - "Aacute": "Á", - "Abreve": "Ă", - "Acir": "Â", - "Acirc": "Â", - "Acy": "А", - "Afr": "𝔄", - "Agrav": "À", - "Agrave": "À", - "Alpha": "Α", - "Amacr": "Ā", - "And": "⩓", - "Aogon": "Ą", - "Aopf": "𝔸", - "ApplyFunction": "⁡", - "Arin": "Å", - "Aring": "Å", - "Ascr": "𝒜", - "Assign": "≔", - "Atild": "Ã", - "Atilde": "Ã", - "Aum": "Ä", - "Auml": "Ä", - "Backslash": "∖", - "Barv": "⫧", - "Barwed": "⌆", - "Bcy": "Б", - "Because": "∵", - "Bernoullis": "ℬ", - "Beta": "Β", - "Bfr": "𝔅", - "Bopf": "𝔹", - "Breve": "˘", - "Bscr": "ℬ", - "Bumpeq": "≎", - "CHcy": "Ч", - "COP": "©", - "COPY": "©", - "Cacute": "Ć", - "Cap": "⋒", - "CapitalDifferentialD": "ⅅ", - "Cayleys": "ℭ", - "Ccaron": "Č", - "Ccedi": "Ç", - "Ccedil": "Ç", - "Ccirc": "Ĉ", - "Cconint": "∰", - "Cdot": "Ċ", - "Cedilla": "¸", - "CenterDot": "·", - "Cfr": "ℭ", - "Chi": "Χ", - "CircleDot": "⊙", - "CircleMinus": "⊖", - "CirclePlus": "⊕", - "CircleTimes": "⊗", - "ClockwiseContourIntegral": "∲", - "CloseCurlyDoubleQuote": "”", - "CloseCurlyQuote": "’", - "Colon": "∷", - "Colone": "⩴", - "Congruent": "≡", - "Conint": "∯", - "ContourIntegral": "∮", - "Copf": "ℂ", - "Coproduct": "∐", - "CounterClockwiseContourIntegral": "∳", - "Cross": "⨯", - "Cscr": "𝒞", - "Cup": "⋓", - "CupCap": "≍", - "DD": "ⅅ", - "DDotrahd": "⤑", - "DJcy": "Ђ", - "DScy": "Ѕ", - "DZcy": "Џ", - "Dagger": "‡", - "Darr": "↡", - "Dashv": "⫤", - "Dcaron": "Ď", - "Dcy": "Д", - "Del": "∇", - "Delta": "Δ", - "Dfr": "𝔇", - "DiacriticalAcute": "´", - "DiacriticalDot": "˙", - "DiacriticalDoubleAcute": "˝", - "DiacriticalGrave": "`", - "DiacriticalTilde": "˜", - "Diamond": "⋄", - "DifferentialD": "ⅆ", - "Dopf": "𝔻", - "Dot": "¨", - "DotDot": "⃜", - "DotEqual": "≐", - "DoubleContourIntegral": "∯", - "DoubleDot": "¨", - "DoubleDownArrow": "⇓", - "DoubleLeftArrow": "⇐", - "DoubleLeftRightArrow": "⇔", - "DoubleLeftTee": "⫤", - "DoubleLongLeftArrow": "⟸", - "DoubleLongLeftRightArrow": "⟺", - "DoubleLongRightArrow": "⟹", - "DoubleRightArrow": "⇒", - "DoubleRightTee": "⊨", - "DoubleUpArrow": "⇑", - "DoubleUpDownArrow": "⇕", - "DoubleVerticalBar": "∥", - "DownArrow": "↓", - "DownArrowBar": "⤓", - "DownArrowUpArrow": "⇵", - "DownBreve": "̑", - "DownLeftRightVector": "⥐", - "DownLeftTeeVector": "⥞", - "DownLeftVector": "↽", - "DownLeftVectorBar": "⥖", - "DownRightTeeVector": "⥟", - "DownRightVector": "⇁", - "DownRightVectorBar": "⥗", - "DownTee": "⊤", - "DownTeeArrow": "↧", - "Downarrow": "⇓", - "Dscr": "𝒟", - "Dstrok": "Đ", - "ENG": "Ŋ", - "ET": "Ð", - "ETH": "Ð", - "Eacut": "É", - "Eacute": "É", - "Ecaron": "Ě", - "Ecir": "Ê", - "Ecirc": "Ê", - "Ecy": "Э", - "Edot": "Ė", - "Efr": "𝔈", - "Egrav": "È", - "Egrave": "È", - "Element": "∈", - "Emacr": "Ē", - "EmptySmallSquare": "◻", - "EmptyVerySmallSquare": "▫", - "Eogon": "Ę", - "Eopf": "𝔼", - "Epsilon": "Ε", - "Equal": "⩵", - "EqualTilde": "≂", - "Equilibrium": "⇌", - "Escr": "ℰ", - "Esim": "⩳", - "Eta": "Η", - "Eum": "Ë", - "Euml": "Ë", - "Exists": "∃", - "ExponentialE": "ⅇ", - "Fcy": "Ф", - "Ffr": "𝔉", - "FilledSmallSquare": "◼", - "FilledVerySmallSquare": "▪", - "Fopf": "𝔽", - "ForAll": "∀", - "Fouriertrf": "ℱ", - "Fscr": "ℱ", - "GJcy": "Ѓ", - "G": ">", - "GT": ">", - "Gamma": "Γ", - "Gammad": "Ϝ", - "Gbreve": "Ğ", - "Gcedil": "Ģ", - "Gcirc": "Ĝ", - "Gcy": "Г", - "Gdot": "Ġ", - "Gfr": "𝔊", - "Gg": "⋙", - "Gopf": "𝔾", - "GreaterEqual": "≥", - "GreaterEqualLess": "⋛", - "GreaterFullEqual": "≧", - "GreaterGreater": "⪢", - "GreaterLess": "≷", - "GreaterSlantEqual": "⩾", - "GreaterTilde": "≳", - "Gscr": "𝒢", - "Gt": "≫", - "HARDcy": "Ъ", - "Hacek": "ˇ", - "Hat": "^", - "Hcirc": "Ĥ", - "Hfr": "ℌ", - "HilbertSpace": "ℋ", - "Hopf": "ℍ", - "HorizontalLine": "─", - "Hscr": "ℋ", - "Hstrok": "Ħ", - "HumpDownHump": "≎", - "HumpEqual": "≏", - "IEcy": "Е", - "IJlig": "IJ", - "IOcy": "Ё", - "Iacut": "Í", - "Iacute": "Í", - "Icir": "Î", - "Icirc": "Î", - "Icy": "И", - "Idot": "İ", - "Ifr": "ℑ", - "Igrav": "Ì", - "Igrave": "Ì", - "Im": "ℑ", - "Imacr": "Ī", - "ImaginaryI": "ⅈ", - "Implies": "⇒", - "Int": "∬", - "Integral": "∫", - "Intersection": "⋂", - "InvisibleComma": "⁣", - "InvisibleTimes": "⁢", - "Iogon": "Į", - "Iopf": "𝕀", - "Iota": "Ι", - "Iscr": "ℐ", - "Itilde": "Ĩ", - "Iukcy": "І", - "Ium": "Ï", - "Iuml": "Ï", - "Jcirc": "Ĵ", - "Jcy": "Й", - "Jfr": "𝔍", - "Jopf": "𝕁", - "Jscr": "𝒥", - "Jsercy": "Ј", - "Jukcy": "Є", - "KHcy": "Х", - "KJcy": "Ќ", - "Kappa": "Κ", - "Kcedil": "Ķ", - "Kcy": "К", - "Kfr": "𝔎", - "Kopf": "𝕂", - "Kscr": "𝒦", - "LJcy": "Љ", - "L": "<", - "LT": "<", - "Lacute": "Ĺ", - "Lambda": "Λ", - "Lang": "⟪", - "Laplacetrf": "ℒ", - "Larr": "↞", - "Lcaron": "Ľ", - "Lcedil": "Ļ", - "Lcy": "Л", - "LeftAngleBracket": "⟨", - "LeftArrow": "←", - "LeftArrowBar": "⇤", - "LeftArrowRightArrow": "⇆", - "LeftCeiling": "⌈", - "LeftDoubleBracket": "⟦", - "LeftDownTeeVector": "⥡", - "LeftDownVector": "⇃", - "LeftDownVectorBar": "⥙", - "LeftFloor": "⌊", - "LeftRightArrow": "↔", - "LeftRightVector": "⥎", - "LeftTee": "⊣", - "LeftTeeArrow": "↤", - "LeftTeeVector": "⥚", - "LeftTriangle": "⊲", - "LeftTriangleBar": "⧏", - "LeftTriangleEqual": "⊴", - "LeftUpDownVector": "⥑", - "LeftUpTeeVector": "⥠", - "LeftUpVector": "↿", - "LeftUpVectorBar": "⥘", - "LeftVector": "↼", - "LeftVectorBar": "⥒", - "Leftarrow": "⇐", - "Leftrightarrow": "⇔", - "LessEqualGreater": "⋚", - "LessFullEqual": "≦", - "LessGreater": "≶", - "LessLess": "⪡", - "LessSlantEqual": "⩽", - "LessTilde": "≲", - "Lfr": "𝔏", - "Ll": "⋘", - "Lleftarrow": "⇚", - "Lmidot": "Ŀ", - "LongLeftArrow": "⟵", - "LongLeftRightArrow": "⟷", - "LongRightArrow": "⟶", - "Longleftarrow": "⟸", - "Longleftrightarrow": "⟺", - "Longrightarrow": "⟹", - "Lopf": "𝕃", - "LowerLeftArrow": "↙", - "LowerRightArrow": "↘", - "Lscr": "ℒ", - "Lsh": "↰", - "Lstrok": "Ł", - "Lt": "≪", - "Map": "⤅", - "Mcy": "М", - "MediumSpace": " ", - "Mellintrf": "ℳ", - "Mfr": "𝔐", - "MinusPlus": "∓", - "Mopf": "𝕄", - "Mscr": "ℳ", - "Mu": "Μ", - "NJcy": "Њ", - "Nacute": "Ń", - "Ncaron": "Ň", - "Ncedil": "Ņ", - "Ncy": "Н", - "NegativeMediumSpace": "​", - "NegativeThickSpace": "​", - "NegativeThinSpace": "​", - "NegativeVeryThinSpace": "​", - "NestedGreaterGreater": "≫", - "NestedLessLess": "≪", - "NewLine": "\n", - "Nfr": "𝔑", - "NoBreak": "⁠", - "NonBreakingSpace": " ", - "Nopf": "ℕ", - "Not": "⫬", - "NotCongruent": "≢", - "NotCupCap": "≭", - "NotDoubleVerticalBar": "∦", - "NotElement": "∉", - "NotEqual": "≠", - "NotEqualTilde": "≂̸", - "NotExists": "∄", - "NotGreater": "≯", - "NotGreaterEqual": "≱", - "NotGreaterFullEqual": "≧̸", - "NotGreaterGreater": "≫̸", - "NotGreaterLess": "≹", - "NotGreaterSlantEqual": "⩾̸", - "NotGreaterTilde": "≵", - "NotHumpDownHump": "≎̸", - "NotHumpEqual": "≏̸", - "NotLeftTriangle": "⋪", - "NotLeftTriangleBar": "⧏̸", - "NotLeftTriangleEqual": "⋬", - "NotLess": "≮", - "NotLessEqual": "≰", - "NotLessGreater": "≸", - "NotLessLess": "≪̸", - "NotLessSlantEqual": "⩽̸", - "NotLessTilde": "≴", - "NotNestedGreaterGreater": "⪢̸", - "NotNestedLessLess": "⪡̸", - "NotPrecedes": "⊀", - "NotPrecedesEqual": "⪯̸", - "NotPrecedesSlantEqual": "⋠", - "NotReverseElement": "∌", - "NotRightTriangle": "⋫", - "NotRightTriangleBar": "⧐̸", - "NotRightTriangleEqual": "⋭", - "NotSquareSubset": "⊏̸", - "NotSquareSubsetEqual": "⋢", - "NotSquareSuperset": "⊐̸", - "NotSquareSupersetEqual": "⋣", - "NotSubset": "⊂⃒", - "NotSubsetEqual": "⊈", - "NotSucceeds": "⊁", - "NotSucceedsEqual": "⪰̸", - "NotSucceedsSlantEqual": "⋡", - "NotSucceedsTilde": "≿̸", - "NotSuperset": "⊃⃒", - "NotSupersetEqual": "⊉", - "NotTilde": "≁", - "NotTildeEqual": "≄", - "NotTildeFullEqual": "≇", - "NotTildeTilde": "≉", - "NotVerticalBar": "∤", - "Nscr": "𝒩", - "Ntild": "Ñ", - "Ntilde": "Ñ", - "Nu": "Ν", - "OElig": "Œ", - "Oacut": "Ó", - "Oacute": "Ó", - "Ocir": "Ô", - "Ocirc": "Ô", - "Ocy": "О", - "Odblac": "Ő", - "Ofr": "𝔒", - "Ograv": "Ò", - "Ograve": "Ò", - "Omacr": "Ō", - "Omega": "Ω", - "Omicron": "Ο", - "Oopf": "𝕆", - "OpenCurlyDoubleQuote": "“", - "OpenCurlyQuote": "‘", - "Or": "⩔", - "Oscr": "𝒪", - "Oslas": "Ø", - "Oslash": "Ø", - "Otild": "Õ", - "Otilde": "Õ", - "Otimes": "⨷", - "Oum": "Ö", - "Ouml": "Ö", - "OverBar": "‾", - "OverBrace": "⏞", - "OverBracket": "⎴", - "OverParenthesis": "⏜", - "PartialD": "∂", - "Pcy": "П", - "Pfr": "𝔓", - "Phi": "Φ", - "Pi": "Π", - "PlusMinus": "±", - "Poincareplane": "ℌ", - "Popf": "ℙ", - "Pr": "⪻", - "Precedes": "≺", - "PrecedesEqual": "⪯", - "PrecedesSlantEqual": "≼", - "PrecedesTilde": "≾", - "Prime": "″", - "Product": "∏", - "Proportion": "∷", - "Proportional": "∝", - "Pscr": "𝒫", - "Psi": "Ψ", - "QUO": "\"", - "QUOT": "\"", - "Qfr": "𝔔", - "Qopf": "ℚ", - "Qscr": "𝒬", - "RBarr": "⤐", - "RE": "®", - "REG": "®", - "Racute": "Ŕ", - "Rang": "⟫", - "Rarr": "↠", - "Rarrtl": "⤖", - "Rcaron": "Ř", - "Rcedil": "Ŗ", - "Rcy": "Р", - "Re": "ℜ", - "ReverseElement": "∋", - "ReverseEquilibrium": "⇋", - "ReverseUpEquilibrium": "⥯", - "Rfr": "ℜ", - "Rho": "Ρ", - "RightAngleBracket": "⟩", - "RightArrow": "→", - "RightArrowBar": "⇥", - "RightArrowLeftArrow": "⇄", - "RightCeiling": "⌉", - "RightDoubleBracket": "⟧", - "RightDownTeeVector": "⥝", - "RightDownVector": "⇂", - "RightDownVectorBar": "⥕", - "RightFloor": "⌋", - "RightTee": "⊢", - "RightTeeArrow": "↦", - "RightTeeVector": "⥛", - "RightTriangle": "⊳", - "RightTriangleBar": "⧐", - "RightTriangleEqual": "⊵", - "RightUpDownVector": "⥏", - "RightUpTeeVector": "⥜", - "RightUpVector": "↾", - "RightUpVectorBar": "⥔", - "RightVector": "⇀", - "RightVectorBar": "⥓", - "Rightarrow": "⇒", - "Ropf": "ℝ", - "RoundImplies": "⥰", - "Rrightarrow": "⇛", - "Rscr": "ℛ", - "Rsh": "↱", - "RuleDelayed": "⧴", - "SHCHcy": "Щ", - "SHcy": "Ш", - "SOFTcy": "Ь", - "Sacute": "Ś", - "Sc": "⪼", - "Scaron": "Š", - "Scedil": "Ş", - "Scirc": "Ŝ", - "Scy": "С", - "Sfr": "𝔖", - "ShortDownArrow": "↓", - "ShortLeftArrow": "←", - "ShortRightArrow": "→", - "ShortUpArrow": "↑", - "Sigma": "Σ", - "SmallCircle": "∘", - "Sopf": "𝕊", - "Sqrt": "√", - "Square": "□", - "SquareIntersection": "⊓", - "SquareSubset": "⊏", - "SquareSubsetEqual": "⊑", - "SquareSuperset": "⊐", - "SquareSupersetEqual": "⊒", - "SquareUnion": "⊔", - "Sscr": "𝒮", - "Star": "⋆", - "Sub": "⋐", - "Subset": "⋐", - "SubsetEqual": "⊆", - "Succeeds": "≻", - "SucceedsEqual": "⪰", - "SucceedsSlantEqual": "≽", - "SucceedsTilde": "≿", - "SuchThat": "∋", - "Sum": "∑", - "Sup": "⋑", - "Superset": "⊃", - "SupersetEqual": "⊇", - "Supset": "⋑", - "THOR": "Þ", - "THORN": "Þ", - "TRADE": "™", - "TSHcy": "Ћ", - "TScy": "Ц", - "Tab": "\t", - "Tau": "Τ", - "Tcaron": "Ť", - "Tcedil": "Ţ", - "Tcy": "Т", - "Tfr": "𝔗", - "Therefore": "∴", - "Theta": "Θ", - "ThickSpace": "  ", - "ThinSpace": " ", - "Tilde": "∼", - "TildeEqual": "≃", - "TildeFullEqual": "≅", - "TildeTilde": "≈", - "Topf": "𝕋", - "TripleDot": "⃛", - "Tscr": "𝒯", - "Tstrok": "Ŧ", - "Uacut": "Ú", - "Uacute": "Ú", - "Uarr": "↟", - "Uarrocir": "⥉", - "Ubrcy": "Ў", - "Ubreve": "Ŭ", - "Ucir": "Û", - "Ucirc": "Û", - "Ucy": "У", - "Udblac": "Ű", - "Ufr": "𝔘", - "Ugrav": "Ù", - "Ugrave": "Ù", - "Umacr": "Ū", - "UnderBar": "_", - "UnderBrace": "⏟", - "UnderBracket": "⎵", - "UnderParenthesis": "⏝", - "Union": "⋃", - "UnionPlus": "⊎", - "Uogon": "Ų", - "Uopf": "𝕌", - "UpArrow": "↑", - "UpArrowBar": "⤒", - "UpArrowDownArrow": "⇅", - "UpDownArrow": "↕", - "UpEquilibrium": "⥮", - "UpTee": "⊥", - "UpTeeArrow": "↥", - "Uparrow": "⇑", - "Updownarrow": "⇕", - "UpperLeftArrow": "↖", - "UpperRightArrow": "↗", - "Upsi": "ϒ", - "Upsilon": "Υ", - "Uring": "Ů", - "Uscr": "𝒰", - "Utilde": "Ũ", - "Uum": "Ü", - "Uuml": "Ü", - "VDash": "⊫", - "Vbar": "⫫", - "Vcy": "В", - "Vdash": "⊩", - "Vdashl": "⫦", - "Vee": "⋁", - "Verbar": "‖", - "Vert": "‖", - "VerticalBar": "∣", - "VerticalLine": "|", - "VerticalSeparator": "❘", - "VerticalTilde": "≀", - "VeryThinSpace": " ", - "Vfr": "𝔙", - "Vopf": "𝕍", - "Vscr": "𝒱", - "Vvdash": "⊪", - "Wcirc": "Ŵ", - "Wedge": "⋀", - "Wfr": "𝔚", - "Wopf": "𝕎", - "Wscr": "𝒲", - "Xfr": "𝔛", - "Xi": "Ξ", - "Xopf": "𝕏", - "Xscr": "𝒳", - "YAcy": "Я", - "YIcy": "Ї", - "YUcy": "Ю", - "Yacut": "Ý", - "Yacute": "Ý", - "Ycirc": "Ŷ", - "Ycy": "Ы", - "Yfr": "𝔜", - "Yopf": "𝕐", - "Yscr": "𝒴", - "Yuml": "Ÿ", - "ZHcy": "Ж", - "Zacute": "Ź", - "Zcaron": "Ž", - "Zcy": "З", - "Zdot": "Ż", - "ZeroWidthSpace": "​", - "Zeta": "Ζ", - "Zfr": "ℨ", - "Zopf": "ℤ", - "Zscr": "𝒵", - "aacut": "á", - "aacute": "á", - "abreve": "ă", - "ac": "∾", - "acE": "∾̳", - "acd": "∿", - "acir": "â", - "acirc": "â", - "acut": "´", - "acute": "´", - "acy": "а", - "aeli": "æ", - "aelig": "æ", - "af": "⁡", - "afr": "𝔞", - "agrav": "à", - "agrave": "à", - "alefsym": "ℵ", - "aleph": "ℵ", - "alpha": "α", - "amacr": "ā", - "amalg": "⨿", - "am": "&", - "amp": "&", - "and": "∧", - "andand": "⩕", - "andd": "⩜", - "andslope": "⩘", - "andv": "⩚", - "ang": "∠", - "ange": "⦤", - "angle": "∠", - "angmsd": "∡", - "angmsdaa": "⦨", - "angmsdab": "⦩", - "angmsdac": "⦪", - "angmsdad": "⦫", - "angmsdae": "⦬", - "angmsdaf": "⦭", - "angmsdag": "⦮", - "angmsdah": "⦯", - "angrt": "∟", - "angrtvb": "⊾", - "angrtvbd": "⦝", - "angsph": "∢", - "angst": "Å", - "angzarr": "⍼", - "aogon": "ą", - "aopf": "𝕒", - "ap": "≈", - "apE": "⩰", - "apacir": "⩯", - "ape": "≊", - "apid": "≋", - "apos": "'", - "approx": "≈", - "approxeq": "≊", - "arin": "å", - "aring": "å", - "ascr": "𝒶", - "ast": "*", - "asymp": "≈", - "asympeq": "≍", - "atild": "ã", - "atilde": "ã", - "aum": "ä", - "auml": "ä", - "awconint": "∳", - "awint": "⨑", - "bNot": "⫭", - "backcong": "≌", - "backepsilon": "϶", - "backprime": "‵", - "backsim": "∽", - "backsimeq": "⋍", - "barvee": "⊽", - "barwed": "⌅", - "barwedge": "⌅", - "bbrk": "⎵", - "bbrktbrk": "⎶", - "bcong": "≌", - "bcy": "б", - "bdquo": "„", - "becaus": "∵", - "because": "∵", - "bemptyv": "⦰", - "bepsi": "϶", - "bernou": "ℬ", - "beta": "β", - "beth": "ℶ", - "between": "≬", - "bfr": "𝔟", - "bigcap": "⋂", - "bigcirc": "◯", - "bigcup": "⋃", - "bigodot": "⨀", - "bigoplus": "⨁", - "bigotimes": "⨂", - "bigsqcup": "⨆", - "bigstar": "★", - "bigtriangledown": "▽", - "bigtriangleup": "△", - "biguplus": "⨄", - "bigvee": "⋁", - "bigwedge": "⋀", - "bkarow": "⤍", - "blacklozenge": "⧫", - "blacksquare": "▪", - "blacktriangle": "▴", - "blacktriangledown": "▾", - "blacktriangleleft": "◂", - "blacktriangleright": "▸", - "blank": "␣", - "blk12": "▒", - "blk14": "░", - "blk34": "▓", - "block": "█", - "bne": "=⃥", - "bnequiv": "≡⃥", - "bnot": "⌐", - "bopf": "𝕓", - "bot": "⊥", - "bottom": "⊥", - "bowtie": "⋈", - "boxDL": "╗", - "boxDR": "╔", - "boxDl": "╖", - "boxDr": "╓", - "boxH": "═", - "boxHD": "╦", - "boxHU": "╩", - "boxHd": "╤", - "boxHu": "╧", - "boxUL": "╝", - "boxUR": "╚", - "boxUl": "╜", - "boxUr": "╙", - "boxV": "║", - "boxVH": "╬", - "boxVL": "╣", - "boxVR": "╠", - "boxVh": "╫", - "boxVl": "╢", - "boxVr": "╟", - "boxbox": "⧉", - "boxdL": "╕", - "boxdR": "╒", - "boxdl": "┐", - "boxdr": "┌", - "boxh": "─", - "boxhD": "╥", - "boxhU": "╨", - "boxhd": "┬", - "boxhu": "┴", - "boxminus": "⊟", - "boxplus": "⊞", - "boxtimes": "⊠", - "boxuL": "╛", - "boxuR": "╘", - "boxul": "┘", - "boxur": "└", - "boxv": "│", - "boxvH": "╪", - "boxvL": "╡", - "boxvR": "╞", - "boxvh": "┼", - "boxvl": "┤", - "boxvr": "├", - "bprime": "‵", - "breve": "˘", - "brvba": "¦", - "brvbar": "¦", - "bscr": "𝒷", - "bsemi": "⁏", - "bsim": "∽", - "bsime": "⋍", - "bsol": "\\", - "bsolb": "⧅", - "bsolhsub": "⟈", - "bull": "•", - "bullet": "•", - "bump": "≎", - "bumpE": "⪮", - "bumpe": "≏", - "bumpeq": "≏", - "cacute": "ć", - "cap": "∩", - "capand": "⩄", - "capbrcup": "⩉", - "capcap": "⩋", - "capcup": "⩇", - "capdot": "⩀", - "caps": "∩︀", - "caret": "⁁", - "caron": "ˇ", - "ccaps": "⩍", - "ccaron": "č", - "ccedi": "ç", - "ccedil": "ç", - "ccirc": "ĉ", - "ccups": "⩌", - "ccupssm": "⩐", - "cdot": "ċ", - "cedi": "¸", - "cedil": "¸", - "cemptyv": "⦲", - "cen": "¢", - "cent": "¢", - "centerdot": "·", - "cfr": "𝔠", - "chcy": "ч", - "check": "✓", - "checkmark": "✓", - "chi": "χ", - "cir": "○", - "cirE": "⧃", - "circ": "ˆ", - "circeq": "≗", - "circlearrowleft": "↺", - "circlearrowright": "↻", - "circledR": "®", - "circledS": "Ⓢ", - "circledast": "⊛", - "circledcirc": "⊚", - "circleddash": "⊝", - "cire": "≗", - "cirfnint": "⨐", - "cirmid": "⫯", - "cirscir": "⧂", - "clubs": "♣", - "clubsuit": "♣", - "colon": ":", - "colone": "≔", - "coloneq": "≔", - "comma": ",", - "commat": "@", - "comp": "∁", - "compfn": "∘", - "complement": "∁", - "complexes": "ℂ", - "cong": "≅", - "congdot": "⩭", - "conint": "∮", - "copf": "𝕔", - "coprod": "∐", - "cop": "©", - "copy": "©", - "copysr": "℗", - "crarr": "↵", - "cross": "✗", - "cscr": "𝒸", - "csub": "⫏", - "csube": "⫑", - "csup": "⫐", - "csupe": "⫒", - "ctdot": "⋯", - "cudarrl": "⤸", - "cudarrr": "⤵", - "cuepr": "⋞", - "cuesc": "⋟", - "cularr": "↶", - "cularrp": "⤽", - "cup": "∪", - "cupbrcap": "⩈", - "cupcap": "⩆", - "cupcup": "⩊", - "cupdot": "⊍", - "cupor": "⩅", - "cups": "∪︀", - "curarr": "↷", - "curarrm": "⤼", - "curlyeqprec": "⋞", - "curlyeqsucc": "⋟", - "curlyvee": "⋎", - "curlywedge": "⋏", - "curre": "¤", - "curren": "¤", - "curvearrowleft": "↶", - "curvearrowright": "↷", - "cuvee": "⋎", - "cuwed": "⋏", - "cwconint": "∲", - "cwint": "∱", - "cylcty": "⌭", - "dArr": "⇓", - "dHar": "⥥", - "dagger": "†", - "daleth": "ℸ", - "darr": "↓", - "dash": "‐", - "dashv": "⊣", - "dbkarow": "⤏", - "dblac": "˝", - "dcaron": "ď", - "dcy": "д", - "dd": "ⅆ", - "ddagger": "‡", - "ddarr": "⇊", - "ddotseq": "⩷", - "de": "°", - "deg": "°", - "delta": "δ", - "demptyv": "⦱", - "dfisht": "⥿", - "dfr": "𝔡", - "dharl": "⇃", - "dharr": "⇂", - "diam": "⋄", - "diamond": "⋄", - "diamondsuit": "♦", - "diams": "♦", - "die": "¨", - "digamma": "ϝ", - "disin": "⋲", - "div": "÷", - "divid": "÷", - "divide": "÷", - "divideontimes": "⋇", - "divonx": "⋇", - "djcy": "ђ", - "dlcorn": "⌞", - "dlcrop": "⌍", - "dollar": "$", - "dopf": "𝕕", - "dot": "˙", - "doteq": "≐", - "doteqdot": "≑", - "dotminus": "∸", - "dotplus": "∔", - "dotsquare": "⊡", - "doublebarwedge": "⌆", - "downarrow": "↓", - "downdownarrows": "⇊", - "downharpoonleft": "⇃", - "downharpoonright": "⇂", - "drbkarow": "⤐", - "drcorn": "⌟", - "drcrop": "⌌", - "dscr": "𝒹", - "dscy": "ѕ", - "dsol": "⧶", - "dstrok": "đ", - "dtdot": "⋱", - "dtri": "▿", - "dtrif": "▾", - "duarr": "⇵", - "duhar": "⥯", - "dwangle": "⦦", - "dzcy": "џ", - "dzigrarr": "⟿", - "eDDot": "⩷", - "eDot": "≑", - "eacut": "é", - "eacute": "é", - "easter": "⩮", - "ecaron": "ě", - "ecir": "ê", - "ecirc": "ê", - "ecolon": "≕", - "ecy": "э", - "edot": "ė", - "ee": "ⅇ", - "efDot": "≒", - "efr": "𝔢", - "eg": "⪚", - "egrav": "è", - "egrave": "è", - "egs": "⪖", - "egsdot": "⪘", - "el": "⪙", - "elinters": "⏧", - "ell": "ℓ", - "els": "⪕", - "elsdot": "⪗", - "emacr": "ē", - "empty": "∅", - "emptyset": "∅", - "emptyv": "∅", - "emsp13": " ", - "emsp14": " ", - "emsp": " ", - "eng": "ŋ", - "ensp": " ", - "eogon": "ę", - "eopf": "𝕖", - "epar": "⋕", - "eparsl": "⧣", - "eplus": "⩱", - "epsi": "ε", - "epsilon": "ε", - "epsiv": "ϵ", - "eqcirc": "≖", - "eqcolon": "≕", - "eqsim": "≂", - "eqslantgtr": "⪖", - "eqslantless": "⪕", - "equals": "=", - "equest": "≟", - "equiv": "≡", - "equivDD": "⩸", - "eqvparsl": "⧥", - "erDot": "≓", - "erarr": "⥱", - "escr": "ℯ", - "esdot": "≐", - "esim": "≂", - "eta": "η", - "et": "ð", - "eth": "ð", - "eum": "ë", - "euml": "ë", - "euro": "€", - "excl": "!", - "exist": "∃", - "expectation": "ℰ", - "exponentiale": "ⅇ", - "fallingdotseq": "≒", - "fcy": "ф", - "female": "♀", - "ffilig": "ffi", - "fflig": "ff", - "ffllig": "ffl", - "ffr": "𝔣", - "filig": "fi", - "fjlig": "fj", - "flat": "♭", - "fllig": "fl", - "fltns": "▱", - "fnof": "ƒ", - "fopf": "𝕗", - "forall": "∀", - "fork": "⋔", - "forkv": "⫙", - "fpartint": "⨍", - "frac1": "¼", - "frac12": "½", - "frac13": "⅓", - "frac14": "¼", - "frac15": "⅕", - "frac16": "⅙", - "frac18": "⅛", - "frac23": "⅔", - "frac25": "⅖", - "frac3": "¾", - "frac34": "¾", - "frac35": "⅗", - "frac38": "⅜", - "frac45": "⅘", - "frac56": "⅚", - "frac58": "⅝", - "frac78": "⅞", - "frasl": "⁄", - "frown": "⌢", - "fscr": "𝒻", - "gE": "≧", - "gEl": "⪌", - "gacute": "ǵ", - "gamma": "γ", - "gammad": "ϝ", - "gap": "⪆", - "gbreve": "ğ", - "gcirc": "ĝ", - "gcy": "г", - "gdot": "ġ", - "ge": "≥", - "gel": "⋛", - "geq": "≥", - "geqq": "≧", - "geqslant": "⩾", - "ges": "⩾", - "gescc": "⪩", - "gesdot": "⪀", - "gesdoto": "⪂", - "gesdotol": "⪄", - "gesl": "⋛︀", - "gesles": "⪔", - "gfr": "𝔤", - "gg": "≫", - "ggg": "⋙", - "gimel": "ℷ", - "gjcy": "ѓ", - "gl": "≷", - "glE": "⪒", - "gla": "⪥", - "glj": "⪤", - "gnE": "≩", - "gnap": "⪊", - "gnapprox": "⪊", - "gne": "⪈", - "gneq": "⪈", - "gneqq": "≩", - "gnsim": "⋧", - "gopf": "𝕘", - "grave": "`", - "gscr": "ℊ", - "gsim": "≳", - "gsime": "⪎", - "gsiml": "⪐", - "g": ">", - "gt": ">", - "gtcc": "⪧", - "gtcir": "⩺", - "gtdot": "⋗", - "gtlPar": "⦕", - "gtquest": "⩼", - "gtrapprox": "⪆", - "gtrarr": "⥸", - "gtrdot": "⋗", - "gtreqless": "⋛", - "gtreqqless": "⪌", - "gtrless": "≷", - "gtrsim": "≳", - "gvertneqq": "≩︀", - "gvnE": "≩︀", - "hArr": "⇔", - "hairsp": " ", - "half": "½", - "hamilt": "ℋ", - "hardcy": "ъ", - "harr": "↔", - "harrcir": "⥈", - "harrw": "↭", - "hbar": "ℏ", - "hcirc": "ĥ", - "hearts": "♥", - "heartsuit": "♥", - "hellip": "…", - "hercon": "⊹", - "hfr": "𝔥", - "hksearow": "⤥", - "hkswarow": "⤦", - "hoarr": "⇿", - "homtht": "∻", - "hookleftarrow": "↩", - "hookrightarrow": "↪", - "hopf": "𝕙", - "horbar": "―", - "hscr": "𝒽", - "hslash": "ℏ", - "hstrok": "ħ", - "hybull": "⁃", - "hyphen": "‐", - "iacut": "í", - "iacute": "í", - "ic": "⁣", - "icir": "î", - "icirc": "î", - "icy": "и", - "iecy": "е", - "iexc": "¡", - "iexcl": "¡", - "iff": "⇔", - "ifr": "𝔦", - "igrav": "ì", - "igrave": "ì", - "ii": "ⅈ", - "iiiint": "⨌", - "iiint": "∭", - "iinfin": "⧜", - "iiota": "℩", - "ijlig": "ij", - "imacr": "ī", - "image": "ℑ", - "imagline": "ℐ", - "imagpart": "ℑ", - "imath": "ı", - "imof": "⊷", - "imped": "Ƶ", - "in": "∈", - "incare": "℅", - "infin": "∞", - "infintie": "⧝", - "inodot": "ı", - "int": "∫", - "intcal": "⊺", - "integers": "ℤ", - "intercal": "⊺", - "intlarhk": "⨗", - "intprod": "⨼", - "iocy": "ё", - "iogon": "į", - "iopf": "𝕚", - "iota": "ι", - "iprod": "⨼", - "iques": "¿", - "iquest": "¿", - "iscr": "𝒾", - "isin": "∈", - "isinE": "⋹", - "isindot": "⋵", - "isins": "⋴", - "isinsv": "⋳", - "isinv": "∈", - "it": "⁢", - "itilde": "ĩ", - "iukcy": "і", - "ium": "ï", - "iuml": "ï", - "jcirc": "ĵ", - "jcy": "й", - "jfr": "𝔧", - "jmath": "ȷ", - "jopf": "𝕛", - "jscr": "𝒿", - "jsercy": "ј", - "jukcy": "є", - "kappa": "κ", - "kappav": "ϰ", - "kcedil": "ķ", - "kcy": "к", - "kfr": "𝔨", - "kgreen": "ĸ", - "khcy": "х", - "kjcy": "ќ", - "kopf": "𝕜", - "kscr": "𝓀", - "lAarr": "⇚", - "lArr": "⇐", - "lAtail": "⤛", - "lBarr": "⤎", - "lE": "≦", - "lEg": "⪋", - "lHar": "⥢", - "lacute": "ĺ", - "laemptyv": "⦴", - "lagran": "ℒ", - "lambda": "λ", - "lang": "⟨", - "langd": "⦑", - "langle": "⟨", - "lap": "⪅", - "laqu": "«", - "laquo": "«", - "larr": "←", - "larrb": "⇤", - "larrbfs": "⤟", - "larrfs": "⤝", - "larrhk": "↩", - "larrlp": "↫", - "larrpl": "⤹", - "larrsim": "⥳", - "larrtl": "↢", - "lat": "⪫", - "latail": "⤙", - "late": "⪭", - "lates": "⪭︀", - "lbarr": "⤌", - "lbbrk": "❲", - "lbrace": "{", - "lbrack": "[", - "lbrke": "⦋", - "lbrksld": "⦏", - "lbrkslu": "⦍", - "lcaron": "ľ", - "lcedil": "ļ", - "lceil": "⌈", - "lcub": "{", - "lcy": "л", - "ldca": "⤶", - "ldquo": "“", - "ldquor": "„", - "ldrdhar": "⥧", - "ldrushar": "⥋", - "ldsh": "↲", - "le": "≤", - "leftarrow": "←", - "leftarrowtail": "↢", - "leftharpoondown": "↽", - "leftharpoonup": "↼", - "leftleftarrows": "⇇", - "leftrightarrow": "↔", - "leftrightarrows": "⇆", - "leftrightharpoons": "⇋", - "leftrightsquigarrow": "↭", - "leftthreetimes": "⋋", - "leg": "⋚", - "leq": "≤", - "leqq": "≦", - "leqslant": "⩽", - "les": "⩽", - "lescc": "⪨", - "lesdot": "⩿", - "lesdoto": "⪁", - "lesdotor": "⪃", - "lesg": "⋚︀", - "lesges": "⪓", - "lessapprox": "⪅", - "lessdot": "⋖", - "lesseqgtr": "⋚", - "lesseqqgtr": "⪋", - "lessgtr": "≶", - "lesssim": "≲", - "lfisht": "⥼", - "lfloor": "⌊", - "lfr": "𝔩", - "lg": "≶", - "lgE": "⪑", - "lhard": "↽", - "lharu": "↼", - "lharul": "⥪", - "lhblk": "▄", - "ljcy": "љ", - "ll": "≪", - "llarr": "⇇", - "llcorner": "⌞", - "llhard": "⥫", - "lltri": "◺", - "lmidot": "ŀ", - "lmoust": "⎰", - "lmoustache": "⎰", - "lnE": "≨", - "lnap": "⪉", - "lnapprox": "⪉", - "lne": "⪇", - "lneq": "⪇", - "lneqq": "≨", - "lnsim": "⋦", - "loang": "⟬", - "loarr": "⇽", - "lobrk": "⟦", - "longleftarrow": "⟵", - "longleftrightarrow": "⟷", - "longmapsto": "⟼", - "longrightarrow": "⟶", - "looparrowleft": "↫", - "looparrowright": "↬", - "lopar": "⦅", - "lopf": "𝕝", - "loplus": "⨭", - "lotimes": "⨴", - "lowast": "∗", - "lowbar": "_", - "loz": "◊", - "lozenge": "◊", - "lozf": "⧫", - "lpar": "(", - "lparlt": "⦓", - "lrarr": "⇆", - "lrcorner": "⌟", - "lrhar": "⇋", - "lrhard": "⥭", - "lrm": "‎", - "lrtri": "⊿", - "lsaquo": "‹", - "lscr": "𝓁", - "lsh": "↰", - "lsim": "≲", - "lsime": "⪍", - "lsimg": "⪏", - "lsqb": "[", - "lsquo": "‘", - "lsquor": "‚", - "lstrok": "ł", - "l": "<", - "lt": "<", - "ltcc": "⪦", - "ltcir": "⩹", - "ltdot": "⋖", - "lthree": "⋋", - "ltimes": "⋉", - "ltlarr": "⥶", - "ltquest": "⩻", - "ltrPar": "⦖", - "ltri": "◃", - "ltrie": "⊴", - "ltrif": "◂", - "lurdshar": "⥊", - "luruhar": "⥦", - "lvertneqq": "≨︀", - "lvnE": "≨︀", - "mDDot": "∺", - "mac": "¯", - "macr": "¯", - "male": "♂", - "malt": "✠", - "maltese": "✠", - "map": "↦", - "mapsto": "↦", - "mapstodown": "↧", - "mapstoleft": "↤", - "mapstoup": "↥", - "marker": "▮", - "mcomma": "⨩", - "mcy": "м", - "mdash": "—", - "measuredangle": "∡", - "mfr": "𝔪", - "mho": "℧", - "micr": "µ", - "micro": "µ", - "mid": "∣", - "midast": "*", - "midcir": "⫰", - "middo": "·", - "middot": "·", - "minus": "−", - "minusb": "⊟", - "minusd": "∸", - "minusdu": "⨪", - "mlcp": "⫛", - "mldr": "…", - "mnplus": "∓", - "models": "⊧", - "mopf": "𝕞", - "mp": "∓", - "mscr": "𝓂", - "mstpos": "∾", - "mu": "μ", - "multimap": "⊸", - "mumap": "⊸", - "nGg": "⋙̸", - "nGt": "≫⃒", - "nGtv": "≫̸", - "nLeftarrow": "⇍", - "nLeftrightarrow": "⇎", - "nLl": "⋘̸", - "nLt": "≪⃒", - "nLtv": "≪̸", - "nRightarrow": "⇏", - "nVDash": "⊯", - "nVdash": "⊮", - "nabla": "∇", - "nacute": "ń", - "nang": "∠⃒", - "nap": "≉", - "napE": "⩰̸", - "napid": "≋̸", - "napos": "ʼn", - "napprox": "≉", - "natur": "♮", - "natural": "♮", - "naturals": "ℕ", - "nbs": " ", - "nbsp": " ", - "nbump": "≎̸", - "nbumpe": "≏̸", - "ncap": "⩃", - "ncaron": "ň", - "ncedil": "ņ", - "ncong": "≇", - "ncongdot": "⩭̸", - "ncup": "⩂", - "ncy": "н", - "ndash": "–", - "ne": "≠", - "neArr": "⇗", - "nearhk": "⤤", - "nearr": "↗", - "nearrow": "↗", - "nedot": "≐̸", - "nequiv": "≢", - "nesear": "⤨", - "nesim": "≂̸", - "nexist": "∄", - "nexists": "∄", - "nfr": "𝔫", - "ngE": "≧̸", - "nge": "≱", - "ngeq": "≱", - "ngeqq": "≧̸", - "ngeqslant": "⩾̸", - "nges": "⩾̸", - "ngsim": "≵", - "ngt": "≯", - "ngtr": "≯", - "nhArr": "⇎", - "nharr": "↮", - "nhpar": "⫲", - "ni": "∋", - "nis": "⋼", - "nisd": "⋺", - "niv": "∋", - "njcy": "њ", - "nlArr": "⇍", - "nlE": "≦̸", - "nlarr": "↚", - "nldr": "‥", - "nle": "≰", - "nleftarrow": "↚", - "nleftrightarrow": "↮", - "nleq": "≰", - "nleqq": "≦̸", - "nleqslant": "⩽̸", - "nles": "⩽̸", - "nless": "≮", - "nlsim": "≴", - "nlt": "≮", - "nltri": "⋪", - "nltrie": "⋬", - "nmid": "∤", - "nopf": "𝕟", - "no": "¬", - "not": "¬", - "notin": "∉", - "notinE": "⋹̸", - "notindot": "⋵̸", - "notinva": "∉", - "notinvb": "⋷", - "notinvc": "⋶", - "notni": "∌", - "notniva": "∌", - "notnivb": "⋾", - "notnivc": "⋽", - "npar": "∦", - "nparallel": "∦", - "nparsl": "⫽⃥", - "npart": "∂̸", - "npolint": "⨔", - "npr": "⊀", - "nprcue": "⋠", - "npre": "⪯̸", - "nprec": "⊀", - "npreceq": "⪯̸", - "nrArr": "⇏", - "nrarr": "↛", - "nrarrc": "⤳̸", - "nrarrw": "↝̸", - "nrightarrow": "↛", - "nrtri": "⋫", - "nrtrie": "⋭", - "nsc": "⊁", - "nsccue": "⋡", - "nsce": "⪰̸", - "nscr": "𝓃", - "nshortmid": "∤", - "nshortparallel": "∦", - "nsim": "≁", - "nsime": "≄", - "nsimeq": "≄", - "nsmid": "∤", - "nspar": "∦", - "nsqsube": "⋢", - "nsqsupe": "⋣", - "nsub": "⊄", - "nsubE": "⫅̸", - "nsube": "⊈", - "nsubset": "⊂⃒", - "nsubseteq": "⊈", - "nsubseteqq": "⫅̸", - "nsucc": "⊁", - "nsucceq": "⪰̸", - "nsup": "⊅", - "nsupE": "⫆̸", - "nsupe": "⊉", - "nsupset": "⊃⃒", - "nsupseteq": "⊉", - "nsupseteqq": "⫆̸", - "ntgl": "≹", - "ntild": "ñ", - "ntilde": "ñ", - "ntlg": "≸", - "ntriangleleft": "⋪", - "ntrianglelefteq": "⋬", - "ntriangleright": "⋫", - "ntrianglerighteq": "⋭", - "nu": "ν", - "num": "#", - "numero": "№", - "numsp": " ", - "nvDash": "⊭", - "nvHarr": "⤄", - "nvap": "≍⃒", - "nvdash": "⊬", - "nvge": "≥⃒", - "nvgt": ">⃒", - "nvinfin": "⧞", - "nvlArr": "⤂", - "nvle": "≤⃒", - "nvlt": "<⃒", - "nvltrie": "⊴⃒", - "nvrArr": "⤃", - "nvrtrie": "⊵⃒", - "nvsim": "∼⃒", - "nwArr": "⇖", - "nwarhk": "⤣", - "nwarr": "↖", - "nwarrow": "↖", - "nwnear": "⤧", - "oS": "Ⓢ", - "oacut": "ó", - "oacute": "ó", - "oast": "⊛", - "ocir": "ô", - "ocirc": "ô", - "ocy": "о", - "odash": "⊝", - "odblac": "ő", - "odiv": "⨸", - "odot": "⊙", - "odsold": "⦼", - "oelig": "œ", - "ofcir": "⦿", - "ofr": "𝔬", - "ogon": "˛", - "ograv": "ò", - "ograve": "ò", - "ogt": "⧁", - "ohbar": "⦵", - "ohm": "Ω", - "oint": "∮", - "olarr": "↺", - "olcir": "⦾", - "olcross": "⦻", - "oline": "‾", - "olt": "⧀", - "omacr": "ō", - "omega": "ω", - "omicron": "ο", - "omid": "⦶", - "ominus": "⊖", - "oopf": "𝕠", - "opar": "⦷", - "operp": "⦹", - "oplus": "⊕", - "or": "∨", - "orarr": "↻", - "ord": "º", - "order": "ℴ", - "orderof": "ℴ", - "ordf": "ª", - "ordm": "º", - "origof": "⊶", - "oror": "⩖", - "orslope": "⩗", - "orv": "⩛", - "oscr": "ℴ", - "oslas": "ø", - "oslash": "ø", - "osol": "⊘", - "otild": "õ", - "otilde": "õ", - "otimes": "⊗", - "otimesas": "⨶", - "oum": "ö", - "ouml": "ö", - "ovbar": "⌽", - "par": "¶", - "para": "¶", - "parallel": "∥", - "parsim": "⫳", - "parsl": "⫽", - "part": "∂", - "pcy": "п", - "percnt": "%", - "period": ".", - "permil": "‰", - "perp": "⊥", - "pertenk": "‱", - "pfr": "𝔭", - "phi": "φ", - "phiv": "ϕ", - "phmmat": "ℳ", - "phone": "☎", - "pi": "π", - "pitchfork": "⋔", - "piv": "ϖ", - "planck": "ℏ", - "planckh": "ℎ", - "plankv": "ℏ", - "plus": "+", - "plusacir": "⨣", - "plusb": "⊞", - "pluscir": "⨢", - "plusdo": "∔", - "plusdu": "⨥", - "pluse": "⩲", - "plusm": "±", - "plusmn": "±", - "plussim": "⨦", - "plustwo": "⨧", - "pm": "±", - "pointint": "⨕", - "popf": "𝕡", - "poun": "£", - "pound": "£", - "pr": "≺", - "prE": "⪳", - "prap": "⪷", - "prcue": "≼", - "pre": "⪯", - "prec": "≺", - "precapprox": "⪷", - "preccurlyeq": "≼", - "preceq": "⪯", - "precnapprox": "⪹", - "precneqq": "⪵", - "precnsim": "⋨", - "precsim": "≾", - "prime": "′", - "primes": "ℙ", - "prnE": "⪵", - "prnap": "⪹", - "prnsim": "⋨", - "prod": "∏", - "profalar": "⌮", - "profline": "⌒", - "profsurf": "⌓", - "prop": "∝", - "propto": "∝", - "prsim": "≾", - "prurel": "⊰", - "pscr": "𝓅", - "psi": "ψ", - "puncsp": " ", - "qfr": "𝔮", - "qint": "⨌", - "qopf": "𝕢", - "qprime": "⁗", - "qscr": "𝓆", - "quaternions": "ℍ", - "quatint": "⨖", - "quest": "?", - "questeq": "≟", - "quo": "\"", - "quot": "\"", - "rAarr": "⇛", - "rArr": "⇒", - "rAtail": "⤜", - "rBarr": "⤏", - "rHar": "⥤", - "race": "∽̱", - "racute": "ŕ", - "radic": "√", - "raemptyv": "⦳", - "rang": "⟩", - "rangd": "⦒", - "range": "⦥", - "rangle": "⟩", - "raqu": "»", - "raquo": "»", - "rarr": "→", - "rarrap": "⥵", - "rarrb": "⇥", - "rarrbfs": "⤠", - "rarrc": "⤳", - "rarrfs": "⤞", - "rarrhk": "↪", - "rarrlp": "↬", - "rarrpl": "⥅", - "rarrsim": "⥴", - "rarrtl": "↣", - "rarrw": "↝", - "ratail": "⤚", - "ratio": "∶", - "rationals": "ℚ", - "rbarr": "⤍", - "rbbrk": "❳", - "rbrace": "}", - "rbrack": "]", - "rbrke": "⦌", - "rbrksld": "⦎", - "rbrkslu": "⦐", - "rcaron": "ř", - "rcedil": "ŗ", - "rceil": "⌉", - "rcub": "}", - "rcy": "р", - "rdca": "⤷", - "rdldhar": "⥩", - "rdquo": "”", - "rdquor": "”", - "rdsh": "↳", - "real": "ℜ", - "realine": "ℛ", - "realpart": "ℜ", - "reals": "ℝ", - "rect": "▭", - "re": "®", - "reg": "®", - "rfisht": "⥽", - "rfloor": "⌋", - "rfr": "𝔯", - "rhard": "⇁", - "rharu": "⇀", - "rharul": "⥬", - "rho": "ρ", - "rhov": "ϱ", - "rightarrow": "→", - "rightarrowtail": "↣", - "rightharpoondown": "⇁", - "rightharpoonup": "⇀", - "rightleftarrows": "⇄", - "rightleftharpoons": "⇌", - "rightrightarrows": "⇉", - "rightsquigarrow": "↝", - "rightthreetimes": "⋌", - "ring": "˚", - "risingdotseq": "≓", - "rlarr": "⇄", - "rlhar": "⇌", - "rlm": "‏", - "rmoust": "⎱", - "rmoustache": "⎱", - "rnmid": "⫮", - "roang": "⟭", - "roarr": "⇾", - "robrk": "⟧", - "ropar": "⦆", - "ropf": "𝕣", - "roplus": "⨮", - "rotimes": "⨵", - "rpar": ")", - "rpargt": "⦔", - "rppolint": "⨒", - "rrarr": "⇉", - "rsaquo": "›", - "rscr": "𝓇", - "rsh": "↱", - "rsqb": "]", - "rsquo": "’", - "rsquor": "’", - "rthree": "⋌", - "rtimes": "⋊", - "rtri": "▹", - "rtrie": "⊵", - "rtrif": "▸", - "rtriltri": "⧎", - "ruluhar": "⥨", - "rx": "℞", - "sacute": "ś", - "sbquo": "‚", - "sc": "≻", - "scE": "⪴", - "scap": "⪸", - "scaron": "š", - "sccue": "≽", - "sce": "⪰", - "scedil": "ş", - "scirc": "ŝ", - "scnE": "⪶", - "scnap": "⪺", - "scnsim": "⋩", - "scpolint": "⨓", - "scsim": "≿", - "scy": "с", - "sdot": "⋅", - "sdotb": "⊡", - "sdote": "⩦", - "seArr": "⇘", - "searhk": "⤥", - "searr": "↘", - "searrow": "↘", - "sec": "§", - "sect": "§", - "semi": ";", - "seswar": "⤩", - "setminus": "∖", - "setmn": "∖", - "sext": "✶", - "sfr": "𝔰", - "sfrown": "⌢", - "sharp": "♯", - "shchcy": "щ", - "shcy": "ш", - "shortmid": "∣", - "shortparallel": "∥", - "sh": "­", - "shy": "­", - "sigma": "σ", - "sigmaf": "ς", - "sigmav": "ς", - "sim": "∼", - "simdot": "⩪", - "sime": "≃", - "simeq": "≃", - "simg": "⪞", - "simgE": "⪠", - "siml": "⪝", - "simlE": "⪟", - "simne": "≆", - "simplus": "⨤", - "simrarr": "⥲", - "slarr": "←", - "smallsetminus": "∖", - "smashp": "⨳", - "smeparsl": "⧤", - "smid": "∣", - "smile": "⌣", - "smt": "⪪", - "smte": "⪬", - "smtes": "⪬︀", - "softcy": "ь", - "sol": "/", - "solb": "⧄", - "solbar": "⌿", - "sopf": "𝕤", - "spades": "♠", - "spadesuit": "♠", - "spar": "∥", - "sqcap": "⊓", - "sqcaps": "⊓︀", - "sqcup": "⊔", - "sqcups": "⊔︀", - "sqsub": "⊏", - "sqsube": "⊑", - "sqsubset": "⊏", - "sqsubseteq": "⊑", - "sqsup": "⊐", - "sqsupe": "⊒", - "sqsupset": "⊐", - "sqsupseteq": "⊒", - "squ": "□", - "square": "□", - "squarf": "▪", - "squf": "▪", - "srarr": "→", - "sscr": "𝓈", - "ssetmn": "∖", - "ssmile": "⌣", - "sstarf": "⋆", - "star": "☆", - "starf": "★", - "straightepsilon": "ϵ", - "straightphi": "ϕ", - "strns": "¯", - "sub": "⊂", - "subE": "⫅", - "subdot": "⪽", - "sube": "⊆", - "subedot": "⫃", - "submult": "⫁", - "subnE": "⫋", - "subne": "⊊", - "subplus": "⪿", - "subrarr": "⥹", - "subset": "⊂", - "subseteq": "⊆", - "subseteqq": "⫅", - "subsetneq": "⊊", - "subsetneqq": "⫋", - "subsim": "⫇", - "subsub": "⫕", - "subsup": "⫓", - "succ": "≻", - "succapprox": "⪸", - "succcurlyeq": "≽", - "succeq": "⪰", - "succnapprox": "⪺", - "succneqq": "⪶", - "succnsim": "⋩", - "succsim": "≿", - "sum": "∑", - "sung": "♪", - "sup": "⊃", - "sup1": "¹", - "sup2": "²", - "sup3": "³", - "supE": "⫆", - "supdot": "⪾", - "supdsub": "⫘", - "supe": "⊇", - "supedot": "⫄", - "suphsol": "⟉", - "suphsub": "⫗", - "suplarr": "⥻", - "supmult": "⫂", - "supnE": "⫌", - "supne": "⊋", - "supplus": "⫀", - "supset": "⊃", - "supseteq": "⊇", - "supseteqq": "⫆", - "supsetneq": "⊋", - "supsetneqq": "⫌", - "supsim": "⫈", - "supsub": "⫔", - "supsup": "⫖", - "swArr": "⇙", - "swarhk": "⤦", - "swarr": "↙", - "swarrow": "↙", - "swnwar": "⤪", - "szli": "ß", - "szlig": "ß", - "target": "⌖", - "tau": "τ", - "tbrk": "⎴", - "tcaron": "ť", - "tcedil": "ţ", - "tcy": "т", - "tdot": "⃛", - "telrec": "⌕", - "tfr": "𝔱", - "there4": "∴", - "therefore": "∴", - "theta": "θ", - "thetasym": "ϑ", - "thetav": "ϑ", - "thickapprox": "≈", - "thicksim": "∼", - "thinsp": " ", - "thkap": "≈", - "thksim": "∼", - "thor": "þ", - "thorn": "þ", - "tilde": "˜", - "time": "×", - "times": "×", - "timesb": "⊠", - "timesbar": "⨱", - "timesd": "⨰", - "tint": "∭", - "toea": "⤨", - "top": "⊤", - "topbot": "⌶", - "topcir": "⫱", - "topf": "𝕥", - "topfork": "⫚", - "tosa": "⤩", - "tprime": "‴", - "trade": "™", - "triangle": "▵", - "triangledown": "▿", - "triangleleft": "◃", - "trianglelefteq": "⊴", - "triangleq": "≜", - "triangleright": "▹", - "trianglerighteq": "⊵", - "tridot": "◬", - "trie": "≜", - "triminus": "⨺", - "triplus": "⨹", - "trisb": "⧍", - "tritime": "⨻", - "trpezium": "⏢", - "tscr": "𝓉", - "tscy": "ц", - "tshcy": "ћ", - "tstrok": "ŧ", - "twixt": "≬", - "twoheadleftarrow": "↞", - "twoheadrightarrow": "↠", - "uArr": "⇑", - "uHar": "⥣", - "uacut": "ú", - "uacute": "ú", - "uarr": "↑", - "ubrcy": "ў", - "ubreve": "ŭ", - "ucir": "û", - "ucirc": "û", - "ucy": "у", - "udarr": "⇅", - "udblac": "ű", - "udhar": "⥮", - "ufisht": "⥾", - "ufr": "𝔲", - "ugrav": "ù", - "ugrave": "ù", - "uharl": "↿", - "uharr": "↾", - "uhblk": "▀", - "ulcorn": "⌜", - "ulcorner": "⌜", - "ulcrop": "⌏", - "ultri": "◸", - "umacr": "ū", - "um": "¨", - "uml": "¨", - "uogon": "ų", - "uopf": "𝕦", - "uparrow": "↑", - "updownarrow": "↕", - "upharpoonleft": "↿", - "upharpoonright": "↾", - "uplus": "⊎", - "upsi": "υ", - "upsih": "ϒ", - "upsilon": "υ", - "upuparrows": "⇈", - "urcorn": "⌝", - "urcorner": "⌝", - "urcrop": "⌎", - "uring": "ů", - "urtri": "◹", - "uscr": "𝓊", - "utdot": "⋰", - "utilde": "ũ", - "utri": "▵", - "utrif": "▴", - "uuarr": "⇈", - "uum": "ü", - "uuml": "ü", - "uwangle": "⦧", - "vArr": "⇕", - "vBar": "⫨", - "vBarv": "⫩", - "vDash": "⊨", - "vangrt": "⦜", - "varepsilon": "ϵ", - "varkappa": "ϰ", - "varnothing": "∅", - "varphi": "ϕ", - "varpi": "ϖ", - "varpropto": "∝", - "varr": "↕", - "varrho": "ϱ", - "varsigma": "ς", - "varsubsetneq": "⊊︀", - "varsubsetneqq": "⫋︀", - "varsupsetneq": "⊋︀", - "varsupsetneqq": "⫌︀", - "vartheta": "ϑ", - "vartriangleleft": "⊲", - "vartriangleright": "⊳", - "vcy": "в", - "vdash": "⊢", - "vee": "∨", - "veebar": "⊻", - "veeeq": "≚", - "vellip": "⋮", - "verbar": "|", - "vert": "|", - "vfr": "𝔳", - "vltri": "⊲", - "vnsub": "⊂⃒", - "vnsup": "⊃⃒", - "vopf": "𝕧", - "vprop": "∝", - "vrtri": "⊳", - "vscr": "𝓋", - "vsubnE": "⫋︀", - "vsubne": "⊊︀", - "vsupnE": "⫌︀", - "vsupne": "⊋︀", - "vzigzag": "⦚", - "wcirc": "ŵ", - "wedbar": "⩟", - "wedge": "∧", - "wedgeq": "≙", - "weierp": "℘", - "wfr": "𝔴", - "wopf": "𝕨", - "wp": "℘", - "wr": "≀", - "wreath": "≀", - "wscr": "𝓌", - "xcap": "⋂", - "xcirc": "◯", - "xcup": "⋃", - "xdtri": "▽", - "xfr": "𝔵", - "xhArr": "⟺", - "xharr": "⟷", - "xi": "ξ", - "xlArr": "⟸", - "xlarr": "⟵", - "xmap": "⟼", - "xnis": "⋻", - "xodot": "⨀", - "xopf": "𝕩", - "xoplus": "⨁", - "xotime": "⨂", - "xrArr": "⟹", - "xrarr": "⟶", - "xscr": "𝓍", - "xsqcup": "⨆", - "xuplus": "⨄", - "xutri": "△", - "xvee": "⋁", - "xwedge": "⋀", - "yacut": "ý", - "yacute": "ý", - "yacy": "я", - "ycirc": "ŷ", - "ycy": "ы", - "ye": "¥", - "yen": "¥", - "yfr": "𝔶", - "yicy": "ї", - "yopf": "𝕪", - "yscr": "𝓎", - "yucy": "ю", - "yum": "ÿ", - "yuml": "ÿ", - "zacute": "ź", - "zcaron": "ž", - "zcy": "з", - "zdot": "ż", - "zeetrf": "ℨ", - "zeta": "ζ", - "zfr": "𝔷", - "zhcy": "ж", - "zigrarr": "⇝", - "zopf": "𝕫", - "zscr": "𝓏", - "zwj": "‍", - "zwnj": "‌" -} diff --git a/tools/node_modules/eslint/node_modules/character-entities/license b/tools/node_modules/eslint/node_modules/character-entities/license deleted file mode 100644 index 32e7a3d93ca..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/character-entities/package.json b/tools/node_modules/eslint/node_modules/character-entities/package.json deleted file mode 100644 index 62ea9531be9..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/character-entities/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "HTML character entity information", - "devDependencies": { - "bail": "^1.0.0", - "browserify": "^16.0.0", - "concat-stream": "^2.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.json" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/character-entities#readme", - "keywords": [ - "html", - "entity", - "entities", - "character", - "reference", - "name", - "replacement" - ], - "license": "MIT", - "main": "index.json", - "name": "character-entities", - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/character-entities.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.json -s characterEntities -o character-entities.js", - "build-mangle": "browserify index.json -s characterEntities -p tinyify -o character-entities.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "generate": "node build", - "lint": "xo", - "test": "npm run generate && npm run format && npm run build && npm run test-api", - "test-api": "node test" - }, - "version": "1.2.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "character-entities.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/character-entities/readme.md b/tools/node_modules/eslint/node_modules/character-entities/readme.md deleted file mode 100644 index b890e2aec3c..00000000000 --- a/tools/node_modules/eslint/node_modules/character-entities/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# character-entities - -[![Build][build-badge]][build] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -HTML character entity information. - -## Install - -[npm][]: - -```sh -npm install character-entities -``` - -## Use - -```js -var characterEntities = require('character-entities') - -console.log(characterEntities.AElig) // => 'Æ' -console.log(characterEntities.aelig) // => 'æ' -console.log(characterEntities.amp) // => '&' -``` - -## API - -### characterEntities - -Mapping between (case-sensitive) character entity names to replacements. - -## Support - -See [`html.spec.whatwg.org`][html]. - -## Related - -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — HTML 4 character entity info -* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) - — Legacy character entity info -* [`parse-entities`](https://github.com/wooorm/parse-entities) - — Parse HTML character references -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Stringify HTML character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/character-entities.svg - -[build]: https://travis-ci.org/wooorm/character-entities - -[downloads-badge]: https://img.shields.io/npm/dm/character-entities.svg - -[downloads]: https://www.npmjs.com/package/character-entities - -[size-badge]: https://img.shields.io/bundlephobia/minzip/character-entities.svg - -[size]: https://bundlephobia.com/result?p=character-entities - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[html]: https://html.spec.whatwg.org/multipage/syntax.html#named-character-references diff --git a/tools/node_modules/eslint/node_modules/character-reference-invalid/index.json b/tools/node_modules/eslint/node_modules/character-reference-invalid/index.json deleted file mode 100644 index 9337a854e40..00000000000 --- a/tools/node_modules/eslint/node_modules/character-reference-invalid/index.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "0": "�", - "128": "€", - "130": "‚", - "131": "ƒ", - "132": "„", - "133": "…", - "134": "†", - "135": "‡", - "136": "ˆ", - "137": "‰", - "138": "Š", - "139": "‹", - "140": "Œ", - "142": "Ž", - "145": "‘", - "146": "’", - "147": "“", - "148": "”", - "149": "•", - "150": "–", - "151": "—", - "152": "˜", - "153": "™", - "154": "š", - "155": "›", - "156": "œ", - "158": "ž", - "159": "Ÿ" -} diff --git a/tools/node_modules/eslint/node_modules/character-reference-invalid/license b/tools/node_modules/eslint/node_modules/character-reference-invalid/license deleted file mode 100644 index 32e7a3d93ca..00000000000 --- a/tools/node_modules/eslint/node_modules/character-reference-invalid/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json b/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json deleted file mode 100644 index 52c4e1361f7..00000000000 --- a/tools/node_modules/eslint/node_modules/character-reference-invalid/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/character-reference-invalid/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "HTML invalid numeric character reference information", - "devDependencies": { - "bail": "^1.0.0", - "browserify": "^16.0.0", - "concat-stream": "^2.0.0", - "hast-util-select": "^3.0.0", - "hast-util-to-string": "^1.0.0", - "rehype-parse": "^6.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "unified": "^8.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.json" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/character-reference-invalid#readme", - "keywords": [ - "html", - "entity", - "numeric", - "character", - "reference", - "replacement", - "invalid", - "name" - ], - "license": "MIT", - "main": "index.json", - "name": "character-reference-invalid", - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/character-reference-invalid.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.json -s characterReferenceInvalid -o character-reference-invalid.js", - "build-mangle": "browserify index.json -s characterReferenceInvalid -p tinyify -o character-reference-invalid.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "generate": "node build", - "test": "npm run generate && npm run format && npm run build && npm run test-api", - "test-api": "node test" - }, - "version": "1.1.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "character-reference-invalid.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/character-reference-invalid/readme.md b/tools/node_modules/eslint/node_modules/character-reference-invalid/readme.md deleted file mode 100644 index e2e8f7a5177..00000000000 --- a/tools/node_modules/eslint/node_modules/character-reference-invalid/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# character-reference-invalid - -[![Build][build-badge]][build] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -HTML invalid numeric character reference information. - -## Install - -[npm][]: - -```sh -npm install character-reference-invalid -``` - -## Use - -```js -var characterReferenceInvalid = require('character-reference-invalid') - -console.log(characterReferenceInvalid[0x80]) // => '€' -console.log(characterReferenceInvalid[0x89]) // => '‰' -console.log(characterReferenceInvalid[0x99]) // => '™' -``` - -## API - -### `characterReferenceInvalid` - -Mapping between invalid numeric character reference to replacements. - -## Support - -See [`html.spec.whatwg.org`][html]. - -## Related - -* [`character-entities`](https://github.com/wooorm/character-entities) - — HTML character entity info -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — HTML 4 character entity info -* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) - — Legacy character entity info -* [`parse-entities`](https://github.com/wooorm/parse-entities) - — Parse HTML character references -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Serialize HTML character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/character-reference-invalid.svg - -[build]: https://travis-ci.org/wooorm/character-reference-invalid - -[downloads-badge]: https://img.shields.io/npm/dm/character-reference-invalid.svg - -[downloads]: https://www.npmjs.com/package/character-reference-invalid - -[size-badge]: https://img.shields.io/bundlephobia/minzip/character-reference-invalid.svg - -[size]: https://bundlephobia.com/result?p=character-reference-invalid - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[html]: https://html.spec.whatwg.org/multipage/syntax.html#table-charref-overrides diff --git a/tools/node_modules/eslint/node_modules/collapse-white-space/index.js b/tools/node_modules/eslint/node_modules/collapse-white-space/index.js deleted file mode 100644 index 93d546695c7..00000000000 --- a/tools/node_modules/eslint/node_modules/collapse-white-space/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' - -module.exports = collapse - -// `collapse(' \t\nbar \nbaz\t') // ' bar baz '` -function collapse(value) { - return String(value).replace(/\s+/g, ' ') -} diff --git a/tools/node_modules/eslint/node_modules/collapse-white-space/license b/tools/node_modules/eslint/node_modules/collapse-white-space/license deleted file mode 100644 index 32e7a3d93ca..00000000000 --- a/tools/node_modules/eslint/node_modules/collapse-white-space/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/collapse-white-space/package.json b/tools/node_modules/eslint/node_modules/collapse-white-space/package.json deleted file mode 100644 index fd02ee65e2e..00000000000 --- a/tools/node_modules/eslint/node_modules/collapse-white-space/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/collapse-white-space/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Replace multiple white-space characters with a single space", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/collapse-white-space#readme", - "keywords": [ - "collapse", - "white", - "space" - ], - "license": "MIT", - "name": "collapse-white-space", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/collapse-white-space.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s collapseWhiteSpace -o collapse-white-space.js", - "build-mangle": "browserify . -s collapseWhiteSpace -p tinyify -o collapse-white-space.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.6", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "collapse-white-space.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/collapse-white-space/readme.md b/tools/node_modules/eslint/node_modules/collapse-white-space/readme.md deleted file mode 100644 index 5154c9fedc3..00000000000 --- a/tools/node_modules/eslint/node_modules/collapse-white-space/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -# collapse-white-space - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Replace multiple whitespace characters with a single space. - -## Install - -[npm][]: - -```sh -npm install collapse-white-space -``` - -## Use - -```js -var collapse = require('collapse-white-space') - -collapse('\tfoo \n\tbar \t\r\nbaz') //=> ' foo bar baz' -``` - -## API - -### `collapse(value)` - -Replace multiple whitespace characters in value with a single space. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/collapse-white-space.svg - -[build]: https://travis-ci.org/wooorm/collapse-white-space - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/collapse-white-space.svg - -[coverage]: https://codecov.io/github/wooorm/collapse-white-space - -[downloads-badge]: https://img.shields.io/npm/dm/collapse-white-space.svg - -[downloads]: https://www.npmjs.com/package/collapse-white-space - -[size-badge]: https://img.shields.io/bundlephobia/minzip/collapse-white-space.svg - -[size]: https://bundlephobia.com/result?p=collapse-white-space - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/color-convert/conversions.js b/tools/node_modules/eslint/node_modules/color-convert/conversions.js index 32172007ec0..2657f265c9e 100644 --- a/tools/node_modules/eslint/node_modules/color-convert/conversions.js +++ b/tools/node_modules/eslint/node_modules/color-convert/conversions.js @@ -1,18 +1,17 @@ /* MIT license */ -var cssKeywords = require('color-name'); +/* eslint-disable no-mixed-operators */ +const cssKeywords = require('color-name'); // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). // do not use box values types (i.e. Number(), String(), etc.) -var reverseKeywords = {}; -for (var key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } +const reverseKeywords = {}; +for (const key of Object.keys(cssKeywords)) { + reverseKeywords[cssKeywords[key]] = key; } -var convert = module.exports = { +const convert = { rgb: {channels: 3, labels: 'rgb'}, hsl: {channels: 3, labels: 'hsl'}, hsv: {channels: 3, labels: 'hsv'}, @@ -30,40 +29,38 @@ var convert = module.exports = { gray: {channels: 1, labels: ['gray']} }; -// hide .channels and .labels properties -for (var model in convert) { - if (convert.hasOwnProperty(model)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } +module.exports = convert; - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } +// Hide .channels and .labels properties +for (const model of Object.keys(convert)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } - var channels = convert[model].channels; - var labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); } + + const {channels, labels} = convert[model]; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); } convert.rgb.hsl = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const min = Math.min(r, g, b); + const max = Math.max(r, g, b); + const delta = max - min; + let h; + let s; if (max === min) { h = 0; @@ -81,7 +78,7 @@ convert.rgb.hsl = function (rgb) { h += 360; } - l = (min + max) / 2; + const l = (min + max) / 2; if (max === min) { s = 0; @@ -95,23 +92,24 @@ convert.rgb.hsl = function (rgb) { }; convert.rgb.hsv = function (rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function (c) { + let rdif; + let gdif; + let bdif; + let h; + let s; + + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const v = Math.max(r, g, b); + const diff = v - Math.min(r, g, b); + const diffc = function (c) { return (v - c) / 6 / diff + 1 / 2; }; if (diff === 0) { - h = s = 0; + h = 0; + s = 0; } else { s = diff / v; rdif = diffc(r); @@ -125,6 +123,7 @@ convert.rgb.hsv = function (rgb) { } else if (b === v) { h = (2 / 3) + gdif - rdif; } + if (h < 0) { h += 1; } else if (h > 1) { @@ -140,11 +139,11 @@ convert.rgb.hsv = function (rgb) { }; convert.rgb.hwb = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); + const r = rgb[0]; + const g = rgb[1]; + let b = rgb[2]; + const h = convert.rgb.hsl(rgb)[0]; + const w = 1 / 255 * Math.min(r, Math.min(g, b)); b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); @@ -152,54 +151,48 @@ convert.rgb.hwb = function (rgb) { }; convert.rgb.cmyk = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + + const k = Math.min(1 - r, 1 - g, 1 - b); + const c = (1 - r - k) / (1 - k) || 0; + const m = (1 - g - k) / (1 - k) || 0; + const y = (1 - b - k) / (1 - k) || 0; return [c * 100, m * 100, y * 100, k * 100]; }; -/** - * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - * */ function comparativeDistance(x, y) { + /* + See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + */ return ( - Math.pow(x[0] - y[0], 2) + - Math.pow(x[1] - y[1], 2) + - Math.pow(x[2] - y[2], 2) + ((x[0] - y[0]) ** 2) + + ((x[1] - y[1]) ** 2) + + ((x[2] - y[2]) ** 2) ); } convert.rgb.keyword = function (rgb) { - var reversed = reverseKeywords[rgb]; + const reversed = reverseKeywords[rgb]; if (reversed) { return reversed; } - var currentClosestDistance = Infinity; - var currentClosestKeyword; + let currentClosestDistance = Infinity; + let currentClosestKeyword; - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; + for (const keyword of Object.keys(cssKeywords)) { + const value = cssKeywords[keyword]; - // Compute comparative distance - var distance = comparativeDistance(rgb, value); + // Compute comparative distance + const distance = comparativeDistance(rgb, value); - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; } } @@ -211,55 +204,50 @@ convert.keyword.rgb = function (keyword) { }; convert.rgb.xyz = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; + let r = rgb[0] / 255; + let g = rgb[1] / 255; + let b = rgb[2] / 255; - // assume sRGB - r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); - g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); - b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); + // Assume sRGB + r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); + g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); + b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); - var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); return [x * 100, y * 100, z * 100]; }; convert.rgb.lab = function (rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; + const xyz = convert.rgb.xyz(rgb); + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; x /= 95.047; y /= 100; z /= 108.883; - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); return [l, a, b]; }; convert.hsl.rgb = function (hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; + const h = hsl[0] / 360; + const s = hsl[1] / 100; + const l = hsl[2] / 100; + let t2; + let t3; + let val; if (s === 0) { val = l * 255; @@ -272,14 +260,15 @@ convert.hsl.rgb = function (hsl) { t2 = l + s - l * s; } - t1 = 2 * l - t2; + const t1 = 2 * l - t2; - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { + const rgb = [0, 0, 0]; + for (let i = 0; i < 3; i++) { t3 = h + 1 / 3 * -(i - 1); if (t3 < 0) { t3++; } + if (t3 > 1) { t3--; } @@ -301,33 +290,31 @@ convert.hsl.rgb = function (hsl) { }; convert.hsl.hsv = function (hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; + const h = hsl[0]; + let s = hsl[1] / 100; + let l = hsl[2] / 100; + let smin = s; + const lmin = Math.max(l, 0.01); l *= 2; s *= (l <= 1) ? l : 2 - l; smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + const v = (l + s) / 2; + const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); return [h, sv * 100, v * 100]; }; convert.hsv.rgb = function (hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - (s * f)); - var t = 255 * v * (1 - (s * (1 - f))); + const h = hsv[0] / 60; + const s = hsv[1] / 100; + let v = hsv[2] / 100; + const hi = Math.floor(h) % 6; + + const f = h - Math.floor(h); + const p = 255 * v * (1 - s); + const q = 255 * v * (1 - (s * f)); + const t = 255 * v * (1 - (s * (1 - f))); v *= 255; switch (hi) { @@ -347,16 +334,15 @@ convert.hsv.rgb = function (hsv) { }; convert.hsv.hsl = function (hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; + const h = hsv[0]; + const s = hsv[1] / 100; + const v = hsv[2] / 100; + const vmin = Math.max(v, 0.01); + let sl; + let l; l = (2 - s) * v; - lmin = (2 - s) * vmin; + const lmin = (2 - s) * vmin; sl = s * vmin; sl /= (lmin <= 1) ? lmin : 2 - lmin; sl = sl || 0; @@ -367,87 +353,83 @@ convert.hsv.hsl = function (hsv) { // http://dev.w3.org/csswg/css-color/#hwb-to-rgb convert.hwb.rgb = function (hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - - // wh + bl cant be > 1 + const h = hwb[0] / 360; + let wh = hwb[1] / 100; + let bl = hwb[2] / 100; + const ratio = wh + bl; + let f; + + // Wh + bl cant be > 1 if (ratio > 1) { wh /= ratio; bl /= ratio; } - i = Math.floor(6 * h); - v = 1 - bl; + const i = Math.floor(6 * h); + const v = 1 - bl; f = 6 * h - i; if ((i & 0x01) !== 0) { f = 1 - f; } - n = wh + f * (v - wh); // linear interpolation + const n = wh + f * (v - wh); // Linear interpolation - var r; - var g; - var b; + let r; + let g; + let b; + /* eslint-disable max-statements-per-line,no-multi-spaces */ switch (i) { default: case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; } + /* eslint-enable max-statements-per-line,no-multi-spaces */ return [r * 255, g * 255, b * 255]; }; convert.cmyk.rgb = function (cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); + const c = cmyk[0] / 100; + const m = cmyk[1] / 100; + const y = cmyk[2] / 100; + const k = cmyk[3] / 100; + + const r = 1 - Math.min(1, c * (1 - k) + k); + const g = 1 - Math.min(1, m * (1 - k) + k); + const b = 1 - Math.min(1, y * (1 - k) + k); return [r * 255, g * 255, b * 255]; }; convert.xyz.rgb = function (xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; + const x = xyz[0] / 100; + const y = xyz[1] / 100; + const z = xyz[2] / 100; + let r; + let g; + let b; r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - // assume sRGB + // Assume sRGB r = r > 0.0031308 - ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) + ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) : r * 12.92; g = g > 0.0031308 - ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) + ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) : g * 12.92; b = b > 0.0031308 - ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) + ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) : b * 12.92; r = Math.min(Math.max(0, r), 1); @@ -458,43 +440,40 @@ convert.xyz.rgb = function (xyz) { }; convert.xyz.lab = function (xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; + let x = xyz[0]; + let y = xyz[1]; + let z = xyz[2]; x /= 95.047; y /= 100; z /= 108.883; - x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - l = (116 * y) - 16; - a = 500 * (x - y); - b = 200 * (y - z); + const l = (116 * y) - 16; + const a = 500 * (x - y); + const b = 200 * (y - z); return [l, a, b]; }; convert.lab.xyz = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let x; + let y; + let z; y = (l + 16) / 116; x = a / 500 + y; z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); + const y2 = y ** 3; + const x2 = x ** 3; + const z2 = z ** 3; y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; @@ -507,45 +486,38 @@ convert.lab.xyz = function (lab) { }; convert.lab.lch = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - - hr = Math.atan2(b, a); + const l = lab[0]; + const a = lab[1]; + const b = lab[2]; + let h; + + const hr = Math.atan2(b, a); h = hr * 360 / 2 / Math.PI; if (h < 0) { h += 360; } - c = Math.sqrt(a * a + b * b); + const c = Math.sqrt(a * a + b * b); return [l, c, h]; }; convert.lch.lab = function (lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; + const l = lch[0]; + const c = lch[1]; + const h = lch[2]; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); + const hr = h / 360 * 2 * Math.PI; + const a = c * Math.cos(hr); + const b = c * Math.sin(hr); return [l, a, b]; }; -convert.rgb.ansi16 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization +convert.rgb.ansi16 = function (args, saturation = null) { + const [r, g, b] = args; + let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization value = Math.round(value / 50); @@ -553,7 +525,7 @@ convert.rgb.ansi16 = function (args) { return 30; } - var ansi = 30 + let ansi = 30 + ((Math.round(b / 255) << 2) | (Math.round(g / 255) << 1) | Math.round(r / 255)); @@ -566,17 +538,17 @@ convert.rgb.ansi16 = function (args) { }; convert.hsv.ansi16 = function (args) { - // optimization here; we already know the value and don't need to get + // Optimization here; we already know the value and don't need to get // it converted for us. return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); }; convert.rgb.ansi256 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; + const r = args[0]; + const g = args[1]; + const b = args[2]; - // we use the extended greyscale palette here, with the exception of + // We use the extended greyscale palette here, with the exception of // black and white. normal palette only has 4 greyscale shades. if (r === g && g === b) { if (r < 8) { @@ -590,7 +562,7 @@ convert.rgb.ansi256 = function (args) { return Math.round(((r - 8) / 247) * 24) + 232; } - var ansi = 16 + const ansi = 16 + (36 * Math.round(r / 255 * 5)) + (6 * Math.round(g / 255 * 5)) + Math.round(b / 255 * 5); @@ -599,9 +571,9 @@ convert.rgb.ansi256 = function (args) { }; convert.ansi16.rgb = function (args) { - var color = args % 10; + let color = args % 10; - // handle greyscale + // Handle greyscale if (color === 0 || color === 7) { if (args > 50) { color += 3.5; @@ -612,71 +584,71 @@ convert.ansi16.rgb = function (args) { return [color, color, color]; } - var mult = (~~(args > 50) + 1) * 0.5; - var r = ((color & 1) * mult) * 255; - var g = (((color >> 1) & 1) * mult) * 255; - var b = (((color >> 2) & 1) * mult) * 255; + const mult = (~~(args > 50) + 1) * 0.5; + const r = ((color & 1) * mult) * 255; + const g = (((color >> 1) & 1) * mult) * 255; + const b = (((color >> 2) & 1) * mult) * 255; return [r, g, b]; }; convert.ansi256.rgb = function (args) { - // handle greyscale + // Handle greyscale if (args >= 232) { - var c = (args - 232) * 10 + 8; + const c = (args - 232) * 10 + 8; return [c, c, c]; } args -= 16; - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = (rem % 6) / 5 * 255; + let rem; + const r = Math.floor(args / 36) / 5 * 255; + const g = Math.floor((rem = args % 36) / 6) / 5 * 255; + const b = (rem % 6) / 5 * 255; return [r, g, b]; }; convert.rgb.hex = function (args) { - var integer = ((Math.round(args[0]) & 0xFF) << 16) + const integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); - var string = integer.toString(16).toUpperCase(); + const string = integer.toString(16).toUpperCase(); return '000000'.substring(string.length) + string; }; convert.hex.rgb = function (args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); if (!match) { return [0, 0, 0]; } - var colorString = match[0]; + let colorString = match[0]; if (match[0].length === 3) { - colorString = colorString.split('').map(function (char) { + colorString = colorString.split('').map(char => { return char + char; }).join(''); } - var integer = parseInt(colorString, 16); - var r = (integer >> 16) & 0xFF; - var g = (integer >> 8) & 0xFF; - var b = integer & 0xFF; + const integer = parseInt(colorString, 16); + const r = (integer >> 16) & 0xFF; + const g = (integer >> 8) & 0xFF; + const b = integer & 0xFF; return [r, g, b]; }; convert.rgb.hcg = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = (max - min); - var grayscale; - var hue; + const r = rgb[0] / 255; + const g = rgb[1] / 255; + const b = rgb[2] / 255; + const max = Math.max(Math.max(r, g), b); + const min = Math.min(Math.min(r, g), b); + const chroma = (max - min); + let grayscale; + let hue; if (chroma < 1) { grayscale = min / (1 - chroma); @@ -693,7 +665,7 @@ convert.rgb.hcg = function (rgb) { if (max === g) { hue = 2 + (b - r) / chroma; } else { - hue = 4 + (r - g) / chroma + 4; + hue = 4 + (r - g) / chroma; } hue /= 6; @@ -703,17 +675,12 @@ convert.rgb.hcg = function (rgb) { }; convert.hsl.hcg = function (hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; + const s = hsl[1] / 100; + const l = hsl[2] / 100; - if (l < 0.5) { - c = 2.0 * s * l; - } else { - c = 2.0 * s * (1.0 - l); - } + const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); + let f = 0; if (c < 1.0) { f = (l - 0.5 * c) / (1.0 - c); } @@ -722,11 +689,11 @@ convert.hsl.hcg = function (hsl) { }; convert.hsv.hcg = function (hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; + const s = hsv[1] / 100; + const v = hsv[2] / 100; - var c = s * v; - var f = 0; + const c = s * v; + let f = 0; if (c < 1.0) { f = (v - c) / (1 - c); @@ -736,20 +703,21 @@ convert.hsv.hcg = function (hsv) { }; convert.hcg.rgb = function (hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; + const h = hcg[0] / 360; + const c = hcg[1] / 100; + const g = hcg[2] / 100; if (c === 0.0) { return [g * 255, g * 255, g * 255]; } - var pure = [0, 0, 0]; - var hi = (h % 1) * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; + const pure = [0, 0, 0]; + const hi = (h % 1) * 6; + const v = hi % 1; + const w = 1 - v; + let mg = 0; + /* eslint-disable max-statements-per-line */ switch (Math.floor(hi)) { case 0: pure[0] = 1; pure[1] = v; pure[2] = 0; break; @@ -764,6 +732,7 @@ convert.hcg.rgb = function (hcg) { default: pure[0] = 1; pure[1] = 0; pure[2] = w; } + /* eslint-enable max-statements-per-line */ mg = (1.0 - c) * g; @@ -775,11 +744,11 @@ convert.hcg.rgb = function (hcg) { }; convert.hcg.hsv = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; + const c = hcg[1] / 100; + const g = hcg[2] / 100; - var v = c + g * (1.0 - c); - var f = 0; + const v = c + g * (1.0 - c); + let f = 0; if (v > 0.0) { f = c / v; @@ -789,11 +758,11 @@ convert.hcg.hsv = function (hcg) { }; convert.hcg.hsl = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; + const c = hcg[1] / 100; + const g = hcg[2] / 100; - var l = g * (1.0 - c) + 0.5 * c; - var s = 0; + const l = g * (1.0 - c) + 0.5 * c; + let s = 0; if (l > 0.0 && l < 0.5) { s = c / (2 * l); @@ -806,18 +775,18 @@ convert.hcg.hsl = function (hcg) { }; convert.hcg.hwb = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); + const c = hcg[1] / 100; + const g = hcg[2] / 100; + const v = c + g * (1.0 - c); return [hcg[0], (v - c) * 100, (1 - v) * 100]; }; convert.hwb.hcg = function (hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; + const w = hwb[1] / 100; + const b = hwb[2] / 100; + const v = 1 - b; + const c = v - w; + let g = 0; if (c < 1) { g = (v - c) / (1 - c); @@ -838,10 +807,12 @@ convert.gray.rgb = function (args) { return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; }; -convert.gray.hsl = convert.gray.hsv = function (args) { +convert.gray.hsl = function (args) { return [0, 0, args[0]]; }; +convert.gray.hsv = convert.gray.hsl; + convert.gray.hwb = function (gray) { return [0, 100, gray[0]]; }; @@ -855,14 +826,14 @@ convert.gray.lab = function (gray) { }; convert.gray.hex = function (gray) { - var val = Math.round(gray[0] / 100 * 255) & 0xFF; - var integer = (val << 16) + (val << 8) + val; + const val = Math.round(gray[0] / 100 * 255) & 0xFF; + const integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); + const string = integer.toString(16).toUpperCase(); return '000000'.substring(string.length) + string; }; convert.rgb.gray = function (rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + const val = (rgb[0] + rgb[1] + rgb[2]) / 3; return [val / 255 * 100]; }; diff --git a/tools/node_modules/eslint/node_modules/color-convert/index.js b/tools/node_modules/eslint/node_modules/color-convert/index.js index e65b5d775da..b648e5737be 100644 --- a/tools/node_modules/eslint/node_modules/color-convert/index.js +++ b/tools/node_modules/eslint/node_modules/color-convert/index.js @@ -1,24 +1,25 @@ -var conversions = require('./conversions'); -var route = require('./route'); +const conversions = require('./conversions'); +const route = require('./route'); -var convert = {}; +const convert = {}; -var models = Object.keys(conversions); +const models = Object.keys(conversions); function wrapRaw(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; + const wrappedFn = function (...args) { + const arg0 = args[0]; + if (arg0 === undefined || arg0 === null) { + return arg0; } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); + if (arg0.length > 1) { + args = arg0; } return fn(args); }; - // preserve .conversion property if there is one + // Preserve .conversion property if there is one if ('conversion' in fn) { wrappedFn.conversion = fn.conversion; } @@ -27,22 +28,24 @@ function wrapRaw(fn) { } function wrapRounded(fn) { - var wrappedFn = function (args) { - if (args === undefined || args === null) { - return args; + const wrappedFn = function (...args) { + const arg0 = args[0]; + + if (arg0 === undefined || arg0 === null) { + return arg0; } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); + if (arg0.length > 1) { + args = arg0; } - var result = fn(args); + const result = fn(args); - // we're assuming the result is an array here. + // We're assuming the result is an array here. // see notice in conversions.js; don't use box types // in conversion functions. if (typeof result === 'object') { - for (var len = result.length, i = 0; i < len; i++) { + for (let len = result.length, i = 0; i < len; i++) { result[i] = Math.round(result[i]); } } @@ -50,7 +53,7 @@ function wrapRounded(fn) { return result; }; - // preserve .conversion property if there is one + // Preserve .conversion property if there is one if ('conversion' in fn) { wrappedFn.conversion = fn.conversion; } @@ -58,17 +61,17 @@ function wrapRounded(fn) { return wrappedFn; } -models.forEach(function (fromModel) { +models.forEach(fromModel => { convert[fromModel] = {}; Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); - var routes = route(fromModel); - var routeModels = Object.keys(routes); + const routes = route(fromModel); + const routeModels = Object.keys(routes); - routeModels.forEach(function (toModel) { - var fn = routes[toModel]; + routeModels.forEach(toModel => { + const fn = routes[toModel]; convert[fromModel][toModel] = wrapRounded(fn); convert[fromModel][toModel].raw = wrapRaw(fn); diff --git a/tools/node_modules/eslint/node_modules/color-convert/package.json b/tools/node_modules/eslint/node_modules/color-convert/package.json index 991f69308c2..6e48000c7c9 100644 --- a/tools/node_modules/eslint/node_modules/color-convert/package.json +++ b/tools/node_modules/eslint/node_modules/color-convert/package.json @@ -1,28 +1,17 @@ { - "author": { - "name": "Heather Arthur", - "email": "fayearthur@gmail.com" - }, - "bugs": { - "url": "https://github.com/Qix-/color-convert/issues" - }, - "bundleDependencies": false, - "dependencies": { - "color-name": "1.1.3" - }, - "deprecated": false, + "name": "color-convert", "description": "Plain color conversion functions", - "devDependencies": { - "chalk": "1.1.1", - "xo": "0.11.2" + "version": "2.0.1", + "author": "Heather Arthur ", + "license": "MIT", + "repository": "Qix-/color-convert", + "scripts": { + "pretest": "xo", + "test": "node test/basic.js" + }, + "engines": { + "node": ">=7.0.0" }, - "files": [ - "index.js", - "conversions.js", - "css-keywords.js", - "route.js" - ], - "homepage": "https://github.com/Qix-/color-convert#readme", "keywords": [ "color", "colour", @@ -37,22 +26,23 @@ "ansi", "ansi16" ], - "license": "MIT", - "name": "color-convert", - "repository": { - "type": "git", - "url": "git+https://github.com/Qix-/color-convert.git" - }, - "scripts": { - "pretest": "xo", - "test": "node test/basic.js" - }, - "version": "1.9.3", + "files": [ + "index.js", + "conversions.js", + "route.js" + ], "xo": { "rules": { "default-case": 0, "no-inline-comments": 0, "operator-linebreak": 0 } + }, + "devDependencies": { + "chalk": "^2.4.2", + "xo": "^0.24.0" + }, + "dependencies": { + "color-name": "~1.1.4" } -} \ No newline at end of file +} diff --git a/tools/node_modules/eslint/node_modules/color-convert/route.js b/tools/node_modules/eslint/node_modules/color-convert/route.js index 0a1fdea689e..1a08521b5a0 100644 --- a/tools/node_modules/eslint/node_modules/color-convert/route.js +++ b/tools/node_modules/eslint/node_modules/color-convert/route.js @@ -1,7 +1,7 @@ -var conversions = require('./conversions'); +const conversions = require('./conversions'); /* - this function routes a model to all other models. + This function routes a model to all other models. all functions that are routed have a property `.conversion` attached to the returned synthetic function. This property is an array @@ -12,11 +12,11 @@ var conversions = require('./conversions'); */ function buildGraph() { - var graph = {}; + const graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - var models = Object.keys(conversions); + const models = Object.keys(conversions); - for (var len = models.length, i = 0; i < len; i++) { + for (let len = models.length, i = 0; i < len; i++) { graph[models[i]] = { // http://jsperf.com/1-vs-infinity // micro-opt, but this is simple. @@ -30,18 +30,18 @@ function buildGraph() { // https://en.wikipedia.org/wiki/Breadth-first_search function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; // unshift -> queue -> pop + const graph = buildGraph(); + const queue = [fromModel]; // Unshift -> queue -> pop graph[fromModel].distance = 0; while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); + const current = queue.pop(); + const adjacents = Object.keys(conversions[current]); - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; + for (let len = adjacents.length, i = 0; i < len; i++) { + const adjacent = adjacents[i]; + const node = graph[adjacent]; if (node.distance === -1) { node.distance = graph[current].distance + 1; @@ -61,10 +61,10 @@ function link(from, to) { } function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; + const path = [graph[toModel].parent, toModel]; + let fn = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; + let cur = graph[toModel].parent; while (graph[cur].parent) { path.unshift(graph[cur].parent); fn = link(conversions[graph[cur].parent][cur], fn); @@ -76,16 +76,16 @@ function wrapConversion(toModel, graph) { } module.exports = function (fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; + const graph = deriveBFS(fromModel); + const conversion = {}; - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; + const models = Object.keys(graph); + for (let len = models.length, i = 0; i < len; i++) { + const toModel = models[i]; + const node = graph[toModel]; if (node.parent === null) { - // no possible conversion, or this node is the source model. + // No possible conversion, or this node is the source model. continue; } diff --git a/tools/node_modules/eslint/node_modules/color-name/package.json b/tools/node_modules/eslint/node_modules/color-name/package.json index 87d0e72ec56..782dd828780 100644 --- a/tools/node_modules/eslint/node_modules/color-name/package.json +++ b/tools/node_modules/eslint/node_modules/color-name/package.json @@ -1,30 +1,28 @@ -{ - "author": { - "name": "DY", - "email": "dfcreative@gmail.com" - }, - "bugs": { - "url": "https://github.com/dfcreative/color-name/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A list of color names and its values", - "homepage": "https://github.com/dfcreative/color-name", - "keywords": [ - "color-name", - "color", - "color-keyword", - "keyword" - ], - "license": "MIT", - "main": "index.js", - "name": "color-name", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/dfcreative/color-name.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.1.3" -} \ No newline at end of file +{ + "name": "color-name", + "version": "1.1.4", + "description": "A list of color names and its values", + "main": "index.js", + "files": [ + "index.js" + ], + "scripts": { + "test": "node test.js" + }, + "repository": { + "type": "git", + "url": "git@github.com:colorjs/color-name.git" + }, + "keywords": [ + "color-name", + "color", + "color-keyword", + "keyword" + ], + "author": "DY ", + "license": "MIT", + "bugs": { + "url": "https://github.com/colorjs/color-name/issues" + }, + "homepage": "https://github.com/colorjs/color-name" +} diff --git a/tools/node_modules/eslint/node_modules/concat-map/package.json b/tools/node_modules/eslint/node_modules/concat-map/package.json index 4abe42193c4..d3640e6b027 100644 --- a/tools/node_modules/eslint/node_modules/concat-map/package.json +++ b/tools/node_modules/eslint/node_modules/concat-map/package.json @@ -1,65 +1,43 @@ { - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/node-concat-map/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "concatenative mapdashery", - "devDependencies": { - "tape": "~2.4.0" - }, - "directories": { - "example": "example", - "test": "test" - }, - "homepage": "https://github.com/substack/node-concat-map#readme", - "keywords": [ - "concat", - "concatMap", - "map", - "functional", - "higher-order" - ], - "license": "MIT", - "main": "index.js", - "name": "concat-map", - "repository": { - "type": "git", - "url": "git://github.com/substack/node-concat-map.git" - }, - "scripts": { - "test": "tape test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": { - "ie": [ - 6, - 7, - 8, - 9 - ], - "ff": [ - 3.5, - 10, - 15 - ], - "chrome": [ - 10, - 22 - ], - "safari": [ - 5.1 - ], - "opera": [ - 12 - ] + "name" : "concat-map", + "description" : "concatenative mapdashery", + "version" : "0.0.1", + "repository" : { + "type" : "git", + "url" : "git://github.com/substack/node-concat-map.git" + }, + "main" : "index.js", + "keywords" : [ + "concat", + "concatMap", + "map", + "functional", + "higher-order" + ], + "directories" : { + "example" : "example", + "test" : "test" + }, + "scripts" : { + "test" : "tape test/*.js" + }, + "devDependencies" : { + "tape" : "~2.4.0" + }, + "license" : "MIT", + "author" : { + "name" : "James Halliday", + "email" : "mail@substack.net", + "url" : "http://substack.net" + }, + "testling" : { + "files" : "test/*.js", + "browsers" : { + "ie" : [ 6, 7, 8, 9 ], + "ff" : [ 3.5, 10, 15.0 ], + "chrome" : [ 10, 22 ], + "safari" : [ 5.1 ], + "opera" : [ 12 ] + } } - }, - "version": "0.0.1" -} \ No newline at end of file +} diff --git a/tools/node_modules/eslint/node_modules/cross-spawn/package.json b/tools/node_modules/eslint/node_modules/cross-spawn/package.json index 5ed16e25e31..232ff97e04b 100644 --- a/tools/node_modules/eslint/node_modules/cross-spawn/package.json +++ b/tools/node_modules/eslint/node_modules/cross-spawn/package.json @@ -1,12 +1,47 @@ { - "author": { - "name": "André Cruz", - "email": "andre@moxy.studio" + "name": "cross-spawn", + "version": "7.0.3", + "description": "Cross platform child_process#spawn and child_process#spawnSync", + "keywords": [ + "spawn", + "spawnSync", + "windows", + "cross-platform", + "path-ext", + "shebang", + "cmd", + "execute" + ], + "author": "André Cruz ", + "homepage": "https://github.com/moxystudio/node-cross-spawn", + "repository": { + "type": "git", + "url": "git@github.com:moxystudio/node-cross-spawn.git" + }, + "license": "MIT", + "main": "index.js", + "files": [ + "lib" + ], + "scripts": { + "lint": "eslint .", + "test": "jest --env node --coverage", + "prerelease": "npm t && npm run lint", + "release": "standard-version", + "postrelease": "git push --follow-tags origin HEAD && npm publish" }, - "bugs": { - "url": "https://github.com/moxystudio/node-cross-spawn/issues" + "husky": { + "hooks": { + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.js": [ + "eslint --fix", + "git add" + ] }, - "bundleDependencies": false, "commitlint": { "extends": [ "@commitlint/config-conventional" @@ -17,8 +52,6 @@ "shebang-command": "^2.0.0", "which": "^2.0.1" }, - "deprecated": false, - "description": "Cross platform child_process#spawn and child_process#spawnSync", "devDependencies": { "@commitlint/cli": "^8.1.0", "@commitlint/config-conventional": "^8.1.0", @@ -36,46 +69,5 @@ }, "engines": { "node": ">= 8" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/moxystudio/node-cross-spawn", - "husky": { - "hooks": { - "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", - "pre-commit": "lint-staged" - } - }, - "keywords": [ - "spawn", - "spawnSync", - "windows", - "cross-platform", - "path-ext", - "shebang", - "cmd", - "execute" - ], - "license": "MIT", - "lint-staged": { - "*.js": [ - "eslint --fix", - "git add" - ] - }, - "main": "index.js", - "name": "cross-spawn", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/moxystudio/node-cross-spawn.git" - }, - "scripts": { - "lint": "eslint .", - "postrelease": "git push --follow-tags origin HEAD && npm publish", - "prerelease": "npm t && npm run lint", - "release": "standard-version", - "test": "jest --env node --coverage" - }, - "version": "7.0.3" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/debug/package.json b/tools/node_modules/eslint/node_modules/debug/package.json index 2b1dece47b8..da809d2b8d2 100644 --- a/tools/node_modules/eslint/node_modules/debug/package.json +++ b/tools/node_modules/eslint/node_modules/debug/package.json @@ -1,33 +1,38 @@ { - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "browser": "./src/browser.js", - "bugs": { - "url": "https://github.com/visionmedia/debug/issues" + "name": "debug", + "version": "4.3.1", + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/debug.git" }, - "bundleDependencies": false, + "description": "small debugging utility", + "keywords": [ + "debug", + "log", + "debugger" + ], + "files": [ + "src", + "LICENSE", + "README.md" + ], + "author": "TJ Holowaychuk ", "contributors": [ - { - "name": "Nathan Rajlich", - "email": "nathan@tootallnate.net", - "url": "http://n8.io" - }, - { - "name": "Andrew Rhyne", - "email": "rhyneandrew@gmail.com" - }, - { - "name": "Josh Junon", - "email": "josh@junon.me" - } + "Nathan Rajlich (http://n8.io)", + "Andrew Rhyne ", + "Josh Junon " ], + "license": "MIT", + "scripts": { + "lint": "xo", + "test": "npm run test:node && npm run test:browser && npm run lint", + "test:node": "istanbul cover _mocha -- test.js", + "test:browser": "karma start --single-run", + "test:coverage": "cat ./coverage/lcov.info | coveralls" + }, "dependencies": { "ms": "2.1.2" }, - "deprecated": false, - "description": "small debugging utility", "devDependencies": { "brfs": "^2.0.1", "browserify": "^16.2.3", @@ -41,38 +46,14 @@ "mocha-lcov-reporter": "^1.2.0", "xo": "^0.23.0" }, - "engines": { - "node": ">=6.0" - }, - "files": [ - "src", - "LICENSE", - "README.md" - ], - "homepage": "https://github.com/visionmedia/debug#readme", - "keywords": [ - "debug", - "log", - "debugger" - ], - "license": "MIT", - "main": "./src/index.js", - "name": "debug", "peerDependenciesMeta": { "supports-color": { "optional": true } }, - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/debug.git" - }, - "scripts": { - "lint": "xo", - "test": "npm run test:node && npm run test:browser && npm run lint", - "test:browser": "karma start --single-run", - "test:coverage": "cat ./coverage/lcov.info | coveralls", - "test:node": "istanbul cover _mocha -- test.js" - }, - "version": "4.3.1" -} \ No newline at end of file + "main": "./src/index.js", + "browser": "./src/browser.js", + "engines": { + "node": ">=6.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/deep-is/package.json b/tools/node_modules/eslint/node_modules/deep-is/package.json index c921e8a0e8b..63628f0d015 100644 --- a/tools/node_modules/eslint/node_modules/deep-is/package.json +++ b/tools/node_modules/eslint/node_modules/deep-is/package.json @@ -1,42 +1,37 @@ { - "author": { - "name": "Thorsten Lorenz", - "email": "thlorenz@gmx.de", - "url": "http://thlorenz.com" - }, - "bugs": { - "url": "https://github.com/thlorenz/deep-is/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "deep-is", + "version": "0.1.3", "description": "node's assert.deepEqual algorithm except for NaN being equal to NaN", - "devDependencies": { - "tape": "~1.0.2" - }, + "main": "index.js", "directories": { "lib": ".", "example": "example", "test": "test" }, - "homepage": "https://github.com/thlorenz/deep-is#readme", + "scripts": { + "test": "tape test/*.js" + }, + "devDependencies": { + "tape": "~1.0.2" + }, + "repository": { + "type": "git", + "url": "http://github.com/thlorenz/deep-is.git" + }, "keywords": [ "equality", "equal", "compare" ], + "author": { + "name": "Thorsten Lorenz", + "email": "thlorenz@gmx.de", + "url": "http://thlorenz.com" + }, "license": { "type": "MIT", "url": "https://github.com/thlorenz/deep-is/blob/master/LICENSE" }, - "main": "index.js", - "name": "deep-is", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/thlorenz/deep-is.git" - }, - "scripts": { - "test": "tape test/*.js" - }, "testling": { "files": "test/*.js", "browsers": { @@ -62,6 +57,5 @@ 12 ] } - }, - "version": "0.1.3" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/doctrine/package.json b/tools/node_modules/eslint/node_modules/doctrine/package.json index b9a378a0907..b66099863d4 100644 --- a/tools/node_modules/eslint/node_modules/doctrine/package.json +++ b/tools/node_modules/eslint/node_modules/doctrine/package.json @@ -1,66 +1,58 @@ { - "bugs": { - "url": "https://github.com/eslint/doctrine/issues" - }, - "bundleDependencies": false, - "dependencies": { - "esutils": "^2.0.2" - }, - "deprecated": false, + "name": "doctrine", "description": "JSDoc parser", - "devDependencies": { - "coveralls": "^3.0.1", - "dateformat": "^1.0.11", - "eslint": "^1.10.3", - "eslint-release": "^1.0.0", - "linefix": "^0.1.1", - "mocha": "^3.4.2", - "npm-license": "^0.3.1", - "nyc": "^10.3.2", - "semver": "^5.0.3", - "shelljs": "^0.5.3", - "shelljs-nodecli": "^0.1.1", - "should": "^5.0.1" + "homepage": "https://github.com/eslint/doctrine", + "main": "lib/doctrine.js", + "version": "3.0.0", + "engines": { + "node": ">=6.0.0" }, "directories": { "lib": "./lib" }, - "engines": { - "node": ">=6.0.0" - }, "files": [ "lib" ], - "homepage": "https://github.com/eslint/doctrine", - "license": "Apache-2.0", - "main": "lib/doctrine.js", "maintainers": [ { "name": "Nicholas C. Zakas", "email": "nicholas+npm@nczconsulting.com", - "url": "https://www.nczonline.net" + "web": "https://www.nczonline.net" }, { "name": "Yusuke Suzuki", "email": "utatane.tea@gmail.com", - "url": "https://github.com/Constellation" + "web": "https://github.com/Constellation" } ], - "name": "doctrine", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/doctrine.git" + "repository": "eslint/doctrine", + "devDependencies": { + "coveralls": "^3.0.1", + "dateformat": "^1.0.11", + "eslint": "^1.10.3", + "eslint-release": "^1.0.0", + "linefix": "^0.1.1", + "mocha": "^3.4.2", + "npm-license": "^0.3.1", + "nyc": "^10.3.2", + "semver": "^5.0.3", + "shelljs": "^0.5.3", + "shelljs-nodecli": "^0.1.1", + "should": "^5.0.1" }, + "license": "Apache-2.0", "scripts": { + "pretest": "npm run lint", + "test": "nyc mocha", "coveralls": "nyc report --reporter=text-lcov | coveralls", + "lint": "eslint lib/", + "generate-release": "eslint-generate-release", "generate-alpharelease": "eslint-generate-prerelease alpha", "generate-betarelease": "eslint-generate-prerelease beta", "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "eslint lib/", - "pretest": "npm run lint", - "publish-release": "eslint-publish-release", - "test": "nyc mocha" + "publish-release": "eslint-publish-release" }, - "version": "3.0.0" -} \ No newline at end of file + "dependencies": { + "esutils": "^2.0.2" + } +} diff --git a/tools/node_modules/eslint/node_modules/emoji-regex/package.json b/tools/node_modules/eslint/node_modules/emoji-regex/package.json index eecc5eb318c..6d323528292 100644 --- a/tools/node_modules/eslint/node_modules/emoji-regex/package.json +++ b/tools/node_modules/eslint/node_modules/emoji-regex/package.json @@ -1,32 +1,10 @@ { - "author": { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - }, - "bugs": { - "url": "https://github.com/mathiasbynens/emoji-regex/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "emoji-regex", + "version": "8.0.0", "description": "A regular expression to match all Emoji-only symbols as per the Unicode Standard.", - "devDependencies": { - "@babel/cli": "^7.2.3", - "@babel/core": "^7.3.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", - "@babel/preset-env": "^7.3.4", - "mocha": "^6.0.2", - "regexgen": "^1.3.0", - "unicode-12.0.0": "^0.7.9" - }, - "files": [ - "LICENSE-MIT.txt", - "index.js", - "index.d.ts", - "text.js", - "es2015/index.js", - "es2015/text.js" - ], "homepage": "https://mths.be/emoji-regex", + "main": "index.js", + "types": "index.d.ts", "keywords": [ "unicode", "regex", @@ -38,17 +16,35 @@ "emoji" ], "license": "MIT", - "main": "index.js", - "name": "emoji-regex", + "author": { + "name": "Mathias Bynens", + "url": "https://mathiasbynens.be/" + }, "repository": { "type": "git", - "url": "git+https://github.com/mathiasbynens/emoji-regex.git" + "url": "https://github.com/mathiasbynens/emoji-regex.git" }, + "bugs": "https://github.com/mathiasbynens/emoji-regex/issues", + "files": [ + "LICENSE-MIT.txt", + "index.js", + "index.d.ts", + "text.js", + "es2015/index.js", + "es2015/text.js" + ], "scripts": { "build": "rm -rf -- es2015; babel src -d .; NODE_ENV=es2015 babel src -d ./es2015; node script/inject-sequences.js", "test": "mocha", "test:watch": "npm run test -- --watch" }, - "types": "index.d.ts", - "version": "8.0.0" -} \ No newline at end of file + "devDependencies": { + "@babel/cli": "^7.2.3", + "@babel/core": "^7.3.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/preset-env": "^7.3.4", + "mocha": "^6.0.2", + "regexgen": "^1.3.0", + "unicode-12.0.0": "^0.7.9" + } +} diff --git a/tools/node_modules/eslint/node_modules/enquirer/package.json b/tools/node_modules/eslint/node_modules/enquirer/package.json index c6d3a5ae0b8..1d986c73566 100644 --- a/tools/node_modules/eslint/node_modules/enquirer/package.json +++ b/tools/node_modules/eslint/node_modules/enquirer/package.json @@ -1,27 +1,34 @@ { - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, + "name": "enquirer", + "description": "Stylish, intuitive and user-friendly prompt system. Fast and lightweight enough for small projects, powerful and extensible enough for the most advanced use cases.", + "version": "2.3.6", + "homepage": "https://github.com/enquirer/enquirer", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "Brian Woodward (https://twitter.com/doowb)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)" + ], + "repository": "enquirer/enquirer", "bugs": { "url": "https://github.com/enquirer/enquirer/issues" }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - } + "license": "MIT", + "files": [ + "index.js", + "index.d.ts", + "lib" ], + "main": "index.js", + "engines": { + "node": ">=8.6" + }, + "scripts": { + "test": "mocha && tsc -p ./test/types", + "cover": "nyc --reporter=text --reporter=html mocha" + }, "dependencies": { "ansi-colors": "^4.1.1" }, - "deprecated": false, - "description": "Stylish, intuitive and user-friendly prompt system. Fast and lightweight enough for small projects, powerful and extensible enough for the most advanced use cases.", "devDependencies": { "@types/node": "^8", "gulp-format-md": "^2.0.0", @@ -32,15 +39,6 @@ "time-require": "github:jonschlinkert/time-require", "typescript": "^3.1.6" }, - "engines": { - "node": ">=8.6" - }, - "files": [ - "index.js", - "index.d.ts", - "lib" - ], - "homepage": "https://github.com/enquirer/enquirer", "keywords": [ "answer", "answers", @@ -79,7 +77,6 @@ "yo", "zsh" ], - "license": "MIT", "lintDeps": { "devDependencies": { "files": { @@ -91,16 +88,6 @@ } } }, - "main": "index.js", - "name": "enquirer", - "repository": { - "type": "git", - "url": "git+https://github.com/enquirer/enquirer.git" - }, - "scripts": { - "cover": "nyc --reporter=text --reporter=html mocha", - "test": "mocha && tsc -p ./test/types" - }, "verb": { "toc": false, "layout": false, @@ -120,6 +107,5 @@ "inquirer", "prompt-skeleton" ] - }, - "version": "2.3.6" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json b/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json index ced6973347e..f307df34a23 100644 --- a/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json +++ b/tools/node_modules/eslint/node_modules/escape-string-regexp/package.json @@ -1,26 +1,27 @@ { + "name": "escape-string-regexp", + "version": "1.0.5", + "description": "Escape RegExp special characters", + "license": "MIT", + "repository": "sindresorhus/escape-string-regexp", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", "url": "sindresorhus.com" }, - "bugs": { - "url": "https://github.com/sindresorhus/escape-string-regexp/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Escape RegExp special characters", - "devDependencies": { - "ava": "*", - "xo": "*" - }, + "maintainers": [ + "Sindre Sorhus (sindresorhus.com)", + "Joshua Boy Nicolai Appelman (jbna.nl)" + ], "engines": { "node": ">=0.8.0" }, + "scripts": { + "test": "xo && ava" + }, "files": [ "index.js" ], - "homepage": "https://github.com/sindresorhus/escape-string-regexp#readme", "keywords": [ "escape", "regex", @@ -33,26 +34,8 @@ "special", "characters" ], - "license": "MIT", - "maintainers": [ - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - { - "name": "Joshua Boy Nicolai Appelman", - "email": "joshua@jbna.nl", - "url": "jbna.nl" - } - ], - "name": "escape-string-regexp", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/escape-string-regexp.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.5" -} \ No newline at end of file + "devDependencies": { + "ava": "*", + "xo": "*" + } +} diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/LICENSE b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/LICENSE deleted file mode 100644 index cf5a5995af4..00000000000 --- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright JS Foundation and other contributors, https://js.foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/README.md b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/README.md deleted file mode 100644 index fd8767b7535..00000000000 --- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/README.md +++ /dev/null @@ -1,362 +0,0 @@ -# eslint-plugin-markdown - -[![npm Version](https://img.shields.io/npm/v/eslint-plugin-markdown.svg)](https://www.npmjs.com/package/eslint-plugin-markdown) -[![Build Status](https://img.shields.io/github/workflow/status/eslint/eslint-plugin-markdown/CI/main.svg)](https://github.com/eslint/eslint-plugin-markdown/actions) - -Lint JS, JSX, TypeScript, and more inside Markdown. - -A JS code snippet in a Markdown editor has red squiggly underlines. A tooltip explains the problem. - -## Usage - -### Installing - -Install the plugin alongside ESLint v6 or greater: - -```sh -npm install --save-dev eslint eslint-plugin-markdown -``` - -### Configuring - -Extending the `plugin:markdown/recommended` config will enable the Markdown processor on all `.md` files: - -```js -// .eslintrc.js -module.exports = { - extends: "plugin:markdown/recommended" -}; -``` - -#### Advanced Configuration - -Add the plugin to your `.eslintrc` and use the `processor` option in an `overrides` entry to enable the plugin's `markdown/markdown` processor on Markdown files. -Each fenced code block inside a Markdown document has a virtual filename appended to the Markdown file's path. -The virtual filename's extension will match the fenced code block's syntax tag, so for example, ```js code blocks in README.md would match README.md/*.js. -[`overrides` glob patterns](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) for these virtual filenames can customize configuration for code blocks without affecting regular code. -For more information on configuring processors, refer to the [ESLint documentation](https://eslint.org/docs/user-guide/configuring#specifying-processor). - -```js -// .eslintrc.js -module.exports = { - // 1. Add the plugin. - plugins: ["markdown"], - overrides: [ - { - // 2. Enable the Markdown processor for all .md files. - files: ["**/*.md"], - processor: "markdown/markdown" - }, - { - // 3. Optionally, customize the configuration ESLint uses for ```js - // fenced code blocks inside .md files. - files: ["**/*.md/*.js"], - // ... - rules: { - // ... - } - } - ] -}; -``` - -#### Frequently-Disabled Rules - -Some rules that catch mistakes in regular code are less helpful in documentation. -For example, `no-undef` would flag variables that are declared outside of a code snippet because they aren't relevant to the example. -The `plugin:markdown/recommended` config disables these rules in Markdown files: - -- [`no-undef`](https://eslint.org/docs/rules/no-undef) -- [`no-unused-expressions`](https://eslint.org/docs/rules/no-unused-expressions) -- [`no-unused-vars`](https://eslint.org/docs/rules/no-unused-vars) -- [`padded-blocks`](https://eslint.org/docs/rules/padded-blocks) - -Use [`overrides` glob patterns](https://eslint.org/docs/user-guide/configuring#configuration-based-on-glob-patterns) to disable more rules just for Markdown code blocks: - -```js -module.exports = { - // ... - overrides: [ - // ... - { - // 1. Target ```js code blocks in .md files. - files: ["**/*.md/*.js"], - rules: { - // 2. Disable other rules. - "no-console": "off", - "import/no-unresolved": "off" - } - } - ] -}; -``` - -#### Strict Mode - -`"use strict"` directives in every code block would be annoying. -The `plugin:markdown/recommended` config enables the [`impliedStrict` parser option](https://eslint.org/docs/user-guide/configuring#specifying-parser-options) and disables the [`strict` rule](https://eslint.org/docs/rules/strict) in Markdown files. -This opts into strict mode parsing without repeated `"use strict"` directives. - -#### Unsatisfiable Rules - -Markdown code blocks are not real files, so ESLint's file-format rules do not apply. -The `plugin:markdown/recommended` config disables these rules in Markdown files: - -- [`eol-last`](https://eslint.org/docs/rules/eol-last): The Markdown parser trims trailing newlines from code blocks. -- [`unicode-bom`](https://eslint.org/docs/rules/unicode-bom): Markdown code blocks do not have Unicode Byte Order Marks. - -#### Migrating from `eslint-plugin-markdown` v1 - -`eslint-plugin-markdown` v1 used an older version of ESLint's processor API. -The Markdown processor automatically ran on `.md`, `.mkdn`, `.mdown`, and `.markdown` files, and it only extracted fenced code blocks marked with `js`, `javascript`, `jsx`, or `node` syntax. -Configuration specifically for fenced code blocks went inside an `overrides` entry with a `files` pattern matching the containing Markdown document's filename that applied to all fenced code blocks inside the file. - -```js -// .eslintrc.js for eslint-plugin-markdown v1 -module.exports = { - plugins: ["markdown"], - overrides: [ - { - files: ["**/*.md"], - // In v1, configuration for fenced code blocks went inside an - // `overrides` entry with a .md pattern, for example: - parserOptions: { - ecmaFeatures: { - impliedStrict: true - } - }, - rules: { - "no-console": "off" - } - } - ] -}; -``` - -[RFC3](https://github.com/eslint/rfcs/blob/master/designs/2018-processors-improvements/README.md) designed a new processor API to remove these limitations, and the new API was [implemented](https://github.com/eslint/eslint/pull/11552) as part of ESLint v6. -`eslint-plugin-markdown` v2 uses this new API. - -```bash -$ npm install --save-dev eslint@latest eslint-plugin-markdown@latest -``` - -All of the Markdown file extensions that were previously hard-coded are now fully configurable in `.eslintrc.js`. -Use the new `processor` option to apply the `markdown/markdown` processor on any Markdown documents matching a `files` pattern. -Each fenced code block inside a Markdown document has a virtual filename appended to the Markdown file's path. -The virtual filename's extension will match the fenced code block's syntax tag, so for example, ```js code blocks in README.md would match README.md/*.js. - -```js -// eslintrc.js for eslint-plugin-markdown v2 -module.exports = { - plugins: ["markdown"], - overrides: [ - { - // In v2, explicitly apply eslint-plugin-markdown's `markdown` - // processor on any Markdown files you want to lint. - files: ["**/*.md"], - processor: "markdown/markdown" - }, - { - // In v2, configuration for fenced code blocks is separate from the - // containing Markdown file. Each code block has a virtual filename - // appended to the Markdown file's path. - files: ["**/*.md/*.js"], - // Configuration for fenced code blocks goes with the override for - // the code block's virtual filename, for example: - parserOptions: { - ecmaFeatures: { - impliedStrict: true - } - }, - rules: { - "no-console": "off" - } - } - ] -}; -``` - -If you need to precisely mimic the behavior of v1 with the hard-coded Markdown extensions and fenced code block syntaxes, you can use those as glob patterns in `overrides[].files`: - -```js -// eslintrc.js for v2 mimicking v1 behavior -module.exports = { - plugins: ["markdown"], - overrides: [ - { - files: ["**/*.{md,mkdn,mdown,markdown}"], - processor: "markdown/markdown" - }, - { - files: ["**/*.{md,mkdn,mdown,markdown}/*.{js,javascript,jsx,node}"] - // ... - } - ] -}; -``` - -### Running - -#### ESLint v7 - -You can run ESLint as usual and do not need to use the `--ext` option. -ESLint v7 [automatically lints file extensions specified in `overrides[].files` patterns in config files](https://github.com/eslint/rfcs/blob/0253e3a95511c65d622eaa387eb73f824249b467/designs/2019-additional-lint-targets/README.md). - -#### ESLint v6 - -Use the [`--ext` option](https://eslint.org/docs/user-guide/command-line-interface#ext) to include `.js` and `.md` extensions in ESLint's file search: - -```sh -eslint --ext js,md . -``` - -### Autofixing - -With this plugin, [ESLint's `--fix` option](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some issues in your Markdown fenced code blocks. -To enable this, pass the `--fix` flag when you run ESLint: - -```bash -eslint --fix . -``` - -## What Gets Linted? - -With this plugin, ESLint will lint [fenced code blocks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) in your Markdown documents: - -````markdown -```js -// This gets linted -var answer = 6 * 7; -console.log(answer); -``` - -Here is some regular Markdown text that will be ignored. - -```js -// This also gets linted - -/* eslint quotes: [2, "double"] */ - -function hello() { - console.log("Hello, world!"); -} -hello(); -``` - -```jsx -// This can be linted too if you add `.jsx` files to `overrides` in ESLint v7 -// or pass `--ext jsx` in ESLint v6. -var div =
; -``` -```` - -Blocks that don't specify a syntax are ignored: - -````markdown -``` -This is plain text and doesn't get linted. -``` -```` - -Unless a fenced code block's syntax appears as a file extension in `overrides[].files` in ESLint v7, it will be ignored. -If using ESLint v6, you must also include the extension with the `--ext` option. - -````markdown -```python -print("This doesn't get linted either.") -``` -```` - -## Configuration Comments - -The processor will convert HTML comments immediately preceding a code block into JavaScript block comments and insert them at the beginning of the source code that it passes to ESLint. -This permits configuring ESLint via configuration comments while keeping the configuration comments themselves hidden when the markdown is rendered. -Comment bodies are passed through unmodified, so the plugin supports any [configuration comments](http://eslint.org/docs/user-guide/configuring) supported by ESLint itself. - -This example enables the `browser` environment, disables the `no-alert` rule, and configures the `quotes` rule to prefer single quotes: - -````markdown - - - - -```js -alert('Hello, world!'); -``` -```` - -Each code block in a file is linted separately, so configuration comments apply only to the code block that immediately follows. - -````markdown -Assuming `no-alert` is enabled in `.eslintrc`, the first code block will have no error from `no-alert`: - - - - -```js -alert("Hello, world!"); -``` - -But the next code block will have an error from `no-alert`: - - - -```js -alert("Hello, world!"); -``` -```` - -### Skipping Blocks - -Sometimes it can be useful to have code blocks marked with `js` even though they don't contain valid JavaScript syntax, such as commented JSON blobs that need `js` syntax highlighting. -Standard `eslint-disable` comments only silence rule reporting, but ESLint still reports any syntax errors it finds. -In cases where a code block should not even be parsed, insert a non-standard `` comment before the block, and this plugin will hide the following block from ESLint. -Neither rule nor syntax errors will be reported. - -````markdown -There are comments in this JSON, so we use `js` syntax for better -highlighting. Skip the block to prevent warnings about invalid syntax. - - - -```js -{ - // This code block is hidden from ESLint. - "hello": "world" -} -``` - -```js -console.log("This code block is linted normally."); -``` -```` - -## Editor Integrations - -### VSCode - -[`vscode-eslint`](https://github.com/microsoft/vscode-eslint) has built-in support for the Markdown processor. - -### Atom - -The [`linter-eslint`](https://atom.io/packages/linter-eslint) package allows for linting within the [Atom IDE](https://atom.io/). - -In order to see `eslint-plugin-markdown` work its magic within Markdown code blocks in your Atom editor, you can go to `linter-eslint`'s settings and within "List of scopes to run ESLint on...", add the cursor scope "source.gfm". - -However, this reports a problem when viewing Markdown which does not have configuration, so you may wish to use the cursor scope "source.embedded.js", but note that `eslint-plugin-markdown` configuration comments and skip directives won't work in this context. - -## Contributing - -```sh -$ git clone https://github.com/eslint/eslint-plugin-markdown.git -$ cd eslint-plugin-markdown -$ npm install -$ npm test -``` - -This project follows the [ESLint contribution guidelines](http://eslint.org/docs/developer-guide/contributing/). diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js deleted file mode 100644 index 1638f11ee3c..00000000000 --- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/index.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @fileoverview Exports the processor. - * @author Brandon Mills - */ - -"use strict"; - -module.exports = require("./lib"); diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/index.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/index.js deleted file mode 100644 index d66a7ddda6f..00000000000 --- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/index.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @fileoverview Enables the processor for Markdown file extensions. - * @author Brandon Mills - */ - -"use strict"; - -const processor = require("./processor"); - -module.exports = { - configs: { - recommended: { - plugins: ["markdown"], - overrides: [ - { - files: ["*.md"], - processor: "markdown/markdown" - }, - { - files: ["**/*.md/**"], - parserOptions: { - ecmaFeatures: { - - // Adding a "use strict" directive at the top of - // every code block is tedious and distracting, so - // opt into strict mode parsing without the - // directive. - impliedStrict: true - } - }, - rules: { - - // The Markdown parser automatically trims trailing - // newlines from code blocks. - "eol-last": "off", - - // In code snippets and examples, these rules are often - // counterproductive to clarity and brevity. - "no-undef": "off", - "no-unused-expressions": "off", - "no-unused-vars": "off", - "padded-blocks": "off", - - // Adding a "use strict" directive at the top of every - // code block is tedious and distracting. The config - // opts into strict mode parsing without the directive. - strict: "off", - - // The processor will not receive a Unicode Byte Order - // Mark from the Markdown parser. - "unicode-bom": "off" - } - } - ] - } - }, - processors: { - markdown: processor - } -}; diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/processor.js b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/processor.js deleted file mode 100644 index 41f6f7a280e..00000000000 --- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/lib/processor.js +++ /dev/null @@ -1,349 +0,0 @@ -/** - * @fileoverview Processes Markdown files for consumption by ESLint. - * @author Brandon Mills - */ - -"use strict"; - -const unified = require("unified"); -const remarkParse = require("remark-parse"); - -const UNSATISFIABLE_RULES = [ - "eol-last", // The Markdown parser strips trailing newlines in code fences - "unicode-bom" // Code blocks will begin in the middle of Markdown files -]; -const SUPPORTS_AUTOFIX = true; - -const markdown = unified().use(remarkParse); - -let blocks = []; - -/** - * Performs a depth-first traversal of the Markdown AST. - * @param {ASTNode} node A Markdown AST node. - * @param {Object} callbacks A map of node types to callbacks. - * @param {Object} [parent] The node's parent AST node. - * @returns {void} - */ -function traverse(node, callbacks, parent) { - if (callbacks[node.type]) { - callbacks[node.type](node, parent); - } - - if (typeof node.children !== "undefined") { - for (let i = 0; i < node.children.length; i++) { - traverse(node.children[i], callbacks, node); - } - } -} - -/** - * Converts leading HTML comments to JS block comments. - * @param {string} html The text content of an HTML AST node. - * @returns {string[]} An array of JS block comments. - */ -function getComment(html) { - const commentStart = ""; - const regex = /^(eslint\b|global\s)/u; - - if ( - html.slice(0, commentStart.length) !== commentStart || - html.slice(-commentEnd.length) !== commentEnd - ) { - return ""; - } - - const comment = html.slice(commentStart.length, -commentEnd.length); - - if (!regex.test(comment.trim())) { - return ""; - } - - return comment; -} - -// Before a code block, blockquote characters (`>`) are also considered -// "whitespace". -const leadingWhitespaceRegex = /^[>\s]*/u; - -/** - * Gets the offset for the first column of the node's first line in the - * original source text. - * @param {ASTNode} node A Markdown code block AST node. - * @returns {number} The offset for the first column of the node's first line. - */ -function getBeginningOfLineOffset(node) { - return node.position.start.offset - node.position.start.column + 1; -} - -/** - * Gets the leading text, typically whitespace with possible blockquote chars, - * used to indent a code block. - * @param {string} text The text of the file. - * @param {ASTNode} node A Markdown code block AST node. - * @returns {string} The text from the start of the first line to the opening - * fence of the code block. - */ -function getIndentText(text, node) { - return leadingWhitespaceRegex.exec( - text.slice(getBeginningOfLineOffset(node)) - )[0]; -} - -/** - * When applying fixes, the postprocess step needs to know how to map fix ranges - * from their location in the linted JS to the original offset in the Markdown. - * Configuration comments and indentation trimming both complicate this process. - * - * Configuration comments appear in the linted JS but not in the Markdown code - * block. Fixes to configuration comments would cause undefined behavior and - * should be ignored during postprocessing. Fixes to actual code after - * configuration comments need to be mapped back to the code block after - * removing any offset due to configuration comments. - * - * Fenced code blocks can be indented by up to three spaces at the opening - * fence. Inside of a list, for example, this indent can be in addition to the - * indent already required for list item children. Leading whitespace inside - * indented code blocks is trimmed up to the level of the opening fence and does - * not appear in the linted code. Further, lines can have less leading - * whitespace than the opening fence, so not all lines are guaranteed to have - * the same column offset as the opening fence. - * - * The source code of a non-configuration-comment line in the linted JS is a - * suffix of the corresponding line in the Markdown code block. There are no - * differences within the line, so the mapping need only provide the offset - * delta at the beginning of each line. - * @param {string} text The text of the file. - * @param {ASTNode} node A Markdown code block AST node. - * @param {comments} comments List of configuration comment strings that will be - * inserted at the beginning of the code block. - * @returns {Object[]} A list of offset-based adjustments, where lookups are - * done based on the `js` key, which represents the range in the linted JS, - * and the `md` key is the offset delta that, when added to the JS range, - * returns the corresponding location in the original Markdown source. - */ -function getBlockRangeMap(text, node, comments) { - - /* - * The parser sets the fenced code block's start offset to wherever content - * should normally begin (typically the first column of the line, but more - * inside a list item, for example). The code block's opening fance may be - * further indented by up to three characters. If the code block has - * additional indenting, the opening fence's first backtick may be up to - * three whitespace characters after the start offset. - */ - const startOffset = getBeginningOfLineOffset(node); - - /* - * Extract the Markdown source to determine the leading whitespace for each - * line. - */ - const code = text.slice(startOffset, node.position.end.offset); - const lines = code.split("\n"); - - /* - * The parser trims leading whitespace from each line of code within the - * fenced code block up to the opening fence's first backtick. The first - * backtick's column is the AST node's starting column plus any additional - * indentation. - */ - const baseIndent = getIndentText(text, node).length; - - /* - * Track the length of any inserted configuration comments at the beginning - * of the linted JS and start the JS offset lookup keys at this index. - */ - const commentLength = comments.reduce((len, comment) => len + comment.length + 1, 0); - - /* - * In case there are configuration comments, initialize the map so that the - * first lookup index is always 0. If there are no configuration comments, - * the lookup index will also be 0, and the lookup should always go to the - * last range that matches, skipping this initialization entry. - */ - const rangeMap = [{ - js: 0, - md: 0 - }]; - - // Start the JS offset after any configuration comments. - let jsOffset = commentLength; - - /* - * Start the Markdown offset at the beginning of the block's first line of - * actual code. The first line of the block is always the opening fence, so - * the code begins on the second line. - */ - let mdOffset = startOffset + lines[0].length + 1; - - /* - * For each line, determine how much leading whitespace was trimmed due to - * indentation. Increase the JS lookup offset by the length of the line - * post-trimming and the Markdown offset by the total line length. - */ - for (let i = 0; i + 1 < lines.length; i++) { - const line = lines[i + 1]; - const leadingWhitespaceLength = leadingWhitespaceRegex.exec(line)[0].length; - - // The parser trims leading whitespace up to the level of the opening - // fence, so keep any additional indentation beyond that. - const trimLength = Math.min(baseIndent, leadingWhitespaceLength); - - rangeMap.push({ - js: jsOffset, - - // Advance `trimLength` character from the beginning of the Markdown - // line to the beginning of the equivalent JS line, then compute the - // delta. - md: mdOffset + trimLength - jsOffset - }); - - // Accumulate the current line in the offsets, and don't forget the - // newline. - mdOffset += line.length + 1; - jsOffset += line.length - trimLength + 1; - } - - return rangeMap; -} - -/** - * Extracts lintable JavaScript code blocks from Markdown text. - * @param {string} text The text of the file. - * @returns {string[]} Source code strings to lint. - */ -function preprocess(text) { - const ast = markdown.parse(text); - - blocks = []; - traverse(ast, { - code(node, parent) { - const comments = []; - - if (node.lang) { - let index = parent.children.indexOf(node) - 1; - let previousNode = parent.children[index]; - - while (previousNode && previousNode.type === "html") { - const comment = getComment(previousNode.value); - - if (!comment) { - break; - } - - if (comment.trim() === "eslint-skip") { - return; - } - - comments.unshift(`/*${comment}*/`); - index--; - previousNode = parent.children[index]; - } - - blocks.push({ - ...node, - baseIndentText: getIndentText(text, node), - comments, - rangeMap: getBlockRangeMap(text, node, comments) - }); - } - } - }); - - return blocks.map((block, index) => ({ - filename: `${index}.${block.lang.trim().split(" ")[0]}`, - text: [ - ...block.comments, - block.value, - "" - ].join("\n") - })); -} - -/** - * Creates a map function that adjusts messages in a code block. - * @param {Block} block A code block. - * @returns {Function} A function that adjusts messages in a code block. - */ -function adjustBlock(block) { - const leadingCommentLines = block.comments.reduce((count, comment) => count + comment.split("\n").length, 0); - - const blockStart = block.position.start.line; - - /** - * Adjusts ESLint messages to point to the correct location in the Markdown. - * @param {Message} message A message from ESLint. - * @returns {Message} The same message, but adjusted to the correct location. - */ - return function adjustMessage(message) { - - const lineInCode = message.line - leadingCommentLines; - - if (lineInCode < 1) { - return null; - } - - const out = { - line: lineInCode + blockStart, - column: message.column + block.position.indent[lineInCode - 1] - 1 - }; - - if (Number.isInteger(message.endLine)) { - out.endLine = message.endLine - leadingCommentLines + blockStart; - } - - const adjustedFix = {}; - - if (message.fix) { - adjustedFix.fix = { - range: message.fix.range.map(range => { - - // Advance through the block's range map to find the last - // matching range by finding the first range too far and - // then going back one. - let i = 1; - - while (i < block.rangeMap.length && block.rangeMap[i].js <= range) { - i++; - } - - // Apply the mapping delta for this range. - return range + block.rangeMap[i - 1].md; - }), - text: message.fix.text.replace(/\n/gu, `\n${block.baseIndentText}`) - }; - } - - return { ...message, ...out, ...adjustedFix }; - }; -} - -/** - * Excludes unsatisfiable rules from the list of messages. - * @param {Message} message A message from the linter. - * @returns {boolean} True if the message should be included in output. - */ -function excludeUnsatisfiableRules(message) { - return message && UNSATISFIABLE_RULES.indexOf(message.ruleId) < 0; -} - -/** - * Transforms generated messages for output. - * @param {Array} messages An array containing one array of messages - * for each code block returned from `preprocess`. - * @returns {Message[]} A flattened array of messages with mapped locations. - */ -function postprocess(messages) { - return [].concat(...messages.map((group, i) => { - const adjust = adjustBlock(blocks[i]); - - return group.map(adjust).filter(excludeUnsatisfiableRules); - })); -} - -module.exports = { - preprocess, - postprocess, - supportsAutofix: SUPPORTS_AUTOFIX -}; diff --git a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json b/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json deleted file mode 100644 index 493af337f1a..00000000000 --- a/tools/node_modules/eslint/node_modules/eslint-plugin-markdown/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "author": { - "name": "Brandon Mills", - "url": "https://github.com/btmills" - }, - "bugs": { - "url": "https://github.com/eslint/eslint-plugin-markdown/issues" - }, - "bundleDependencies": false, - "dependencies": { - "remark-parse": "^5.0.0", - "unified": "^6.1.2" - }, - "deprecated": false, - "description": "An ESLint plugin to lint JavaScript in Markdown code fences.", - "devDependencies": { - "chai": "^4.2.0", - "eslint": "^6.8.0", - "eslint-config-eslint": "^6.0.0", - "eslint-plugin-jsdoc": "^15.9.5", - "eslint-plugin-node": "^9.0.0", - "eslint-release": "^3.1.2", - "mocha": "^6.2.2", - "nyc": "^14.1.1" - }, - "engines": { - "node": "^8.10.0 || ^10.12.0 || >= 12.0.0" - }, - "files": [ - "index.js", - "lib/index.js", - "lib/processor.js" - ], - "homepage": "https://github.com/eslint/eslint-plugin-markdown#readme", - "keywords": [ - "eslint", - "eslintplugin", - "markdown", - "lint", - "linter" - ], - "license": "MIT", - "main": "index.js", - "name": "eslint-plugin-markdown", - "peerDependencies": { - "eslint": ">=6.0.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslint-plugin-markdown.git" - }, - "scripts": { - "generate-alpharelease": "eslint-generate-prerelease alpha", - "generate-betarelease": "eslint-generate-prerelease beta", - "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "eslint --ext js,md .", - "prepare": "node ./npm-prepare.js", - "publish-release": "eslint-publish-release", - "test": "npm run lint && npm run test-cov", - "test-cov": "nyc _mocha -- -c tests/{examples,lib}/**/*.js" - }, - "version": "2.0.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/eslint-scope/package.json b/tools/node_modules/eslint/node_modules/eslint-scope/package.json index bc425ebbd0b..b700b92afbe 100644 --- a/tools/node_modules/eslint/node_modules/eslint-scope/package.json +++ b/tools/node_modules/eslint/node_modules/eslint-scope/package.json @@ -1,14 +1,35 @@ { + "name": "eslint-scope", + "description": "ECMAScript scope analyzer for ESLint", + "homepage": "http://github.com/eslint/eslint-scope", + "main": "lib/index.js", + "version": "5.1.1", + "engines": { + "node": ">=8.0.0" + }, + "repository": "eslint/eslint-scope", "bugs": { "url": "https://github.com/eslint/eslint-scope/issues" }, - "bundleDependencies": false, + "license": "BSD-2-Clause", + "scripts": { + "test": "node Makefile.js test", + "lint": "node Makefile.js lint", + "generate-release": "eslint-generate-release", + "generate-alpharelease": "eslint-generate-prerelease alpha", + "generate-betarelease": "eslint-generate-prerelease beta", + "generate-rcrelease": "eslint-generate-prerelease rc", + "publish-release": "eslint-publish-release" + }, + "files": [ + "LICENSE", + "README.md", + "lib" + ], "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, - "deprecated": false, - "description": "ECMAScript scope analyzer for ESLint", "devDependencies": { "@typescript-eslint/parser": "^1.11.0", "chai": "^4.2.0", @@ -23,31 +44,5 @@ "npm-license": "^0.3.3", "shelljs": "^0.8.3", "typescript": "^3.5.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "files": [ - "LICENSE", - "README.md", - "lib" - ], - "homepage": "http://github.com/eslint/eslint-scope", - "license": "BSD-2-Clause", - "main": "lib/index.js", - "name": "eslint-scope", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslint-scope.git" - }, - "scripts": { - "generate-alpharelease": "eslint-generate-prerelease alpha", - "generate-betarelease": "eslint-generate-prerelease beta", - "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "node Makefile.js lint", - "publish-release": "eslint-publish-release", - "test": "node Makefile.js test" - }, - "version": "5.1.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json b/tools/node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json index 2765f6d5537..63267be6437 100644 --- a/tools/node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json +++ b/tools/node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys/package.json @@ -1,15 +1,15 @@ { - "author": { - "name": "Toru Nagashima", - "url": "https://github.com/mysticatea" - }, - "bugs": { - "url": "https://github.com/eslint/eslint-visitor-keys/issues" + "name": "eslint-visitor-keys", + "version": "1.3.0", + "description": "Constants and utilities about visitor keys to traverse AST.", + "main": "lib/index.js", + "files": [ + "lib" + ], + "engines": { + "node": ">=4" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, - "description": "Constants and utilities about visitor keys to traverse AST.", "devDependencies": { "eslint": "^4.7.2", "eslint-config-eslint": "^4.0.0", @@ -18,31 +18,23 @@ "nyc": "^11.2.1", "opener": "^1.4.3" }, - "engines": { - "node": ">=4" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/eslint/eslint-visitor-keys#readme", - "keywords": [], - "license": "Apache-2.0", - "main": "lib/index.js", - "name": "eslint-visitor-keys", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslint-visitor-keys.git" - }, "scripts": { + "lint": "eslint lib tests/lib", + "pretest": "npm run -s lint", + "test": "nyc mocha tests/lib", "coverage": "nyc report --reporter lcov && opener coverage/lcov-report/index.html", + "generate-release": "eslint-generate-release", "generate-alpharelease": "eslint-generate-prerelease alpha", "generate-betarelease": "eslint-generate-prerelease beta", "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "eslint lib tests/lib", - "pretest": "npm run -s lint", - "publish-release": "eslint-publish-release", - "test": "nyc mocha tests/lib" + "publish-release": "eslint-publish-release" + }, + "repository": "eslint/eslint-visitor-keys", + "keywords": [], + "author": "Toru Nagashima (https://github.com/mysticatea)", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/eslint/eslint-visitor-keys/issues" }, - "version": "1.3.0" -} \ No newline at end of file + "homepage": "https://github.com/eslint/eslint-visitor-keys#readme" +} diff --git a/tools/node_modules/eslint/node_modules/eslint-utils/package.json b/tools/node_modules/eslint/node_modules/eslint-utils/package.json index 38ea2a071cd..661a97fb097 100644 --- a/tools/node_modules/eslint/node_modules/eslint-utils/package.json +++ b/tools/node_modules/eslint/node_modules/eslint-utils/package.json @@ -1,16 +1,19 @@ { - "author": { - "name": "Toru Nagashima" - }, - "bugs": { - "url": "https://github.com/mysticatea/eslint-utils/issues" + "name": "eslint-utils", + "version": "2.1.0", + "description": "Utilities for ESLint plugins.", + "engines": { + "node": ">=6" }, - "bundleDependencies": false, + "sideEffects": false, + "main": "index", + "module": "index.mjs", + "files": [ + "index.*" + ], "dependencies": { "eslint-visitor-keys": "^1.1.0" }, - "deprecated": false, - "description": "Utilities for ESLint plugins.", "devDependencies": { "@mysticatea/eslint-plugin": "^12.0.0", "codecov": "^3.6.1", @@ -29,26 +32,8 @@ "vuepress": "^1.2.0", "warun": "^1.0.0" }, - "engines": { - "node": ">=6" - }, - "files": [ - "index.*" - ], - "funding": "https://github.com/sponsors/mysticatea", - "homepage": "https://github.com/mysticatea/eslint-utils#readme", - "keywords": [ - "eslint" - ], - "license": "MIT", - "main": "index", - "module": "index.mjs", - "name": "eslint-utils", - "repository": { - "type": "git", - "url": "git+https://github.com/mysticatea/eslint-utils.git" - }, "scripts": { + "prebuild": "npm run -s clean", "build": "rollup -c", "clean": "rimraf .nyc_output coverage index.*", "codecov": "nyc report -r lcovonly && codecov", @@ -56,14 +41,25 @@ "docs:build": "vuepress build docs", "docs:watch": "vuepress dev docs", "lint": "eslint src test", - "postversion": "git push && git push --tags", - "prebuild": "npm run -s clean", - "preversion": "npm test && npm run -s build", - "prewatch": "npm run -s clean", "test": "run-s lint build test:mocha", "test:mocha": "nyc mocha --reporter dot \"test/*.js\"", + "preversion": "npm test && npm run -s build", + "postversion": "git push && git push --tags", + "prewatch": "npm run -s clean", "watch": "warun \"{src,test}/**/*.js\" -- npm run -s test:mocha" }, - "sideEffects": false, - "version": "2.1.0" -} \ No newline at end of file + "repository": { + "type": "git", + "url": "git+https://github.com/mysticatea/eslint-utils.git" + }, + "keywords": [ + "eslint" + ], + "author": "Toru Nagashima", + "license": "MIT", + "bugs": { + "url": "https://github.com/mysticatea/eslint-utils/issues" + }, + "homepage": "https://github.com/mysticatea/eslint-utils#readme", + "funding": "https://github.com/sponsors/mysticatea" +} diff --git a/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json b/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json index 5845760935c..a3b8dd684ab 100644 --- a/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json +++ b/tools/node_modules/eslint/node_modules/eslint-visitor-keys/package.json @@ -1,15 +1,15 @@ { - "author": { - "name": "Toru Nagashima", - "url": "https://github.com/mysticatea" - }, - "bugs": { - "url": "https://github.com/eslint/eslint-visitor-keys/issues" + "name": "eslint-visitor-keys", + "version": "2.0.0", + "description": "Constants and utilities about visitor keys to traverse AST.", + "main": "lib/index.js", + "files": [ + "lib" + ], + "engines": { + "node": ">=10" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, - "description": "Constants and utilities about visitor keys to traverse AST.", "devDependencies": { "eslint": "^4.7.2", "eslint-config-eslint": "^4.0.0", @@ -18,30 +18,22 @@ "nyc": "^11.2.1", "opener": "^1.4.3" }, - "engines": { - "node": ">=10" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/eslint/eslint-visitor-keys#readme", - "keywords": [], - "license": "Apache-2.0", - "main": "lib/index.js", - "name": "eslint-visitor-keys", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslint-visitor-keys.git" - }, "scripts": { + "lint": "eslint lib tests/lib", + "test": "nyc mocha tests/lib", "coverage": "nyc report --reporter lcov && opener coverage/lcov-report/index.html", + "generate-release": "eslint-generate-release", "generate-alpharelease": "eslint-generate-prerelease alpha", "generate-betarelease": "eslint-generate-prerelease beta", "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "eslint lib tests/lib", - "publish-release": "eslint-publish-release", - "test": "nyc mocha tests/lib" + "publish-release": "eslint-publish-release" + }, + "repository": "eslint/eslint-visitor-keys", + "keywords": [], + "author": "Toru Nagashima (https://github.com/mysticatea)", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/eslint/eslint-visitor-keys/issues" }, - "version": "2.0.0" -} \ No newline at end of file + "homepage": "https://github.com/eslint/eslint-visitor-keys#readme" +} diff --git a/tools/node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys/package.json b/tools/node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys/package.json index 2765f6d5537..63267be6437 100644 --- a/tools/node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys/package.json +++ b/tools/node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys/package.json @@ -1,15 +1,15 @@ { - "author": { - "name": "Toru Nagashima", - "url": "https://github.com/mysticatea" - }, - "bugs": { - "url": "https://github.com/eslint/eslint-visitor-keys/issues" + "name": "eslint-visitor-keys", + "version": "1.3.0", + "description": "Constants and utilities about visitor keys to traverse AST.", + "main": "lib/index.js", + "files": [ + "lib" + ], + "engines": { + "node": ">=4" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, - "description": "Constants and utilities about visitor keys to traverse AST.", "devDependencies": { "eslint": "^4.7.2", "eslint-config-eslint": "^4.0.0", @@ -18,31 +18,23 @@ "nyc": "^11.2.1", "opener": "^1.4.3" }, - "engines": { - "node": ">=4" - }, - "files": [ - "lib" - ], - "homepage": "https://github.com/eslint/eslint-visitor-keys#readme", - "keywords": [], - "license": "Apache-2.0", - "main": "lib/index.js", - "name": "eslint-visitor-keys", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslint-visitor-keys.git" - }, "scripts": { + "lint": "eslint lib tests/lib", + "pretest": "npm run -s lint", + "test": "nyc mocha tests/lib", "coverage": "nyc report --reporter lcov && opener coverage/lcov-report/index.html", + "generate-release": "eslint-generate-release", "generate-alpharelease": "eslint-generate-prerelease alpha", "generate-betarelease": "eslint-generate-prerelease beta", "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-release": "eslint-generate-release", - "lint": "eslint lib tests/lib", - "pretest": "npm run -s lint", - "publish-release": "eslint-publish-release", - "test": "nyc mocha tests/lib" + "publish-release": "eslint-publish-release" + }, + "repository": "eslint/eslint-visitor-keys", + "keywords": [], + "author": "Toru Nagashima (https://github.com/mysticatea)", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/eslint/eslint-visitor-keys/issues" }, - "version": "1.3.0" -} \ No newline at end of file + "homepage": "https://github.com/eslint/eslint-visitor-keys#readme" +} diff --git a/tools/node_modules/eslint/node_modules/espree/package.json b/tools/node_modules/eslint/node_modules/espree/package.json index 9fd6ee14a34..724e6fcee72 100644 --- a/tools/node_modules/eslint/node_modules/espree/package.json +++ b/tools/node_modules/eslint/node_modules/espree/package.json @@ -1,19 +1,27 @@ { - "author": { - "name": "Nicholas C. Zakas", - "email": "nicholas+npm@nczconsulting.com" + "name": "espree", + "description": "An Esprima-compatible JavaScript parser built on Acorn", + "author": "Nicholas C. Zakas ", + "homepage": "https://github.com/eslint/espree", + "main": "espree.js", + "version": "7.3.1", + "files": [ + "lib", + "espree.js" + ], + "engines": { + "node": "^10.12.0 || >=12.0.0" }, + "repository": "eslint/espree", "bugs": { "url": "http://github.com/eslint/espree.git" }, - "bundleDependencies": false, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" }, - "deprecated": false, - "description": "An Esprima-compatible JavaScript parser built on Acorn", "devDependencies": { "browserify": "^16.5.0", "chai": "^4.2.0", @@ -32,14 +40,6 @@ "shelljs-nodecli": "^0.1.1", "unicode-6.3.0": "^0.7.5" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "files": [ - "lib", - "espree.js" - ], - "homepage": "https://github.com/eslint/espree", "keywords": [ "ast", "ecmascript", @@ -48,25 +48,17 @@ "syntax", "acorn" ], - "license": "BSD-2-Clause", - "main": "espree.js", - "name": "espree", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/espree.git" - }, "scripts": { - "browserify": "node Makefile.js browserify", + "generate-regex": "node tools/generate-identifier-regex.js", + "test": "npm run-script lint && node Makefile.js test", + "lint": "node Makefile.js lint", "fixlint": "node Makefile.js lint --fix", + "sync-docs": "node Makefile.js docs", + "browserify": "node Makefile.js browserify", + "generate-release": "eslint-generate-release", "generate-alpharelease": "eslint-generate-prerelease alpha", "generate-betarelease": "eslint-generate-prerelease beta", "generate-rcrelease": "eslint-generate-prerelease rc", - "generate-regex": "node tools/generate-identifier-regex.js", - "generate-release": "eslint-generate-release", - "lint": "node Makefile.js lint", - "publish-release": "eslint-publish-release", - "sync-docs": "node Makefile.js docs", - "test": "npm run-script lint && node Makefile.js test" - }, - "version": "7.3.1" -} \ No newline at end of file + "publish-release": "eslint-publish-release" + } +} diff --git a/tools/node_modules/eslint/node_modules/esprima/package.json b/tools/node_modules/eslint/node_modules/esprima/package.json index 03d154ee722..4148b8ce4f4 100644 --- a/tools/node_modules/eslint/node_modules/esprima/package.json +++ b/tools/node_modules/eslint/node_modules/esprima/package.json @@ -1,18 +1,39 @@ { + "name": "esprima", + "description": "ECMAScript parsing infrastructure for multipurpose analysis", + "homepage": "http://esprima.org", + "main": "dist/esprima.js", + "bin": { + "esparse": "./bin/esparse.js", + "esvalidate": "./bin/esvalidate.js" + }, + "version": "4.0.1", + "files": [ + "bin", + "dist/esprima.js" + ], + "engines": { + "node": ">=4" + }, "author": { "name": "Ariya Hidayat", "email": "ariya.hidayat@gmail.com" }, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "maintainers": [ + { + "name": "Ariya Hidayat", + "email": "ariya.hidayat@gmail.com", + "web": "http://ariya.ofilabs.com" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/jquery/esprima.git" }, "bugs": { "url": "https://github.com/jquery/esprima/issues" }, - "bundleDependencies": false, - "deprecated": false, - "description": "ECMAScript parsing infrastructure for multipurpose analysis", + "license": "BSD-2-Clause", "devDependencies": { "codecov.io": "~0.1.6", "escomplex-js": "1.2.0", @@ -41,14 +62,6 @@ "unicode-8.0.0": "~0.7.0", "webpack": "~1.14.0" }, - "engines": { - "node": ">=4" - }, - "files": [ - "bin", - "dist/esprima.js" - ], - "homepage": "http://esprima.org", "keywords": [ "ast", "ecmascript", @@ -57,58 +70,43 @@ "parser", "syntax" ], - "license": "BSD-2-Clause", - "main": "dist/esprima.js", - "maintainers": [ - { - "name": "Ariya Hidayat", - "email": "ariya.hidayat@gmail.com", - "url": "http://ariya.ofilabs.com" - } - ], - "name": "esprima", - "repository": { - "type": "git", - "url": "git+https://github.com/jquery/esprima.git" - }, "scripts": { - "all-tests": "npm run verify-line-ending && npm run generate-fixtures && npm run unit-tests && npm run api-tests && npm run grammar-tests && npm run regression-tests && npm run hostile-env-tests", - "analyze-coverage": "istanbul cover test/unit-tests.js", - "api-tests": "mocha -R dot test/api-tests.js", - "appveyor": "npm run compile && npm run all-tests && npm run browser-tests", - "benchmark": "npm run benchmark-parser && npm run benchmark-tokenizer", - "benchmark-parser": "node -expose_gc test/benchmark-parser.js", - "benchmark-tokenizer": "node --expose_gc test/benchmark-tokenizer.js", - "browser-tests": "npm run compile && npm run generate-fixtures && cd test && karma start --single-run", - "check-coverage": "istanbul check-coverage --statement 100 --branch 100 --function 100", "check-version": "node test/check-version.js", - "circleci": "npm test && npm run codecov && npm run downstream", + "tslint": "tslint src/*.ts", "code-style": "tsfmt --verify src/*.ts && tsfmt --verify test/*.js", - "codecov": "istanbul report cobertura && codecov < ./coverage/cobertura-coverage.xml", - "compile": "tsc -p src/ && webpack && node tools/fixupbundle.js", - "complexity": "node test/check-complexity.js", - "downstream": "node test/downstream.js", - "droneio": "npm run compile && npm run all-tests && npm run saucelabs", - "dynamic-analysis": "npm run analyze-coverage && npm run check-coverage", "format-code": "tsfmt -r src/*.ts && tsfmt -r test/*.js", - "generate-fixtures": "node tools/generate-fixtures.js", - "generate-regex": "node tools/generate-identifier-regex.js", - "generate-xhtml-entities": "node tools/generate-xhtml-entities.js", - "grammar-tests": "node test/grammar-tests.js", + "complexity": "node test/check-complexity.js", + "static-analysis": "npm run check-version && npm run tslint && npm run code-style && npm run complexity", "hostile-env-tests": "node test/hostile-environment-tests.js", - "prepublish": "npm run compile", - "profile": "node --prof test/profile.js && mv isolate*.log v8.log && node-tick-processor", + "unit-tests": "node test/unit-tests.js", + "api-tests": "mocha -R dot test/api-tests.js", + "grammar-tests": "node test/grammar-tests.js", "regression-tests": "node test/regression-tests.js", - "saucelabs": "npm run saucelabs-evergreen && npm run saucelabs-ie && npm run saucelabs-safari", + "all-tests": "npm run verify-line-ending && npm run generate-fixtures && npm run unit-tests && npm run api-tests && npm run grammar-tests && npm run regression-tests && npm run hostile-env-tests", + "verify-line-ending": "node test/verify-line-ending.js", + "generate-fixtures": "node tools/generate-fixtures.js", + "browser-tests": "npm run compile && npm run generate-fixtures && cd test && karma start --single-run", "saucelabs-evergreen": "cd test && karma start saucelabs-evergreen.conf.js", - "saucelabs-ie": "cd test && karma start saucelabs-ie.conf.js", "saucelabs-safari": "cd test && karma start saucelabs-safari.conf.js", - "static-analysis": "npm run check-version && npm run tslint && npm run code-style && npm run complexity", + "saucelabs-ie": "cd test && karma start saucelabs-ie.conf.js", + "saucelabs": "npm run saucelabs-evergreen && npm run saucelabs-ie && npm run saucelabs-safari", + "analyze-coverage": "istanbul cover test/unit-tests.js", + "check-coverage": "istanbul check-coverage --statement 100 --branch 100 --function 100", + "dynamic-analysis": "npm run analyze-coverage && npm run check-coverage", + "compile": "tsc -p src/ && webpack && node tools/fixupbundle.js", "test": "npm run compile && npm run all-tests && npm run static-analysis && npm run dynamic-analysis", + "prepublish": "npm run compile", + "profile": "node --prof test/profile.js && mv isolate*.log v8.log && node-tick-processor", + "benchmark-parser": "node -expose_gc test/benchmark-parser.js", + "benchmark-tokenizer": "node --expose_gc test/benchmark-tokenizer.js", + "benchmark": "npm run benchmark-parser && npm run benchmark-tokenizer", + "codecov": "istanbul report cobertura && codecov < ./coverage/cobertura-coverage.xml", + "downstream": "node test/downstream.js", "travis": "npm test", - "tslint": "tslint src/*.ts", - "unit-tests": "node test/unit-tests.js", - "verify-line-ending": "node test/verify-line-ending.js" - }, - "version": "4.0.1" -} \ No newline at end of file + "circleci": "npm test && npm run codecov && npm run downstream", + "appveyor": "npm run compile && npm run all-tests && npm run browser-tests", + "droneio": "npm run compile && npm run all-tests && npm run saucelabs", + "generate-regex": "node tools/generate-identifier-regex.js", + "generate-xhtml-entities": "node tools/generate-xhtml-entities.js" + } +} diff --git a/tools/node_modules/eslint/node_modules/esquery/node_modules/estraverse/package.json b/tools/node_modules/eslint/node_modules/esquery/node_modules/estraverse/package.json index 4d336a00e8b..bc99e7c4a64 100644 --- a/tools/node_modules/eslint/node_modules/esquery/node_modules/estraverse/package.json +++ b/tools/node_modules/eslint/node_modules/esquery/node_modules/estraverse/package.json @@ -1,10 +1,23 @@ { - "bugs": { - "url": "https://github.com/estools/estraverse/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "estraverse", "description": "ECMAScript JS AST traversal functions", + "homepage": "https://github.com/estools/estraverse", + "main": "estraverse.js", + "version": "5.2.0", + "engines": { + "node": ">=4.0" + }, + "maintainers": [ + { + "name": "Yusuke Suzuki", + "email": "utatane.tea@gmail.com", + "web": "http://github.com/Constellation" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/estools/estraverse.git" + }, "devDependencies": { "babel-preset-env": "^1.6.1", "babel-register": "^6.3.13", @@ -18,28 +31,10 @@ "jshint": "^2.5.6", "mocha": "^2.1.0" }, - "engines": { - "node": ">=4.0" - }, - "homepage": "https://github.com/estools/estraverse", "license": "BSD-2-Clause", - "main": "estraverse.js", - "maintainers": [ - { - "name": "Yusuke Suzuki", - "email": "utatane.tea@gmail.com", - "url": "http://github.com/Constellation" - } - ], - "name": "estraverse", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/estools/estraverse.git" - }, "scripts": { - "lint": "jshint estraverse.js", "test": "npm run-script lint && npm run-script unit-test", + "lint": "jshint estraverse.js", "unit-test": "mocha --compilers js:babel-register" - }, - "version": "5.2.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/esquery/package.json b/tools/node_modules/eslint/node_modules/esquery/package.json index 6f9a3e44bf0..3d818750d38 100644 --- a/tools/node_modules/eslint/node_modules/esquery/package.json +++ b/tools/node_modules/eslint/node_modules/esquery/package.json @@ -1,39 +1,11 @@ { - "author": { - "name": "Joel Feenstra", - "email": "jrfeenst+esquery@gmail.com" - }, - "bugs": { - "url": "https://github.com/estools/esquery/issues" - }, - "bundleDependencies": false, + "name": "esquery", + "version": "1.4.0", + "author": "Joel Feenstra ", "contributors": [], - "dependencies": { - "estraverse": "^5.1.0" - }, - "deprecated": false, "description": "A query library for ECMAScript AST using a CSS selector like query language.", - "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.5", - "@babel/register": "^7.9.0", - "@rollup/plugin-commonjs": "^11.1.0", - "@rollup/plugin-json": "^4.0.2", - "@rollup/plugin-node-resolve": "^7.1.3", - "babel-plugin-transform-es2017-object-entries": "0.0.5", - "chai": "^4.2.0", - "eslint": "^6.8.0", - "esprima": "~4.0.1", - "mocha": "^7.1.1", - "nyc": "^15.0.1", - "pegjs": "~0.10.0", - "rollup": "^1.32.1", - "rollup-plugin-babel": "^4.4.0", - "rollup-plugin-terser": "^5.3.0" - }, - "engines": { - "node": ">=0.10" - }, + "main": "dist/esquery.min.js", + "module": "dist/esquery.esm.min.js", "files": [ "dist/*.js", "dist/*.map", @@ -41,17 +13,6 @@ "license.txt", "README.md" ], - "homepage": "https://github.com/estools/esquery/", - "keywords": [ - "ast", - "ecmascript", - "javascript", - "query" - ], - "license": "BSD-3-Clause", - "main": "dist/esquery.min.js", - "module": "dist/esquery.esm.min.js", - "name": "esquery", "nyc": { "branches": 100, "lines": 100, @@ -67,19 +28,51 @@ "tests" ] }, - "repository": { - "type": "git", - "url": "git+https://github.com/estools/esquery.git" - }, "scripts": { - "build": "npm run build:parser && npm run build:browser", - "build:browser": "rollup -c", + "prepublishOnly": "npm run build && npm test", "build:parser": "rm parser.js && pegjs --cache --format umd -o \"parser.js\" \"grammar.pegjs\"", - "lint": "eslint .", + "build:browser": "rollup -c", + "build": "npm run build:parser && npm run build:browser", "mocha": "mocha --require chai/register-assert --require @babel/register tests", - "prepublishOnly": "npm run build && npm test", "test": "nyc npm run mocha && npm run lint", - "test:ci": "npm run mocha" + "test:ci": "npm run mocha", + "lint": "eslint ." }, - "version": "1.4.0" -} \ No newline at end of file + "repository": { + "type": "git", + "url": "https://github.com/estools/esquery.git" + }, + "bugs": "https://github.com/estools/esquery/issues", + "homepage": "https://github.com/estools/esquery/", + "keywords": [ + "ast", + "ecmascript", + "javascript", + "query" + ], + "devDependencies": { + "@babel/core": "^7.9.0", + "@babel/preset-env": "^7.9.5", + "@babel/register": "^7.9.0", + "@rollup/plugin-commonjs": "^11.1.0", + "@rollup/plugin-json": "^4.0.2", + "@rollup/plugin-node-resolve": "^7.1.3", + "babel-plugin-transform-es2017-object-entries": "0.0.5", + "chai": "^4.2.0", + "eslint": "^6.8.0", + "esprima": "~4.0.1", + "mocha": "^7.1.1", + "nyc": "^15.0.1", + "pegjs": "~0.10.0", + "rollup": "^1.32.1", + "rollup-plugin-babel": "^4.4.0", + "rollup-plugin-terser": "^5.3.0" + }, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10" + }, + "dependencies": { + "estraverse": "^5.1.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/esrecurse/node_modules/estraverse/package.json b/tools/node_modules/eslint/node_modules/esrecurse/node_modules/estraverse/package.json index 4d336a00e8b..bc99e7c4a64 100644 --- a/tools/node_modules/eslint/node_modules/esrecurse/node_modules/estraverse/package.json +++ b/tools/node_modules/eslint/node_modules/esrecurse/node_modules/estraverse/package.json @@ -1,10 +1,23 @@ { - "bugs": { - "url": "https://github.com/estools/estraverse/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "estraverse", "description": "ECMAScript JS AST traversal functions", + "homepage": "https://github.com/estools/estraverse", + "main": "estraverse.js", + "version": "5.2.0", + "engines": { + "node": ">=4.0" + }, + "maintainers": [ + { + "name": "Yusuke Suzuki", + "email": "utatane.tea@gmail.com", + "web": "http://github.com/Constellation" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/estools/estraverse.git" + }, "devDependencies": { "babel-preset-env": "^1.6.1", "babel-register": "^6.3.13", @@ -18,28 +31,10 @@ "jshint": "^2.5.6", "mocha": "^2.1.0" }, - "engines": { - "node": ">=4.0" - }, - "homepage": "https://github.com/estools/estraverse", "license": "BSD-2-Clause", - "main": "estraverse.js", - "maintainers": [ - { - "name": "Yusuke Suzuki", - "email": "utatane.tea@gmail.com", - "url": "http://github.com/Constellation" - } - ], - "name": "estraverse", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/estools/estraverse.git" - }, "scripts": { - "lint": "jshint estraverse.js", "test": "npm run-script lint && npm run-script unit-test", + "lint": "jshint estraverse.js", "unit-test": "mocha --compilers js:babel-register" - }, - "version": "5.2.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/esrecurse/package.json b/tools/node_modules/eslint/node_modules/esrecurse/package.json index 8e2661c6326..dec5b1bc1fd 100755 --- a/tools/node_modules/eslint/node_modules/esrecurse/package.json +++ b/tools/node_modules/eslint/node_modules/esrecurse/package.json @@ -1,18 +1,26 @@ { - "babel": { - "presets": [ - "es2015" - ] + "name": "esrecurse", + "description": "ECMAScript AST recursive visitor", + "homepage": "https://github.com/estools/esrecurse", + "main": "esrecurse.js", + "version": "4.3.0", + "engines": { + "node": ">=4.0" }, - "bugs": { - "url": "https://github.com/estools/esrecurse/issues" + "maintainers": [ + { + "name": "Yusuke Suzuki", + "email": "utatane.tea@gmail.com", + "web": "https://github.com/Constellation" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/estools/esrecurse.git" }, - "bundleDependencies": false, "dependencies": { "estraverse": "^5.2.0" }, - "deprecated": false, - "description": "ECMAScript AST recursive visitor", "devDependencies": { "babel-cli": "^6.24.1", "babel-eslint": "^7.2.3", @@ -30,28 +38,15 @@ "jsdoc": "^3.3.0-alpha10", "minimist": "^1.1.0" }, - "engines": { - "node": ">=4.0" - }, - "homepage": "https://github.com/estools/esrecurse", "license": "BSD-2-Clause", - "main": "esrecurse.js", - "maintainers": [ - { - "name": "Yusuke Suzuki", - "email": "utatane.tea@gmail.com", - "url": "https://github.com/Constellation" - } - ], - "name": "esrecurse", - "repository": { - "type": "git", - "url": "git+https://github.com/estools/esrecurse.git" - }, "scripts": { - "lint": "gulp lint", "test": "gulp travis", - "unit-test": "gulp test" + "unit-test": "gulp test", + "lint": "gulp lint" }, - "version": "4.3.0" -} \ No newline at end of file + "babel": { + "presets": [ + "es2015" + ] + } +} diff --git a/tools/node_modules/eslint/node_modules/estraverse/package.json b/tools/node_modules/eslint/node_modules/estraverse/package.json index 8a9a242d0fd..11382386723 100644 --- a/tools/node_modules/eslint/node_modules/estraverse/package.json +++ b/tools/node_modules/eslint/node_modules/estraverse/package.json @@ -1,10 +1,23 @@ { - "bugs": { - "url": "https://github.com/estools/estraverse/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "estraverse", "description": "ECMAScript JS AST traversal functions", + "homepage": "https://github.com/estools/estraverse", + "main": "estraverse.js", + "version": "4.3.0", + "engines": { + "node": ">=4.0" + }, + "maintainers": [ + { + "name": "Yusuke Suzuki", + "email": "utatane.tea@gmail.com", + "web": "http://github.com/Constellation" + } + ], + "repository": { + "type": "git", + "url": "http://github.com/estools/estraverse.git" + }, "devDependencies": { "babel-preset-env": "^1.6.1", "babel-register": "^6.3.13", @@ -18,28 +31,10 @@ "jshint": "^2.5.6", "mocha": "^2.1.0" }, - "engines": { - "node": ">=4.0" - }, - "homepage": "https://github.com/estools/estraverse", "license": "BSD-2-Clause", - "main": "estraverse.js", - "maintainers": [ - { - "name": "Yusuke Suzuki", - "email": "utatane.tea@gmail.com", - "url": "http://github.com/Constellation" - } - ], - "name": "estraverse", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/estools/estraverse.git" - }, "scripts": { - "lint": "jshint estraverse.js", "test": "npm run-script lint && npm run-script unit-test", + "lint": "jshint estraverse.js", "unit-test": "mocha --compilers js:babel-register" - }, - "version": "4.3.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/esutils/package.json b/tools/node_modules/eslint/node_modules/esutils/package.json index cffa439c8da..8396f4cee3f 100644 --- a/tools/node_modules/eslint/node_modules/esutils/package.json +++ b/tools/node_modules/eslint/node_modules/esutils/package.json @@ -1,49 +1,44 @@ { - "bugs": { - "url": "https://github.com/estools/esutils/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "esutils", "description": "utility box for ECMAScript language tools", - "devDependencies": { - "chai": "~1.7.2", - "coffee-script": "~1.6.3", - "jshint": "2.6.3", - "mocha": "~2.2.1", - "regenerate": "~1.3.1", - "unicode-9.0.0": "~0.7.0" + "homepage": "https://github.com/estools/esutils", + "main": "lib/utils.js", + "version": "2.0.3", + "engines": { + "node": ">=0.10.0" }, "directories": { "lib": "./lib" }, - "engines": { - "node": ">=0.10.0" - }, "files": [ "LICENSE.BSD", "README.md", "lib" ], - "homepage": "https://github.com/estools/esutils", - "license": "BSD-2-Clause", - "main": "lib/utils.js", "maintainers": [ { "name": "Yusuke Suzuki", "email": "utatane.tea@gmail.com", - "url": "http://github.com/Constellation" + "web": "http://github.com/Constellation" } ], - "name": "esutils", "repository": { "type": "git", - "url": "git+ssh://git@github.com/estools/esutils.git" + "url": "http://github.com/estools/esutils.git" + }, + "devDependencies": { + "chai": "~1.7.2", + "coffee-script": "~1.6.3", + "jshint": "2.6.3", + "mocha": "~2.2.1", + "regenerate": "~1.3.1", + "unicode-9.0.0": "~0.7.0" }, + "license": "BSD-2-Clause", "scripts": { - "generate-regex": "node tools/generate-identifier-regex.js", - "lint": "jshint lib/*.js", "test": "npm run-script lint && npm run-script unit-test", - "unit-test": "mocha --compilers coffee:coffee-script -R spec" - }, - "version": "2.0.3" -} \ No newline at end of file + "lint": "jshint lib/*.js", + "unit-test": "mocha --compilers coffee:coffee-script -R spec", + "generate-regex": "node tools/generate-identifier-regex.js" + } +} diff --git a/tools/node_modules/eslint/node_modules/extend/.jscs.json b/tools/node_modules/eslint/node_modules/extend/.jscs.json deleted file mode 100644 index 3cce01d7832..00000000000 --- a/tools/node_modules/eslint/node_modules/extend/.jscs.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "es3": true, - - "additionalRules": [], - - "requireSemicolons": true, - - "disallowMultipleSpaces": true, - - "disallowIdentifierNames": [], - - "requireCurlyBraces": { - "allExcept": [], - "keywords": ["if", "else", "for", "while", "do", "try", "catch"] - }, - - "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], - - "disallowSpaceAfterKeywords": [], - - "disallowSpaceBeforeComma": true, - "disallowSpaceAfterComma": false, - "disallowSpaceBeforeSemicolon": true, - - "disallowNodeTypes": [ - "DebuggerStatement", - "LabeledStatement", - "SwitchCase", - "SwitchStatement", - "WithStatement" - ], - - "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, - - "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, - "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, - "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, - "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, - - "requireSpaceBetweenArguments": true, - - "disallowSpacesInsideParentheses": true, - - "disallowSpacesInsideArrayBrackets": true, - - "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, - - "disallowSpaceAfterObjectKeys": true, - - "requireCommaBeforeLineBreak": true, - - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], - "requireSpaceAfterPrefixUnaryOperators": [], - - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "requireSpaceBeforePostfixUnaryOperators": [], - - "disallowSpaceBeforeBinaryOperators": [], - "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - - "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - "disallowSpaceAfterBinaryOperators": [], - - "disallowImplicitTypeConversion": ["binary", "string"], - - "disallowKeywords": ["with", "eval"], - - "requireKeywordsOnNewLine": [], - "disallowKeywordsOnNewLine": ["else"], - - "requireLineFeedAtFileEnd": true, - - "disallowTrailingWhitespace": true, - - "disallowTrailingComma": true, - - "excludeFiles": ["node_modules/**", "vendor/**"], - - "disallowMultipleLineStrings": true, - - "requireDotNotation": { "allExcept": ["keywords"] }, - - "requireParenthesesAroundIIFE": true, - - "validateLineBreaks": "LF", - - "validateQuoteMarks": { - "escape": true, - "mark": "'" - }, - - "disallowOperatorBeforeLineBreak": [], - - "requireSpaceBeforeKeywords": [ - "do", - "for", - "if", - "else", - "switch", - "case", - "try", - "catch", - "finally", - "while", - "with", - "return" - ], - - "validateAlignedFunctionParameters": { - "lineBreakAfterOpeningBraces": true, - "lineBreakBeforeClosingBraces": true - }, - - "requirePaddingNewLinesBeforeExport": true, - - "validateNewlineAfterArrayElements": { - "maximum": 6 - }, - - "requirePaddingNewLinesAfterUseStrict": true, - - "disallowArrowFunctions": true, - - "disallowMultiLineTernary": true, - - "validateOrderInObjectKeys": false, - - "disallowIdenticalDestructuringNames": true, - - "disallowNestedTernaries": { "maxLevel": 1 }, - - "requireSpaceAfterComma": { "allExcept": ["trailing"] }, - "requireAlignedMultilineParams": false, - - "requireSpacesInGenerator": { - "afterStar": true - }, - - "disallowSpacesInGenerator": { - "beforeStar": true - }, - - "disallowVar": false, - - "requireArrayDestructuring": false, - - "requireEnhancedObjectLiterals": false, - - "requireObjectDestructuring": false, - - "requireEarlyReturn": false, - - "requireCapitalizedConstructorsNew": { - "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] - }, - - "requireImportAlphabetized": false, - - "requireSpaceBeforeObjectValues": true, - "requireSpaceBeforeDestructuredValues": true, - - "disallowSpacesInsideTemplateStringPlaceholders": true, - - "disallowArrayDestructuringReturn": false, - - "requireNewlineBeforeSingleStatementsInIf": false, - - "disallowUnusedVariables": true, - - "requireSpacesInsideImportedObjectBraces": true, - - "requireUseStrict": true -} - diff --git a/tools/node_modules/eslint/node_modules/extend/LICENSE b/tools/node_modules/eslint/node_modules/extend/LICENSE deleted file mode 100644 index e16d6a56ca6..00000000000 --- a/tools/node_modules/eslint/node_modules/extend/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Stefan Thomas - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/tools/node_modules/eslint/node_modules/extend/README.md b/tools/node_modules/eslint/node_modules/extend/README.md deleted file mode 100644 index 5b8249aa95e..00000000000 --- a/tools/node_modules/eslint/node_modules/extend/README.md +++ /dev/null @@ -1,81 +0,0 @@ -[![Build Status][travis-svg]][travis-url] -[![dependency status][deps-svg]][deps-url] -[![dev dependency status][dev-deps-svg]][dev-deps-url] - -# extend() for Node.js [![Version Badge][npm-version-png]][npm-url] - -`node-extend` is a port of the classic extend() method from jQuery. It behaves as you expect. It is simple, tried and true. - -Notes: - -* Since Node.js >= 4, - [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) - now offers the same functionality natively (but without the "deep copy" option). - See [ECMAScript 2015 (ES6) in Node.js](https://nodejs.org/en/docs/es6). -* Some native implementations of `Object.assign` in both Node.js and many - browsers (since NPM modules are for the browser too) may not be fully - spec-compliant. - Check [`object.assign`](https://www.npmjs.com/package/object.assign) module for - a compliant candidate. - -## Installation - -This package is available on [npm][npm-url] as: `extend` - -``` sh -npm install extend -``` - -## Usage - -**Syntax:** extend **(** [`deep`], `target`, `object1`, [`objectN`] **)** - -*Extend one object with one or more others, returning the modified object.* - -**Example:** - -``` js -var extend = require('extend'); -extend(targetObject, object1, object2); -``` - -Keep in mind that the target object will be modified, and will be returned from extend(). - -If a boolean true is specified as the first argument, extend performs a deep copy, recursively copying any objects it finds. Otherwise, the copy will share structure with the original object(s). -Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. -Warning: passing `false` as the first argument is not supported. - -### Arguments - -* `deep` *Boolean* (optional) -If set, the merge becomes recursive (i.e. deep copy). -* `target` *Object* -The object to extend. -* `object1` *Object* -The object that will be merged into the first. -* `objectN` *Object* (Optional) -More objects to merge into the first. - -## License - -`node-extend` is licensed under the [MIT License][mit-license-url]. - -## Acknowledgements - -All credit to the jQuery authors for perfecting this amazing utility. - -Ported to Node.js by [Stefan Thomas][github-justmoon] with contributions by [Jonathan Buchanan][github-insin] and [Jordan Harband][github-ljharb]. - -[travis-svg]: https://travis-ci.org/justmoon/node-extend.svg -[travis-url]: https://travis-ci.org/justmoon/node-extend -[npm-url]: https://npmjs.org/package/extend -[mit-license-url]: http://opensource.org/licenses/MIT -[github-justmoon]: https://github.com/justmoon -[github-insin]: https://github.com/insin -[github-ljharb]: https://github.com/ljharb -[npm-version-png]: http://versionbadg.es/justmoon/node-extend.svg -[deps-svg]: https://david-dm.org/justmoon/node-extend.svg -[deps-url]: https://david-dm.org/justmoon/node-extend -[dev-deps-svg]: https://david-dm.org/justmoon/node-extend/dev-status.svg -[dev-deps-url]: https://david-dm.org/justmoon/node-extend#info=devDependencies - diff --git a/tools/node_modules/eslint/node_modules/extend/index.js b/tools/node_modules/eslint/node_modules/extend/index.js deleted file mode 100644 index 2aa3faae68c..00000000000 --- a/tools/node_modules/eslint/node_modules/extend/index.js +++ /dev/null @@ -1,117 +0,0 @@ -'use strict'; - -var hasOwn = Object.prototype.hasOwnProperty; -var toStr = Object.prototype.toString; -var defineProperty = Object.defineProperty; -var gOPD = Object.getOwnPropertyDescriptor; - -var isArray = function isArray(arr) { - if (typeof Array.isArray === 'function') { - return Array.isArray(arr); - } - - return toStr.call(arr) === '[object Array]'; -}; - -var isPlainObject = function isPlainObject(obj) { - if (!obj || toStr.call(obj) !== '[object Object]') { - return false; - } - - var hasOwnConstructor = hasOwn.call(obj, 'constructor'); - var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); - // Not own constructor property must be Object - if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - var key; - for (key in obj) { /**/ } - - return typeof key === 'undefined' || hasOwn.call(obj, key); -}; - -// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target -var setProperty = function setProperty(target, options) { - if (defineProperty && options.name === '__proto__') { - defineProperty(target, options.name, { - enumerable: true, - configurable: true, - value: options.newValue, - writable: true - }); - } else { - target[options.name] = options.newValue; - } -}; - -// Return undefined instead of __proto__ if '__proto__' is not an own property -var getProperty = function getProperty(obj, name) { - if (name === '__proto__') { - if (!hasOwn.call(obj, name)) { - return void 0; - } else if (gOPD) { - // In early versions of node, obj['__proto__'] is buggy when obj has - // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. - return gOPD(obj, name).value; - } - } - - return obj[name]; -}; - -module.exports = function extend() { - var options, name, src, copy, copyIsArray, clone; - var target = arguments[0]; - var i = 1; - var length = arguments.length; - var deep = false; - - // Handle a deep copy situation - if (typeof target === 'boolean') { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { - target = {}; - } - - for (; i < length; ++i) { - options = arguments[i]; - // Only deal with non-null/undefined values - if (options != null) { - // Extend the base object - for (name in options) { - src = getProperty(target, name); - copy = getProperty(options, name); - - // Prevent never-ending loop - if (target !== copy) { - // Recurse if we're merging plain objects or arrays - if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && isArray(src) ? src : []; - } else { - clone = src && isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); - - // Don't bring in undefined values - } else if (typeof copy !== 'undefined') { - setProperty(target, { name: name, newValue: copy }); - } - } - } - } - } - - // Return the modified object - return target; -}; diff --git a/tools/node_modules/eslint/node_modules/extend/package.json b/tools/node_modules/eslint/node_modules/extend/package.json deleted file mode 100644 index 429364c0c37..00000000000 --- a/tools/node_modules/eslint/node_modules/extend/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "author": { - "name": "Stefan Thomas", - "email": "justmoon@members.fsf.org", - "url": "http://www.justmoon.net" - }, - "bugs": { - "url": "https://github.com/justmoon/node-extend/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jordan Harband", - "url": "https://github.com/ljharb" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Port of jQuery.extend for node.js and the browser", - "devDependencies": { - "@ljharb/eslint-config": "^12.2.1", - "covert": "^1.1.0", - "eslint": "^4.19.1", - "jscs": "^3.0.7", - "tape": "^4.9.1" - }, - "homepage": "https://github.com/justmoon/node-extend#readme", - "keywords": [ - "extend", - "clone", - "merge" - ], - "license": "MIT", - "main": "index", - "name": "extend", - "repository": { - "type": "git", - "url": "git+https://github.com/justmoon/node-extend.git" - }, - "scripts": { - "coverage": "covert test/index.js", - "coverage-quiet": "covert test/index.js --quiet", - "eslint": "eslint *.js */*.js", - "jscs": "jscs *.js */*.js", - "lint": "npm run jscs && npm run eslint", - "posttest": "npm run coverage-quiet", - "pretest": "npm run lint", - "test": "npm run tests-only", - "tests-only": "node test" - }, - "version": "3.0.2" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json b/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json index 6377dca7e45..3cfe66c68e8 100644 --- a/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json +++ b/tools/node_modules/eslint/node_modules/fast-deep-equal/package.json @@ -1,13 +1,33 @@ { - "author": { - "name": "Evgeny Poberezkin" + "name": "fast-deep-equal", + "version": "3.1.3", + "description": "Fast deep equal", + "main": "index.js", + "scripts": { + "eslint": "eslint *.js benchmark/*.js spec/*.js", + "build": "node build", + "benchmark": "npm i && npm run build && cd ./benchmark && npm i && node ./", + "test-spec": "mocha spec/*.spec.js -R spec", + "test-cov": "nyc npm run test-spec", + "test-ts": "tsc --target ES5 --noImplicitAny index.d.ts", + "test": "npm run build && npm run eslint && npm run test-ts && npm run test-cov", + "prepublish": "npm run build" }, + "repository": { + "type": "git", + "url": "git+https://github.com/epoberezkin/fast-deep-equal.git" + }, + "keywords": [ + "fast", + "equal", + "deep-equal" + ], + "author": "Evgeny Poberezkin", + "license": "MIT", "bugs": { "url": "https://github.com/epoberezkin/fast-deep-equal/issues" }, - "bundleDependencies": false, - "deprecated": false, - "description": "Fast deep equal", + "homepage": "https://github.com/epoberezkin/fast-deep-equal#readme", "devDependencies": { "coveralls": "^3.1.0", "dot": "^1.1.2", @@ -20,22 +40,6 @@ "sinon": "^9.0.2", "typescript": "^3.9.5" }, - "files": [ - "index.js", - "index.d.ts", - "react.js", - "react.d.ts", - "es6/" - ], - "homepage": "https://github.com/epoberezkin/fast-deep-equal#readme", - "keywords": [ - "fast", - "equal", - "deep-equal" - ], - "license": "MIT", - "main": "index.js", - "name": "fast-deep-equal", "nyc": { "exclude": [ "**/spec/**", @@ -46,20 +50,12 @@ "text-summary" ] }, - "repository": { - "type": "git", - "url": "git+https://github.com/epoberezkin/fast-deep-equal.git" - }, - "scripts": { - "benchmark": "npm i && npm run build && cd ./benchmark && npm i && node ./", - "build": "node build", - "eslint": "eslint *.js benchmark/*.js spec/*.js", - "prepublish": "npm run build", - "test": "npm run build && npm run eslint && npm run test-ts && npm run test-cov", - "test-cov": "nyc npm run test-spec", - "test-spec": "mocha spec/*.spec.js -R spec", - "test-ts": "tsc --target ES5 --noImplicitAny index.d.ts" - }, - "types": "index.d.ts", - "version": "3.1.3" -} \ No newline at end of file + "files": [ + "index.js", + "index.d.ts", + "react.js", + "react.d.ts", + "es6/" + ], + "types": "index.d.ts" +} diff --git a/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json index 46f5c8e221c..ad2c8bff7c9 100644 --- a/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json +++ b/tools/node_modules/eslint/node_modules/fast-json-stable-stringify/package.json @@ -1,16 +1,10 @@ { - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/epoberezkin/fast-json-stable-stringify/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, + "name": "fast-json-stable-stringify", + "version": "2.1.0", "description": "deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify", + "main": "index.js", + "types": "index.d.ts", + "dependencies": {}, "devDependencies": { "benchmark": "^2.1.4", "coveralls": "^3.0.0", @@ -22,6 +16,15 @@ "pre-commit": "^1.2.2", "tape": "^4.11.0" }, + "scripts": { + "eslint": "eslint index.js test", + "test-spec": "tape test/*.js", + "test": "npm run eslint && nyc npm run test-spec" + }, + "repository": { + "type": "git", + "url": "git://github.com/epoberezkin/fast-json-stable-stringify.git" + }, "homepage": "https://github.com/epoberezkin/fast-json-stable-stringify", "keywords": [ "json", @@ -30,9 +33,12 @@ "hash", "stable" ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, "license": "MIT", - "main": "index.js", - "name": "fast-json-stable-stringify", "nyc": { "exclude": [ "test", @@ -42,16 +48,5 @@ "lcov", "text-summary" ] - }, - "repository": { - "type": "git", - "url": "git://github.com/epoberezkin/fast-json-stable-stringify.git" - }, - "scripts": { - "eslint": "eslint index.js test", - "test": "npm run eslint && nyc npm run test-spec", - "test-spec": "tape test/*.js" - }, - "types": "index.d.ts", - "version": "2.1.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json b/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json index 85c3001e0bf..5b4736d4537 100644 --- a/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json +++ b/tools/node_modules/eslint/node_modules/fast-levenshtein/package.json @@ -1,15 +1,17 @@ { - "author": { - "name": "Ramesh Nair", - "email": "ram@hiddentao.com", - "url": "http://www.hiddentao.com/" - }, - "bugs": { - "url": "https://github.com/hiddentao/fast-levenshtein/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "fast-levenshtein", + "version": "2.0.6", "description": "Efficient implementation of Levenshtein algorithm with locale-specific collator support.", + "main": "levenshtein.js", + "files": [ + "levenshtein.js" + ], + "scripts": { + "build": "grunt build", + "prepublish": "npm run build", + "benchmark": "grunt benchmark", + "test": "mocha" + }, "devDependencies": { "chai": "~1.5.0", "grunt": "~0.4.1", @@ -23,27 +25,15 @@ "lodash": "^4.0.1", "mocha": "~1.9.0" }, - "files": [ - "levenshtein.js" - ], - "homepage": "https://github.com/hiddentao/fast-levenshtein#readme", + "repository": { + "type": "git", + "url": "https://github.com/hiddentao/fast-levenshtein.git" + }, "keywords": [ "levenshtein", "distance", "string" ], - "license": "MIT", - "main": "levenshtein.js", - "name": "fast-levenshtein", - "repository": { - "type": "git", - "url": "git+https://github.com/hiddentao/fast-levenshtein.git" - }, - "scripts": { - "benchmark": "grunt benchmark", - "build": "grunt build", - "prepublish": "npm run build", - "test": "mocha" - }, - "version": "2.0.6" -} \ No newline at end of file + "author": "Ramesh Nair (http://www.hiddentao.com/)", + "license": "MIT" +} diff --git a/tools/node_modules/eslint/node_modules/file-entry-cache/package.json b/tools/node_modules/eslint/node_modules/file-entry-cache/package.json index b9010e8a499..f03ef48cc6f 100644 --- a/tools/node_modules/eslint/node_modules/file-entry-cache/package.json +++ b/tools/node_modules/eslint/node_modules/file-entry-cache/package.json @@ -1,12 +1,50 @@ { + "name": "file-entry-cache", + "version": "6.0.1", + "description": "Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process", + "repository": "royriojas/file-entry-cache", + "license": "MIT", "author": { "name": "Roy Riojas", "url": "http://royriojas.com" }, - "bugs": { - "url": "https://github.com/royriojas/file-entry-cache/issues" + "main": "cache.js", + "files": [ + "cache.js" + ], + "engines": { + "node": "^10.12.0 || >=12.0.0" }, - "bundleDependencies": false, + "scripts": { + "eslint": "eslint --cache --cache-location=node_modules/.cache/ 'cache.js' 'test/**/*.js' 'perf.js'", + "autofix": "npm run eslint -- --fix", + "install-hooks": "prepush install && changelogx install-hook && precommit install", + "changelog": "changelogx -f markdown -o ./changelog.md", + "do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify", + "pre-v": "npm run test", + "post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify", + "bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v", + "bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v", + "bump-patch": "npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v", + "test": "npm run eslint --silent && mocha -R spec test/specs", + "perf": "node perf.js", + "cover": "istanbul cover test/runner.js html text-summary", + "watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary" + }, + "prepush": [ + "npm run eslint --silent" + ], + "precommit": [ + "npm run eslint --silent" + ], + "keywords": [ + "file cache", + "task cache files", + "file cache", + "key par", + "key value", + "cache" + ], "changelogx": { "ignoreRegExp": [ "BLD: Release", @@ -19,11 +57,6 @@ "issueIDURL": "https://github.com/royriojas/file-entry-cache/issues/{0}", "projectName": "file-entry-cache" }, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "deprecated": false, - "description": "Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process", "devDependencies": { "chai": "^4.2.0", "changelogx": "^5.0.6", @@ -41,49 +74,7 @@ "watch-run": "^1.2.5", "write": "^2.0.0" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "files": [ - "cache.js" - ], - "homepage": "https://github.com/royriojas/file-entry-cache#readme", - "keywords": [ - "file cache", - "task cache files", - "file cache", - "key par", - "key value", - "cache" - ], - "license": "MIT", - "main": "cache.js", - "name": "file-entry-cache", - "precommit": [ - "npm run eslint --silent" - ], - "prepush": [ - "npm run eslint --silent" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/royriojas/file-entry-cache.git" - }, - "scripts": { - "autofix": "npm run eslint -- --fix", - "bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v", - "bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v", - "bump-patch": "npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v", - "changelog": "changelogx -f markdown -o ./changelog.md", - "cover": "istanbul cover test/runner.js html text-summary", - "do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify", - "eslint": "eslint --cache --cache-location=node_modules/.cache/ 'cache.js' 'test/**/*.js' 'perf.js'", - "install-hooks": "prepush install && changelogx install-hook && precommit install", - "perf": "node perf.js", - "post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify", - "pre-v": "npm run test", - "test": "npm run eslint --silent && mocha -R spec test/specs", - "watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary" - }, - "version": "6.0.1" -} \ No newline at end of file + "dependencies": { + "flat-cache": "^3.0.4" + } +} diff --git a/tools/node_modules/eslint/node_modules/flat-cache/package.json b/tools/node_modules/eslint/node_modules/flat-cache/package.json index a08d68db3dd..8bc6f87c510 100644 --- a/tools/node_modules/eslint/node_modules/flat-cache/package.json +++ b/tools/node_modules/eslint/node_modules/flat-cache/package.json @@ -1,12 +1,55 @@ { + "name": "flat-cache", + "version": "3.0.4", + "description": "A stupidly simple key/value storage using files to persist some data", + "repository": "royriojas/flat-cache", + "license": "MIT", "author": { "name": "Roy Riojas", "url": "http://royriojas.com" }, - "bugs": { - "url": "https://github.com/royriojas/flat-cache/issues" + "main": "src/cache.js", + "files": [ + "src/cache.js", + "src/del.js", + "src/utils.js" + ], + "engines": { + "node": "^10.12.0 || >=12.0.0" }, - "bundleDependencies": false, + "precommit": [ + "npm run verify --silent" + ], + "prepush": [ + "npm run verify --silent" + ], + "scripts": { + "eslint": "eslint --cache --cache-location=node_modules/.cache/ ./src/**/*.js ./test/**/*.js", + "eslint-fix": "npm run eslint -- --fix", + "autofix": "npm run eslint-fix", + "check": "npm run eslint", + "verify": "npm run eslint && npm run test:cache", + "install-hooks": "prepush install && changelogx install-hook && precommit install", + "changelog": "changelogx -f markdown -o ./changelog.md", + "do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify", + "pre-v": "npm run verify", + "post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify", + "bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v", + "bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v", + "bump-patch": "npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v", + "test:cache": "mocha -R spec test/specs", + "test": "npm run verify --silent", + "cover": "istanbul cover test/runner.js html text-summary", + "watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary" + }, + "keywords": [ + "json cache", + "simple cache", + "file cache", + "key par", + "key value", + "cache" + ], "changelogx": { "ignoreRegExp": [ "BLD: Release", @@ -19,12 +62,6 @@ "issueIDURL": "https://github.com/royriojas/flat-cache/issues/{0}", "projectName": "flat-cache" }, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "deprecated": false, - "description": "A stupidly simple key/value storage using files to persist some data", "devDependencies": { "chai": "^4.2.0", "changelogx": "^5.0.6", @@ -40,54 +77,8 @@ "prettier": "^2.1.2", "watch-run": "^1.2.5" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "files": [ - "src/cache.js", - "src/del.js", - "src/utils.js" - ], - "homepage": "https://github.com/royriojas/flat-cache#readme", - "keywords": [ - "json cache", - "simple cache", - "file cache", - "key par", - "key value", - "cache" - ], - "license": "MIT", - "main": "src/cache.js", - "name": "flat-cache", - "precommit": [ - "npm run verify --silent" - ], - "prepush": [ - "npm run verify --silent" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/royriojas/flat-cache.git" - }, - "scripts": { - "autofix": "npm run eslint-fix", - "bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v", - "bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v", - "bump-patch": "npm run pre-v && npm version patch -m 'BLD: Release v%s' && npm run post-v", - "changelog": "changelogx -f markdown -o ./changelog.md", - "check": "npm run eslint", - "cover": "istanbul cover test/runner.js html text-summary", - "do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify", - "eslint": "eslint --cache --cache-location=node_modules/.cache/ ./src/**/*.js ./test/**/*.js", - "eslint-fix": "npm run eslint -- --fix", - "install-hooks": "prepush install && changelogx install-hook && precommit install", - "post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify", - "pre-v": "npm run verify", - "test": "npm run verify --silent", - "test:cache": "mocha -R spec test/specs", - "verify": "npm run eslint && npm run test:cache", - "watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary" - }, - "version": "3.0.4" -} \ No newline at end of file + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } +} diff --git a/tools/node_modules/eslint/node_modules/flatted/package.json b/tools/node_modules/eslint/node_modules/flatted/package.json index 41a5b5defc6..7b106e797c1 100644 --- a/tools/node_modules/eslint/node_modules/flatted/package.json +++ b/tools/node_modules/eslint/node_modules/flatted/package.json @@ -1,13 +1,37 @@ { - "author": { - "name": "Andrea Giammarchi" + "name": "flatted", + "version": "3.1.1", + "description": "A super light and fast circular JSON parser.", + "unpkg": "min.js", + "types": "types.d.ts", + "main": "./cjs/index.js", + "scripts": { + "build": "npm run cjs && npm run rollup:es && npm run rollup:babel && npm run min && npm run test && npm run size", + "cjs": "ascjs esm cjs", + "rollup:es": "rollup --config rollup/es.config.js && sed -i.bck 's/^var /self./' es.js && rm -rf es.js.bck", + "rollup:babel": "rollup --config rollup/babel.config.js && sed -i.bck 's/^var /self./' index.js && rm -rf index.js.bck && drop-babel-typeof index.js", + "min": "terser index.js -c -m -o min.js", + "size": "cat index.js | wc -c;cat min.js | wc -c;gzip -c9 min.js | wc -c;cat min.js | brotli | wc -c; cat es.js | brotli | wc -c", + "coveralls": "nyc report --reporter=text-lcov | coveralls", + "test": "nyc node test/index.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/WebReflection/flatted.git" }, + "keywords": [ + "circular", + "JSON", + "fast", + "parser", + "minimal" + ], + "author": "Andrea Giammarchi", + "license": "ISC", "bugs": { "url": "https://github.com/WebReflection/flatted/issues" }, - "bundleDependencies": false, - "deprecated": false, - "description": "A super light and fast circular JSON parser.", + "homepage": "https://github.com/WebReflection/flatted#readme", "devDependencies": { "@babel/core": "^7.11.6", "@babel/preset-env": "^7.11.5", @@ -24,38 +48,10 @@ "rollup-plugin-terser": "^7.0.2", "terser": "^5.3.0" }, + "module": "./esm/index.js", + "type": "module", "exports": { "import": "./esm/index.js", "default": "./cjs/index.js" - }, - "homepage": "https://github.com/WebReflection/flatted#readme", - "keywords": [ - "circular", - "JSON", - "fast", - "parser", - "minimal" - ], - "license": "ISC", - "main": "./cjs/index.js", - "module": "./esm/index.js", - "name": "flatted", - "repository": { - "type": "git", - "url": "git+https://github.com/WebReflection/flatted.git" - }, - "scripts": { - "build": "npm run cjs && npm run rollup:es && npm run rollup:babel && npm run min && npm run test && npm run size", - "cjs": "ascjs esm cjs", - "coveralls": "nyc report --reporter=text-lcov | coveralls", - "min": "terser index.js -c -m -o min.js", - "rollup:babel": "rollup --config rollup/babel.config.js && sed -i.bck 's/^var /self./' index.js && rm -rf index.js.bck && drop-babel-typeof index.js", - "rollup:es": "rollup --config rollup/es.config.js && sed -i.bck 's/^var /self./' es.js && rm -rf es.js.bck", - "size": "cat index.js | wc -c;cat min.js | wc -c;gzip -c9 min.js | wc -c;cat min.js | brotli | wc -c; cat es.js | brotli | wc -c", - "test": "nyc node test/index.js" - }, - "type": "module", - "types": "types.d.ts", - "unpkg": "min.js", - "version": "3.1.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/fs.realpath/package.json b/tools/node_modules/eslint/node_modules/fs.realpath/package.json index 9007f26d64f..3edc57d21c7 100644 --- a/tools/node_modules/eslint/node_modules/fs.realpath/package.json +++ b/tools/node_modules/eslint/node_modules/fs.realpath/package.json @@ -1,36 +1,26 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/fs.realpath/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, + "name": "fs.realpath", + "version": "1.0.0", "description": "Use node's fs.realpath, but fall back to the JS implementation if the native one fails", + "main": "index.js", + "dependencies": {}, "devDependencies": {}, - "files": [ - "old.js", - "index.js" - ], - "homepage": "https://github.com/isaacs/fs.realpath#readme", + "scripts": { + "test": "tap test/*.js --cov" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/fs.realpath.git" + }, "keywords": [ "realpath", "fs", "polyfill" ], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "license": "ISC", - "main": "index.js", - "name": "fs.realpath", - "repository": { - "type": "git", - "url": "git+https://github.com/isaacs/fs.realpath.git" - }, - "scripts": { - "test": "tap test/*.js --cov" - }, - "version": "1.0.0" -} \ No newline at end of file + "files": [ + "old.js", + "index.js" + ] +} diff --git a/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json b/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json index 27edb36786b..13d6f270cb9 100644 --- a/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json +++ b/tools/node_modules/eslint/node_modules/functional-red-black-tree/package.json @@ -1,22 +1,23 @@ { - "author": { - "name": "Mikola Lysenko" - }, - "bugs": { - "url": "https://github.com/mikolalysenko/functional-red-black-tree/issues" + "name": "functional-red-black-tree", + "version": "1.0.1", + "description": "A fully persistent balanced binary search tree", + "main": "rbtree.js", + "directories": { + "test": "test" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, - "description": "A fully persistent balanced binary search tree", "devDependencies": { "iota-array": "^0.0.1", "tape": "^2.12.0" }, - "directories": { - "test": "test" + "scripts": { + "test": "tape test/*.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/mikolalysenko/functional-red-black-tree.git" }, - "homepage": "https://github.com/mikolalysenko/functional-red-black-tree#readme", "keywords": [ "functional", "red", @@ -31,15 +32,9 @@ "data", "structure" ], + "author": "Mikola Lysenko", "license": "MIT", - "main": "rbtree.js", - "name": "functional-red-black-tree", - "repository": { - "type": "git", - "url": "git://github.com/mikolalysenko/functional-red-black-tree.git" - }, - "scripts": { - "test": "tape test/*.js" - }, - "version": "1.0.1" -} \ No newline at end of file + "bugs": { + "url": "https://github.com/mikolalysenko/functional-red-black-tree/issues" + } +} diff --git a/tools/node_modules/eslint/node_modules/glob-parent/package.json b/tools/node_modules/eslint/node_modules/glob-parent/package.json index 4d6f2f6dd4b..1dfd6bc3900 100644 --- a/tools/node_modules/eslint/node_modules/glob-parent/package.json +++ b/tools/node_modules/eslint/node_modules/glob-parent/package.json @@ -1,28 +1,32 @@ { - "author": { - "name": "Gulp Team", - "email": "team@gulpjs.com", - "url": "https://gulpjs.com/" - }, - "bugs": { - "url": "https://github.com/gulpjs/glob-parent/issues" - }, - "bundleDependencies": false, + "name": "glob-parent", + "version": "5.1.1", + "description": "Extract the non-magic parent path from a glob string.", + "author": "Gulp Team (https://gulpjs.com/)", "contributors": [ - { - "name": "Elan Shanker", - "url": "https://github.com/es128" - }, - { - "name": "Blaine Bublitz", - "email": "blaine.bublitz@gmail.com" - } + "Elan Shanker (https://github.com/es128)", + "Blaine Bublitz " + ], + "repository": "gulpjs/glob-parent", + "license": "ISC", + "engines": { + "node": ">= 6" + }, + "main": "index.js", + "files": [ + "LICENSE", + "index.js" ], + "scripts": { + "lint": "eslint .", + "pretest": "npm run lint", + "test": "nyc mocha --async-only", + "azure-pipelines": "nyc mocha --async-only --reporter xunit -O output=test.xunit", + "coveralls": "nyc report --reporter=text-lcov | coveralls" + }, "dependencies": { "is-glob": "^4.0.1" }, - "deprecated": false, - "description": "Extract the non-magic parent path from a glob string.", "devDependencies": { "coveralls": "^3.0.11", "eslint": "^2.13.1", @@ -31,14 +35,6 @@ "mocha": "^6.0.2", "nyc": "^13.3.0" }, - "engines": { - "node": ">= 6" - }, - "files": [ - "LICENSE", - "index.js" - ], - "homepage": "https://github.com/gulpjs/glob-parent#readme", "keywords": [ "glob", "parent", @@ -48,20 +44,5 @@ "directory", "base", "wildcard" - ], - "license": "ISC", - "main": "index.js", - "name": "glob-parent", - "repository": { - "type": "git", - "url": "git+https://github.com/gulpjs/glob-parent.git" - }, - "scripts": { - "azure-pipelines": "nyc mocha --async-only --reporter xunit -O output=test.xunit", - "coveralls": "nyc report --reporter=text-lcov | coveralls", - "lint": "eslint .", - "pretest": "npm run lint", - "test": "nyc mocha --async-only" - }, - "version": "5.1.1" -} \ No newline at end of file + ] +} diff --git a/tools/node_modules/eslint/node_modules/glob/package.json b/tools/node_modules/eslint/node_modules/glob/package.json index bf5a63608ca..6477c3070cb 100644 --- a/tools/node_modules/eslint/node_modules/glob/package.json +++ b/tools/node_modules/eslint/node_modules/glob/package.json @@ -1,13 +1,21 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "name": "glob", + "description": "a little globber", + "version": "7.1.6", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-glob.git" }, - "bugs": { - "url": "https://github.com/isaacs/node-glob/issues" + "main": "glob.js", + "files": [ + "glob.js", + "sync.js", + "common.js" + ], + "engines": { + "node": "*" }, - "bundleDependencies": false, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -16,41 +24,23 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, - "deprecated": false, - "description": "a little globber", "devDependencies": { "mkdirp": "0", "rimraf": "^2.2.8", "tap": "^12.0.1", "tick": "0.0.6" }, - "engines": { - "node": "*" - }, - "files": [ - "glob.js", - "sync.js", - "common.js" - ], - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "homepage": "https://github.com/isaacs/node-glob#readme", - "license": "ISC", - "main": "glob.js", - "name": "glob", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-glob.git" - }, "scripts": { - "bench": "bash benchmark.sh", - "benchclean": "node benchclean.js", "prepublish": "npm run benchclean", - "prof": "bash prof.sh && cat profile.txt", "profclean": "rm -f v8.log profile.txt", "test": "tap test/*.js --cov", - "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js" + "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js", + "bench": "bash benchmark.sh", + "prof": "bash prof.sh && cat profile.txt", + "benchclean": "node benchclean.js" }, - "version": "7.1.6" -} \ No newline at end of file + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } +} diff --git a/tools/node_modules/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json index 66435a6834e..1569748ef90 100644 --- a/tools/node_modules/eslint/node_modules/globals/package.json +++ b/tools/node_modules/eslint/node_modules/globals/package.json @@ -1,61 +1,52 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "https://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/globals/issues" - }, - "bundleDependencies": false, - "dependencies": { - "type-fest": "^0.8.1" - }, - "deprecated": false, - "description": "Global identifiers from different JavaScript environments", - "devDependencies": { - "ava": "^2.2.0", - "tsd": "^0.9.0", - "xo": "^0.25.3" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts", - "globals.json" - ], - "funding": "https://github.com/sponsors/sindresorhus", - "homepage": "https://github.com/sindresorhus/globals#readme", - "keywords": [ - "globals", - "global", - "identifiers", - "variables", - "vars", - "jshint", - "eslint", - "environments" - ], - "license": "MIT", - "name": "globals", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/globals.git" - }, - "scripts": { - "test": "xo && ava" - }, - "tsd": { - "compilerOptions": { - "resolveJsonModule": true - } - }, - "version": "12.4.0", - "xo": { - "ignores": [ - "get-browser-globals.js" - ] - } -} \ No newline at end of file + "name": "globals", + "version": "12.4.0", + "description": "Global identifiers from different JavaScript environments", + "license": "MIT", + "repository": "sindresorhus/globals", + "funding": "https://github.com/sponsors/sindresorhus", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js", + "index.d.ts", + "globals.json" + ], + "keywords": [ + "globals", + "global", + "identifiers", + "variables", + "vars", + "jshint", + "eslint", + "environments" + ], + "dependencies": { + "type-fest": "^0.8.1" + }, + "devDependencies": { + "ava": "^2.2.0", + "tsd": "^0.9.0", + "xo": "^0.25.3" + }, + "xo": { + "ignores": [ + "get-browser-globals.js" + ] + }, + "tsd": { + "compilerOptions": { + "resolveJsonModule": true + } + } +} diff --git a/tools/node_modules/eslint/node_modules/has-flag/index.js b/tools/node_modules/eslint/node_modules/has-flag/index.js index 5139728fba6..b6f80b1f8ff 100644 --- a/tools/node_modules/eslint/node_modules/has-flag/index.js +++ b/tools/node_modules/eslint/node_modules/has-flag/index.js @@ -1,8 +1,8 @@ 'use strict'; -module.exports = (flag, argv) => { - argv = argv || process.argv; + +module.exports = (flag, argv = process.argv) => { const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); - const pos = argv.indexOf(prefix + flag); - const terminatorPos = argv.indexOf('--'); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf('--'); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); }; diff --git a/tools/node_modules/eslint/node_modules/has-flag/package.json b/tools/node_modules/eslint/node_modules/has-flag/package.json index 1903ff01cf6..a9cba4b856d 100644 --- a/tools/node_modules/eslint/node_modules/has-flag/package.json +++ b/tools/node_modules/eslint/node_modules/has-flag/package.json @@ -1,53 +1,46 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/has-flag/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Check if argv has a specific flag", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "engines": { - "node": ">=4" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/has-flag#readme", - "keywords": [ - "has", - "check", - "detect", - "contains", - "find", - "flag", - "cli", - "command-line", - "argv", - "process", - "arg", - "args", - "argument", - "arguments", - "getopt", - "minimist", - "optimist" - ], - "license": "MIT", - "name": "has-flag", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/has-flag.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "3.0.0" -} \ No newline at end of file + "name": "has-flag", + "version": "4.0.0", + "description": "Check if argv has a specific flag", + "license": "MIT", + "repository": "sindresorhus/has-flag", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "has", + "check", + "detect", + "contains", + "find", + "flag", + "cli", + "command-line", + "argv", + "process", + "arg", + "args", + "argument", + "arguments", + "getopt", + "minimist", + "optimist" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/has-flag/readme.md b/tools/node_modules/eslint/node_modules/has-flag/readme.md index 677893c278a..3f72dff29a6 100644 --- a/tools/node_modules/eslint/node_modules/has-flag/readme.md +++ b/tools/node_modules/eslint/node_modules/has-flag/readme.md @@ -4,6 +4,20 @@ Correctly stops looking after an `--` argument terminator. +--- + +
+ + Get professional support for this package with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+
+ +--- + ## Install @@ -65,6 +79,11 @@ Default: `process.argv` CLI arguments. +## Security + +To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. + + ## License MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/tools/node_modules/eslint/node_modules/ignore/package.json b/tools/node_modules/eslint/node_modules/ignore/package.json index 1c14f37a316..8cb1b787325 100644 --- a/tools/node_modules/eslint/node_modules/ignore/package.json +++ b/tools/node_modules/eslint/node_modules/ignore/package.json @@ -1,38 +1,28 @@ { - "author": { - "name": "kael" - }, - "bugs": { - "url": "https://github.com/kaelzhang/node-ignore/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "ignore", + "version": "4.0.6", "description": "Ignore is a manager and filter for .gitignore rules.", - "devDependencies": { - "babel-cli": "^6.26.0", - "babel-preset-env": "^1.7.0", - "codecov": "^3.0.4", - "eslint": "^5.3.0", - "eslint-config-ostai": "^1.3.2", - "eslint-plugin-import": "^2.13.0", - "mkdirp": "^0.5.1", - "pre-suf": "^1.1.0", - "rimraf": "^2.6.2", - "spawn-sync": "^2.0.0", - "tap": "^12.0.1", - "tmp": "0.0.33", - "typescript": "^3.0.1" - }, - "engines": { - "node": ">= 4" - }, "files": [ "legacy.js", "index.js", "index.d.ts", "LICENSE-MIT" ], - "homepage": "https://github.com/kaelzhang/node-ignore#readme", + "scripts": { + "prepublish": "npm run build", + "build": "babel -o legacy.js index.js", + "test:lint": "eslint .", + "test:tsc": "tsc ./test/ts/simple.ts", + "test:git": "tap test/git-check-ignore.js", + "test:ignore": "tap test/ignore.js --coverage", + "test-no-cov": "npm run test:lint && npm run test:tsc && tap test/*.js --coverage", + "test": "npm run test-no-cov", + "posttest": "tap --coverage-report=html && codecov" + }, + "repository": { + "type": "git", + "url": "git@github.com:kaelzhang/node-ignore.git" + }, "keywords": [ "ignore", ".gitignore", @@ -48,22 +38,27 @@ "asterisks", "regular-expression" ], + "author": "kael", "license": "MIT", - "name": "ignore", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/kaelzhang/node-ignore.git" + "bugs": { + "url": "https://github.com/kaelzhang/node-ignore/issues" }, - "scripts": { - "build": "babel -o legacy.js index.js", - "posttest": "tap --coverage-report=html && codecov", - "prepublish": "npm run build", - "test": "npm run test-no-cov", - "test-no-cov": "npm run test:lint && npm run test:tsc && tap test/*.js --coverage", - "test:git": "tap test/git-check-ignore.js", - "test:ignore": "tap test/ignore.js --coverage", - "test:lint": "eslint .", - "test:tsc": "tsc ./test/ts/simple.ts" + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-preset-env": "^1.7.0", + "codecov": "^3.0.4", + "eslint": "^5.3.0", + "eslint-config-ostai": "^1.3.2", + "eslint-plugin-import": "^2.13.0", + "mkdirp": "^0.5.1", + "pre-suf": "^1.1.0", + "rimraf": "^2.6.2", + "spawn-sync": "^2.0.0", + "tap": "^12.0.1", + "tmp": "0.0.33", + "typescript": "^3.0.1" }, - "version": "4.0.6" -} \ No newline at end of file + "engines": { + "node": ">= 4" + } +} diff --git a/tools/node_modules/eslint/node_modules/import-fresh/package.json b/tools/node_modules/eslint/node_modules/import-fresh/package.json index 5a30f806150..0c093620687 100644 --- a/tools/node_modules/eslint/node_modules/import-fresh/package.json +++ b/tools/node_modules/eslint/node_modules/import-fresh/package.json @@ -1,52 +1,43 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "https://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/import-fresh/issues" - }, - "bundleDependencies": false, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "deprecated": false, - "description": "Import a module while bypassing the cache", - "devDependencies": { - "ava": "^1.0.1", - "heapdump": "^0.3.12", - "tsd": "^0.7.3", - "xo": "^0.23.0" - }, - "engines": { - "node": ">=6" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "funding": "https://github.com/sponsors/sindresorhus", - "homepage": "https://github.com/sindresorhus/import-fresh#readme", - "keywords": [ - "require", - "cache", - "uncache", - "uncached", - "module", - "fresh", - "bypass" - ], - "license": "MIT", - "name": "import-fresh", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/import-fresh.git" - }, - "scripts": { - "heapdump": "node heapdump.js", - "test": "xo && ava && tsd" - }, - "version": "3.3.0" -} \ No newline at end of file + "name": "import-fresh", + "version": "3.3.0", + "description": "Import a module while bypassing the cache", + "license": "MIT", + "repository": "sindresorhus/import-fresh", + "funding": "https://github.com/sponsors/sindresorhus", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "xo && ava && tsd", + "heapdump": "node heapdump.js" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "require", + "cache", + "uncache", + "uncached", + "module", + "fresh", + "bypass" + ], + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "devDependencies": { + "ava": "^1.0.1", + "heapdump": "^0.3.12", + "tsd": "^0.7.3", + "xo": "^0.23.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/imurmurhash/package.json b/tools/node_modules/eslint/node_modules/imurmurhash/package.json index b07b2935ed7..8a93edb55a2 100644 --- a/tools/node_modules/eslint/node_modules/imurmurhash/package.json +++ b/tools/node_modules/eslint/node_modules/imurmurhash/package.json @@ -1,27 +1,22 @@ { - "author": { - "name": "Jens Taylor", - "email": "jensyt@gmail.com", - "url": "https://github.com/homebrewing" - }, - "bugs": { - "url": "https://github.com/jensyt/imurmurhash-js/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, + "name": "imurmurhash", + "version": "0.1.4", "description": "An incremental implementation of MurmurHash3", - "devDependencies": {}, - "engines": { - "node": ">=0.8.19" - }, + "homepage": "https://github.com/jensyt/imurmurhash-js", + "main": "imurmurhash.js", "files": [ "imurmurhash.js", "imurmurhash.min.js", "package.json", "README.md" ], - "homepage": "https://github.com/jensyt/imurmurhash-js", + "repository": { + "type": "git", + "url": "https://github.com/jensyt/imurmurhash-js" + }, + "bugs": { + "url": "https://github.com/jensyt/imurmurhash-js/issues" + }, "keywords": [ "murmur", "murmurhash", @@ -29,12 +24,17 @@ "hash", "incremental" ], + "author": { + "name": "Jens Taylor", + "email": "jensyt@gmail.com", + "url": "https://github.com/homebrewing" + }, "license": "MIT", - "main": "imurmurhash.js", - "name": "imurmurhash", - "repository": { - "type": "git", - "url": "git+https://github.com/jensyt/imurmurhash-js.git" + "dependencies": { + }, + "devDependencies": { }, - "version": "0.1.4" -} \ No newline at end of file + "engines": { + "node": ">=0.8.19" + } +} diff --git a/tools/node_modules/eslint/node_modules/inflight/package.json b/tools/node_modules/eslint/node_modules/inflight/package.json index c5576ffbad6..6084d3509a5 100644 --- a/tools/node_modules/eslint/node_modules/inflight/package.json +++ b/tools/node_modules/eslint/node_modules/inflight/package.json @@ -1,35 +1,29 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/inflight/issues" - }, - "bundleDependencies": false, + "name": "inflight", + "version": "1.0.6", + "description": "Add callbacks to requests in flight to avoid async duplication", + "main": "inflight.js", + "files": [ + "inflight.js" + ], "dependencies": { "once": "^1.3.0", "wrappy": "1" }, - "deprecated": false, - "description": "Add callbacks to requests in flight to avoid async duplication", "devDependencies": { "tap": "^7.1.2" }, - "files": [ - "inflight.js" - ], - "homepage": "https://github.com/isaacs/inflight", - "license": "ISC", - "main": "inflight.js", - "name": "inflight", + "scripts": { + "test": "tap test.js --100" + }, "repository": { "type": "git", - "url": "git+https://github.com/npm/inflight.git" + "url": "https://github.com/npm/inflight.git" }, - "scripts": { - "test": "tap test.js --100" + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "bugs": { + "url": "https://github.com/isaacs/inflight/issues" }, - "version": "1.0.6" -} \ No newline at end of file + "homepage": "https://github.com/isaacs/inflight", + "license": "ISC" +} diff --git a/tools/node_modules/eslint/node_modules/inherits/package.json b/tools/node_modules/eslint/node_modules/inherits/package.json index 9642125b71d..37b4366b83e 100644 --- a/tools/node_modules/eslint/node_modules/inherits/package.json +++ b/tools/node_modules/eslint/node_modules/inherits/package.json @@ -1,19 +1,7 @@ { - "browser": "./inherits_browser.js", - "bugs": { - "url": "https://github.com/isaacs/inherits/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "inherits", "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", - "devDependencies": { - "tap": "^14.2.4" - }, - "files": [ - "inherits.js", - "inherits_browser.js" - ], - "homepage": "https://github.com/isaacs/inherits#readme", + "version": "2.0.4", "keywords": [ "inheritance", "class", @@ -24,15 +12,18 @@ "browser", "browserify" ], - "license": "ISC", "main": "./inherits.js", - "name": "inherits", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/inherits.git" - }, + "browser": "./inherits_browser.js", + "repository": "git://github.com/isaacs/inherits", + "license": "ISC", "scripts": { "test": "tap" }, - "version": "2.0.4" -} \ No newline at end of file + "devDependencies": { + "tap": "^14.2.4" + }, + "files": [ + "inherits.js", + "inherits_browser.js" + ] +} diff --git a/tools/node_modules/eslint/node_modules/is-alphabetical/index.js b/tools/node_modules/eslint/node_modules/is-alphabetical/index.js deleted file mode 100644 index 26d3650ef06..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphabetical/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = alphabetical - -// Check if the given character code, or the character code at the first -// character, is alphabetical. -function alphabetical(character) { - var code = typeof character === 'string' ? character.charCodeAt(0) : character - - return ( - (code >= 97 && code <= 122) /* a-z */ || - (code >= 65 && code <= 90) /* A-Z */ - ) -} diff --git a/tools/node_modules/eslint/node_modules/is-alphabetical/license b/tools/node_modules/eslint/node_modules/is-alphabetical/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphabetical/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-alphabetical/package.json b/tools/node_modules/eslint/node_modules/is-alphabetical/package.json deleted file mode 100644 index 312a56e6e0a..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphabetical/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/is-alphabetical/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Check if a character is alphabetical", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/is-alphabetical#readme", - "keywords": [ - "string", - "character", - "char", - "code", - "alphabetical" - ], - "license": "MIT", - "name": "is-alphabetical", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/is-alphabetical.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify -s isAlphabetical -o is-alphabetical.js", - "build-mangle": "browserify -s isAlphabetical -p tinyify -o is-alphabetical.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "capitalized-comments": "off" - }, - "ignores": [ - "is-alphabetical.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-alphabetical/readme.md b/tools/node_modules/eslint/node_modules/is-alphabetical/readme.md deleted file mode 100644 index 2a6064b6865..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphabetical/readme.md +++ /dev/null @@ -1,70 +0,0 @@ -# is-alphabetical - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is alphabetical. - -## Install - -[npm][]: - -```sh -npm install is-alphabetical -``` - -## Use - -```js -var alphabetical = require('is-alphabetical') - -alphabetical('a') // => true -alphabetical('B') // => true -alphabetical('0') // => false -alphabetical('💩') // => false -``` - -## API - -### `alphabetical(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is alphabetical. - -## Related - -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-alphabetical.svg - -[build]: https://travis-ci.org/wooorm/is-alphabetical - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-alphabetical.svg - -[coverage]: https://codecov.io/github/wooorm/is-alphabetical - -[downloads-badge]: https://img.shields.io/npm/dm/is-alphabetical.svg - -[downloads]: https://www.npmjs.com/package/is-alphabetical - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-alphabetical.svg - -[size]: https://bundlephobia.com/result?p=is-alphabetical - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/is-alphanumerical/index.js b/tools/node_modules/eslint/node_modules/is-alphanumerical/index.js deleted file mode 100644 index cd5edef3dbf..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphanumerical/index.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -var alphabetical = require('is-alphabetical') -var decimal = require('is-decimal') - -module.exports = alphanumerical - -// Check if the given character code, or the character code at the first -// character, is alphanumerical. -function alphanumerical(character) { - return alphabetical(character) || decimal(character) -} diff --git a/tools/node_modules/eslint/node_modules/is-alphanumerical/license b/tools/node_modules/eslint/node_modules/is-alphanumerical/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphanumerical/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json b/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json deleted file mode 100644 index 09c2212afe3..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphanumerical/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/is-alphanumerical/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "deprecated": false, - "description": "Check if a character is alphanumerical", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/is-alphanumerical#readme", - "keywords": [ - "string", - "character", - "char", - "code", - "alphabetical", - "numerical", - "alphanumerical" - ], - "license": "MIT", - "name": "is-alphanumerical", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/is-alphanumerical.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s isAlphanumerical -o is-alphanumerical.js", - "build-mangle": "browserify . -s isAlphanumerical -p tinyify -o is-alphanumerical.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-alphanumerical.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-alphanumerical/readme.md b/tools/node_modules/eslint/node_modules/is-alphanumerical/readme.md deleted file mode 100644 index 8496cad64e6..00000000000 --- a/tools/node_modules/eslint/node_modules/is-alphanumerical/readme.md +++ /dev/null @@ -1,71 +0,0 @@ -# is-alphanumerical - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is alphanumerical (`[a-zA-Z0-9]`). - -## Install - -[npm][]: - -```sh -npm install is-alphanumerical -``` - -## Use - -```js -var alphanumerical = require('is-alphanumerical') - -alphanumerical('a') // => true -alphanumerical('Z') // => true -alphanumerical('0') // => true -alphanumerical(' ') // => false -alphanumerical('💩') // => false -``` - -## API - -### `alphanumerical(character)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is alphanumerical. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-alphanumerical.svg - -[build]: https://travis-ci.org/wooorm/is-alphanumerical - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-alphanumerical.svg - -[coverage]: https://codecov.io/github/wooorm/is-alphanumerical - -[downloads-badge]: https://img.shields.io/npm/dm/is-alphanumerical.svg - -[downloads]: https://www.npmjs.com/package/is-alphanumerical - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-alphanumerical.svg - -[size]: https://bundlephobia.com/result?p=is-alphanumerical - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/is-buffer/LICENSE b/tools/node_modules/eslint/node_modules/is-buffer/LICENSE deleted file mode 100644 index 0c068ceecbd..00000000000 --- a/tools/node_modules/eslint/node_modules/is-buffer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Feross Aboukhadijeh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-buffer/README.md b/tools/node_modules/eslint/node_modules/is-buffer/README.md deleted file mode 100644 index cce0a8cf924..00000000000 --- a/tools/node_modules/eslint/node_modules/is-buffer/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# is-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url] - -[travis-image]: https://img.shields.io/travis/feross/is-buffer/master.svg -[travis-url]: https://travis-ci.org/feross/is-buffer -[npm-image]: https://img.shields.io/npm/v/is-buffer.svg -[npm-url]: https://npmjs.org/package/is-buffer -[downloads-image]: https://img.shields.io/npm/dm/is-buffer.svg -[downloads-url]: https://npmjs.org/package/is-buffer -[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg -[standard-url]: https://standardjs.com - -#### Determine if an object is a [`Buffer`](http://nodejs.org/api/buffer.html) (including the [browserify Buffer](https://github.com/feross/buffer)) - -[![saucelabs][saucelabs-image]][saucelabs-url] - -[saucelabs-image]: https://saucelabs.com/browser-matrix/is-buffer.svg -[saucelabs-url]: https://saucelabs.com/u/is-buffer - -## Why not use `Buffer.isBuffer`? - -This module lets you check if an object is a `Buffer` without using `Buffer.isBuffer` (which includes the whole [buffer](https://github.com/feross/buffer) module in [browserify](http://browserify.org/)). - -It's future-proof and works in node too! - -## install - -```bash -npm install is-buffer -``` - -## usage - -```js -var isBuffer = require('is-buffer') - -isBuffer(new Buffer(4)) // true - -isBuffer(undefined) // false -isBuffer(null) // false -isBuffer('') // false -isBuffer(true) // false -isBuffer(false) // false -isBuffer(0) // false -isBuffer(1) // false -isBuffer(1.0) // false -isBuffer('string') // false -isBuffer({}) // false -isBuffer(function foo () {}) // false -``` - -## license - -MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org). diff --git a/tools/node_modules/eslint/node_modules/is-buffer/index.js b/tools/node_modules/eslint/node_modules/is-buffer/index.js deleted file mode 100644 index 9cce396594f..00000000000 --- a/tools/node_modules/eslint/node_modules/is-buffer/index.js +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer) -} - -function isBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} - -// For Node v0.10 support. Remove this eventually. -function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)) -} diff --git a/tools/node_modules/eslint/node_modules/is-buffer/package.json b/tools/node_modules/eslint/node_modules/is-buffer/package.json deleted file mode 100644 index ccde4062936..00000000000 --- a/tools/node_modules/eslint/node_modules/is-buffer/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "author": { - "name": "Feross Aboukhadijeh", - "email": "feross@feross.org", - "url": "http://feross.org/" - }, - "bugs": { - "url": "https://github.com/feross/is-buffer/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Determine if an object is a Buffer", - "devDependencies": { - "standard": "*", - "tape": "^4.0.0", - "zuul": "^3.0.0" - }, - "homepage": "https://github.com/feross/is-buffer#readme", - "keywords": [ - "buffer", - "buffers", - "type", - "core buffer", - "browser buffer", - "browserify", - "typed array", - "uint32array", - "int16array", - "int32array", - "float32array", - "float64array", - "browser", - "arraybuffer", - "dataview" - ], - "license": "MIT", - "main": "index.js", - "name": "is-buffer", - "repository": { - "type": "git", - "url": "git://github.com/feross/is-buffer.git" - }, - "scripts": { - "test": "standard && npm run test-node && npm run test-browser", - "test-browser": "zuul -- test/*.js", - "test-browser-local": "zuul --local -- test/*.js", - "test-node": "tape test/*.js" - }, - "testling": { - "files": "test/*.js" - }, - "version": "1.1.6" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-decimal/index.js b/tools/node_modules/eslint/node_modules/is-decimal/index.js deleted file mode 100644 index a522104e5cf..00000000000 --- a/tools/node_modules/eslint/node_modules/is-decimal/index.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -module.exports = decimal - -// Check if the given character code, or the character code at the first -// character, is decimal. -function decimal(character) { - var code = typeof character === 'string' ? character.charCodeAt(0) : character - - return code >= 48 && code <= 57 /* 0-9 */ -} diff --git a/tools/node_modules/eslint/node_modules/is-decimal/license b/tools/node_modules/eslint/node_modules/is-decimal/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/is-decimal/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-decimal/package.json b/tools/node_modules/eslint/node_modules/is-decimal/package.json deleted file mode 100644 index 9c9d45e06dc..00000000000 --- a/tools/node_modules/eslint/node_modules/is-decimal/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/is-decimal/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Check if a character is decimal", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/is-decimal#readme", - "keywords": [ - "string", - "character", - "char", - "code", - "decimal" - ], - "license": "MIT", - "name": "is-decimal", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/is-decimal.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s isDecimal -o is-decimal.js", - "build-mangle": "browserify . -s isDecimal -p tinyify -o is-decimal.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-decimal.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-decimal/readme.md b/tools/node_modules/eslint/node_modules/is-decimal/readme.md deleted file mode 100644 index d24a3d28c0a..00000000000 --- a/tools/node_modules/eslint/node_modules/is-decimal/readme.md +++ /dev/null @@ -1,69 +0,0 @@ -# is-decimal - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is decimal. - -## Install - -[npm][]: - -```sh -npm install is-decimal -``` - -## Use - -```js -var decimal = require('is-decimal') - -decimal('0') // => true -decimal('9') // => true -decimal('a') // => false -decimal('💩') // => false -``` - -## API - -### `decimal(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is decimal. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-decimal.svg - -[build]: https://travis-ci.org/wooorm/is-decimal - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-decimal.svg - -[coverage]: https://codecov.io/github/wooorm/is-decimal - -[downloads-badge]: https://img.shields.io/npm/dm/is-decimal.svg - -[downloads]: https://www.npmjs.com/package/is-decimal - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-decimal.svg - -[size]: https://bundlephobia.com/result?p=is-decimal - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/is-extglob/package.json b/tools/node_modules/eslint/node_modules/is-extglob/package.json index 3ae794888e2..7a908369d39 100644 --- a/tools/node_modules/eslint/node_modules/is-extglob/package.json +++ b/tools/node_modules/eslint/node_modules/is-extglob/package.json @@ -1,25 +1,28 @@ { - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, + "name": "is-extglob", + "description": "Returns true if a string has an extglob.", + "version": "2.1.1", + "homepage": "https://github.com/jonschlinkert/is-extglob", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "repository": "jonschlinkert/is-extglob", "bugs": { "url": "https://github.com/jonschlinkert/is-extglob/issues" }, - "bundleDependencies": false, - "deprecated": false, - "description": "Returns true if a string has an extglob.", + "license": "MIT", + "files": [ + "index.js" + ], + "main": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, "devDependencies": { "gulp-format-md": "^0.1.10", "mocha": "^3.0.2" }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/is-extglob", "keywords": [ "bash", "braces", @@ -39,16 +42,6 @@ "string", "test" ], - "license": "MIT", - "main": "index.js", - "name": "is-extglob", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/is-extglob.git" - }, - "scripts": { - "test": "mocha" - }, "verb": { "toc": false, "layout": "default", @@ -72,6 +65,5 @@ "lint": { "reflinks": true } - }, - "version": "2.1.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json index c556c1c78dd..2137e888fa5 100644 --- a/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json +++ b/tools/node_modules/eslint/node_modules/is-fullwidth-code-point/package.json @@ -1,51 +1,42 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/is-fullwidth-code-point/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "devDependencies": { - "ava": "^1.3.1", - "tsd-check": "^0.5.0", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/sindresorhus/is-fullwidth-code-point#readme", - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "string", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "license": "MIT", - "name": "is-fullwidth-code-point", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/is-fullwidth-code-point.git" - }, - "scripts": { - "test": "xo && ava && tsd-check" - }, - "version": "3.0.0" -} \ No newline at end of file + "name": "is-fullwidth-code-point", + "version": "3.0.0", + "description": "Check if the character represented by a given Unicode code point is fullwidth", + "license": "MIT", + "repository": "sindresorhus/is-fullwidth-code-point", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd-check" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "fullwidth", + "full-width", + "full", + "width", + "unicode", + "character", + "string", + "codepoint", + "code", + "point", + "is", + "detect", + "check" + ], + "devDependencies": { + "ava": "^1.3.1", + "tsd-check": "^0.5.0", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/is-glob/package.json b/tools/node_modules/eslint/node_modules/is-glob/package.json index d8973094f63..806000dbdaf 100644 --- a/tools/node_modules/eslint/node_modules/is-glob/package.json +++ b/tools/node_modules/eslint/node_modules/is-glob/package.json @@ -1,42 +1,36 @@ { - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, + "name": "is-glob", + "description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.", + "version": "4.0.1", + "homepage": "https://github.com/micromatch/is-glob", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "Brian Woodward (https://twitter.com/doowb)", + "Daniel Perez (https://tuvistavie.com)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)" + ], + "repository": "micromatch/is-glob", "bugs": { "url": "https://github.com/micromatch/is-glob/issues" }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "url": "https://twitter.com/doowb" - }, - { - "name": "Daniel Perez", - "url": "https://tuvistavie.com" - }, - { - "name": "Jon Schlinkert", - "url": "http://twitter.com/jonschlinkert" - } + "license": "MIT", + "files": [ + "index.js" ], + "main": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, "dependencies": { "is-extglob": "^2.1.1" }, - "deprecated": false, - "description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.", "devDependencies": { "gulp-format-md": "^0.1.10", "mocha": "^3.0.2" }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/micromatch/is-glob", "keywords": [ "bash", "braces", @@ -56,16 +50,6 @@ "string", "test" ], - "license": "MIT", - "main": "index.js", - "name": "is-glob", - "repository": { - "type": "git", - "url": "git+https://github.com/micromatch/is-glob.git" - }, - "scripts": { - "test": "mocha" - }, "verb": { "layout": "default", "plugins": [ @@ -93,6 +77,5 @@ "verb", "vinyl" ] - }, - "version": "4.0.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/is-hexadecimal/index.js b/tools/node_modules/eslint/node_modules/is-hexadecimal/index.js deleted file mode 100644 index 567c9d1c077..00000000000 --- a/tools/node_modules/eslint/node_modules/is-hexadecimal/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict' - -module.exports = hexadecimal - -// Check if the given character code, or the character code at the first -// character, is hexadecimal. -function hexadecimal(character) { - var code = typeof character === 'string' ? character.charCodeAt(0) : character - - return ( - (code >= 97 /* a */ && code <= 102) /* z */ || - (code >= 65 /* A */ && code <= 70) /* Z */ || - (code >= 48 /* A */ && code <= 57) /* Z */ - ) -} diff --git a/tools/node_modules/eslint/node_modules/is-hexadecimal/license b/tools/node_modules/eslint/node_modules/is-hexadecimal/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/is-hexadecimal/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json b/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json deleted file mode 100644 index acd830adc42..00000000000 --- a/tools/node_modules/eslint/node_modules/is-hexadecimal/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/is-hexadecimal/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Check if a character is hexadecimal", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/is-hexadecimal#readme", - "keywords": [ - "string", - "character", - "char", - "code", - "hexadecimal" - ], - "license": "MIT", - "name": "is-hexadecimal", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/is-hexadecimal.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s isHexadecimal -o is-hexadecimal.js", - "build-mangle": "browserify . -s isHexadecimal -p tinyify -o is-hexadecimal.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-hexadecimal.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-hexadecimal/readme.md b/tools/node_modules/eslint/node_modules/is-hexadecimal/readme.md deleted file mode 100644 index 7c82b1b8d46..00000000000 --- a/tools/node_modules/eslint/node_modules/is-hexadecimal/readme.md +++ /dev/null @@ -1,70 +0,0 @@ -# is-hexadecimal - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is hexadecimal. - -## Install - -[npm][]: - -```sh -npm install is-hexadecimal -``` - -## Use - -```js -var hexadecimal = require('is-hexadecimal') - -hexadecimal('a') // => true -hexadecimal('0') // => true -hexadecimal('G') // => false -hexadecimal('💩') // => false -``` - -## API - -### `hexadecimal(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is hexadecimal. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphabetical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-hexadecimal.svg - -[build]: https://travis-ci.org/wooorm/is-hexadecimal - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-hexadecimal.svg - -[coverage]: https://codecov.io/github/wooorm/is-hexadecimal - -[downloads-badge]: https://img.shields.io/npm/dm/is-hexadecimal.svg - -[downloads]: https://www.npmjs.com/package/is-hexadecimal - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-hexadecimal.svg - -[size]: https://bundlephobia.com/result?p=is-hexadecimal - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/is-plain-obj/index.js b/tools/node_modules/eslint/node_modules/is-plain-obj/index.js deleted file mode 100644 index 0d1ba9eeb89..00000000000 --- a/tools/node_modules/eslint/node_modules/is-plain-obj/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; -var toString = Object.prototype.toString; - -module.exports = function (x) { - var prototype; - return toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({})); -}; diff --git a/tools/node_modules/eslint/node_modules/is-plain-obj/license b/tools/node_modules/eslint/node_modules/is-plain-obj/license deleted file mode 100644 index 654d0bfe943..00000000000 --- a/tools/node_modules/eslint/node_modules/is-plain-obj/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-plain-obj/package.json b/tools/node_modules/eslint/node_modules/is-plain-obj/package.json deleted file mode 100644 index 64475946dac..00000000000 --- a/tools/node_modules/eslint/node_modules/is-plain-obj/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/is-plain-obj/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Check if a value is a plain object", - "devDependencies": { - "ava": "0.0.4" - }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/is-plain-obj#readme", - "keywords": [ - "obj", - "object", - "is", - "check", - "test", - "type", - "plain", - "vanilla", - "pure", - "simple" - ], - "license": "MIT", - "name": "is-plain-obj", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/is-plain-obj.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.1.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-plain-obj/readme.md b/tools/node_modules/eslint/node_modules/is-plain-obj/readme.md deleted file mode 100644 index 269e56aeff0..00000000000 --- a/tools/node_modules/eslint/node_modules/is-plain-obj/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# is-plain-obj [![Build Status](https://travis-ci.org/sindresorhus/is-plain-obj.svg?branch=master)](https://travis-ci.org/sindresorhus/is-plain-obj) - -> Check if a value is a plain object - -An object is plain if it's created by either `{}`, `new Object()` or `Object.create(null)`. - - -## Install - -``` -$ npm install --save is-plain-obj -``` - - -## Usage - -```js -var isPlainObj = require('is-plain-obj'); - -isPlainObj({foo: 'bar'}); -//=> true - -isPlainObj([1, 2, 3]); -//=> false -``` - - -## Related - -- [is-obj](https://github.com/sindresorhus/is-obj) - Check if a value is an object - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/tools/node_modules/eslint/node_modules/is-whitespace-character/index.js b/tools/node_modules/eslint/node_modules/is-whitespace-character/index.js deleted file mode 100644 index 801c19f0d8d..00000000000 --- a/tools/node_modules/eslint/node_modules/is-whitespace-character/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = whitespace - -var fromCode = String.fromCharCode -var re = /\s/ - -// Check if the given character code, or the character code at the first -// character, is a whitespace character. -function whitespace(character) { - return re.test( - typeof character === 'number' ? fromCode(character) : character.charAt(0) - ) -} diff --git a/tools/node_modules/eslint/node_modules/is-whitespace-character/license b/tools/node_modules/eslint/node_modules/is-whitespace-character/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/is-whitespace-character/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json b/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json deleted file mode 100644 index 6a7a6597798..00000000000 --- a/tools/node_modules/eslint/node_modules/is-whitespace-character/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/is-whitespace-character/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Check if a character is a whitespace character", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/is-whitespace-character#readme", - "keywords": [ - "string", - "character", - "char", - "code", - "whitespace", - "white", - "space" - ], - "license": "MIT", - "name": "is-whitespace-character", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/is-whitespace-character.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s isWhitespaceCharacter -o is-whitespace-character.js", - "build-mangle": "browserify . -s isWhitespaceCharacter -p tinyify -o is-whitespace-character.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-whitespace-character.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-whitespace-character/readme.md b/tools/node_modules/eslint/node_modules/is-whitespace-character/readme.md deleted file mode 100644 index 34d4f343c86..00000000000 --- a/tools/node_modules/eslint/node_modules/is-whitespace-character/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# is-whitespace-character - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is a whitespace character: `\s`, which equals all Unicode -Space Separators (including `[ \t\v\f]`), the BOM (`\uFEFF`), and line -terminator (`[\n\r\u2028\u2029]`). - -## Install - -[npm][]: - -```sh -npm install is-whitespace-character -``` - -## Use - -```js -var whitespace = require('is-whitespace-character') - -whitespace(' ') // => true -whitespace('\n') // => true -whitespace('\uFEFF') // => true -whitespace('_') // => false -whitespace('a') // => false -whitespace('💩') // => false -``` - -## API - -### `whitespaceCharacter(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is a whitespace character. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-word-character`](https://github.com/wooorm/is-word-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-whitespace-character.svg - -[build]: https://travis-ci.org/wooorm/is-whitespace-character - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-whitespace-character.svg - -[coverage]: https://codecov.io/github/wooorm/is-whitespace-character - -[downloads-badge]: https://img.shields.io/npm/dm/is-whitespace-character.svg - -[downloads]: https://www.npmjs.com/package/is-whitespace-character - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-whitespace-character.svg - -[size]: https://bundlephobia.com/result?p=is-whitespace-character - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/is-word-character/index.js b/tools/node_modules/eslint/node_modules/is-word-character/index.js deleted file mode 100644 index 8c3537f9956..00000000000 --- a/tools/node_modules/eslint/node_modules/is-word-character/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict' - -module.exports = wordCharacter - -var fromCode = String.fromCharCode -var re = /\w/ - -// Check if the given character code, or the character code at the first -// character, is a word character. -function wordCharacter(character) { - return re.test( - typeof character === 'number' ? fromCode(character) : character.charAt(0) - ) -} diff --git a/tools/node_modules/eslint/node_modules/is-word-character/license b/tools/node_modules/eslint/node_modules/is-word-character/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/is-word-character/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/is-word-character/package.json b/tools/node_modules/eslint/node_modules/is-word-character/package.json deleted file mode 100644 index b2fc0a1558c..00000000000 --- a/tools/node_modules/eslint/node_modules/is-word-character/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/is-word-character/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Check if a character is a word character", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/is-word-character#readme", - "keywords": [ - "string", - "character", - "char", - "code", - "word" - ], - "license": "MIT", - "name": "is-word-character", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/is-word-character.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s isWordCharacter -o is-word-character.js", - "build-mangle": "browserify . -s isWordCharacter -p tinyify -o is-word-character.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "is-word-character.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/is-word-character/readme.md b/tools/node_modules/eslint/node_modules/is-word-character/readme.md deleted file mode 100644 index 3c88ce976e3..00000000000 --- a/tools/node_modules/eslint/node_modules/is-word-character/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# is-word-character - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Check if a character is a word character (`\w`, which equals `[a-zA-Z0-9_]`). - -## Install - -[npm][]: - -```sh -npm install is-word-character -``` - -## Use - -```js -var wordCharacter = require('is-word-character') - -wordCharacter('a') // => true -wordCharacter('Z') // => true -wordCharacter('0') // => true -wordCharacter('_') // => true -wordCharacter(' ') // => false -wordCharacter('💩') // => false -``` - -## API - -### `wordCharacter(character|code)` - -Check whether the given character code (`number`), or the character code at the -first position (`string`), is a word character. - -## Related - -* [`is-alphabetical`](https://github.com/wooorm/is-alphabetical) -* [`is-alphanumerical`](https://github.com/wooorm/is-alphanumerical) -* [`is-decimal`](https://github.com/wooorm/is-decimal) -* [`is-hexadecimal`](https://github.com/wooorm/is-hexadecimal) -* [`is-whitespace-character`](https://github.com/wooorm/is-whitespace-character) - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/is-word-character.svg - -[build]: https://travis-ci.org/wooorm/is-word-character - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/is-word-character.svg - -[coverage]: https://codecov.io/github/wooorm/is-word-character - -[downloads-badge]: https://img.shields.io/npm/dm/is-word-character.svg - -[downloads]: https://www.npmjs.com/package/is-word-character - -[size-badge]: https://img.shields.io/bundlephobia/minzip/is-word-character.svg - -[size]: https://bundlephobia.com/result?p=is-word-character - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/isexe/package.json b/tools/node_modules/eslint/node_modules/isexe/package.json index 6403682bbe2..e452689442f 100644 --- a/tools/node_modules/eslint/node_modules/isexe/package.json +++ b/tools/node_modules/eslint/node_modules/isexe/package.json @@ -1,37 +1,31 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/isexe/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "isexe", + "version": "2.0.0", "description": "Minimal module to check if a file is executable.", + "main": "index.js", + "directories": { + "test": "test" + }, "devDependencies": { "mkdirp": "^0.5.1", "rimraf": "^2.5.0", "tap": "^10.3.0" }, - "directories": { - "test": "test" + "scripts": { + "test": "tap test/*.js --100", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" }, - "homepage": "https://github.com/isaacs/isexe#readme", - "keywords": [], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", "license": "ISC", - "main": "index.js", - "name": "isexe", "repository": { "type": "git", "url": "git+https://github.com/isaacs/isexe.git" }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test/*.js --100" + "keywords": [], + "bugs": { + "url": "https://github.com/isaacs/isexe/issues" }, - "version": "2.0.0" -} \ No newline at end of file + "homepage": "https://github.com/isaacs/isexe#readme" +} diff --git a/tools/node_modules/eslint/node_modules/js-tokens/package.json b/tools/node_modules/eslint/node_modules/js-tokens/package.json index ccfb4ef3dc3..66752fab275 100644 --- a/tools/node_modules/eslint/node_modules/js-tokens/package.json +++ b/tools/node_modules/eslint/node_modules/js-tokens/package.json @@ -1,23 +1,9 @@ { - "author": { - "name": "Simon Lydell" - }, - "bugs": { - "url": "https://github.com/lydell/js-tokens/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "js-tokens", + "version": "4.0.0", + "author": "Simon Lydell", + "license": "MIT", "description": "A regex that tokenizes JavaScript.", - "devDependencies": { - "coffeescript": "2.1.1", - "esprima": "4.0.0", - "everything.js": "1.0.3", - "mocha": "5.0.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/lydell/js-tokens#readme", "keywords": [ "JavaScript", "js", @@ -25,17 +11,20 @@ "tokenize", "regex" ], - "license": "MIT", - "name": "js-tokens", - "repository": { - "type": "git", - "url": "git+https://github.com/lydell/js-tokens.git" - }, + "files": [ + "index.js" + ], + "repository": "lydell/js-tokens", "scripts": { - "build": "node generate-index.js", - "dev": "npm run build && npm test", + "test": "mocha --ui tdd", "esprima-compare": "node esprima-compare ./index.js everything.js/es5.js", - "test": "mocha --ui tdd" + "build": "node generate-index.js", + "dev": "npm run build && npm test" }, - "version": "4.0.0" -} \ No newline at end of file + "devDependencies": { + "coffeescript": "2.1.1", + "esprima": "4.0.0", + "everything.js": "1.0.3", + "mocha": "5.0.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/js-yaml/package.json b/tools/node_modules/eslint/node_modules/js-yaml/package.json index 6f63d1aed92..0d2366762c5 100644 --- a/tools/node_modules/eslint/node_modules/js-yaml/package.json +++ b/tools/node_modules/eslint/node_modules/js-yaml/package.json @@ -1,38 +1,37 @@ { - "author": { - "name": "Vladimir Zapparov", - "email": "dervus.grim@gmail.com" - }, + "name": "js-yaml", + "version": "3.14.1", + "description": "YAML 1.2 parser and serializer", + "keywords": [ + "yaml", + "parser", + "serializer", + "pyyaml" + ], + "homepage": "https://github.com/nodeca/js-yaml", + "author": "Vladimir Zapparov ", + "contributors": [ + "Aleksey V Zapparov (http://www.ixti.net/)", + "Vitaly Puzrin (https://github.com/puzrin)", + "Martin Grenfell (http://got-ravings.blogspot.com)" + ], + "license": "MIT", + "repository": "nodeca/js-yaml", + "files": [ + "index.js", + "lib/", + "bin/", + "dist/" + ], "bin": { "js-yaml": "bin/js-yaml.js" }, - "bugs": { - "url": "https://github.com/nodeca/js-yaml/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Aleksey V Zapparov", - "email": "ixti@member.fsf.org", - "url": "http://www.ixti.net/" - }, - { - "name": "Vitaly Puzrin", - "email": "vitaly@rcdesign.ru", - "url": "https://github.com/puzrin" - }, - { - "name": "Martin Grenfell", - "email": "martin.grenfell@gmail.com", - "url": "http://got-ravings.blogspot.com" - } - ], + "unpkg": "dist/js-yaml.min.js", + "jsdelivr": "dist/js-yaml.min.js", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, - "deprecated": false, - "description": "YAML 1.2 parser and serializer", "devDependencies": { "ansi": "^0.3.1", "benchmark": "^2.1.4", @@ -44,29 +43,7 @@ "mocha": "^7.1.2", "uglify-js": "^3.0.1" }, - "files": [ - "index.js", - "lib/", - "bin/", - "dist/" - ], - "homepage": "https://github.com/nodeca/js-yaml", - "jsdelivr": "dist/js-yaml.min.js", - "keywords": [ - "yaml", - "parser", - "serializer", - "pyyaml" - ], - "license": "MIT", - "name": "js-yaml", - "repository": { - "type": "git", - "url": "git+https://github.com/nodeca/js-yaml.git" - }, "scripts": { "test": "make test" - }, - "unpkg": "dist/js-yaml.min.js", - "version": "3.14.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json b/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json index d5060aff01f..156606327ba 100644 --- a/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json +++ b/tools/node_modules/eslint/node_modules/json-schema-traverse/package.json @@ -1,13 +1,28 @@ { - "author": { - "name": "Evgeny Poberezkin" + "name": "json-schema-traverse", + "version": "0.4.1", + "description": "Traverse JSON Schema passing each schema object to callback", + "main": "index.js", + "scripts": { + "eslint": "eslint index.js spec", + "test-spec": "mocha spec -R spec", + "test": "npm run eslint && nyc npm run test-spec" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/epoberezkin/json-schema-traverse.git" }, + "keywords": [ + "JSON-Schema", + "traverse", + "iterate" + ], + "author": "Evgeny Poberezkin", + "license": "MIT", "bugs": { "url": "https://github.com/epoberezkin/json-schema-traverse/issues" }, - "bundleDependencies": false, - "deprecated": false, - "description": "Traverse JSON Schema passing each schema object to callback", + "homepage": "https://github.com/epoberezkin/json-schema-traverse#readme", "devDependencies": { "coveralls": "^2.13.1", "eslint": "^3.19.0", @@ -15,15 +30,6 @@ "nyc": "^11.0.2", "pre-commit": "^1.2.2" }, - "homepage": "https://github.com/epoberezkin/json-schema-traverse#readme", - "keywords": [ - "JSON-Schema", - "traverse", - "iterate" - ], - "license": "MIT", - "main": "index.js", - "name": "json-schema-traverse", "nyc": { "exclude": [ "**/spec/**", @@ -33,15 +39,5 @@ "lcov", "text-summary" ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/epoberezkin/json-schema-traverse.git" - }, - "scripts": { - "eslint": "eslint index.js spec", - "test": "npm run eslint && nyc npm run test-spec", - "test-spec": "mocha spec -R spec" - }, - "version": "0.4.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json index 8cc2f139750..c59c87edbe0 100644 --- a/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json +++ b/tools/node_modules/eslint/node_modules/json-stable-stringify-without-jsonify/package.json @@ -1,35 +1,13 @@ { - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/samn/json-stable-stringify/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, + "name": "json-stable-stringify-without-jsonify", + "version": "1.0.1", "description": "deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results, with no public domain dependencies", + "main": "index.js", + "dependencies": { + }, "devDependencies": { "tape": "~1.0.4" }, - "homepage": "https://github.com/samn/json-stable-stringify", - "keywords": [ - "json", - "stringify", - "deterministic", - "hash", - "sort", - "stable" - ], - "license": "MIT", - "main": "index.js", - "name": "json-stable-stringify-without-jsonify", - "repository": { - "type": "git", - "url": "git://github.com/samn/json-stable-stringify.git" - }, "scripts": { "test": "tape test/*.js" }, @@ -37,13 +15,29 @@ "files": "test/*.js", "browsers": [ "ie/8..latest", - "ff/5", - "ff/latest", - "chrome/15", - "chrome/latest", + "ff/5", "ff/latest", + "chrome/15", "chrome/latest", "safari/latest", "opera/latest" ] }, - "version": "1.0.1" -} \ No newline at end of file + "repository": { + "type": "git", + "url": "git://github.com/samn/json-stable-stringify.git" + }, + "homepage": "https://github.com/samn/json-stable-stringify", + "keywords": [ + "json", + "stringify", + "deterministic", + "hash", + "sort", + "stable" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT" +} diff --git a/tools/node_modules/eslint/node_modules/levn/package.json b/tools/node_modules/eslint/node_modules/levn/package.json index a9868ae5880..0c356d6978e 100644 --- a/tools/node_modules/eslint/node_modules/levn/package.json +++ b/tools/node_modules/eslint/node_modules/levn/package.json @@ -1,30 +1,8 @@ { - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "bugs": { - "url": "https://github.com/gkz/levn/issues" - }, - "bundleDependencies": false, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "deprecated": false, + "name": "levn", + "version": "0.4.1", + "author": "George Zahariev ", "description": "Light ECMAScript (JavaScript) Value Notation - human written, concise, typed, flexible", - "devDependencies": { - "livescript": "^1.6.0", - "mocha": "^7.1.1" - }, - "engines": { - "node": ">= 0.8.0" - }, - "files": [ - "lib", - "README.md", - "LICENSE" - ], "homepage": "https://github.com/gkz/levn", "keywords": [ "levn", @@ -39,9 +17,17 @@ "typed", "flexible" ], - "license": "MIT", + "files": [ + "lib", + "README.md", + "LICENSE" + ], "main": "./lib/", - "name": "levn", + "bugs": "https://github.com/gkz/levn/issues", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + }, "repository": { "type": "git", "url": "git://github.com/gkz/levn.git" @@ -49,5 +35,12 @@ "scripts": { "test": "make test" }, - "version": "0.4.1" -} \ No newline at end of file + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "devDependencies": { + "livescript": "^1.6.0", + "mocha": "^7.1.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/lodash/package.json b/tools/node_modules/eslint/node_modules/lodash/package.json index e5fe5bf3f4e..b35fd95cc7a 100644 --- a/tools/node_modules/eslint/node_modules/lodash/package.json +++ b/tools/node_modules/eslint/node_modules/lodash/package.json @@ -1,40 +1,17 @@ { - "author": { - "name": "John-David Dalton", - "email": "john.david.dalton@gmail.com" - }, - "bugs": { - "url": "https://github.com/lodash/lodash/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "John-David Dalton", - "email": "john.david.dalton@gmail.com" - }, - { - "name": "Mathias Bynens", - "email": "mathias@qiwi.be" - } - ], - "deprecated": false, + "name": "lodash", + "version": "4.17.21", "description": "Lodash modular utilities.", + "keywords": "modules, stdlib, util", "homepage": "https://lodash.com/", + "repository": "lodash/lodash", "icon": "https://lodash.com/icon.svg", - "keywords": [ - "modules", - "stdlib", - "util" - ], "license": "MIT", "main": "lodash.js", - "name": "lodash", - "repository": { - "type": "git", - "url": "git+https://github.com/lodash/lodash.git" - }, - "scripts": { - "test": "echo \"See https://travis-ci.org/lodash-archive/lodash-cli for testing details.\"" - }, - "version": "4.17.21" -} \ No newline at end of file + "author": "John-David Dalton ", + "contributors": [ + "John-David Dalton ", + "Mathias Bynens " + ], + "scripts": { "test": "echo \"See https://travis-ci.org/lodash-archive/lodash-cli for testing details.\"" } +} diff --git a/tools/node_modules/eslint/node_modules/lru-cache/package.json b/tools/node_modules/eslint/node_modules/lru-cache/package.json index a7a6da707b6..43b7502c3e7 100644 --- a/tools/node_modules/eslint/node_modules/lru-cache/package.json +++ b/tools/node_modules/eslint/node_modules/lru-cache/package.json @@ -1,46 +1,34 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/node-lru-cache/issues" - }, - "bundleDependencies": false, - "dependencies": { - "yallist": "^4.0.0" - }, - "deprecated": false, + "name": "lru-cache", "description": "A cache object that deletes the least-recently-used items.", - "devDependencies": { - "benchmark": "^2.1.4", - "tap": "^14.10.7" - }, - "engines": { - "node": ">=10" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/isaacs/node-lru-cache#readme", + "version": "6.0.0", + "author": "Isaac Z. Schlueter ", "keywords": [ "mru", "lru", "cache" ], - "license": "ISC", - "main": "index.js", - "name": "lru-cache", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-lru-cache.git" - }, "scripts": { - "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags", - "preversion": "npm test", + "test": "tap", "snap": "tap", - "test": "tap" + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags" + }, + "main": "index.js", + "repository": "git://github.com/isaacs/node-lru-cache.git", + "devDependencies": { + "benchmark": "^2.1.4", + "tap": "^14.10.7" }, - "version": "6.0.0" -} \ No newline at end of file + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "files": [ + "index.js" + ], + "engines": { + "node": ">=10" + } +} diff --git a/tools/node_modules/eslint/node_modules/markdown-escapes/index.js b/tools/node_modules/eslint/node_modules/markdown-escapes/index.js deleted file mode 100644 index f8bea48eacc..00000000000 --- a/tools/node_modules/eslint/node_modules/markdown-escapes/index.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict' - -module.exports = escapes - -var defaults = [ - '\\', - '`', - '*', - '{', - '}', - '[', - ']', - '(', - ')', - '#', - '+', - '-', - '.', - '!', - '_', - '>' -] - -var gfm = defaults.concat(['~', '|']) - -var commonmark = gfm.concat([ - '\n', - '"', - '$', - '%', - '&', - "'", - ',', - '/', - ':', - ';', - '<', - '=', - '?', - '@', - '^' -]) - -escapes.default = defaults -escapes.gfm = gfm -escapes.commonmark = commonmark - -// Get markdown escapes. -function escapes(options) { - var settings = options || {} - - if (settings.commonmark) { - return commonmark - } - - return settings.gfm ? gfm : defaults -} diff --git a/tools/node_modules/eslint/node_modules/markdown-escapes/license b/tools/node_modules/eslint/node_modules/markdown-escapes/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/markdown-escapes/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/markdown-escapes/package.json b/tools/node_modules/eslint/node_modules/markdown-escapes/package.json deleted file mode 100644 index 0e4eed169f2..00000000000 --- a/tools/node_modules/eslint/node_modules/markdown-escapes/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/markdown-escapes/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "List of escapable characters in markdown", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/markdown-escapes#readme", - "keywords": [ - "markdown", - "escape", - "pedantic", - "gfm", - "commonmark" - ], - "license": "MIT", - "name": "markdown-escapes", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/markdown-escapes.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s markdownEscapes -o markdown-escapes.js", - "build-mangle": "browserify . -s markdownEscapes -p tinyify -o markdown-escapes.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "markdown-escapes.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/markdown-escapes/readme.md b/tools/node_modules/eslint/node_modules/markdown-escapes/readme.md deleted file mode 100644 index a7404526114..00000000000 --- a/tools/node_modules/eslint/node_modules/markdown-escapes/readme.md +++ /dev/null @@ -1,80 +0,0 @@ -# markdown-escapes - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -List of escapable characters in markdown. - -## Install - -[npm][]: - -```sh -npm install markdown-escapes -``` - -## Use - -```js -var escapes = require('markdown-escapes'); - -// Access by property: -escapes.commonmark; //=> ['\\', '`', ..., '@', '^'] - -// Access by options object: -escapes({gfm: true}); //=> ['\\', '`', ..., '~', '|'] -``` - -## API - -### `escapes([options])` - -Get escapes. -Supports `options.commonmark` and `options.gfm`, which when `true` returns the -extra escape characters supported by those flavors. - -###### Returns - -`Array.`. - -### `escapes.default` - -List of default escapable characters. - -### `escapes.gfm` - -List of escapable characters in GFM (which includes all `default`s). - -### `escapes.commonmark` - -List of escapable characters in CommonMark (which includes all `gfm`s). - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/markdown-escapes.svg - -[build]: https://travis-ci.org/wooorm/markdown-escapes - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/markdown-escapes.svg - -[coverage]: https://codecov.io/github/wooorm/markdown-escapes - -[downloads-badge]: https://img.shields.io/npm/dm/markdown-escapes.svg - -[downloads]: https://www.npmjs.com/package/markdown-escapes - -[size-badge]: https://img.shields.io/bundlephobia/minzip/markdown-escapes.svg - -[size]: https://bundlephobia.com/result?p=markdown-escapes - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/minimatch/package.json b/tools/node_modules/eslint/node_modules/minimatch/package.json index 3cd0d037a03..c4514c80777 100644 --- a/tools/node_modules/eslint/node_modules/minimatch/package.json +++ b/tools/node_modules/eslint/node_modules/minimatch/package.json @@ -1,40 +1,30 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me" + "author": "Isaac Z. Schlueter (http://blog.izs.me)", + "name": "minimatch", + "description": "a glob matcher in javascript", + "version": "3.0.4", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/minimatch.git" + }, + "main": "minimatch.js", + "scripts": { + "test": "tap test/*.js --cov", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" }, - "bugs": { - "url": "https://github.com/isaacs/minimatch/issues" + "engines": { + "node": "*" }, - "bundleDependencies": false, "dependencies": { "brace-expansion": "^1.1.7" }, - "deprecated": false, - "description": "a glob matcher in javascript", "devDependencies": { "tap": "^10.3.2" }, - "engines": { - "node": "*" - }, + "license": "ISC", "files": [ "minimatch.js" - ], - "homepage": "https://github.com/isaacs/minimatch#readme", - "license": "ISC", - "main": "minimatch.js", - "name": "minimatch", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/minimatch.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test/*.js --cov" - }, - "version": "3.0.4" -} \ No newline at end of file + ] +} diff --git a/tools/node_modules/eslint/node_modules/ms/package.json b/tools/node_modules/eslint/node_modules/ms/package.json index 7192a30c57c..eea666e1fb0 100644 --- a/tools/node_modules/eslint/node_modules/ms/package.json +++ b/tools/node_modules/eslint/node_modules/ms/package.json @@ -1,16 +1,16 @@ { - "bugs": { - "url": "https://github.com/zeit/ms/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "ms", + "version": "2.1.2", "description": "Tiny millisecond conversion utility", - "devDependencies": { - "eslint": "4.12.1", - "expect.js": "0.3.1", - "husky": "0.14.3", - "lint-staged": "5.0.0", - "mocha": "4.0.1" + "repository": "zeit/ms", + "main": "./index", + "files": [ + "index.js" + ], + "scripts": { + "precommit": "lint-staged", + "lint": "eslint lib/* bin/*", + "test": "mocha tests.js" }, "eslintConfig": { "extends": "eslint:recommended", @@ -19,11 +19,6 @@ "es6": true } }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/zeit/ms#readme", - "license": "MIT", "lint-staged": { "*.js": [ "npm run lint", @@ -31,16 +26,12 @@ "git add" ] }, - "main": "./index", - "name": "ms", - "repository": { - "type": "git", - "url": "git+https://github.com/zeit/ms.git" - }, - "scripts": { - "lint": "eslint lib/* bin/*", - "precommit": "lint-staged", - "test": "mocha tests.js" - }, - "version": "2.1.2" -} \ No newline at end of file + "license": "MIT", + "devDependencies": { + "eslint": "4.12.1", + "expect.js": "0.3.1", + "husky": "0.14.3", + "lint-staged": "5.0.0", + "mocha": "4.0.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/natural-compare/package.json b/tools/node_modules/eslint/node_modules/natural-compare/package.json index af8b2be0162..1a71362eea8 100644 --- a/tools/node_modules/eslint/node_modules/natural-compare/package.json +++ b/tools/node_modules/eslint/node_modules/natural-compare/package.json @@ -1,28 +1,10 @@ { - "author": { - "name": "Lauri Rooden", - "url": "https://github.com/litejs/natural-compare-lite" - }, - "bugs": { - "url": "https://github.com/litejs/natural-compare-lite/issues" - }, - "buildman": { - "dist/index-min.js": { - "banner": "/*! litejs.com/MIT-LICENSE.txt */", - "input": "index.js" - } - }, - "bundleDependencies": false, - "deprecated": false, + "name": "natural-compare", + "version": "1.4.0", + "stability": 3, + "author": "Lauri Rooden (https://github.com/litejs/natural-compare-lite)", + "license": "MIT", "description": "Compare strings containing a mix of letters and numbers in the way a human being would in sort order.", - "devDependencies": { - "buildman": "*", - "testman": "*" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/litejs/natural-compare-lite#readme", "keywords": [ "string", "natural", @@ -34,17 +16,27 @@ "alphanum", "litejs" ], - "license": "MIT", "main": "index.js", - "name": "natural-compare", - "repository": { - "type": "git", - "url": "git://github.com/litejs/natural-compare-lite.git" - }, + "readmeFilename": "README.md", + "files": [ + "index.js" + ], "scripts": { "build": "node node_modules/buildman/index.js --all", "test": "node tests/index.js" }, - "stability": 3, - "version": "1.4.0" -} \ No newline at end of file + "repository": "git://github.com/litejs/natural-compare-lite.git", + "bugs": { + "url": "https://github.com/litejs/natural-compare-lite/issues" + }, + "devDependencies": { + "buildman": "*", + "testman": "*" + }, + "buildman": { + "dist/index-min.js": { + "banner": "/*! litejs.com/MIT-LICENSE.txt */", + "input": "index.js" + } + } +} diff --git a/tools/node_modules/eslint/node_modules/once/package.json b/tools/node_modules/eslint/node_modules/once/package.json index 86353670756..16815b2fa11 100644 --- a/tools/node_modules/eslint/node_modules/once/package.json +++ b/tools/node_modules/eslint/node_modules/once/package.json @@ -1,43 +1,33 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/once/issues" + "name": "once", + "version": "1.4.0", + "description": "Run a function exactly one time", + "main": "once.js", + "directories": { + "test": "test" }, - "bundleDependencies": false, "dependencies": { "wrappy": "1" }, - "deprecated": false, - "description": "Run a function exactly one time", "devDependencies": { "tap": "^7.0.1" }, - "directories": { - "test": "test" + "scripts": { + "test": "tap test/*.js" }, "files": [ "once.js" ], - "homepage": "https://github.com/isaacs/once#readme", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/once" + }, "keywords": [ "once", "function", "one", "single" ], - "license": "ISC", - "main": "once.js", - "name": "once", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/once.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "1.4.0" -} \ No newline at end of file + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/tools/node_modules/eslint/node_modules/optionator/package.json b/tools/node_modules/eslint/node_modules/optionator/package.json index b76e0b4f4c5..83fb1c2c930 100644 --- a/tools/node_modules/eslint/node_modules/optionator/package.json +++ b/tools/node_modules/eslint/node_modules/optionator/package.json @@ -1,34 +1,8 @@ { - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "bugs": { - "url": "https://github.com/gkz/optionator/issues" - }, - "bundleDependencies": false, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "deprecated": false, + "name": "optionator", + "version": "0.9.1", + "author": "George Zahariev ", "description": "option parsing and help generation", - "devDependencies": { - "livescript": "^1.6.0", - "mocha": "^7.1.1" - }, - "engines": { - "node": ">= 0.8.0" - }, - "files": [ - "lib", - "README.md", - "LICENSE" - ], "homepage": "https://github.com/gkz/optionator", "keywords": [ "options", @@ -36,9 +10,17 @@ "option parsing", "cli" ], - "license": "MIT", + "files": [ + "lib", + "README.md", + "LICENSE" + ], "main": "./lib/", - "name": "optionator", + "bugs": "https://github.com/gkz/optionator/issues", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + }, "repository": { "type": "git", "url": "git://github.com/gkz/optionator.git" @@ -46,5 +28,16 @@ "scripts": { "test": "make test" }, - "version": "0.9.1" -} \ No newline at end of file + "dependencies": { + "prelude-ls": "^1.2.1", + "deep-is": "^0.1.3", + "word-wrap": "^1.2.3", + "type-check": "^0.4.0", + "levn": "^0.4.1", + "fast-levenshtein": "^2.0.6" + }, + "devDependencies": { + "livescript": "^1.6.0", + "mocha": "^7.1.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/parent-module/package.json b/tools/node_modules/eslint/node_modules/parent-module/package.json index 1f5b6cb1757..790333d0b1a 100644 --- a/tools/node_modules/eslint/node_modules/parent-module/package.json +++ b/tools/node_modules/eslint/node_modules/parent-module/package.json @@ -1,55 +1,46 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/parent-module/issues" - }, - "bundleDependencies": false, - "dependencies": { - "callsites": "^3.0.0" - }, - "deprecated": false, - "description": "Get the path of the parent module", - "devDependencies": { - "ava": "^1.4.1", - "execa": "^1.0.0", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=6" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/parent-module#readme", - "keywords": [ - "parent", - "module", - "package", - "pkg", - "caller", - "calling", - "module", - "path", - "callsites", - "callsite", - "stacktrace", - "stack", - "trace", - "function", - "file" - ], - "license": "MIT", - "name": "parent-module", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/parent-module.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "1.0.1" -} \ No newline at end of file + "name": "parent-module", + "version": "1.0.1", + "description": "Get the path of the parent module", + "license": "MIT", + "repository": "sindresorhus/parent-module", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=6" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "parent", + "module", + "package", + "pkg", + "caller", + "calling", + "module", + "path", + "callsites", + "callsite", + "stacktrace", + "stack", + "trace", + "function", + "file" + ], + "dependencies": { + "callsites": "^3.0.0" + }, + "devDependencies": { + "ava": "^1.4.1", + "execa": "^1.0.0", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/parse-entities/decode-entity.browser.js b/tools/node_modules/eslint/node_modules/parse-entities/decode-entity.browser.js deleted file mode 100644 index feb32664202..00000000000 --- a/tools/node_modules/eslint/node_modules/parse-entities/decode-entity.browser.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict' - -/* eslint-env browser */ - -var el - -var semicolon = 59 // ';' - -module.exports = decodeEntity - -function decodeEntity(characters) { - var entity = '&' + characters + ';' - var char - - el = el || document.createElement('i') - el.innerHTML = entity - char = el.textContent - - // Some entities do not require the closing semicolon (`¬` - for instance), - // which leads to situations where parsing the assumed entity of ¬it; will - // result in the string `¬it;`. When we encounter a trailing semicolon after - // parsing and the entity to decode was not a semicolon (`;`), we can - // assume that the matching was incomplete - if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') { - return false - } - - // If the decoded string is equal to the input, the entity was not valid - return char === entity ? false : char -} diff --git a/tools/node_modules/eslint/node_modules/parse-entities/decode-entity.js b/tools/node_modules/eslint/node_modules/parse-entities/decode-entity.js deleted file mode 100644 index 87c3b1e0bc2..00000000000 --- a/tools/node_modules/eslint/node_modules/parse-entities/decode-entity.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict' - -var characterEntities = require('character-entities') - -module.exports = decodeEntity - -var own = {}.hasOwnProperty - -function decodeEntity(characters) { - return own.call(characterEntities, characters) - ? characterEntities[characters] - : false -} diff --git a/tools/node_modules/eslint/node_modules/parse-entities/index.js b/tools/node_modules/eslint/node_modules/parse-entities/index.js deleted file mode 100644 index 1606d02f659..00000000000 --- a/tools/node_modules/eslint/node_modules/parse-entities/index.js +++ /dev/null @@ -1,450 +0,0 @@ -'use strict' - -var legacy = require('character-entities-legacy') -var invalid = require('character-reference-invalid') -var decimal = require('is-decimal') -var hexadecimal = require('is-hexadecimal') -var alphanumerical = require('is-alphanumerical') -var decodeEntity = require('./decode-entity') - -module.exports = parseEntities - -var own = {}.hasOwnProperty -var fromCharCode = String.fromCharCode -var noop = Function.prototype - -// Default settings. -var defaults = { - warning: null, - reference: null, - text: null, - warningContext: null, - referenceContext: null, - textContext: null, - position: {}, - additional: null, - attribute: false, - nonTerminated: true -} - -// Characters. -var tab = 9 // '\t' -var lineFeed = 10 // '\n' -var formFeed = 12 // '\f' -var space = 32 // ' ' -var ampersand = 38 // '&' -var semicolon = 59 // ';' -var lessThan = 60 // '<' -var equalsTo = 61 // '=' -var numberSign = 35 // '#' -var uppercaseX = 88 // 'X' -var lowercaseX = 120 // 'x' -var replacementCharacter = 65533 // '�' - -// Reference types. -var name = 'named' -var hexa = 'hexadecimal' -var deci = 'decimal' - -// Map of bases. -var bases = {} - -bases[hexa] = 16 -bases[deci] = 10 - -// Map of types to tests. -// Each type of character reference accepts different characters. -// This test is used to detect whether a reference has ended (as the semicolon -// is not strictly needed). -var tests = {} - -tests[name] = alphanumerical -tests[deci] = decimal -tests[hexa] = hexadecimal - -// Warning types. -var namedNotTerminated = 1 -var numericNotTerminated = 2 -var namedEmpty = 3 -var numericEmpty = 4 -var namedUnknown = 5 -var numericDisallowed = 6 -var numericProhibited = 7 - -// Warning messages. -var messages = {} - -messages[namedNotTerminated] = - 'Named character references must be terminated by a semicolon' -messages[numericNotTerminated] = - 'Numeric character references must be terminated by a semicolon' -messages[namedEmpty] = 'Named character references cannot be empty' -messages[numericEmpty] = 'Numeric character references cannot be empty' -messages[namedUnknown] = 'Named character references must be known' -messages[numericDisallowed] = - 'Numeric character references cannot be disallowed' -messages[numericProhibited] = - 'Numeric character references cannot be outside the permissible Unicode range' - -// Wrap to ensure clean parameters are given to `parse`. -function parseEntities(value, options) { - var settings = {} - var option - var key - - if (!options) { - options = {} - } - - for (key in defaults) { - option = options[key] - settings[key] = - option === null || option === undefined ? defaults[key] : option - } - - if (settings.position.indent || settings.position.start) { - settings.indent = settings.position.indent || [] - settings.position = settings.position.start - } - - return parse(value, settings) -} - -// Parse entities. -// eslint-disable-next-line complexity -function parse(value, settings) { - var additional = settings.additional - var nonTerminated = settings.nonTerminated - var handleText = settings.text - var handleReference = settings.reference - var handleWarning = settings.warning - var textContext = settings.textContext - var referenceContext = settings.referenceContext - var warningContext = settings.warningContext - var pos = settings.position - var indent = settings.indent || [] - var length = value.length - var index = 0 - var lines = -1 - var column = pos.column || 1 - var line = pos.line || 1 - var queue = '' - var result = [] - var entityCharacters - var namedEntity - var terminated - var characters - var character - var reference - var following - var warning - var reason - var output - var entity - var begin - var start - var type - var test - var prev - var next - var diff - var end - - if (typeof additional === 'string') { - additional = additional.charCodeAt(0) - } - - // Cache the current point. - prev = now() - - // Wrap `handleWarning`. - warning = handleWarning ? parseError : noop - - // Ensure the algorithm walks over the first character and the end (inclusive). - index-- - length++ - - while (++index < length) { - // If the previous character was a newline. - if (character === lineFeed) { - column = indent[lines] || 1 - } - - character = value.charCodeAt(index) - - if (character === ampersand) { - following = value.charCodeAt(index + 1) - - // The behaviour depends on the identity of the next character. - if ( - following === tab || - following === lineFeed || - following === formFeed || - following === space || - following === ampersand || - following === lessThan || - following !== following || - (additional && following === additional) - ) { - // Not a character reference. - // No characters are consumed, and nothing is returned. - // This is not an error, either. - queue += fromCharCode(character) - column++ - - continue - } - - start = index + 1 - begin = start - end = start - - if (following === numberSign) { - // Numerical entity. - end = ++begin - - // The behaviour further depends on the next character. - following = value.charCodeAt(end) - - if (following === uppercaseX || following === lowercaseX) { - // ASCII hex digits. - type = hexa - end = ++begin - } else { - // ASCII digits. - type = deci - } - } else { - // Named entity. - type = name - } - - entityCharacters = '' - entity = '' - characters = '' - test = tests[type] - end-- - - while (++end < length) { - following = value.charCodeAt(end) - - if (!test(following)) { - break - } - - characters += fromCharCode(following) - - // Check if we can match a legacy named reference. - // If so, we cache that as the last viable named reference. - // This ensures we do not need to walk backwards later. - if (type === name && own.call(legacy, characters)) { - entityCharacters = characters - entity = legacy[characters] - } - } - - terminated = value.charCodeAt(end) === semicolon - - if (terminated) { - end++ - - namedEntity = type === name ? decodeEntity(characters) : false - - if (namedEntity) { - entityCharacters = characters - entity = namedEntity - } - } - - diff = 1 + end - start - - if (!terminated && !nonTerminated) { - // Empty. - } else if (!characters) { - // An empty (possible) entity is valid, unless it’s numeric (thus an - // ampersand followed by an octothorp). - if (type !== name) { - warning(numericEmpty, diff) - } - } else if (type === name) { - // An ampersand followed by anything unknown, and not terminated, is - // invalid. - if (terminated && !entity) { - warning(namedUnknown, 1) - } else { - // If theres something after an entity name which is not known, cap - // the reference. - if (entityCharacters !== characters) { - end = begin + entityCharacters.length - diff = 1 + end - begin - terminated = false - } - - // If the reference is not terminated, warn. - if (!terminated) { - reason = entityCharacters ? namedNotTerminated : namedEmpty - - if (settings.attribute) { - following = value.charCodeAt(end) - - if (following === equalsTo) { - warning(reason, diff) - entity = null - } else if (alphanumerical(following)) { - entity = null - } else { - warning(reason, diff) - } - } else { - warning(reason, diff) - } - } - } - - reference = entity - } else { - if (!terminated) { - // All non-terminated numeric entities are not rendered, and trigger a - // warning. - warning(numericNotTerminated, diff) - } - - // When terminated and number, parse as either hexadecimal or decimal. - reference = parseInt(characters, bases[type]) - - // Trigger a warning when the parsed number is prohibited, and replace - // with replacement character. - if (prohibited(reference)) { - warning(numericProhibited, diff) - reference = fromCharCode(replacementCharacter) - } else if (reference in invalid) { - // Trigger a warning when the parsed number is disallowed, and replace - // by an alternative. - warning(numericDisallowed, diff) - reference = invalid[reference] - } else { - // Parse the number. - output = '' - - // Trigger a warning when the parsed number should not be used. - if (disallowed(reference)) { - warning(numericDisallowed, diff) - } - - // Stringify the number. - if (reference > 0xffff) { - reference -= 0x10000 - output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800) - reference = 0xdc00 | (reference & 0x3ff) - } - - reference = output + fromCharCode(reference) - } - } - - // Found it! - // First eat the queued characters as normal text, then eat an entity. - if (reference) { - flush() - - prev = now() - index = end - 1 - column += end - start + 1 - result.push(reference) - next = now() - next.offset++ - - if (handleReference) { - handleReference.call( - referenceContext, - reference, - {start: prev, end: next}, - value.slice(start - 1, end) - ) - } - - prev = next - } else { - // If we could not find a reference, queue the checked characters (as - // normal characters), and move the pointer to their end. - // This is possible because we can be certain neither newlines nor - // ampersands are included. - characters = value.slice(start - 1, end) - queue += characters - column += characters.length - index = end - 1 - } - } else { - // Handle anything other than an ampersand, including newlines and EOF. - if ( - character === 10 // Line feed - ) { - line++ - lines++ - column = 0 - } - - if (character === character) { - queue += fromCharCode(character) - column++ - } else { - flush() - } - } - } - - // Return the reduced nodes, and any possible warnings. - return result.join('') - - // Get current position. - function now() { - return { - line: line, - column: column, - offset: index + (pos.offset || 0) - } - } - - // “Throw” a parse-error: a warning. - function parseError(code, offset) { - var position = now() - - position.column += offset - position.offset += offset - - handleWarning.call(warningContext, messages[code], position, code) - } - - // Flush `queue` (normal text). - // Macro invoked before each entity and at the end of `value`. - // Does nothing when `queue` is empty. - function flush() { - if (queue) { - result.push(queue) - - if (handleText) { - handleText.call(textContext, queue, {start: prev, end: now()}) - } - - queue = '' - } - } -} - -// Check if `character` is outside the permissible unicode range. -function prohibited(code) { - return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff -} - -// Check if `character` is disallowed. -function disallowed(code) { - return ( - (code >= 0x0001 && code <= 0x0008) || - code === 0x000b || - (code >= 0x000d && code <= 0x001f) || - (code >= 0x007f && code <= 0x009f) || - (code >= 0xfdd0 && code <= 0xfdef) || - (code & 0xffff) === 0xffff || - (code & 0xffff) === 0xfffe - ) -} diff --git a/tools/node_modules/eslint/node_modules/parse-entities/license b/tools/node_modules/eslint/node_modules/parse-entities/license deleted file mode 100644 index 611b67581bb..00000000000 --- a/tools/node_modules/eslint/node_modules/parse-entities/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/parse-entities/package.json b/tools/node_modules/eslint/node_modules/parse-entities/package.json deleted file mode 100644 index f2eee3452e6..00000000000 --- a/tools/node_modules/eslint/node_modules/parse-entities/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "browser": { - "./decode-entity.js": "./decode-entity.browser.js" - }, - "bugs": { - "url": "https://github.com/wooorm/parse-entities/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "deprecated": false, - "description": "Parse HTML character references: fast, spec-compliant, positional information", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.12.1", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.2.0", - "tape-run": "^6.0.0", - "tinyify": "^2.4.3", - "xo": "^0.24.0" - }, - "files": [ - "index.js", - "decode-entity.js", - "decode-entity.browser.js" - ], - "homepage": "https://github.com/wooorm/parse-entities#readme", - "keywords": [ - "parse", - "html", - "character", - "reference", - "entity", - "entities" - ], - "license": "MIT", - "name": "parse-entities", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "react-native": { - "./decode-entity.js": "./decode-entity.js" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/parse-entities.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s parseEntities > parse-entities.js", - "build-mangle": "browserify . -s parseEntities -p tinyify > parse-entities.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage && npm run test-browser", - "test-api": "node test", - "test-browser": "browserify test.js | tape-run", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.2.2", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "no-self-compare": "off", - "guard-for-in": "off", - "max-depth": "off" - }, - "ignores": [ - "parse-entities.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/parse-entities/readme.md b/tools/node_modules/eslint/node_modules/parse-entities/readme.md deleted file mode 100644 index e9cc0f037ff..00000000000 --- a/tools/node_modules/eslint/node_modules/parse-entities/readme.md +++ /dev/null @@ -1,217 +0,0 @@ -# parse-entities - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Parse HTML character references: fast, spec-compliant, positional -information. - -## Installation - -[npm][]: - -```bash -npm install parse-entities -``` - -## Usage - -```js -var decode = require('parse-entities') - -decode('alpha & bravo') -// => alpha & bravo - -decode('charlie ©cat; delta') -// => charlie ©cat; delta - -decode('echo © foxtrot ≠ golf 𝌆 hotel') -// => echo © foxtrot ≠ golf 𝌆 hotel -``` - -## API - -## `parseEntities(value[, options])` - -##### `options` - -###### `options.additional` - -Additional character to accept (`string?`, default: `''`). -This allows other characters, without error, when following an ampersand. - -###### `options.attribute` - -Whether to parse `value` as an attribute value (`boolean?`, default: -`false`). - -###### `options.nonTerminated` - -Whether to allow non-terminated entities (`boolean`, default: `true`). -For example, `©cat` for `©cat`. This behaviour is spec-compliant but -can lead to unexpected results. - -###### `options.warning` - -Error handler ([`Function?`][warning]). - -###### `options.text` - -Text handler ([`Function?`][text]). - -###### `options.reference` - -Reference handler ([`Function?`][reference]). - -###### `options.warningContext` - -Context used when invoking `warning` (`'*'`, optional). - -###### `options.textContext` - -Context used when invoking `text` (`'*'`, optional). - -###### `options.referenceContext` - -Context used when invoking `reference` (`'*'`, optional) - -###### `options.position` - -Starting `position` of `value` (`Location` or `Position`, optional). Useful -when dealing with values nested in some sort of syntax tree. The default is: - -```js -{ - start: {line: 1, column: 1, offset: 0}, - indent: [] -} -``` - -##### Returns - -`string` — Decoded `value`. - -### `function warning(reason, position, code)` - -Error handler. - -##### Context - -`this` refers to `warningContext` when given to `parseEntities`. - -##### Parameters - -###### `reason` - -Human-readable reason for triggering a parse error (`string`). - -###### `position` - -Place at which the parse error occurred (`Position`). - -###### `code` - -Identifier of reason for triggering a parse error (`number`). - -The following codes are used: - -| Code | Example | Note | -| ---- | ------------------ | --------------------------------------------- | -| `1` | `foo & bar` | Missing semicolon (named) | -| `2` | `foo { bar` | Missing semicolon (numeric) | -| `3` | `Foo &bar baz` | Ampersand did not start a reference | -| `4` | `Foo &#` | Empty reference | -| `5` | `Foo &bar; baz` | Unknown entity | -| `6` | `Foo € baz` | [Disallowed reference][invalid] | -| `7` | `Foo � baz` | Prohibited: outside permissible unicode range | - -### `function text(value, location)` - -Text handler. - -##### Context - -`this` refers to `textContext` when given to `parseEntities`. - -##### Parameters - -###### `value` - -String of content (`string`). - -###### `location` - -Location at which `value` starts and ends (`Location`). - -### `function reference(value, location, source)` - -Character reference handler. - -##### Context - -`this` refers to `referenceContext` when given to `parseEntities`. - -##### Parameters - -###### `value` - -Encoded character reference (`string`). - -###### `location` - -Location at which `value` starts and ends (`Location`). - -###### `source` - -Source of character reference (`Location`). - -## Related - -* [`stringify-entities`](https://github.com/wooorm/stringify-entities) - — Encode HTML character references -* [`character-entities`](https://github.com/wooorm/character-entities) - — Info on character entities -* [`character-entities-html4`](https://github.com/wooorm/character-entities-html4) - — Info on HTML4 character entities -* [`character-entities-legacy`](https://github.com/wooorm/character-entities-legacy) - — Info on legacy character entities -* [`character-reference-invalid`](https://github.com/wooorm/character-reference-invalid) - — Info on invalid numeric character references - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/parse-entities.svg - -[build]: https://travis-ci.org/wooorm/parse-entities - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/parse-entities.svg - -[coverage]: https://codecov.io/github/wooorm/parse-entities - -[downloads-badge]: https://img.shields.io/npm/dm/parse-entities.svg - -[downloads]: https://www.npmjs.com/package/parse-entities - -[size-badge]: https://img.shields.io/bundlephobia/minzip/parse-entities.svg - -[size]: https://bundlephobia.com/result?p=parse-entities - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[warning]: #function-warningreason-position-code - -[text]: #function-textvalue-location - -[reference]: #function-referencevalue-location-source - -[invalid]: https://github.com/wooorm/character-reference-invalid diff --git a/tools/node_modules/eslint/node_modules/path-is-absolute/package.json b/tools/node_modules/eslint/node_modules/path-is-absolute/package.json index 9280158131f..91196d5e9c1 100644 --- a/tools/node_modules/eslint/node_modules/path-is-absolute/package.json +++ b/tools/node_modules/eslint/node_modules/path-is-absolute/package.json @@ -1,25 +1,23 @@ { + "name": "path-is-absolute", + "version": "1.0.1", + "description": "Node.js 0.12 path.isAbsolute() ponyfill", + "license": "MIT", + "repository": "sindresorhus/path-is-absolute", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", "url": "sindresorhus.com" }, - "bugs": { - "url": "https://github.com/sindresorhus/path-is-absolute/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Node.js 0.12 path.isAbsolute() ponyfill", - "devDependencies": { - "xo": "^0.16.0" - }, "engines": { "node": ">=0.10.0" }, + "scripts": { + "test": "xo && node test.js" + }, "files": [ "index.js" ], - "homepage": "https://github.com/sindresorhus/path-is-absolute#readme", "keywords": [ "path", "paths", @@ -39,14 +37,7 @@ "detect", "check" ], - "license": "MIT", - "name": "path-is-absolute", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/path-is-absolute.git" - }, - "scripts": { - "test": "xo && node test.js" - }, - "version": "1.0.1" -} \ No newline at end of file + "devDependencies": { + "xo": "^0.16.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/path-key/package.json b/tools/node_modules/eslint/node_modules/path-key/package.json index 7c2ea096485..c8cbd383afc 100644 --- a/tools/node_modules/eslint/node_modules/path-key/package.json +++ b/tools/node_modules/eslint/node_modules/path-key/package.json @@ -1,48 +1,39 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/path-key/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Get the PATH environment variable key cross-platform", - "devDependencies": { - "@types/node": "^11.13.0", - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/sindresorhus/path-key#readme", - "keywords": [ - "path", - "key", - "environment", - "env", - "variable", - "var", - "get", - "cross-platform", - "windows" - ], - "license": "MIT", - "name": "path-key", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/path-key.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "3.1.1" -} \ No newline at end of file + "name": "path-key", + "version": "3.1.1", + "description": "Get the PATH environment variable key cross-platform", + "license": "MIT", + "repository": "sindresorhus/path-key", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "path", + "key", + "environment", + "env", + "variable", + "var", + "get", + "cross-platform", + "windows" + ], + "devDependencies": { + "@types/node": "^11.13.0", + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/prelude-ls/package.json b/tools/node_modules/eslint/node_modules/prelude-ls/package.json index ff1fcd6e1a8..c313c3da34a 100644 --- a/tools/node_modules/eslint/node_modules/prelude-ls/package.json +++ b/tools/node_modules/eslint/node_modules/prelude-ls/package.json @@ -1,30 +1,8 @@ { - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "bugs": { - "url": "https://github.com/gkz/prelude-ls/issues" - }, - "bundleDependencies": false, - "deprecated": false, + "name": "prelude-ls", + "version": "1.2.1", + "author": "George Zahariev ", "description": "prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript.", - "devDependencies": { - "browserify": "^16.5.1", - "livescript": "^1.6.0", - "mocha": "^7.1.1", - "sinon": "~8.0.1", - "uglify-js": "^3.8.1" - }, - "engines": { - "node": ">= 0.8.0" - }, - "files": [ - "lib/", - "README.md", - "LICENSE" - ], - "homepage": "http://preludels.com", "keywords": [ "prelude", "livescript", @@ -39,9 +17,18 @@ "object", "string" ], - "license": "MIT", "main": "lib/", - "name": "prelude-ls", + "files": [ + "lib/", + "README.md", + "LICENSE" + ], + "homepage": "http://preludels.com", + "bugs": "https://github.com/gkz/prelude-ls/issues", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + }, "repository": { "type": "git", "url": "git://github.com/gkz/prelude-ls.git" @@ -49,5 +36,11 @@ "scripts": { "test": "make test" }, - "version": "1.2.1" -} \ No newline at end of file + "devDependencies": { + "livescript": "^1.6.0", + "uglify-js": "^3.8.1", + "mocha": "^7.1.1", + "browserify": "^16.5.1", + "sinon": "~8.0.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/progress/package.json b/tools/node_modules/eslint/node_modules/progress/package.json index 64511f83441..bb81fa0bcd2 100644 --- a/tools/node_modules/eslint/node_modules/progress/package.json +++ b/tools/node_modules/eslint/node_modules/progress/package.json @@ -1,47 +1,26 @@ { - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "bugs": { - "url": "https://github.com/visionmedia/node-progress/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Christoffer Hallas", - "email": "christoffer.hallas@gmail.com" - }, - { - "name": "Jordan Scales", - "email": "scalesjordan@gmail.com" - }, - { - "name": "Andrew Rhyne", - "email": "rhyneandrew@gmail.com" - }, - { - "name": "Marco Brack", - "email": "PapstDonB@Googlemail.com" - } - ], - "dependencies": {}, - "deprecated": false, + "name": "progress", + "version": "2.0.3", "description": "Flexible ascii progress bar", - "engines": { - "node": ">=0.4.0" + "repository": { + "type": "git", + "url": "git://github.com/visionmedia/node-progress" }, - "homepage": "https://github.com/visionmedia/node-progress#readme", "keywords": [ "cli", "progress" ], - "license": "MIT", + "author": "TJ Holowaychuk ", + "contributors": [ + "Christoffer Hallas ", + "Jordan Scales ", + "Andrew Rhyne ", + "Marco Brack " + ], + "dependencies": {}, "main": "./index.js", - "name": "progress", - "repository": { - "type": "git", - "url": "git://github.com/visionmedia/node-progress.git" + "engines": { + "node": ">=0.4.0" }, - "version": "2.0.3" -} \ No newline at end of file + "license": "MIT" +} diff --git a/tools/node_modules/eslint/node_modules/punycode/package.json b/tools/node_modules/eslint/node_modules/punycode/package.json index 36ee74b2ef4..9202ccf8c0c 100644 --- a/tools/node_modules/eslint/node_modules/punycode/package.json +++ b/tools/node_modules/eslint/node_modules/punycode/package.json @@ -1,62 +1,58 @@ { + "name": "punycode", + "version": "2.1.1", + "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", + "homepage": "https://mths.be/punycode", + "main": "punycode.js", + "jsnext:main": "punycode.es6.js", + "module": "punycode.es6.js", + "engines": { + "node": ">=6" + }, + "keywords": [ + "punycode", + "unicode", + "idn", + "idna", + "dns", + "url", + "domain" + ], + "license": "MIT", "author": { "name": "Mathias Bynens", "url": "https://mathiasbynens.be/" }, - "bugs": { - "url": "https://github.com/bestiejs/punycode.js/issues" - }, - "bundleDependencies": false, "contributors": [ { "name": "Mathias Bynens", "url": "https://mathiasbynens.be/" } ], - "deprecated": false, - "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", - "devDependencies": { - "codecov": "^1.0.1", - "istanbul": "^0.4.1", - "mocha": "^2.5.3" - }, - "engines": { - "node": ">=6" + "repository": { + "type": "git", + "url": "https://github.com/bestiejs/punycode.js.git" }, + "bugs": "https://github.com/bestiejs/punycode.js/issues", "files": [ "LICENSE-MIT.txt", "punycode.js", "punycode.es6.js" ], - "homepage": "https://mths.be/punycode", - "jsnext:main": "punycode.es6.js", + "scripts": { + "test": "mocha tests", + "prepublish": "node scripts/prepublish.js" + }, + "devDependencies": { + "codecov": "^1.0.1", + "istanbul": "^0.4.1", + "mocha": "^2.5.3" + }, "jspm": { "map": { "./punycode.js": { "node": "@node/punycode" } } - }, - "keywords": [ - "punycode", - "unicode", - "idn", - "idna", - "dns", - "url", - "domain" - ], - "license": "MIT", - "main": "punycode.js", - "module": "punycode.es6.js", - "name": "punycode", - "repository": { - "type": "git", - "url": "git+https://github.com/bestiejs/punycode.js.git" - }, - "scripts": { - "prepublish": "node scripts/prepublish.js", - "test": "mocha tests" - }, - "version": "2.1.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/regexpp/package.json b/tools/node_modules/eslint/node_modules/regexpp/package.json index 1c2b0eb82ba..029cbe74e37 100644 --- a/tools/node_modules/eslint/node_modules/regexpp/package.json +++ b/tools/node_modules/eslint/node_modules/regexpp/package.json @@ -1,15 +1,15 @@ { - "author": { - "name": "Toru Nagashima", - "url": "https://github.com/mysticatea" - }, - "bugs": { - "url": "https://github.com/mysticatea/regexpp/issues" + "name": "regexpp", + "version": "3.1.0", + "description": "Regular expression parser for ECMAScript.", + "engines": { + "node": ">=8" }, - "bundleDependencies": false, + "main": "index", + "files": [ + "index.*" + ], "dependencies": {}, - "deprecated": false, - "description": "Regular expression parser for ECMAScript.", "devDependencies": { "@mysticatea/eslint-plugin": "^11.0.0", "@types/eslint": "^4.16.2", @@ -30,14 +30,31 @@ "ts-node": "^8.3.0", "typescript": "^3.5.3" }, - "engines": { - "node": ">=8" + "scripts": { + "prebuild": "npm run -s clean", + "build": "run-s build:*", + "build:tsc": "tsc --module es2015", + "build:rollup": "rollup -c", + "build:dts": "dts-bundle --name regexpp --main .temp/index.d.ts --out ../index.d.ts", + "clean": "rimraf .temp index.*", + "codecov": "nyc report -r lcovonly && codecov -t ${CODECOV_TOKEN} --disable=gcov", + "lint": "eslint scripts src test --ext .ts", + "pretest": "run-s build lint", + "test": "nyc _mocha \"test/*.ts\" --reporter dot --timeout 10000", + "update:test": "ts-node scripts/update-fixtures.ts", + "update:unicode": "run-s update:unicode:*", + "update:unicode:ids": "ts-node scripts/update-unicode-ids.ts", + "update:unicode:props": "ts-node scripts/update-unicode-properties.ts", + "preversion": "npm test", + "version": "npm run -s build", + "postversion": "git push && git push --tags", + "prewatch": "npm run -s clean", + "watch": "_mocha \"test/*.ts\" --require ts-node/register --reporter dot --timeout 10000 --watch-extensions ts --watch --growl" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/mysticatea/regexpp.git" }, - "files": [ - "index.*" - ], - "funding": "https://github.com/sponsors/mysticatea", - "homepage": "https://github.com/mysticatea/regexpp#readme", "keywords": [ "regexp", "regular", @@ -57,33 +74,11 @@ "es2020", "annexB" ], + "author": "Toru Nagashima (https://github.com/mysticatea)", "license": "MIT", - "main": "index", - "name": "regexpp", - "repository": { - "type": "git", - "url": "git+https://github.com/mysticatea/regexpp.git" - }, - "scripts": { - "build": "run-s build:*", - "build:dts": "dts-bundle --name regexpp --main .temp/index.d.ts --out ../index.d.ts", - "build:rollup": "rollup -c", - "build:tsc": "tsc --module es2015", - "clean": "rimraf .temp index.*", - "codecov": "nyc report -r lcovonly && codecov -t ${CODECOV_TOKEN} --disable=gcov", - "lint": "eslint scripts src test --ext .ts", - "postversion": "git push && git push --tags", - "prebuild": "npm run -s clean", - "pretest": "run-s build lint", - "preversion": "npm test", - "prewatch": "npm run -s clean", - "test": "nyc _mocha \"test/*.ts\" --reporter dot --timeout 10000", - "update:test": "ts-node scripts/update-fixtures.ts", - "update:unicode": "run-s update:unicode:*", - "update:unicode:ids": "ts-node scripts/update-unicode-ids.ts", - "update:unicode:props": "ts-node scripts/update-unicode-properties.ts", - "version": "npm run -s build", - "watch": "_mocha \"test/*.ts\" --require ts-node/register --reporter dot --timeout 10000 --watch-extensions ts --watch --growl" + "bugs": { + "url": "https://github.com/mysticatea/regexpp/issues" }, - "version": "3.1.0" -} \ No newline at end of file + "homepage": "https://github.com/mysticatea/regexpp#readme", + "funding": "https://github.com/sponsors/mysticatea" +} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/index.js b/tools/node_modules/eslint/node_modules/remark-parse/index.js deleted file mode 100644 index 1579e35518c..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var unherit = require('unherit'); -var xtend = require('xtend'); -var Parser = require('./lib/parser.js'); - -module.exports = parse; -parse.Parser = Parser; - -function parse(options) { - var Local = unherit(Parser); - Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options); - this.Parser = Local; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/block-elements.json b/tools/node_modules/eslint/node_modules/remark-parse/lib/block-elements.json deleted file mode 100644 index 2d13b561792..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/block-elements.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - "address", - "article", - "aside", - "base", - "basefont", - "blockquote", - "body", - "caption", - "center", - "col", - "colgroup", - "dd", - "details", - "dialog", - "dir", - "div", - "dl", - "dt", - "fieldset", - "figcaption", - "figure", - "footer", - "form", - "frame", - "frameset", - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - "head", - "header", - "hgroup", - "hr", - "html", - "iframe", - "legend", - "li", - "link", - "main", - "menu", - "menuitem", - "meta", - "nav", - "noframes", - "ol", - "optgroup", - "option", - "p", - "param", - "pre", - "section", - "source", - "title", - "summary", - "table", - "tbody", - "td", - "tfoot", - "th", - "thead", - "title", - "tr", - "track", - "ul" -] diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/decode.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/decode.js deleted file mode 100644 index fd45b729d06..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/decode.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var entities = require('parse-entities'); - -module.exports = factory; - -/* Factory to create an entity decoder. */ -function factory(ctx) { - decoder.raw = decodeRaw; - - return decoder; - - /* Normalize `position` to add an `indent`. */ - function normalize(position) { - var offsets = ctx.offset; - var line = position.line; - var result = []; - - while (++line) { - if (!(line in offsets)) { - break; - } - - result.push((offsets[line] || 0) + 1); - } - - return { - start: position, - indent: result - }; - } - - /* Handle a warning. - * See https://github.com/wooorm/parse-entities - * for the warnings. */ - function handleWarning(reason, position, code) { - if (code === 3) { - return; - } - - ctx.file.message(reason, position); - } - - /* Decode `value` (at `position`) into text-nodes. */ - function decoder(value, position, handler) { - entities(value, { - position: normalize(position), - warning: handleWarning, - text: handler, - reference: handler, - textContext: ctx, - referenceContext: ctx - }); - } - - /* Decode `value` (at `position`) into a string. */ - function decodeRaw(value, position, options) { - return entities(value, xtend(options, { - position: normalize(position), - warning: handleWarning - })); - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/defaults.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/defaults.js deleted file mode 100644 index 37846f3930a..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/defaults.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -module.exports = { - position: true, - gfm: true, - commonmark: false, - footnotes: false, - pedantic: false, - blocks: require('./block-elements.json') -}; diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/break.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/break.js deleted file mode 100644 index 295bdc98551..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/break.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var index = value.indexOf('\n', fromIndex); - - while (index > fromIndex) { - if (value.charAt(index - 1) !== ' ') { - break; - } - - index--; - } - - return index; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/code-inline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/code-inline.js deleted file mode 100644 index 981c8169825..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/code-inline.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('`', fromIndex); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/delete.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/delete.js deleted file mode 100644 index d208aef2fff..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/delete.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('~~', fromIndex); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/emphasis.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/emphasis.js deleted file mode 100644 index 6a1f24227d0..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/emphasis.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var asterisk = value.indexOf('*', fromIndex); - var underscore = value.indexOf('_', fromIndex); - - if (underscore === -1) { - return asterisk; - } - - if (asterisk === -1) { - return underscore; - } - - return underscore < asterisk ? underscore : asterisk; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/escape.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/escape.js deleted file mode 100644 index f6c63715827..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/escape.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('\\', fromIndex); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/link.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/link.js deleted file mode 100644 index 0f16fd8016b..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/link.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var link = value.indexOf('[', fromIndex); - var image = value.indexOf('![', fromIndex); - - if (image === -1) { - return link; - } - - /* Link can never be `-1` if an image is found, so we don’t need - * to check for that :) */ - return link < image ? link : image; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/strong.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/strong.js deleted file mode 100644 index da1cac0a499..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/strong.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - var asterisk = value.indexOf('**', fromIndex); - var underscore = value.indexOf('__', fromIndex); - - if (underscore === -1) { - return asterisk; - } - - if (asterisk === -1) { - return underscore; - } - - return underscore < asterisk ? underscore : asterisk; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/tag.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/tag.js deleted file mode 100644 index 3c5534268ab..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/tag.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; - -module.exports = locate; - -function locate(value, fromIndex) { - return value.indexOf('<', fromIndex); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/url.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/url.js deleted file mode 100644 index 59b63e25636..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/locate/url.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -module.exports = locate; - -var PROTOCOLS = ['https://', 'http://', 'mailto:']; - -function locate(value, fromIndex) { - var length = PROTOCOLS.length; - var index = -1; - var min = -1; - var position; - - if (!this.options.gfm) { - return -1; - } - - while (++index < length) { - position = value.indexOf(PROTOCOLS[index], fromIndex); - - if (position !== -1 && (position < min || min === -1)) { - min = position; - } - } - - return min; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/parse.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/parse.js deleted file mode 100644 index 5a8d8119556..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/parse.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var removePosition = require('unist-util-remove-position'); - -module.exports = parse; - -var C_NEWLINE = '\n'; -var EXPRESSION_LINE_BREAKS = /\r\n|\r/g; - -/* Parse the bound file. */ -function parse() { - var self = this; - var value = String(self.file); - var start = {line: 1, column: 1, offset: 0}; - var content = xtend(start); - var node; - - /* Clean non-unix newlines: `\r\n` and `\r` are all - * changed to `\n`. This should not affect positional - * information. */ - value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE); - - if (value.charCodeAt(0) === 0xFEFF) { - value = value.slice(1); - - content.column++; - content.offset++; - } - - node = { - type: 'root', - children: self.tokenizeBlock(value, content), - position: { - start: start, - end: self.eof || xtend(start) - } - }; - - if (!self.options.position) { - removePosition(node, true); - } - - return node; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/parser.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/parser.js deleted file mode 100644 index 9291109f16f..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/parser.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var toggle = require('state-toggle'); -var vfileLocation = require('vfile-location'); -var unescape = require('./unescape'); -var decode = require('./decode'); -var tokenizer = require('./tokenizer'); - -module.exports = Parser; - -function Parser(doc, file) { - this.file = file; - this.offset = {}; - this.options = xtend(this.options); - this.setOptions({}); - - this.inList = false; - this.inBlock = false; - this.inLink = false; - this.atStart = true; - - this.toOffset = vfileLocation(file).toOffset; - this.unescape = unescape(this, 'escape'); - this.decode = decode(this); -} - -var proto = Parser.prototype; - -/* Expose core. */ -proto.setOptions = require('./set-options'); -proto.parse = require('./parse'); - -/* Expose `defaults`. */ -proto.options = require('./defaults'); - -/* Enter and exit helpers. */ -proto.exitStart = toggle('atStart', true); -proto.enterList = toggle('inList', false); -proto.enterLink = toggle('inLink', false); -proto.enterBlock = toggle('inBlock', false); - -/* Nodes that can interupt a paragraph: - * - * ```markdown - * A paragraph, followed by a thematic break. - * ___ - * ``` - * - * In the above example, the thematic break “interupts” - * the paragraph. */ -proto.interruptParagraph = [ - ['thematicBreak'], - ['atxHeading'], - ['fencedCode'], - ['blockquote'], - ['html'], - ['setextHeading', {commonmark: false}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -]; - -/* Nodes that can interupt a list: - * - * ```markdown - * - One - * ___ - * ``` - * - * In the above example, the thematic break “interupts” - * the list. */ -proto.interruptList = [ - ['atxHeading', {pedantic: false}], - ['fencedCode', {pedantic: false}], - ['thematicBreak', {pedantic: false}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -]; - -/* Nodes that can interupt a blockquote: - * - * ```markdown - * > A paragraph. - * ___ - * ``` - * - * In the above example, the thematic break “interupts” - * the blockquote. */ -proto.interruptBlockquote = [ - ['indentedCode', {commonmark: true}], - ['fencedCode', {commonmark: true}], - ['atxHeading', {commonmark: true}], - ['setextHeading', {commonmark: true}], - ['thematicBreak', {commonmark: true}], - ['html', {commonmark: true}], - ['list', {commonmark: true}], - ['definition', {commonmark: false}], - ['footnote', {commonmark: false}] -]; - -/* Handlers. */ -proto.blockTokenizers = { - newline: require('./tokenize/newline'), - indentedCode: require('./tokenize/code-indented'), - fencedCode: require('./tokenize/code-fenced'), - blockquote: require('./tokenize/blockquote'), - atxHeading: require('./tokenize/heading-atx'), - thematicBreak: require('./tokenize/thematic-break'), - list: require('./tokenize/list'), - setextHeading: require('./tokenize/heading-setext'), - html: require('./tokenize/html-block'), - footnote: require('./tokenize/footnote-definition'), - definition: require('./tokenize/definition'), - table: require('./tokenize/table'), - paragraph: require('./tokenize/paragraph') -}; - -proto.inlineTokenizers = { - escape: require('./tokenize/escape'), - autoLink: require('./tokenize/auto-link'), - url: require('./tokenize/url'), - html: require('./tokenize/html-inline'), - link: require('./tokenize/link'), - reference: require('./tokenize/reference'), - strong: require('./tokenize/strong'), - emphasis: require('./tokenize/emphasis'), - deletion: require('./tokenize/delete'), - code: require('./tokenize/code-inline'), - break: require('./tokenize/break'), - text: require('./tokenize/text') -}; - -/* Expose precedence. */ -proto.blockMethods = keys(proto.blockTokenizers); -proto.inlineMethods = keys(proto.inlineTokenizers); - -/* Tokenizers. */ -proto.tokenizeBlock = tokenizer('block'); -proto.tokenizeInline = tokenizer('inline'); -proto.tokenizeFactory = tokenizer; - -/* Get all keys in `value`. */ -function keys(value) { - var result = []; - var key; - - for (key in value) { - result.push(key); - } - - return result; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/set-options.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/set-options.js deleted file mode 100644 index c55f7f32f31..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/set-options.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var xtend = require('xtend'); -var escapes = require('markdown-escapes'); -var defaults = require('./defaults'); - -module.exports = setOptions; - -function setOptions(options) { - var self = this; - var current = self.options; - var key; - var value; - - if (options == null) { - options = {}; - } else if (typeof options === 'object') { - options = xtend(options); - } else { - throw new Error( - 'Invalid value `' + options + '` ' + - 'for setting `options`' - ); - } - - for (key in defaults) { - value = options[key]; - - if (value == null) { - value = current[key]; - } - - if ( - (key !== 'blocks' && typeof value !== 'boolean') || - (key === 'blocks' && typeof value !== 'object') - ) { - throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`'); - } - - options[key] = value; - } - - self.options = options; - self.escape = escapes(options); - - return self; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js deleted file mode 100644 index c945a2c1f88..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/auto-link.js +++ /dev/null @@ -1,145 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var decode = require('parse-entities'); -var locate = require('../locate/tag'); - -module.exports = autoLink; -autoLink.locator = locate; -autoLink.notInLink = true; - -var C_LT = '<'; -var C_GT = '>'; -var C_AT_SIGN = '@'; -var C_SLASH = '/'; -var MAILTO = 'mailto:'; -var MAILTO_LENGTH = MAILTO.length; - -/* Tokenise a link. */ -function autoLink(eat, value, silent) { - var self; - var subvalue; - var length; - var index; - var queue; - var character; - var hasAtCharacter; - var link; - var now; - var content; - var tokenizers; - var exit; - - if (value.charAt(0) !== C_LT) { - return; - } - - self = this; - subvalue = ''; - length = value.length; - index = 0; - queue = ''; - hasAtCharacter = false; - link = ''; - - index++; - subvalue = C_LT; - - while (index < length) { - character = value.charAt(index); - - if ( - whitespace(character) || - character === C_GT || - character === C_AT_SIGN || - (character === ':' && value.charAt(index + 1) === C_SLASH) - ) { - break; - } - - queue += character; - index++; - } - - if (!queue) { - return; - } - - link += queue; - queue = ''; - - character = value.charAt(index); - link += character; - index++; - - if (character === C_AT_SIGN) { - hasAtCharacter = true; - } else { - if ( - character !== ':' || - value.charAt(index + 1) !== C_SLASH - ) { - return; - } - - link += C_SLASH; - index++; - } - - while (index < length) { - character = value.charAt(index); - - if (whitespace(character) || character === C_GT) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (!queue || character !== C_GT) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - link += queue; - content = link; - subvalue += link + character; - now = eat.now(); - now.column++; - now.offset++; - - if (hasAtCharacter) { - if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) { - content = content.substr(MAILTO_LENGTH); - now.column += MAILTO_LENGTH; - now.offset += MAILTO_LENGTH; - } else { - link = MAILTO + link; - } - } - - /* Temporarily remove all tokenizers except text in autolinks. */ - tokenizers = self.inlineTokenizers; - self.inlineTokenizers = {text: tokenizers.text}; - - exit = self.enterLink(); - - content = self.tokenizeInline(content, now); - - self.inlineTokenizers = tokenizers; - exit(); - - return eat(subvalue)({ - type: 'link', - title: null, - url: decode(link, {nonTerminated: false}), - children: content - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js deleted file mode 100644 index bd700d6a6c8..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/blockquote.js +++ /dev/null @@ -1,129 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var interrupt = require('../util/interrupt'); - -module.exports = blockquote; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_GT = '>'; - -/* Tokenise a blockquote. */ -function blockquote(eat, value, silent) { - var self = this; - var offsets = self.offset; - var tokenizers = self.blockTokenizers; - var interruptors = self.interruptBlockquote; - var now = eat.now(); - var currentLine = now.line; - var length = value.length; - var values = []; - var contents = []; - var indents = []; - var add; - var index = 0; - var character; - var rest; - var nextIndex; - var content; - var line; - var startIndex; - var prefixed; - var exit; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - index++; - } - - if (value.charAt(index) !== C_GT) { - return; - } - - if (silent) { - return true; - } - - index = 0; - - while (index < length) { - nextIndex = value.indexOf(C_NEWLINE, index); - startIndex = index; - prefixed = false; - - if (nextIndex === -1) { - nextIndex = length; - } - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - index++; - } - - if (value.charAt(index) === C_GT) { - index++; - prefixed = true; - - if (value.charAt(index) === C_SPACE) { - index++; - } - } else { - index = startIndex; - } - - content = value.slice(index, nextIndex); - - if (!prefixed && !trim(content)) { - index = startIndex; - break; - } - - if (!prefixed) { - rest = value.slice(index); - - /* Check if the following code contains a possible - * block. */ - if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) { - break; - } - } - - line = startIndex === index ? content : value.slice(startIndex, nextIndex); - - indents.push(index - startIndex); - values.push(line); - contents.push(content); - - index = nextIndex + 1; - } - - index = -1; - length = indents.length; - add = eat(values.join(C_NEWLINE)); - - while (++index < length) { - offsets[currentLine] = (offsets[currentLine] || 0) + indents[index]; - currentLine++; - } - - exit = self.enterBlock(); - contents = self.tokenizeBlock(contents.join(C_NEWLINE), now); - exit(); - - return add({ - type: 'blockquote', - children: contents - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/break.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/break.js deleted file mode 100644 index eb531342bfe..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/break.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict'; - -var locate = require('../locate/break'); - -module.exports = hardBreak; -hardBreak.locator = locate; - -var MIN_BREAK_LENGTH = 2; - -function hardBreak(eat, value, silent) { - var length = value.length; - var index = -1; - var queue = ''; - var character; - - while (++index < length) { - character = value.charAt(index); - - if (character === '\n') { - if (index < MIN_BREAK_LENGTH) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - queue += character; - - return eat(queue)({type: 'break'}); - } - - if (character !== ' ') { - return; - } - - queue += character; - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js deleted file mode 100644 index 65f2bc73273..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-fenced.js +++ /dev/null @@ -1,236 +0,0 @@ -'use strict'; - -var trim = require('trim-trailing-lines'); - -module.exports = fencedCode; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_TILDE = '~'; -var C_TICK = '`'; - -var MIN_FENCE_COUNT = 3; -var CODE_INDENT_COUNT = 4; - -function fencedCode(eat, value, silent) { - var self = this; - var settings = self.options; - var length = value.length + 1; - var index = 0; - var subvalue = ''; - var fenceCount; - var marker; - var character; - var flag; - var queue; - var content; - var exdentedContent; - var closing; - var exdentedClosing; - var indent; - var now; - - if (!settings.gfm) { - return; - } - - /* Eat initial spacing. */ - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - subvalue += character; - index++; - } - - indent = index; - - /* Eat the fence. */ - character = value.charAt(index); - - if (character !== C_TILDE && character !== C_TICK) { - return; - } - - index++; - marker = character; - fenceCount = 1; - subvalue += character; - - while (index < length) { - character = value.charAt(index); - - if (character !== marker) { - break; - } - - subvalue += character; - fenceCount++; - index++; - } - - if (fenceCount < MIN_FENCE_COUNT) { - return; - } - - /* Eat spacing before flag. */ - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - subvalue += character; - index++; - } - - /* Eat flag. */ - flag = ''; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if ( - character === C_NEWLINE || - character === C_TILDE || - character === C_TICK - ) { - break; - } - - if (character === C_SPACE || character === C_TAB) { - queue += character; - } else { - flag += queue + character; - queue = ''; - } - - index++; - } - - character = value.charAt(index); - - if (character && character !== C_NEWLINE) { - return; - } - - if (silent) { - return true; - } - - now = eat.now(); - now.column += subvalue.length; - now.offset += subvalue.length; - - subvalue += flag; - flag = self.decode.raw(self.unescape(flag), now); - - if (queue) { - subvalue += queue; - } - - queue = ''; - closing = ''; - exdentedClosing = ''; - content = ''; - exdentedContent = ''; - - /* Eat content. */ - while (index < length) { - character = value.charAt(index); - content += closing; - exdentedContent += exdentedClosing; - closing = ''; - exdentedClosing = ''; - - if (character !== C_NEWLINE) { - content += character; - exdentedClosing += character; - index++; - continue; - } - - /* Add the newline to `subvalue` if its the first - * character. Otherwise, add it to the `closing` - * queue. */ - if (content) { - closing += character; - exdentedClosing += character; - } else { - subvalue += character; - } - - queue = ''; - index++; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE) { - break; - } - - queue += character; - index++; - } - - closing += queue; - exdentedClosing += queue.slice(indent); - - if (queue.length >= CODE_INDENT_COUNT) { - continue; - } - - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character !== marker) { - break; - } - - queue += character; - index++; - } - - closing += queue; - exdentedClosing += queue; - - if (queue.length < fenceCount) { - continue; - } - - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - closing += character; - exdentedClosing += character; - index++; - } - - if (!character || character === C_NEWLINE) { - break; - } - } - - subvalue += content + closing; - - return eat(subvalue)({ - type: 'code', - lang: flag || null, - value: trim(exdentedContent) - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js deleted file mode 100644 index c73849d9ad8..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-indented.js +++ /dev/null @@ -1,98 +0,0 @@ -'use strict'; - -var repeat = require('repeat-string'); -var trim = require('trim-trailing-lines'); - -module.exports = indentedCode; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; - -var CODE_INDENT_COUNT = 4; -var CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT); - -/* Tokenise indented code. */ -function indentedCode(eat, value, silent) { - var index = -1; - var length = value.length; - var subvalue = ''; - var content = ''; - var subvalueQueue = ''; - var contentQueue = ''; - var character; - var blankQueue; - var indent; - - while (++index < length) { - character = value.charAt(index); - - if (indent) { - indent = false; - - subvalue += subvalueQueue; - content += contentQueue; - subvalueQueue = ''; - contentQueue = ''; - - if (character === C_NEWLINE) { - subvalueQueue = character; - contentQueue = character; - } else { - subvalue += character; - content += character; - - while (++index < length) { - character = value.charAt(index); - - if (!character || character === C_NEWLINE) { - contentQueue = character; - subvalueQueue = character; - break; - } - - subvalue += character; - content += character; - } - } - } else if ( - character === C_SPACE && - value.charAt(index + 1) === character && - value.charAt(index + 2) === character && - value.charAt(index + 3) === character - ) { - subvalueQueue += CODE_INDENT; - index += 3; - indent = true; - } else if (character === C_TAB) { - subvalueQueue += character; - indent = true; - } else { - blankQueue = ''; - - while (character === C_TAB || character === C_SPACE) { - blankQueue += character; - character = value.charAt(++index); - } - - if (character !== C_NEWLINE) { - break; - } - - subvalueQueue += blankQueue + character; - contentQueue += character; - } - } - - if (content) { - if (silent) { - return true; - } - - return eat(subvalue)({ - type: 'code', - lang: null, - value: trim(content) - }); - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js deleted file mode 100644 index c0a496b4925..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/code-inline.js +++ /dev/null @@ -1,112 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/code-inline'); - -module.exports = inlineCode; -inlineCode.locator = locate; - -var C_TICK = '`'; - -/* Tokenise inline code. */ -function inlineCode(eat, value, silent) { - var length = value.length; - var index = 0; - var queue = ''; - var tickQueue = ''; - var contentQueue; - var subqueue; - var count; - var openingCount; - var subvalue; - var character; - var found; - var next; - - while (index < length) { - if (value.charAt(index) !== C_TICK) { - break; - } - - queue += C_TICK; - index++; - } - - if (!queue) { - return; - } - - subvalue = queue; - openingCount = index; - queue = ''; - next = value.charAt(index); - count = 0; - - while (index < length) { - character = next; - next = value.charAt(index + 1); - - if (character === C_TICK) { - count++; - tickQueue += character; - } else { - count = 0; - queue += character; - } - - if (count && next !== C_TICK) { - if (count === openingCount) { - subvalue += queue + tickQueue; - found = true; - break; - } - - queue += tickQueue; - tickQueue = ''; - } - - index++; - } - - if (!found) { - if (openingCount % 2 !== 0) { - return; - } - - queue = ''; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - contentQueue = ''; - subqueue = ''; - length = queue.length; - index = -1; - - while (++index < length) { - character = queue.charAt(index); - - if (whitespace(character)) { - subqueue += character; - continue; - } - - if (subqueue) { - if (contentQueue) { - contentQueue += subqueue; - } - - subqueue = ''; - } - - contentQueue += character; - } - - return eat(subvalue)({ - type: 'inlineCode', - value: contentQueue - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/definition.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/definition.js deleted file mode 100644 index 1cce274cfbd..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/definition.js +++ /dev/null @@ -1,278 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var normalize = require('../util/normalize'); - -module.exports = definition; -definition.notInList = true; -definition.notInBlock = true; - -var C_DOUBLE_QUOTE = '"'; -var C_SINGLE_QUOTE = '\''; -var C_BACKSLASH = '\\'; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_PAREN_OPEN = '('; -var C_PAREN_CLOSE = ')'; -var C_COLON = ':'; -var C_LT = '<'; -var C_GT = '>'; - -function definition(eat, value, silent) { - var self = this; - var commonmark = self.options.commonmark; - var index = 0; - var length = value.length; - var subvalue = ''; - var beforeURL; - var beforeTitle; - var queue; - var character; - var test; - var identifier; - var url; - var title; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - break; - } - - subvalue += character; - index++; - } - - character = value.charAt(index); - - if (character !== C_BRACKET_OPEN) { - return; - } - - index++; - subvalue += character; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_CLOSE) { - break; - } else if (character === C_BACKSLASH) { - queue += character; - index++; - character = value.charAt(index); - } - - queue += character; - index++; - } - - if ( - !queue || - value.charAt(index) !== C_BRACKET_CLOSE || - value.charAt(index + 1) !== C_COLON - ) { - return; - } - - identifier = queue; - subvalue += queue + C_BRACKET_CLOSE + C_COLON; - index = subvalue.length; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if ( - character !== C_TAB && - character !== C_SPACE && - character !== C_NEWLINE - ) { - break; - } - - subvalue += character; - index++; - } - - character = value.charAt(index); - queue = ''; - beforeURL = subvalue; - - if (character === C_LT) { - index++; - - while (index < length) { - character = value.charAt(index); - - if (!isEnclosedURLCharacter(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (character === isEnclosedURLCharacter.delimiter) { - subvalue += C_LT + queue + character; - index++; - } else { - if (commonmark) { - return; - } - - index -= queue.length + 1; - queue = ''; - } - } - - if (!queue) { - while (index < length) { - character = value.charAt(index); - - if (!isUnclosedURLCharacter(character)) { - break; - } - - queue += character; - index++; - } - - subvalue += queue; - } - - if (!queue) { - return; - } - - url = queue; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if ( - character !== C_TAB && - character !== C_SPACE && - character !== C_NEWLINE - ) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - test = null; - - if (character === C_DOUBLE_QUOTE) { - test = C_DOUBLE_QUOTE; - } else if (character === C_SINGLE_QUOTE) { - test = C_SINGLE_QUOTE; - } else if (character === C_PAREN_OPEN) { - test = C_PAREN_CLOSE; - } - - if (!test) { - queue = ''; - index = subvalue.length; - } else if (queue) { - subvalue += queue + character; - index = subvalue.length; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === test) { - break; - } - - if (character === C_NEWLINE) { - index++; - character = value.charAt(index); - - if (character === C_NEWLINE || character === test) { - return; - } - - queue += C_NEWLINE; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (character !== test) { - return; - } - - beforeTitle = subvalue; - subvalue += queue + character; - index++; - title = queue; - queue = ''; - } else { - return; - } - - while (index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - subvalue += character; - index++; - } - - character = value.charAt(index); - - if (!character || character === C_NEWLINE) { - if (silent) { - return true; - } - - beforeURL = eat(beforeURL).test().end; - url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false}); - - if (title) { - beforeTitle = eat(beforeTitle).test().end; - title = self.decode.raw(self.unescape(title), beforeTitle); - } - - return eat(subvalue)({ - type: 'definition', - identifier: normalize(identifier), - title: title || null, - url: url - }); - } -} - -/* Check if `character` can be inside an enclosed URI. */ -function isEnclosedURLCharacter(character) { - return character !== C_GT && - character !== C_BRACKET_OPEN && - character !== C_BRACKET_CLOSE; -} - -isEnclosedURLCharacter.delimiter = C_GT; - -/* Check if `character` can be inside an unclosed URI. */ -function isUnclosedURLCharacter(character) { - return character !== C_BRACKET_OPEN && - character !== C_BRACKET_CLOSE && - !whitespace(character); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/delete.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/delete.js deleted file mode 100644 index ca7c68a8c5c..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/delete.js +++ /dev/null @@ -1,60 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/delete'); - -module.exports = strikethrough; -strikethrough.locator = locate; - -var C_TILDE = '~'; -var DOUBLE = '~~'; - -function strikethrough(eat, value, silent) { - var self = this; - var character = ''; - var previous = ''; - var preceding = ''; - var subvalue = ''; - var index; - var length; - var now; - - if ( - !self.options.gfm || - value.charAt(0) !== C_TILDE || - value.charAt(1) !== C_TILDE || - whitespace(value.charAt(2)) - ) { - return; - } - - index = 1; - length = value.length; - now = eat.now(); - now.column += 2; - now.offset += 2; - - while (++index < length) { - character = value.charAt(index); - - if ( - character === C_TILDE && - previous === C_TILDE && - (!preceding || !whitespace(preceding)) - ) { - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - return eat(DOUBLE + subvalue + DOUBLE)({ - type: 'delete', - children: self.tokenizeInline(subvalue, now) - }); - } - - subvalue += previous; - preceding = previous; - previous = character; - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js deleted file mode 100644 index b2c87b4497d..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/emphasis.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var word = require('is-word-character'); -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/emphasis'); - -module.exports = emphasis; -emphasis.locator = locate; - -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; - -function emphasis(eat, value, silent) { - var self = this; - var index = 0; - var character = value.charAt(index); - var now; - var pedantic; - var marker; - var queue; - var subvalue; - var length; - var prev; - - if (character !== C_ASTERISK && character !== C_UNDERSCORE) { - return; - } - - pedantic = self.options.pedantic; - subvalue = character; - marker = character; - length = value.length; - index++; - queue = ''; - character = ''; - - if (pedantic && whitespace(value.charAt(index))) { - return; - } - - while (index < length) { - prev = character; - character = value.charAt(index); - - if (character === marker && (!pedantic || !whitespace(prev))) { - character = value.charAt(++index); - - if (character !== marker) { - if (!trim(queue) || prev === marker) { - return; - } - - if (!pedantic && marker === C_UNDERSCORE && word(character)) { - queue += marker; - continue; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - now = eat.now(); - now.column++; - now.offset++; - - return eat(subvalue + queue + marker)({ - type: 'emphasis', - children: self.tokenizeInline(queue, now) - }); - } - - queue += marker; - } - - if (!pedantic && character === '\\') { - queue += character; - character = value.charAt(++index); - } - - queue += character; - index++; - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/escape.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/escape.js deleted file mode 100644 index d6f99bcc103..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/escape.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; - -var locate = require('../locate/escape'); - -module.exports = escape; -escape.locator = locate; - -function escape(eat, value, silent) { - var self = this; - var character; - var node; - - if (value.charAt(0) === '\\') { - character = value.charAt(1); - - if (self.escape.indexOf(character) !== -1) { - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - if (character === '\n') { - node = {type: 'break'}; - } else { - node = { - type: 'text', - value: character - }; - } - - return eat('\\' + character)(node); - } - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js deleted file mode 100644 index f48ff9bb7eb..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/footnote-definition.js +++ /dev/null @@ -1,185 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var normalize = require('../util/normalize'); - -module.exports = footnoteDefinition; -footnoteDefinition.notInList = true; -footnoteDefinition.notInBlock = true; - -var C_BACKSLASH = '\\'; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_CARET = '^'; -var C_COLON = ':'; - -var EXPRESSION_INITIAL_TAB = /^( {4}|\t)?/gm; - -function footnoteDefinition(eat, value, silent) { - var self = this; - var offsets = self.offset; - var index; - var length; - var subvalue; - var now; - var currentLine; - var content; - var queue; - var subqueue; - var character; - var identifier; - var add; - var exit; - - if (!self.options.footnotes) { - return; - } - - index = 0; - length = value.length; - subvalue = ''; - now = eat.now(); - currentLine = now.line; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - subvalue += character; - index++; - } - - if ( - value.charAt(index) !== C_BRACKET_OPEN || - value.charAt(index + 1) !== C_CARET - ) { - return; - } - - subvalue += C_BRACKET_OPEN + C_CARET; - index = subvalue.length; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_CLOSE) { - break; - } else if (character === C_BACKSLASH) { - queue += character; - index++; - character = value.charAt(index); - } - - queue += character; - index++; - } - - if ( - !queue || - value.charAt(index) !== C_BRACKET_CLOSE || - value.charAt(index + 1) !== C_COLON - ) { - return; - } - - if (silent) { - return true; - } - - identifier = normalize(queue); - subvalue += queue + C_BRACKET_CLOSE + C_COLON; - index = subvalue.length; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - subvalue += character; - index++; - } - - now.column += subvalue.length; - now.offset += subvalue.length; - queue = ''; - content = ''; - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === C_NEWLINE) { - subqueue = character; - index++; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_NEWLINE) { - break; - } - - subqueue += character; - index++; - } - - queue += subqueue; - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character !== C_SPACE) { - break; - } - - subqueue += character; - index++; - } - - if (subqueue.length === 0) { - break; - } - - queue += subqueue; - } - - if (queue) { - content += queue; - queue = ''; - } - - content += character; - index++; - } - - subvalue += content; - - content = content.replace(EXPRESSION_INITIAL_TAB, function (line) { - offsets[currentLine] = (offsets[currentLine] || 0) + line.length; - currentLine++; - - return ''; - }); - - add = eat(subvalue); - - exit = self.enterBlock(); - content = self.tokenizeBlock(content, now); - exit(); - - return add({ - type: 'footnoteDefinition', - identifier: identifier, - children: content - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js deleted file mode 100644 index aafeabb5491..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-atx.js +++ /dev/null @@ -1,141 +0,0 @@ -'use strict'; - -module.exports = atxHeading; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_HASH = '#'; - -var MAX_ATX_COUNT = 6; - -function atxHeading(eat, value, silent) { - var self = this; - var settings = self.options; - var length = value.length + 1; - var index = -1; - var now = eat.now(); - var subvalue = ''; - var content = ''; - var character; - var queue; - var depth; - - /* Eat initial spacing. */ - while (++index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - index--; - break; - } - - subvalue += character; - } - - /* Eat hashes. */ - depth = 0; - - while (++index <= length) { - character = value.charAt(index); - - if (character !== C_HASH) { - index--; - break; - } - - subvalue += character; - depth++; - } - - if (depth > MAX_ATX_COUNT) { - return; - } - - if ( - !depth || - (!settings.pedantic && value.charAt(index + 1) === C_HASH) - ) { - return; - } - - length = value.length + 1; - - /* Eat intermediate white-space. */ - queue = ''; - - while (++index < length) { - character = value.charAt(index); - - if (character !== C_SPACE && character !== C_TAB) { - index--; - break; - } - - queue += character; - } - - /* Exit when not in pedantic mode without spacing. */ - if ( - !settings.pedantic && - queue.length === 0 && - character && - character !== C_NEWLINE - ) { - return; - } - - if (silent) { - return true; - } - - /* Eat content. */ - subvalue += queue; - queue = ''; - content = ''; - - while (++index < length) { - character = value.charAt(index); - - if (!character || character === C_NEWLINE) { - break; - } - - if ( - character !== C_SPACE && - character !== C_TAB && - character !== C_HASH - ) { - content += queue + character; - queue = ''; - continue; - } - - while (character === C_SPACE || character === C_TAB) { - queue += character; - character = value.charAt(++index); - } - - while (character === C_HASH) { - queue += character; - character = value.charAt(++index); - } - - while (character === C_SPACE || character === C_TAB) { - queue += character; - character = value.charAt(++index); - } - - index--; - } - - now.column += subvalue.length; - now.offset += subvalue.length; - subvalue += content + queue; - - return eat(subvalue)({ - type: 'heading', - depth: depth, - children: self.tokenizeInline(content, now) - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js deleted file mode 100644 index 96c6130da74..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/heading-setext.js +++ /dev/null @@ -1,107 +0,0 @@ -'use strict'; - -module.exports = setextHeading; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_EQUALS = '='; -var C_DASH = '-'; - -var MAX_HEADING_INDENT = 3; - -/* Map of characters which can be used to mark setext - * headers, mapping to their corresponding depth. */ -var SETEXT_MARKERS = {}; - -SETEXT_MARKERS[C_EQUALS] = 1; -SETEXT_MARKERS[C_DASH] = 2; - -function setextHeading(eat, value, silent) { - var self = this; - var now = eat.now(); - var length = value.length; - var index = -1; - var subvalue = ''; - var content; - var queue; - var character; - var marker; - var depth; - - /* Eat initial indentation. */ - while (++index < length) { - character = value.charAt(index); - - if (character !== C_SPACE || index >= MAX_HEADING_INDENT) { - index--; - break; - } - - subvalue += character; - } - - /* Eat content. */ - content = ''; - queue = ''; - - while (++index < length) { - character = value.charAt(index); - - if (character === C_NEWLINE) { - index--; - break; - } - - if (character === C_SPACE || character === C_TAB) { - queue += character; - } else { - content += queue + character; - queue = ''; - } - } - - now.column += subvalue.length; - now.offset += subvalue.length; - subvalue += content + queue; - - /* Ensure the content is followed by a newline and a - * valid marker. */ - character = value.charAt(++index); - marker = value.charAt(++index); - - if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) { - return; - } - - subvalue += character; - - /* Eat Setext-line. */ - queue = marker; - depth = SETEXT_MARKERS[marker]; - - while (++index < length) { - character = value.charAt(index); - - if (character !== marker) { - if (character !== C_NEWLINE) { - return; - } - - index--; - break; - } - - queue += character; - } - - if (silent) { - return true; - } - - return eat(subvalue + queue)({ - type: 'heading', - depth: depth, - children: self.tokenizeInline(content, now) - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-block.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-block.js deleted file mode 100644 index 6e81eb290a3..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-block.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict'; - -var openCloseTag = require('../util/html').openCloseTag; - -module.exports = blockHTML; - -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_LT = '<'; - -function blockHTML(eat, value, silent) { - var self = this; - var blocks = self.options.blocks; - var length = value.length; - var index = 0; - var next; - var line; - var offset; - var character; - var count; - var sequence; - var subvalue; - - var sequences = [ - [/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true], - [/^/, true], - [/^<\?/, /\?>/, true], - [/^/, true], - [/^/, true], - [new RegExp('^|$))', 'i'), /^$/, true], - [new RegExp(openCloseTag.source + '\\s*$'), /^$/, false] - ]; - - /* Eat initial spacing. */ - while (index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - index++; - } - - if (value.charAt(index) !== C_LT) { - return; - } - - next = value.indexOf(C_NEWLINE, index + 1); - next = next === -1 ? length : next; - line = value.slice(index, next); - offset = -1; - count = sequences.length; - - while (++offset < count) { - if (sequences[offset][0].test(line)) { - sequence = sequences[offset]; - break; - } - } - - if (!sequence) { - return; - } - - if (silent) { - return sequence[2]; - } - - index = next; - - if (!sequence[1].test(line)) { - while (index < length) { - next = value.indexOf(C_NEWLINE, index + 1); - next = next === -1 ? length : next; - line = value.slice(index + 1, next); - - if (sequence[1].test(line)) { - if (line) { - index = next; - } - - break; - } - - index = next; - } - } - - subvalue = value.slice(0, index); - - return eat(subvalue)({type: 'html', value: subvalue}); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js deleted file mode 100644 index c204e962b15..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/html-inline.js +++ /dev/null @@ -1,54 +0,0 @@ -'use strict'; - -var alphabetical = require('is-alphabetical'); -var locate = require('../locate/tag'); -var tag = require('../util/html').tag; - -module.exports = inlineHTML; -inlineHTML.locator = locate; - -var EXPRESSION_HTML_LINK_OPEN = /^/i; - -function inlineHTML(eat, value, silent) { - var self = this; - var length = value.length; - var character; - var subvalue; - - if (value.charAt(0) !== '<' || length < 3) { - return; - } - - character = value.charAt(1); - - if ( - !alphabetical(character) && - character !== '?' && - character !== '!' && - character !== '/' - ) { - return; - } - - subvalue = value.match(tag); - - if (!subvalue) { - return; - } - - /* istanbul ignore if - not used yet. */ - if (silent) { - return true; - } - - subvalue = subvalue[0]; - - if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) { - self.inLink = true; - } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) { - self.inLink = false; - } - - return eat(subvalue)({type: 'html', value: subvalue}); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/link.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/link.js deleted file mode 100644 index 3ef5e1ba312..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/link.js +++ /dev/null @@ -1,392 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/link'); - -module.exports = link; -link.locator = locate; - -var own = {}.hasOwnProperty; - -var C_BACKSLASH = '\\'; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_PAREN_OPEN = '('; -var C_PAREN_CLOSE = ')'; -var C_LT = '<'; -var C_GT = '>'; -var C_TICK = '`'; -var C_DOUBLE_QUOTE = '"'; -var C_SINGLE_QUOTE = '\''; - -/* Map of characters, which can be used to mark link - * and image titles. */ -var LINK_MARKERS = {}; - -LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE; -LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE; - -/* Map of characters, which can be used to mark link - * and image titles in commonmark-mode. */ -var COMMONMARK_LINK_MARKERS = {}; - -COMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE; -COMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE; -COMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE; - -function link(eat, value, silent) { - var self = this; - var subvalue = ''; - var index = 0; - var character = value.charAt(0); - var pedantic = self.options.pedantic; - var commonmark = self.options.commonmark; - var gfm = self.options.gfm; - var closed; - var count; - var opening; - var beforeURL; - var beforeTitle; - var subqueue; - var hasMarker; - var markers; - var isImage; - var content; - var marker; - var length; - var title; - var depth; - var queue; - var url; - var now; - var exit; - var node; - - /* Detect whether this is an image. */ - if (character === '!') { - isImage = true; - subvalue = character; - character = value.charAt(++index); - } - - /* Eat the opening. */ - if (character !== C_BRACKET_OPEN) { - return; - } - - /* Exit when this is a link and we’re already inside - * a link. */ - if (!isImage && self.inLink) { - return; - } - - subvalue += character; - queue = ''; - index++; - - /* Eat the content. */ - length = value.length; - now = eat.now(); - depth = 0; - - now.column += index; - now.offset += index; - - while (index < length) { - character = value.charAt(index); - subqueue = character; - - if (character === C_TICK) { - /* Inline-code in link content. */ - count = 1; - - while (value.charAt(index + 1) === C_TICK) { - subqueue += character; - index++; - count++; - } - - if (!opening) { - opening = count; - } else if (count >= opening) { - opening = 0; - } - } else if (character === C_BACKSLASH) { - /* Allow brackets to be escaped. */ - index++; - subqueue += value.charAt(index); - /* In GFM mode, brackets in code still count. - * In all other modes, they don’t. This empty - * block prevents the next statements are - * entered. */ - } else if ((!opening || gfm) && character === C_BRACKET_OPEN) { - depth++; - } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) { - if (depth) { - depth--; - } else { - /* Allow white-space between content and - * url in GFM mode. */ - if (!pedantic) { - while (index < length) { - character = value.charAt(index + 1); - - if (!whitespace(character)) { - break; - } - - subqueue += character; - index++; - } - } - - if (value.charAt(index + 1) !== C_PAREN_OPEN) { - return; - } - - subqueue += C_PAREN_OPEN; - closed = true; - index++; - - break; - } - } - - queue += subqueue; - subqueue = ''; - index++; - } - - /* Eat the content closing. */ - if (!closed) { - return; - } - - content = queue; - subvalue += queue + subqueue; - index++; - - /* Eat white-space. */ - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - subvalue += character; - index++; - } - - /* Eat the URL. */ - character = value.charAt(index); - markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS; - queue = ''; - beforeURL = subvalue; - - if (character === C_LT) { - index++; - beforeURL += C_LT; - - while (index < length) { - character = value.charAt(index); - - if (character === C_GT) { - break; - } - - if (commonmark && character === '\n') { - return; - } - - queue += character; - index++; - } - - if (value.charAt(index) !== C_GT) { - return; - } - - subvalue += C_LT + queue + C_GT; - url = queue; - index++; - } else { - character = null; - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (subqueue && own.call(markers, character)) { - break; - } - - if (whitespace(character)) { - if (!pedantic) { - break; - } - - subqueue += character; - } else { - if (character === C_PAREN_OPEN) { - depth++; - } else if (character === C_PAREN_CLOSE) { - if (depth === 0) { - break; - } - - depth--; - } - - queue += subqueue; - subqueue = ''; - - if (character === C_BACKSLASH) { - queue += C_BACKSLASH; - character = value.charAt(++index); - } - - queue += character; - } - - index++; - } - - subvalue += queue; - url = queue; - index = subvalue.length; - } - - /* Eat white-space. */ - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - subvalue += queue; - - /* Eat the title. */ - if (queue && own.call(markers, character)) { - index++; - subvalue += character; - queue = ''; - marker = markers[character]; - beforeTitle = subvalue; - - /* In commonmark-mode, things are pretty easy: the - * marker cannot occur inside the title. - * - * Non-commonmark does, however, support nested - * delimiters. */ - if (commonmark) { - while (index < length) { - character = value.charAt(index); - - if (character === marker) { - break; - } - - if (character === C_BACKSLASH) { - queue += C_BACKSLASH; - character = value.charAt(++index); - } - - index++; - queue += character; - } - - character = value.charAt(index); - - if (character !== marker) { - return; - } - - title = queue; - subvalue += queue + character; - index++; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - subvalue += character; - index++; - } - } else { - subqueue = ''; - - while (index < length) { - character = value.charAt(index); - - if (character === marker) { - if (hasMarker) { - queue += marker + subqueue; - subqueue = ''; - } - - hasMarker = true; - } else if (!hasMarker) { - queue += character; - } else if (character === C_PAREN_CLOSE) { - subvalue += queue + marker + subqueue; - title = queue; - break; - } else if (whitespace(character)) { - subqueue += character; - } else { - queue += marker + subqueue + character; - subqueue = ''; - hasMarker = false; - } - - index++; - } - } - } - - if (value.charAt(index) !== C_PAREN_CLOSE) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - subvalue += C_PAREN_CLOSE; - - url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false}); - - if (title) { - beforeTitle = eat(beforeTitle).test().end; - title = self.decode.raw(self.unescape(title), beforeTitle); - } - - node = { - type: isImage ? 'image' : 'link', - title: title || null, - url: url - }; - - if (isImage) { - node.alt = self.decode.raw(self.unescape(content), now) || null; - } else { - exit = self.enterLink(); - node.children = self.tokenizeInline(content, now); - exit(); - } - - return eat(subvalue)(node); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/list.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/list.js deleted file mode 100644 index 9164c8167f8..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/list.js +++ /dev/null @@ -1,474 +0,0 @@ -'use strict'; - -/* eslint-disable max-params */ - -var trim = require('trim'); -var repeat = require('repeat-string'); -var decimal = require('is-decimal'); -var getIndent = require('../util/get-indentation'); -var removeIndent = require('../util/remove-indentation'); -var interrupt = require('../util/interrupt'); - -module.exports = list; - -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; -var C_PLUS = '+'; -var C_DASH = '-'; -var C_DOT = '.'; -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_PAREN_CLOSE = ')'; -var C_X_LOWER = 'x'; - -var TAB_SIZE = 4; -var EXPRESSION_LOOSE_LIST_ITEM = /\n\n(?!\s*$)/; -var EXPRESSION_TASK_ITEM = /^\[([ \t]|x|X)][ \t]/; -var EXPRESSION_BULLET = /^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/; -var EXPRESSION_PEDANTIC_BULLET = /^([ \t]*)([*+-]|\d+[.)])([ \t]+)/; -var EXPRESSION_INITIAL_INDENT = /^( {1,4}|\t)?/gm; - -/* Map of characters which can be used to mark - * list-items. */ -var LIST_UNORDERED_MARKERS = {}; - -LIST_UNORDERED_MARKERS[C_ASTERISK] = true; -LIST_UNORDERED_MARKERS[C_PLUS] = true; -LIST_UNORDERED_MARKERS[C_DASH] = true; - -/* Map of characters which can be used to mark - * list-items after a digit. */ -var LIST_ORDERED_MARKERS = {}; - -LIST_ORDERED_MARKERS[C_DOT] = true; - -/* Map of characters which can be used to mark - * list-items after a digit. */ -var LIST_ORDERED_COMMONMARK_MARKERS = {}; - -LIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true; -LIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true; - -function list(eat, value, silent) { - var self = this; - var commonmark = self.options.commonmark; - var pedantic = self.options.pedantic; - var tokenizers = self.blockTokenizers; - var interuptors = self.interruptList; - var markers; - var index = 0; - var length = value.length; - var start = null; - var size = 0; - var queue; - var ordered; - var character; - var marker; - var nextIndex; - var startIndex; - var prefixed; - var currentMarker; - var content; - var line; - var prevEmpty; - var empty; - var items; - var allLines; - var emptyLines; - var item; - var enterTop; - var exitBlockquote; - var isLoose; - var node; - var now; - var end; - var indented; - - while (index < length) { - character = value.charAt(index); - - if (character === C_TAB) { - size += TAB_SIZE - (size % TAB_SIZE); - } else if (character === C_SPACE) { - size++; - } else { - break; - } - - index++; - } - - if (size >= TAB_SIZE) { - return; - } - - character = value.charAt(index); - - markers = commonmark ? - LIST_ORDERED_COMMONMARK_MARKERS : - LIST_ORDERED_MARKERS; - - if (LIST_UNORDERED_MARKERS[character] === true) { - marker = character; - ordered = false; - } else { - ordered = true; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!decimal(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - if (!queue || markers[character] !== true) { - return; - } - - start = parseInt(queue, 10); - marker = character; - } - - character = value.charAt(++index); - - if (character !== C_SPACE && character !== C_TAB) { - return; - } - - if (silent) { - return true; - } - - index = 0; - items = []; - allLines = []; - emptyLines = []; - - while (index < length) { - nextIndex = value.indexOf(C_NEWLINE, index); - startIndex = index; - prefixed = false; - indented = false; - - if (nextIndex === -1) { - nextIndex = length; - } - - end = index + TAB_SIZE; - size = 0; - - while (index < length) { - character = value.charAt(index); - - if (character === C_TAB) { - size += TAB_SIZE - (size % TAB_SIZE); - } else if (character === C_SPACE) { - size++; - } else { - break; - } - - index++; - } - - if (size >= TAB_SIZE) { - indented = true; - } - - if (item && size >= item.indent) { - indented = true; - } - - character = value.charAt(index); - currentMarker = null; - - if (!indented) { - if (LIST_UNORDERED_MARKERS[character] === true) { - currentMarker = character; - index++; - size++; - } else { - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!decimal(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - index++; - - if (queue && markers[character] === true) { - currentMarker = character; - size += queue.length + 1; - } - } - - if (currentMarker) { - character = value.charAt(index); - - if (character === C_TAB) { - size += TAB_SIZE - (size % TAB_SIZE); - index++; - } else if (character === C_SPACE) { - end = index + TAB_SIZE; - - while (index < end) { - if (value.charAt(index) !== C_SPACE) { - break; - } - - index++; - size++; - } - - if (index === end && value.charAt(index) === C_SPACE) { - index -= TAB_SIZE - 1; - size -= TAB_SIZE - 1; - } - } else if (character !== C_NEWLINE && character !== '') { - currentMarker = null; - } - } - } - - if (currentMarker) { - if (!pedantic && marker !== currentMarker) { - break; - } - - prefixed = true; - } else { - if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) { - indented = true; - } else if (commonmark && item) { - indented = size >= item.indent || size > TAB_SIZE; - } - - prefixed = false; - index = startIndex; - } - - line = value.slice(startIndex, nextIndex); - content = startIndex === index ? line : value.slice(index, nextIndex); - - if ( - currentMarker === C_ASTERISK || - currentMarker === C_UNDERSCORE || - currentMarker === C_DASH - ) { - if (tokenizers.thematicBreak.call(self, eat, line, true)) { - break; - } - } - - prevEmpty = empty; - empty = !trim(content).length; - - if (indented && item) { - item.value = item.value.concat(emptyLines, line); - allLines = allLines.concat(emptyLines, line); - emptyLines = []; - } else if (prefixed) { - if (emptyLines.length !== 0) { - item.value.push(''); - item.trail = emptyLines.concat(); - } - - item = { - value: [line], - indent: size, - trail: [] - }; - - items.push(item); - allLines = allLines.concat(emptyLines, line); - emptyLines = []; - } else if (empty) { - if (prevEmpty) { - break; - } - - emptyLines.push(line); - } else { - if (prevEmpty) { - break; - } - - if (interrupt(interuptors, tokenizers, self, [eat, line, true])) { - break; - } - - item.value = item.value.concat(emptyLines, line); - allLines = allLines.concat(emptyLines, line); - emptyLines = []; - } - - index = nextIndex + 1; - } - - node = eat(allLines.join(C_NEWLINE)).reset({ - type: 'list', - ordered: ordered, - start: start, - loose: null, - children: [] - }); - - enterTop = self.enterList(); - exitBlockquote = self.enterBlock(); - isLoose = false; - index = -1; - length = items.length; - - while (++index < length) { - item = items[index].value.join(C_NEWLINE); - now = eat.now(); - - item = eat(item)(listItem(self, item, now), node); - - if (item.loose) { - isLoose = true; - } - - item = items[index].trail.join(C_NEWLINE); - - if (index !== length - 1) { - item += C_NEWLINE; - } - - eat(item); - } - - enterTop(); - exitBlockquote(); - - node.loose = isLoose; - - return node; -} - -function listItem(ctx, value, position) { - var offsets = ctx.offset; - var fn = ctx.options.pedantic ? pedanticListItem : normalListItem; - var checked = null; - var task; - var indent; - - value = fn.apply(null, arguments); - - if (ctx.options.gfm) { - task = value.match(EXPRESSION_TASK_ITEM); - - if (task) { - indent = task[0].length; - checked = task[1].toLowerCase() === C_X_LOWER; - offsets[position.line] += indent; - value = value.slice(indent); - } - } - - return { - type: 'listItem', - loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) || - value.charAt(value.length - 1) === C_NEWLINE, - checked: checked, - children: ctx.tokenizeBlock(value, position) - }; -} - -/* Create a list-item using overly simple mechanics. */ -function pedanticListItem(ctx, value, position) { - var offsets = ctx.offset; - var line = position.line; - - /* Remove the list-item’s bullet. */ - value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer); - - /* The initial line was also matched by the below, so - * we reset the `line`. */ - line = position.line; - - return value.replace(EXPRESSION_INITIAL_INDENT, replacer); - - /* A simple replacer which removed all matches, - * and adds their length to `offset`. */ - function replacer($0) { - offsets[line] = (offsets[line] || 0) + $0.length; - line++; - - return ''; - } -} - -/* Create a list-item using sane mechanics. */ -function normalListItem(ctx, value, position) { - var offsets = ctx.offset; - var line = position.line; - var max; - var bullet; - var rest; - var lines; - var trimmedLines; - var index; - var length; - - /* Remove the list-item’s bullet. */ - value = value.replace(EXPRESSION_BULLET, replacer); - - lines = value.split(C_NEWLINE); - - trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE); - - /* We replaced the initial bullet with something - * else above, which was used to trick - * `removeIndentation` into removing some more - * characters when possible. However, that could - * result in the initial line to be stripped more - * than it should be. */ - trimmedLines[0] = rest; - - offsets[line] = (offsets[line] || 0) + bullet.length; - line++; - - index = 0; - length = lines.length; - - while (++index < length) { - offsets[line] = (offsets[line] || 0) + - lines[index].length - trimmedLines[index].length; - line++; - } - - return trimmedLines.join(C_NEWLINE); - - function replacer($0, $1, $2, $3, $4) { - bullet = $1 + $2 + $3; - rest = $4; - - /* Make sure that the first nine numbered list items - * can indent with an extra space. That is, when - * the bullet did not receive an extra final space. */ - if (Number($2) < 10 && bullet.length % 2 === 1) { - $2 = C_SPACE + $2; - } - - max = $1 + repeat(C_SPACE, $2.length) + $3; - - return max + rest; - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/newline.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/newline.js deleted file mode 100644 index 6008670cc5e..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/newline.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); - -module.exports = newline; - -/* Tokenise newline. */ -function newline(eat, value, silent) { - var character = value.charAt(0); - var length; - var subvalue; - var queue; - var index; - - if (character !== '\n') { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - index = 1; - length = value.length; - subvalue = character; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - queue += character; - - if (character === '\n') { - subvalue += queue; - queue = ''; - } - - index++; - } - - eat(subvalue); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js deleted file mode 100644 index 1492a027e78..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/paragraph.js +++ /dev/null @@ -1,122 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var decimal = require('is-decimal'); -var trimTrailingLines = require('trim-trailing-lines'); -var interrupt = require('../util/interrupt'); - -module.exports = paragraph; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; - -var TAB_SIZE = 4; - -/* Tokenise paragraph. */ -function paragraph(eat, value, silent) { - var self = this; - var settings = self.options; - var commonmark = settings.commonmark; - var gfm = settings.gfm; - var tokenizers = self.blockTokenizers; - var interruptors = self.interruptParagraph; - var index = value.indexOf(C_NEWLINE); - var length = value.length; - var position; - var subvalue; - var character; - var size; - var now; - - while (index < length) { - /* Eat everything if there’s no following newline. */ - if (index === -1) { - index = length; - break; - } - - /* Stop if the next character is NEWLINE. */ - if (value.charAt(index + 1) === C_NEWLINE) { - break; - } - - /* In commonmark-mode, following indented lines - * are part of the paragraph. */ - if (commonmark) { - size = 0; - position = index + 1; - - while (position < length) { - character = value.charAt(position); - - if (character === C_TAB) { - size = TAB_SIZE; - break; - } else if (character === C_SPACE) { - size++; - } else { - break; - } - - position++; - } - - if (size >= TAB_SIZE) { - index = value.indexOf(C_NEWLINE, index + 1); - continue; - } - } - - subvalue = value.slice(index + 1); - - /* Check if the following code contains a possible - * block. */ - if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) { - break; - } - - /* Break if the following line starts a list, when - * already in a list, or when in commonmark, or when - * in gfm mode and the bullet is *not* numeric. */ - if ( - tokenizers.list.call(self, eat, subvalue, true) && - ( - self.inList || - commonmark || - (gfm && !decimal(trim.left(subvalue).charAt(0))) - ) - ) { - break; - } - - position = index; - index = value.indexOf(C_NEWLINE, index + 1); - - if (index !== -1 && trim(value.slice(position, index)) === '') { - index = position; - break; - } - } - - subvalue = value.slice(0, index); - - if (trim(subvalue) === '') { - eat(subvalue); - - return null; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - now = eat.now(); - subvalue = trimTrailingLines(subvalue); - - return eat(subvalue)({ - type: 'paragraph', - children: self.tokenizeInline(subvalue, now) - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/reference.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/reference.js deleted file mode 100644 index 50713f1ccfc..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/reference.js +++ /dev/null @@ -1,206 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/link'); -var normalize = require('../util/normalize'); - -module.exports = reference; -reference.locator = locate; - -var T_LINK = 'link'; -var T_IMAGE = 'image'; -var T_FOOTNOTE = 'footnote'; -var REFERENCE_TYPE_SHORTCUT = 'shortcut'; -var REFERENCE_TYPE_COLLAPSED = 'collapsed'; -var REFERENCE_TYPE_FULL = 'full'; -var C_CARET = '^'; -var C_BACKSLASH = '\\'; -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; - -function reference(eat, value, silent) { - var self = this; - var character = value.charAt(0); - var index = 0; - var length = value.length; - var subvalue = ''; - var intro = ''; - var type = T_LINK; - var referenceType = REFERENCE_TYPE_SHORTCUT; - var content; - var identifier; - var now; - var node; - var exit; - var queue; - var bracketed; - var depth; - - /* Check whether we’re eating an image. */ - if (character === '!') { - type = T_IMAGE; - intro = character; - character = value.charAt(++index); - } - - if (character !== C_BRACKET_OPEN) { - return; - } - - index++; - intro += character; - queue = ''; - - /* Check whether we’re eating a footnote. */ - if (self.options.footnotes && value.charAt(index) === C_CARET) { - /* Exit if `![^` is found, so the `!` will be seen as text after this, - * and we’ll enter this function again when `[^` is found. */ - if (type === T_IMAGE) { - return; - } - - intro += C_CARET; - index++; - type = T_FOOTNOTE; - } - - /* Eat the text. */ - depth = 0; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_OPEN) { - bracketed = true; - depth++; - } else if (character === C_BRACKET_CLOSE) { - if (!depth) { - break; - } - - depth--; - } - - if (character === C_BACKSLASH) { - queue += C_BACKSLASH; - character = value.charAt(++index); - } - - queue += character; - index++; - } - - subvalue = queue; - content = queue; - character = value.charAt(index); - - if (character !== C_BRACKET_CLOSE) { - return; - } - - index++; - subvalue += character; - queue = ''; - - while (index < length) { - character = value.charAt(index); - - if (!whitespace(character)) { - break; - } - - queue += character; - index++; - } - - character = value.charAt(index); - - /* Inline footnotes cannot have an identifier. */ - if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) { - identifier = ''; - queue += character; - index++; - - while (index < length) { - character = value.charAt(index); - - if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) { - break; - } - - if (character === C_BACKSLASH) { - identifier += C_BACKSLASH; - character = value.charAt(++index); - } - - identifier += character; - index++; - } - - character = value.charAt(index); - - if (character === C_BRACKET_CLOSE) { - referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED; - queue += identifier + character; - index++; - } else { - identifier = ''; - } - - subvalue += queue; - queue = ''; - } else { - if (!content) { - return; - } - - identifier = content; - } - - /* Brackets cannot be inside the identifier. */ - if (referenceType !== REFERENCE_TYPE_FULL && bracketed) { - return; - } - - subvalue = intro + subvalue; - - if (type === T_LINK && self.inLink) { - return null; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) { - return eat(subvalue)({ - type: 'footnote', - children: this.tokenizeInline(content, eat.now()) - }); - } - - now = eat.now(); - now.column += intro.length; - now.offset += intro.length; - identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content; - - node = { - type: type + 'Reference', - identifier: normalize(identifier) - }; - - if (type === T_LINK || type === T_IMAGE) { - node.referenceType = referenceType; - } - - if (type === T_LINK) { - exit = self.enterLink(); - node.children = self.tokenizeInline(content, now); - exit(); - } else if (type === T_IMAGE) { - node.alt = self.decode.raw(self.unescape(content), now) || null; - } - - return eat(subvalue)(node); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/strong.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/strong.js deleted file mode 100644 index 12d5785bc64..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/strong.js +++ /dev/null @@ -1,84 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/strong'); - -module.exports = strong; -strong.locator = locate; - -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; - -function strong(eat, value, silent) { - var self = this; - var index = 0; - var character = value.charAt(index); - var now; - var pedantic; - var marker; - var queue; - var subvalue; - var length; - var prev; - - if ( - (character !== C_ASTERISK && character !== C_UNDERSCORE) || - value.charAt(++index) !== character - ) { - return; - } - - pedantic = self.options.pedantic; - marker = character; - subvalue = marker + marker; - length = value.length; - index++; - queue = ''; - character = ''; - - if (pedantic && whitespace(value.charAt(index))) { - return; - } - - while (index < length) { - prev = character; - character = value.charAt(index); - - if ( - character === marker && - value.charAt(index + 1) === marker && - (!pedantic || !whitespace(prev)) - ) { - character = value.charAt(index + 2); - - if (character !== marker) { - if (!trim(queue)) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - now = eat.now(); - now.column += 2; - now.offset += 2; - - return eat(subvalue + queue + subvalue)({ - type: 'strong', - children: self.tokenizeInline(queue, now) - }); - } - } - - if (!pedantic && character === '\\') { - queue += character; - character = value.charAt(++index); - } - - queue += character; - index++; - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/table.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/table.js deleted file mode 100644 index ce93b1d22f0..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/table.js +++ /dev/null @@ -1,266 +0,0 @@ -'use strict'; - -var whitespace = require('is-whitespace-character'); - -module.exports = table; - -var C_BACKSLASH = '\\'; -var C_TICK = '`'; -var C_DASH = '-'; -var C_PIPE = '|'; -var C_COLON = ':'; -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; - -var MIN_TABLE_COLUMNS = 1; -var MIN_TABLE_ROWS = 2; - -var TABLE_ALIGN_LEFT = 'left'; -var TABLE_ALIGN_CENTER = 'center'; -var TABLE_ALIGN_RIGHT = 'right'; -var TABLE_ALIGN_NONE = null; - -function table(eat, value, silent) { - var self = this; - var index; - var alignments; - var alignment; - var subvalue; - var row; - var length; - var lines; - var queue; - var character; - var hasDash; - var align; - var cell; - var preamble; - var count; - var opening; - var now; - var position; - var lineCount; - var line; - var rows; - var table; - var lineIndex; - var pipeIndex; - var first; - - /* Exit when not in gfm-mode. */ - if (!self.options.gfm) { - return; - } - - /* Get the rows. - * Detecting tables soon is hard, so there are some - * checks for performance here, such as the minimum - * number of rows, and allowed characters in the - * alignment row. */ - index = 0; - lineCount = 0; - length = value.length + 1; - lines = []; - - while (index < length) { - lineIndex = value.indexOf(C_NEWLINE, index); - pipeIndex = value.indexOf(C_PIPE, index + 1); - - if (lineIndex === -1) { - lineIndex = value.length; - } - - if (pipeIndex === -1 || pipeIndex > lineIndex) { - if (lineCount < MIN_TABLE_ROWS) { - return; - } - - break; - } - - lines.push(value.slice(index, lineIndex)); - lineCount++; - index = lineIndex + 1; - } - - /* Parse the alignment row. */ - subvalue = lines.join(C_NEWLINE); - alignments = lines.splice(1, 1)[0] || []; - index = 0; - length = alignments.length; - lineCount--; - alignment = false; - align = []; - - while (index < length) { - character = alignments.charAt(index); - - if (character === C_PIPE) { - hasDash = null; - - if (alignment === false) { - if (first === false) { - return; - } - } else { - align.push(alignment); - alignment = false; - } - - first = false; - } else if (character === C_DASH) { - hasDash = true; - alignment = alignment || TABLE_ALIGN_NONE; - } else if (character === C_COLON) { - if (alignment === TABLE_ALIGN_LEFT) { - alignment = TABLE_ALIGN_CENTER; - } else if (hasDash && alignment === TABLE_ALIGN_NONE) { - alignment = TABLE_ALIGN_RIGHT; - } else { - alignment = TABLE_ALIGN_LEFT; - } - } else if (!whitespace(character)) { - return; - } - - index++; - } - - if (alignment !== false) { - align.push(alignment); - } - - /* Exit when without enough columns. */ - if (align.length < MIN_TABLE_COLUMNS) { - return; - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - /* Parse the rows. */ - position = -1; - rows = []; - - table = eat(subvalue).reset({ - type: 'table', - align: align, - children: rows - }); - - while (++position < lineCount) { - line = lines[position]; - row = {type: 'tableRow', children: []}; - - /* Eat a newline character when this is not the - * first row. */ - if (position) { - eat(C_NEWLINE); - } - - /* Eat the row. */ - eat(line).reset(row, table); - - length = line.length + 1; - index = 0; - queue = ''; - cell = ''; - preamble = true; - count = null; - opening = null; - - while (index < length) { - character = line.charAt(index); - - if (character === C_TAB || character === C_SPACE) { - if (cell) { - queue += character; - } else { - eat(character); - } - - index++; - continue; - } - - if (character === '' || character === C_PIPE) { - if (preamble) { - eat(character); - } else { - if (character && opening) { - queue += character; - index++; - continue; - } - - if ((cell || character) && !preamble) { - subvalue = cell; - - if (queue.length > 1) { - if (character) { - subvalue += queue.slice(0, queue.length - 1); - queue = queue.charAt(queue.length - 1); - } else { - subvalue += queue; - queue = ''; - } - } - - now = eat.now(); - - eat(subvalue)({ - type: 'tableCell', - children: self.tokenizeInline(cell, now) - }, row); - } - - eat(queue + character); - - queue = ''; - cell = ''; - } - } else { - if (queue) { - cell += queue; - queue = ''; - } - - cell += character; - - if (character === C_BACKSLASH && index !== length - 2) { - cell += line.charAt(index + 1); - index++; - } - - if (character === C_TICK) { - count = 1; - - while (line.charAt(index + 1) === character) { - cell += character; - index++; - count++; - } - - if (!opening) { - opening = count; - } else if (count >= opening) { - opening = 0; - } - } - } - - preamble = false; - index++; - } - - /* Eat the alignment row. */ - if (!position) { - eat(C_NEWLINE + alignments); - } - } - - return table; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js deleted file mode 100644 index 4aedfa90d5d..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/text.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -module.exports = text; - -function text(eat, value, silent) { - var self = this; - var methods; - var tokenizers; - var index; - var length; - var subvalue; - var position; - var tokenizer; - var name; - var min; - var now; - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - methods = self.inlineMethods; - length = methods.length; - tokenizers = self.inlineTokenizers; - index = -1; - min = value.length; - - while (++index < length) { - name = methods[index]; - - if (name === 'text' || !tokenizers[name]) { - continue; - } - - tokenizer = tokenizers[name].locator; - - if (!tokenizer) { - eat.file.fail('Missing locator: `' + name + '`'); - } - - position = tokenizer.call(self, value, 1); - - if (position !== -1 && position < min) { - min = position; - } - } - - subvalue = value.slice(0, min); - now = eat.now(); - - self.decode(subvalue, now, function (content, position, source) { - eat(source || content)({ - type: 'text', - value: content - }); - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js deleted file mode 100644 index 2391e3f592c..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/thematic-break.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict'; - -module.exports = thematicBreak; - -var C_NEWLINE = '\n'; -var C_TAB = '\t'; -var C_SPACE = ' '; -var C_ASTERISK = '*'; -var C_UNDERSCORE = '_'; -var C_DASH = '-'; - -var THEMATIC_BREAK_MARKER_COUNT = 3; - -function thematicBreak(eat, value, silent) { - var index = -1; - var length = value.length + 1; - var subvalue = ''; - var character; - var marker; - var markerCount; - var queue; - - while (++index < length) { - character = value.charAt(index); - - if (character !== C_TAB && character !== C_SPACE) { - break; - } - - subvalue += character; - } - - if ( - character !== C_ASTERISK && - character !== C_DASH && - character !== C_UNDERSCORE - ) { - return; - } - - marker = character; - subvalue += character; - markerCount = 1; - queue = ''; - - while (++index < length) { - character = value.charAt(index); - - if (character === marker) { - markerCount++; - subvalue += queue + marker; - queue = ''; - } else if (character === C_SPACE) { - queue += character; - } else if ( - markerCount >= THEMATIC_BREAK_MARKER_COUNT && - (!character || character === C_NEWLINE) - ) { - subvalue += queue; - - if (silent) { - return true; - } - - return eat(subvalue)({type: 'thematicBreak'}); - } else { - return; - } - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/url.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/url.js deleted file mode 100644 index 297940bf4ab..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenize/url.js +++ /dev/null @@ -1,144 +0,0 @@ -'use strict'; - -var decode = require('parse-entities'); -var whitespace = require('is-whitespace-character'); -var locate = require('../locate/url'); - -module.exports = url; -url.locator = locate; -url.notInLink = true; - -var C_BRACKET_OPEN = '['; -var C_BRACKET_CLOSE = ']'; -var C_PAREN_OPEN = '('; -var C_PAREN_CLOSE = ')'; -var C_LT = '<'; -var C_AT_SIGN = '@'; - -var HTTP_PROTOCOL = 'http://'; -var HTTPS_PROTOCOL = 'https://'; -var MAILTO_PROTOCOL = 'mailto:'; - -var PROTOCOLS = [ - HTTP_PROTOCOL, - HTTPS_PROTOCOL, - MAILTO_PROTOCOL -]; - -var PROTOCOLS_LENGTH = PROTOCOLS.length; - -function url(eat, value, silent) { - var self = this; - var subvalue; - var content; - var character; - var index; - var position; - var protocol; - var match; - var length; - var queue; - var parenCount; - var nextCharacter; - var exit; - - if (!self.options.gfm) { - return; - } - - subvalue = ''; - index = -1; - length = PROTOCOLS_LENGTH; - - while (++index < length) { - protocol = PROTOCOLS[index]; - match = value.slice(0, protocol.length); - - if (match.toLowerCase() === protocol) { - subvalue = match; - break; - } - } - - if (!subvalue) { - return; - } - - index = subvalue.length; - length = value.length; - queue = ''; - parenCount = 0; - - while (index < length) { - character = value.charAt(index); - - if (whitespace(character) || character === C_LT) { - break; - } - - if ( - character === '.' || - character === ',' || - character === ':' || - character === ';' || - character === '"' || - character === '\'' || - character === ')' || - character === ']' - ) { - nextCharacter = value.charAt(index + 1); - - if (!nextCharacter || whitespace(nextCharacter)) { - break; - } - } - - if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) { - parenCount++; - } - - if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) { - parenCount--; - - if (parenCount < 0) { - break; - } - } - - queue += character; - index++; - } - - if (!queue) { - return; - } - - subvalue += queue; - content = subvalue; - - if (protocol === MAILTO_PROTOCOL) { - position = queue.indexOf(C_AT_SIGN); - - if (position === -1 || position === length - 1) { - return; - } - - content = content.substr(MAILTO_PROTOCOL.length); - } - - /* istanbul ignore if - never used (yet) */ - if (silent) { - return true; - } - - exit = self.enterLink(); - content = self.tokenizeInline(content, eat.now()); - exit(); - - return eat(subvalue)({ - type: 'link', - title: null, - url: decode(subvalue, {nonTerminated: false}), - children: content - }); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenizer.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenizer.js deleted file mode 100644 index 498ef22ad94..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/tokenizer.js +++ /dev/null @@ -1,331 +0,0 @@ -'use strict'; - -module.exports = factory; - -var MERGEABLE_NODES = { - text: mergeText, - blockquote: mergeBlockquote -}; - -/* Check whether a node is mergeable with adjacent nodes. */ -function mergeable(node) { - var start; - var end; - - if (node.type !== 'text' || !node.position) { - return true; - } - - start = node.position.start; - end = node.position.end; - - /* Only merge nodes which occupy the same size as their - * `value`. */ - return start.line !== end.line || - end.column - start.column === node.value.length; -} - -/* Merge two text nodes: `node` into `prev`. */ -function mergeText(prev, node) { - prev.value += node.value; - - return prev; -} - -/* Merge two blockquotes: `node` into `prev`, unless in - * CommonMark mode. */ -function mergeBlockquote(prev, node) { - if (this.options.commonmark) { - return node; - } - - prev.children = prev.children.concat(node.children); - - return prev; -} - -/* Construct a tokenizer. This creates both - * `tokenizeInline` and `tokenizeBlock`. */ -function factory(type) { - return tokenize; - - /* Tokenizer for a bound `type`. */ - function tokenize(value, location) { - var self = this; - var offset = self.offset; - var tokens = []; - var methods = self[type + 'Methods']; - var tokenizers = self[type + 'Tokenizers']; - var line = location.line; - var column = location.column; - var index; - var length; - var method; - var name; - var matched; - var valueLength; - - /* Trim white space only lines. */ - if (!value) { - return tokens; - } - - /* Expose on `eat`. */ - eat.now = now; - eat.file = self.file; - - /* Sync initial offset. */ - updatePosition(''); - - /* Iterate over `value`, and iterate over all - * tokenizers. When one eats something, re-iterate - * with the remaining value. If no tokenizer eats, - * something failed (should not happen) and an - * exception is thrown. */ - while (value) { - index = -1; - length = methods.length; - matched = false; - - while (++index < length) { - name = methods[index]; - method = tokenizers[name]; - - if ( - method && - /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) && - (!method.notInList || !self.inList) && - (!method.notInBlock || !self.inBlock) && - (!method.notInLink || !self.inLink) - ) { - valueLength = value.length; - - method.apply(self, [eat, value]); - - matched = valueLength !== value.length; - - if (matched) { - break; - } - } - } - - /* istanbul ignore if */ - if (!matched) { - self.file.fail(new Error('Infinite loop'), eat.now()); - } - } - - self.eof = now(); - - return tokens; - - /* Update line, column, and offset based on - * `value`. */ - function updatePosition(subvalue) { - var lastIndex = -1; - var index = subvalue.indexOf('\n'); - - while (index !== -1) { - line++; - lastIndex = index; - index = subvalue.indexOf('\n', index + 1); - } - - if (lastIndex === -1) { - column += subvalue.length; - } else { - column = subvalue.length - lastIndex; - } - - if (line in offset) { - if (lastIndex !== -1) { - column += offset[line]; - } else if (column <= offset[line]) { - column = offset[line] + 1; - } - } - } - - /* Get offset. Called before the first character is - * eaten to retrieve the range's offsets. */ - function getOffset() { - var indentation = []; - var pos = line + 1; - - /* Done. Called when the last character is - * eaten to retrieve the range’s offsets. */ - return function () { - var last = line + 1; - - while (pos < last) { - indentation.push((offset[pos] || 0) + 1); - - pos++; - } - - return indentation; - }; - } - - /* Get the current position. */ - function now() { - var pos = {line: line, column: column}; - - pos.offset = self.toOffset(pos); - - return pos; - } - - /* Store position information for a node. */ - function Position(start) { - this.start = start; - this.end = now(); - } - - /* Throw when a value is incorrectly eaten. - * This shouldn’t happen but will throw on new, - * incorrect rules. */ - function validateEat(subvalue) { - /* istanbul ignore if */ - if (value.substring(0, subvalue.length) !== subvalue) { - /* Capture stack-trace. */ - self.file.fail( - new Error( - 'Incorrectly eaten value: please report this ' + - 'warning on http://git.io/vg5Ft' - ), - now() - ); - } - } - - /* Mark position and patch `node.position`. */ - function position() { - var before = now(); - - return update; - - /* Add the position to a node. */ - function update(node, indent) { - var prev = node.position; - var start = prev ? prev.start : before; - var combined = []; - var n = prev && prev.end.line; - var l = before.line; - - node.position = new Position(start); - - /* If there was already a `position`, this - * node was merged. Fixing `start` wasn’t - * hard, but the indent is different. - * Especially because some information, the - * indent between `n` and `l` wasn’t - * tracked. Luckily, that space is - * (should be?) empty, so we can safely - * check for it now. */ - if (prev && indent && prev.indent) { - combined = prev.indent; - - if (n < l) { - while (++n < l) { - combined.push((offset[n] || 0) + 1); - } - - combined.push(before.column); - } - - indent = combined.concat(indent); - } - - node.position.indent = indent || []; - - return node; - } - } - - /* Add `node` to `parent`s children or to `tokens`. - * Performs merges where possible. */ - function add(node, parent) { - var children = parent ? parent.children : tokens; - var prev = children[children.length - 1]; - - if ( - prev && - node.type === prev.type && - node.type in MERGEABLE_NODES && - mergeable(prev) && - mergeable(node) - ) { - node = MERGEABLE_NODES[node.type].call(self, prev, node); - } - - if (node !== prev) { - children.push(node); - } - - if (self.atStart && tokens.length !== 0) { - self.exitStart(); - } - - return node; - } - - /* Remove `subvalue` from `value`. - * `subvalue` must be at the start of `value`. */ - function eat(subvalue) { - var indent = getOffset(); - var pos = position(); - var current = now(); - - validateEat(subvalue); - - apply.reset = reset; - reset.test = test; - apply.test = test; - - value = value.substring(subvalue.length); - - updatePosition(subvalue); - - indent = indent(); - - return apply; - - /* Add the given arguments, add `position` to - * the returned node, and return the node. */ - function apply(node, parent) { - return pos(add(pos(node), parent), indent); - } - - /* Functions just like apply, but resets the - * content: the line and column are reversed, - * and the eaten value is re-added. - * This is useful for nodes with a single - * type of content, such as lists and tables. - * See `apply` above for what parameters are - * expected. */ - function reset() { - var node = apply.apply(null, arguments); - - line = current.line; - column = current.column; - value = subvalue + value; - - return node; - } - - /* Test the position, after eating, and reverse - * to a not-eaten state. */ - function test() { - var result = pos({}); - - line = current.line; - column = current.column; - value = subvalue + value; - - return result.position; - } - } - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/unescape.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/unescape.js deleted file mode 100644 index 321900e7eac..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/unescape.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -module.exports = factory; - -/* Factory to de-escape a value, based on a list at `key` - * in `ctx`. */ -function factory(ctx, key) { - return unescape; - - /* De-escape a string using the expression at `key` - * in `ctx`. */ - function unescape(value) { - var prev = 0; - var index = value.indexOf('\\'); - var escape = ctx[key]; - var queue = []; - var character; - - while (index !== -1) { - queue.push(value.slice(prev, index)); - prev = index + 1; - character = value.charAt(prev); - - /* If the following character is not a valid escape, - * add the slash. */ - if (!character || escape.indexOf(character) === -1) { - queue.push('\\'); - } - - index = value.indexOf('\\', prev); - } - - queue.push(value.slice(prev)); - - return queue.join(''); - } -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/get-indentation.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/get-indentation.js deleted file mode 100644 index 3e09e1411ed..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/get-indentation.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -module.exports = indentation; - -/* Map of characters, and their column length, - * which can be used as indentation. */ -var characters = {' ': 1, '\t': 4}; - -/* Gets indentation information for a line. */ -function indentation(value) { - var index = 0; - var indent = 0; - var character = value.charAt(index); - var stops = {}; - var size; - - while (character in characters) { - size = characters[character]; - - indent += size; - - if (size > 1) { - indent = Math.floor(indent / size) * size; - } - - stops[indent] = index; - - character = value.charAt(++index); - } - - return {indent: indent, stops: stops}; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/html.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/html.js deleted file mode 100644 index 5f211f13f8f..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/html.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; - -var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; -var unquoted = '[^"\'=<>`\\u0000-\\u0020]+'; -var singleQuoted = '\'[^\']*\''; -var doubleQuoted = '"[^"]*"'; -var attributeValue = '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')'; -var attribute = '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)'; -var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; -var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; -var comment = '|'; -var processing = '<[?].*?[?]>'; -var declaration = ']*>'; -var cdata = ''; - -exports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')'); - -exports.tag = new RegExp('^(?:' + - openTag + '|' + - closeTag + '|' + - comment + '|' + - processing + '|' + - declaration + '|' + - cdata + -')'); diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/interrupt.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/interrupt.js deleted file mode 100644 index e3178ab45c6..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/interrupt.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -module.exports = interrupt; - -function interrupt(interruptors, tokenizers, ctx, params) { - var bools = ['pedantic', 'commonmark']; - var count = bools.length; - var length = interruptors.length; - var index = -1; - var interruptor; - var config; - var fn; - var offset; - var bool; - var ignore; - - while (++index < length) { - interruptor = interruptors[index]; - config = interruptor[1] || {}; - fn = interruptor[0]; - offset = -1; - ignore = false; - - while (++offset < count) { - bool = bools[offset]; - - if (config[bool] !== undefined && config[bool] !== ctx.options[bool]) { - ignore = true; - break; - } - } - - if (ignore) { - continue; - } - - if (tokenizers[fn].apply(ctx, params)) { - return true; - } - } - - return false; -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/normalize.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/normalize.js deleted file mode 100644 index 846ceeecac5..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/normalize.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -var collapseWhiteSpace = require('collapse-white-space'); - -module.exports = normalize; - -/* Normalize an identifier. Collapses multiple white space - * characters into a single space, and removes casing. */ -function normalize(value) { - return collapseWhiteSpace(value).toLowerCase(); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/remove-indentation.js b/tools/node_modules/eslint/node_modules/remark-parse/lib/util/remove-indentation.js deleted file mode 100644 index 20f18be7408..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/lib/util/remove-indentation.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - -var trim = require('trim'); -var repeat = require('repeat-string'); -var getIndent = require('./get-indentation'); - -module.exports = indentation; - -var C_SPACE = ' '; -var C_NEWLINE = '\n'; -var C_TAB = '\t'; - -/* Remove the minimum indent from every line in `value`. - * Supports both tab, spaced, and mixed indentation (as - * well as possible). */ -function indentation(value, maximum) { - var values = value.split(C_NEWLINE); - var position = values.length + 1; - var minIndent = Infinity; - var matrix = []; - var index; - var indentation; - var stops; - var padding; - - values.unshift(repeat(C_SPACE, maximum) + '!'); - - while (position--) { - indentation = getIndent(values[position]); - - matrix[position] = indentation.stops; - - if (trim(values[position]).length === 0) { - continue; - } - - if (indentation.indent) { - if (indentation.indent > 0 && indentation.indent < minIndent) { - minIndent = indentation.indent; - } - } else { - minIndent = Infinity; - - break; - } - } - - if (minIndent !== Infinity) { - position = values.length; - - while (position--) { - stops = matrix[position]; - index = minIndent; - - while (index && !(index in stops)) { - index--; - } - - if ( - trim(values[position]).length !== 0 && - minIndent && - index !== minIndent - ) { - padding = C_TAB; - } else { - padding = ''; - } - - values[position] = padding + values[position].slice( - index in stops ? stops[index] + 1 : 0 - ); - } - } - - values.shift(); - - return values.join(C_NEWLINE); -} diff --git a/tools/node_modules/eslint/node_modules/remark-parse/package.json b/tools/node_modules/eslint/node_modules/remark-parse/package.json deleted file mode 100644 index b47866c95b2..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - }, - "bugs": { - "url": "https://github.com/remarkjs/remark/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - }, - { - "name": "Eugene Sharygin", - "email": "eush77@gmail.com" - } - ], - "dependencies": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - }, - "deprecated": false, - "description": "Markdown parser for remark", - "files": [ - "index.js", - "lib" - ], - "homepage": "http://remark.js.org", - "keywords": [ - "markdown", - "abstract", - "syntax", - "tree", - "ast", - "parse" - ], - "license": "MIT", - "name": "remark-parse", - "repository": { - "type": "git", - "url": "https://github.com/remarkjs/remark/tree/master/packages/remark-parse" - }, - "version": "5.0.0", - "xo": false -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/remark-parse/readme.md b/tools/node_modules/eslint/node_modules/remark-parse/readme.md deleted file mode 100644 index ecaa6c093c0..00000000000 --- a/tools/node_modules/eslint/node_modules/remark-parse/readme.md +++ /dev/null @@ -1,453 +0,0 @@ -# remark-parse [![Build Status][build-badge]][build-status] [![Coverage Status][coverage-badge]][coverage-status] [![Chat][chat-badge]][chat] - -[Parser][] for [**unified**][unified]. Parses markdown to an -[**MDAST**][mdast] syntax tree. Used in the [**remark** -processor][processor]. Can be [extended][extend] to change how -markdown is parsed. - -## Installation - -[npm][]: - -```sh -npm install remark-parse -``` - -## Usage - -```js -var unified = require('unified'); -var createStream = require('unified-stream'); -var markdown = require('remark-parse'); -var html = require('remark-html'); - -var processor = unified() - .use(markdown, {commonmark: true}) - .use(html) - -process.stdin - .pipe(createStream(processor)) - .pipe(process.stdout); -``` - -## Table of Contents - -* [API](#api) - * [processor.use(parse\[, options\])](#processoruseparse-options) - * [parse.Parser](#parseparser) -* [Extending the Parser](#extending-the-parser) - * [Parser#blockTokenizers](#parserblocktokenizers) - * [Parser#blockMethods](#parserblockmethods) - * [Parser#inlineTokenizers](#parserinlinetokenizers) - * [Parser#inlineMethods](#parserinlinemethods) - * [function tokenizer(eat, value, silent)](#function-tokenizereat-value-silent) - * [tokenizer.locator(value, fromIndex)](#tokenizerlocatorvalue-fromindex) - * [eat(subvalue)](#eatsubvalue) - * [add(node\[, parent\])](#addnode-parent) - * [add.test()](#addtest) - * [add.reset(node\[, parent\])](#addresetnode-parent) - * [Turning off a tokenizer](#turning-off-a-tokenizer) -* [License](#license) - -## API - -### `processor.use(parse[, options])` - -Configure the `processor` to read markdown as input and process an -[**MDAST**][mdast] syntax tree. - -##### `options` - -Options are passed directly, or passed later through [`processor.data()`][data]. - -##### `options.gfm` - -```md -hello ~~hi~~ world -``` - -GFM mode (`boolean`, default: `true`) turns on: - -* [Fenced code blocks](https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks) -* [Autolinking of URLs](https://help.github.com/articles/github-flavored-markdown/#url-autolinking) -* [Deletions (strikethrough)](https://help.github.com/articles/github-flavored-markdown/#strikethrough) -* [Task lists](https://help.github.com/articles/writing-on-github/#task-lists) -* [Tables](https://help.github.com/articles/github-flavored-markdown/#tables) - -##### `options.commonmark` - -```md -This is a paragraph - and this is also part of the preceding paragraph. -``` - -CommonMark mode (`boolean`, default: `false`) allows: - -* Empty lines to split blockquotes -* Parentheses (`(` and `)`) around for link and image titles -* Any escaped [ASCII-punctuation][escapes] character -* Closing parenthesis (`)`) as an ordered list marker -* URL definitions (and footnotes, when enabled) in blockquotes - -CommonMark mode disallows: - -* Code directly following a paragraph -* ATX-headings (`# Hash headings`) without spacing after opening hashes - or and before closing hashes -* Setext headings (`Underline headings\n---`) when following a paragraph -* Newlines in link and image titles -* White space in link and image URLs in auto-links (links in brackets, - `<` and `>`) -* Lazy blockquote continuation, lines not preceded by a closing angle - bracket (`>`), for lists, code, and thematicBreak - -##### `options.footnotes` - -```md -Something something[^or something?]. - -And something else[^1]. - -[^1]: This reference footnote contains a paragraph... - - * ...and a list -``` - -Footnotes mode (`boolean`, default: `false`) enables reference footnotes and -inline footnotes. Both are wrapped in square brackets and preceded by a caret -(`^`), and can be referenced from inside other footnotes. - -##### `options.blocks` - -```md -foo - -``` - -Blocks (`Array.`, default: list of [block HTML elements][blocks]) -exposes let’s users define block-level HTML elements. - -##### `options.pedantic` - -```md -Check out some_file_name.txt -``` - -Pedantic mode (`boolean`, default: `false`) turns on: - -* Emphasis (`_alpha_`) and importance (`__bravo__`) with underscores - in words -* Unordered lists with different markers (`*`, `-`, `+`) -* If `commonmark` is also turned on, ordered lists with different - markers (`.`, `)`) -* And pedantic mode removes less spaces in list-items (at most four, - instead of the whole indent) - -### `parse.Parser` - -Access to the [parser][], if you need it. - -## Extending the Parser - -Most often, using transformers to manipulate a syntax tree produces -the desired output. Sometimes, mainly when introducing new syntactic -entities with a certain level of precedence, interfacing with the parser -is necessary. - -If the `remark-parse` plugin is used, it adds a [`Parser`][parser] constructor -to the `processor`. Other plugins can add tokenizers to the parser’s prototype -to change how markdown is parsed. - -The below plugin adds a [tokenizer][] for at-mentions. - -```js -module.exports = mentions; - -function mentions() { - var Parser = this.Parser; - var tokenizers = Parser.prototype.inlineTokenizers; - var methods = Parser.prototype.inlineMethods; - - /* Add an inline tokenizer (defined in the following example). */ - tokenizers.mention = tokenizeMention; - - /* Run it just before `text`. */ - methods.splice(methods.indexOf('text'), 0, 'mention'); -} -``` - -### `Parser#blockTokenizers` - -An object mapping tokenizer names to [tokenizer][]s. These -tokenizers (for example: `fencedCode`, `table`, and `paragraph`) eat -from the start of a value to a line ending. - -See `#blockMethods` below for a list of methods that are included by -default. - -### `Parser#blockMethods` - -Array of `blockTokenizers` names (`string`) specifying the order in -which they run. - - - -* `newline` -* `indentedCode` -* `fencedCode` -* `blockquote` -* `atxHeading` -* `thematicBreak` -* `list` -* `setextHeading` -* `html` -* `footnote` -* `definition` -* `table` -* `paragraph` - - - -### `Parser#inlineTokenizers` - -An object mapping tokenizer names to [tokenizer][]s. These tokenizers -(for example: `url`, `reference`, and `emphasis`) eat from the start -of a value. To increase performance, they depend on [locator][]s. - -See `#inlineMethods` below for a list of methods that are included by -default. - -### `Parser#inlineMethods` - -Array of `inlineTokenizers` names (`string`) specifying the order in -which they run. - - - -* `escape` -* `autoLink` -* `url` -* `html` -* `link` -* `reference` -* `strong` -* `emphasis` -* `deletion` -* `code` -* `break` -* `text` - - - -### `function tokenizer(eat, value, silent)` - -```js -tokenizeMention.notInLink = true; -tokenizeMention.locator = locateMention; - -function tokenizeMention(eat, value, silent) { - var match = /^@(\w+)/.exec(value); - - if (match) { - if (silent) { - return true; - } - - return eat(match[0])({ - type: 'link', - url: 'https://social-network/' + match[1], - children: [{type: 'text', value: match[0]}] - }); - } -} -``` - -The parser knows two types of tokenizers: block level and inline level. -Block level tokenizers are the same as inline level tokenizers, with -the exception that the latter must have a [locator][]. - -Tokenizers _test_ whether a document starts with a certain syntactic -entity. In _silent_ mode, they return whether that test passes. -In _normal_ mode, they consume that token, a process which is called -“eating”. Locators enable tokenizers to function faster by providing -information on where the next entity may occur. - -###### Signatures - -* `Node? = tokenizer(eat, value)` -* `boolean? = tokenizer(eat, value, silent)` - -###### Parameters - -* `eat` ([`Function`][eat]) — Eat, when applicable, an entity -* `value` (`string`) — Value which may start an entity -* `silent` (`boolean`, optional) — Whether to detect or consume - -###### Properties - -* `locator` ([`Function`][locator]) - — Required for inline tokenizers -* `onlyAtStart` (`boolean`) - — Whether nodes can only be found at the beginning of the document -* `notInBlock` (`boolean`) - — Whether nodes cannot be in blockquotes, lists, or footnote - definitions -* `notInList` (`boolean`) - — Whether nodes cannot be in lists -* `notInLink` (`boolean`) - — Whether nodes cannot be in links - -###### Returns - -* In _silent_ mode, whether a node can be found at the start of `value` -* In _normal_ mode, a node if it can be found at the start of `value` - -### `tokenizer.locator(value, fromIndex)` - -```js -function locateMention(value, fromIndex) { - return value.indexOf('@', fromIndex); -} -``` - -Locators are required for inline tokenization to keep the process -performant. Locators enable inline tokenizers to function faster by -providing information on the where the next entity occurs. Locators -may be wrong, it’s OK if there actually isn’t a node to be found at -the index they return, but they must skip any nodes. - -###### Parameters - -* `value` (`string`) — Value which may contain an entity -* `fromIndex` (`number`) — Position to start searching at - -###### Returns - -Index at which an entity may start, and `-1` otherwise. - -### `eat(subvalue)` - -```js -var add = eat('foo'); -``` - -Eat `subvalue`, which is a string at the start of the -[tokenize][tokenizer]d `value` (it’s tracked to ensure the correct -value is eaten). - -###### Parameters - -* `subvalue` (`string`) - Value to eat. - -###### Returns - -[`add`][add]. - -### `add(node[, parent])` - -```js -var add = eat('foo'); -add({type: 'text', value: 'foo'}); -``` - -Add [positional information][location] to `node` and add it to `parent`. - -###### Parameters - -* `node` ([`Node`][node]) - Node to patch position on and insert -* `parent` ([`Node`][node], optional) - Place to add `node` to in - the syntax tree. Defaults to the currently processed node - -###### Returns - -The given `node`. - -### `add.test()` - -Get the [positional information][location] which would be patched on -`node` by `add`. - -###### Returns - -[`Location`][location]. - -### `add.reset(node[, parent])` - -`add`, but resets the internal location. Useful for example in -lists, where the same content is first eaten for a list, and later -for list items - -###### Parameters - -* `node` ([`Node`][node]) - Node to patch position on and insert -* `parent` ([`Node`][node], optional) - Place to add `node` to in - the syntax tree. Defaults to the currently processed node - -###### Returns - -The given `node`. - -### Turning off a tokenizer - -In rare situations, you may want to turn off a tokenizer to avoid parsing -that syntactic feature. This can be done by deleting the tokenizer from -your Parser’s `blockTokenizers` (or `blockMethods`) or `inlineTokenizers` -(or `inlineMethods`). - -The following example turns off indented code blocks: - -```js -delete remarkParse.Parser.prototype.blockTokenizers.indentedCode; -``` - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/remarkjs/remark.svg - -[build-status]: https://travis-ci.org/remarkjs/remark - -[coverage-badge]: https://img.shields.io/codecov/c/github/remarkjs/remark.svg - -[coverage-status]: https://codecov.io/github/remarkjs/remark - -[chat-badge]: https://img.shields.io/gitter/room/remarkjs/Lobby.svg - -[chat]: https://gitter.im/remarkjs/Lobby - -[license]: https://github.com/remarkjs/remark/blob/master/LICENSE - -[author]: http://wooorm.com - -[npm]: https://docs.npmjs.com/cli/install - -[unified]: https://github.com/unifiedjs/unified - -[data]: https://github.com/unifiedjs/unified#processordatakey-value - -[processor]: https://github.com/unifiedjs/remark/blob/master/packages/remark - -[mdast]: https://github.com/syntax-tree/mdast - -[escapes]: http://spec.commonmark.org/0.25/#backslash-escapes - -[node]: https://github.com/syntax-tree/unist#node - -[location]: https://github.com/syntax-tree/unist#location - -[parser]: https://github.com/unifiedjs/unified#processorparser - -[extend]: #extending-the-parser - -[tokenizer]: #function-tokenizereat-value-silent - -[locator]: #tokenizerlocatorvalue-fromindex - -[eat]: #eatsubvalue - -[add]: #addnode-parent - -[blocks]: https://github.com/remarkjs/remark/blob/master/packages/remark-parse/lib/block-elements.json diff --git a/tools/node_modules/eslint/node_modules/repeat-string/LICENSE b/tools/node_modules/eslint/node_modules/repeat-string/LICENSE deleted file mode 100644 index 39245ac1c60..00000000000 --- a/tools/node_modules/eslint/node_modules/repeat-string/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/repeat-string/README.md b/tools/node_modules/eslint/node_modules/repeat-string/README.md deleted file mode 100644 index aaa5e91c7a7..00000000000 --- a/tools/node_modules/eslint/node_modules/repeat-string/README.md +++ /dev/null @@ -1,136 +0,0 @@ -# repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string) - -> Repeat the given string n times. Fastest implementation for repeating a string. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save repeat-string -``` - -## Usage - -### [repeat](index.js#L41) - -Repeat the given `string` the specified `number` of times. - -**Example:** - -**Example** - -```js -var repeat = require('repeat-string'); -repeat('A', 5); -//=> AAAAA -``` - -**Params** - -* `string` **{String}**: The string to repeat -* `number` **{Number}**: The number of times to repeat the string -* `returns` **{String}**: Repeated string - -## Benchmarks - -Repeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)): - -```sh -# 2x -repeat-string █████████████████████████ (26,953,977 ops/sec) -repeating █████████ (9,855,695 ops/sec) -native ██████████████████ (19,453,895 ops/sec) - -# 3x -repeat-string █████████████████████████ (19,445,252 ops/sec) -repeating ███████████ (8,661,565 ops/sec) -native ████████████████████ (16,020,598 ops/sec) - -# 10x -repeat-string █████████████████████████ (23,792,521 ops/sec) -repeating █████████ (8,571,332 ops/sec) -native ███████████████ (14,582,955 ops/sec) - -# 50x -repeat-string █████████████████████████ (23,640,179 ops/sec) -repeating █████ (5,505,509 ops/sec) -native ██████████ (10,085,557 ops/sec) - -# 250x -repeat-string █████████████████████████ (23,489,618 ops/sec) -repeating ████ (3,962,937 ops/sec) -native ████████ (7,724,892 ops/sec) - -# 2000x -repeat-string █████████████████████████ (20,315,172 ops/sec) -repeating ████ (3,297,079 ops/sec) -native ███████ (6,203,331 ops/sec) - -# 20000x -repeat-string █████████████████████████ (23,382,915 ops/sec) -repeating ███ (2,980,058 ops/sec) -native █████ (5,578,808 ops/sec) -``` - -**Run the benchmarks** - -Install dev dependencies: - -```sh -npm i -d && node benchmark -``` - -## About - -### Related projects - -[repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.") - -### Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -### Contributors - -| **Commits** | **Contributor**
| -| --- | --- | -| 51 | [jonschlinkert](https://github.com/jonschlinkert) | -| 2 | [LinusU](https://github.com/LinusU) | -| 2 | [tbusser](https://github.com/tbusser) | -| 1 | [doowb](https://github.com/doowb) | -| 1 | [wooorm](https://github.com/wooorm) | - -### Building docs - -_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ - -To generate the readme and API documentation with [verb](https://github.com/verbose/verb): - -```sh -$ npm install -g verb verb-generate-readme && verb -``` - -### Running tests - -Install dev dependencies: - -```sh -$ npm install -d && npm test -``` - -### Author - -**Jon Schlinkert** - -* [github/jonschlinkert](https://github.com/jonschlinkert) -* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) - -### License - -Copyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert). -Released under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._ \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/repeat-string/index.js b/tools/node_modules/eslint/node_modules/repeat-string/index.js deleted file mode 100644 index 4459afd8016..00000000000 --- a/tools/node_modules/eslint/node_modules/repeat-string/index.js +++ /dev/null @@ -1,70 +0,0 @@ -/*! - * repeat-string - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */ - -'use strict'; - -/** - * Results cache - */ - -var res = ''; -var cache; - -/** - * Expose `repeat` - */ - -module.exports = repeat; - -/** - * Repeat the given `string` the specified `number` - * of times. - * - * **Example:** - * - * ```js - * var repeat = require('repeat-string'); - * repeat('A', 5); - * //=> AAAAA - * ``` - * - * @param {String} `string` The string to repeat - * @param {Number} `number` The number of times to repeat the string - * @return {String} Repeated string - * @api public - */ - -function repeat(str, num) { - if (typeof str !== 'string') { - throw new TypeError('expected a string'); - } - - // cover common, quick use cases - if (num === 1) return str; - if (num === 2) return str + str; - - var max = str.length * num; - if (cache !== str || typeof cache === 'undefined') { - cache = str; - res = ''; - } else if (res.length >= max) { - return res.substr(0, max); - } - - while (max > res.length && num > 1) { - if (num & 1) { - res += str; - } - - num >>= 1; - str += str; - } - - res += str; - res = res.substr(0, max); - return res; -} diff --git a/tools/node_modules/eslint/node_modules/repeat-string/package.json b/tools/node_modules/eslint/node_modules/repeat-string/package.json deleted file mode 100644 index 90fa9a34d8a..00000000000 --- a/tools/node_modules/eslint/node_modules/repeat-string/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "author": { - "name": "Jon Schlinkert", - "url": "http://github.com/jonschlinkert" - }, - "bugs": { - "url": "https://github.com/jonschlinkert/repeat-string/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Brian Woodward", - "email": "brian.woodward@gmail.com", - "url": "https://github.com/doowb" - }, - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Linus Unnebäck", - "email": "linus@folkdatorn.se", - "url": "http://linus.unnebäck.se" - }, - { - "name": "Thijs Busser", - "email": "tbusser@gmail.com", - "url": "http://tbusser.net" - }, - { - "name": "Titus", - "email": "tituswormer@gmail.com", - "url": "wooorm.com" - } - ], - "deprecated": false, - "description": "Repeat the given string n times. Fastest implementation for repeating a string.", - "devDependencies": { - "ansi-cyan": "^0.1.1", - "benchmarked": "^0.2.5", - "gulp-format-md": "^0.1.11", - "isobject": "^2.1.0", - "mocha": "^3.1.2", - "repeating": "^3.0.0", - "text-table": "^0.2.0", - "yargs-parser": "^4.0.2" - }, - "engines": { - "node": ">=0.10" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/jonschlinkert/repeat-string", - "keywords": [ - "fast", - "fastest", - "fill", - "left", - "left-pad", - "multiple", - "pad", - "padding", - "repeat", - "repeating", - "repetition", - "right", - "right-pad", - "string", - "times" - ], - "license": "MIT", - "main": "index.js", - "name": "repeat-string", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/repeat-string.git" - }, - "scripts": { - "test": "mocha" - }, - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "list": [ - "repeat-element" - ] - }, - "helpers": [ - "./benchmark/helper.js" - ], - "reflinks": [ - "verb" - ] - }, - "version": "1.6.1" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/replace-ext/LICENSE b/tools/node_modules/eslint/node_modules/replace-ext/LICENSE deleted file mode 100755 index fd38d693515..00000000000 --- a/tools/node_modules/eslint/node_modules/replace-ext/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Blaine Bublitz , Eric Schoffstall and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/replace-ext/README.md b/tools/node_modules/eslint/node_modules/replace-ext/README.md deleted file mode 100644 index 8775983b783..00000000000 --- a/tools/node_modules/eslint/node_modules/replace-ext/README.md +++ /dev/null @@ -1,50 +0,0 @@ -

- - - -

- -# replace-ext - -[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] - -Replaces a file extension with another one. - -## Usage - -```js -var replaceExt = require('replace-ext'); - -var path = '/some/dir/file.js'; -var newPath = replaceExt(path, '.coffee'); - -console.log(newPath); // /some/dir/file.coffee -``` - -## API - -### `replaceExt(path, extension)` - -Replaces the extension from `path` with `extension` and returns the updated path string. - -Does not replace the extension if `path` is not a string or is empty. - -## License - -MIT - -[downloads-image]: http://img.shields.io/npm/dm/replace-ext.svg -[npm-url]: https://www.npmjs.com/package/replace-ext -[npm-image]: http://img.shields.io/npm/v/replace-ext.svg - -[travis-url]: https://travis-ci.org/gulpjs/replace-ext -[travis-image]: http://img.shields.io/travis/gulpjs/replace-ext.svg?label=travis-ci - -[appveyor-url]: https://ci.appveyor.com/project/gulpjs/replace-ext -[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/replace-ext.svg?label=appveyor - -[coveralls-url]: https://coveralls.io/r/gulpjs/replace-ext -[coveralls-image]: http://img.shields.io/coveralls/gulpjs/replace-ext/master.svg - -[gitter-url]: https://gitter.im/gulpjs/gulp -[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg diff --git a/tools/node_modules/eslint/node_modules/replace-ext/index.js b/tools/node_modules/eslint/node_modules/replace-ext/index.js deleted file mode 100644 index 7cb7789e280..00000000000 --- a/tools/node_modules/eslint/node_modules/replace-ext/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -var path = require('path'); - -function replaceExt(npath, ext) { - if (typeof npath !== 'string') { - return npath; - } - - if (npath.length === 0) { - return npath; - } - - var nFileName = path.basename(npath, path.extname(npath)) + ext; - return path.join(path.dirname(npath), nFileName); -} - -module.exports = replaceExt; diff --git a/tools/node_modules/eslint/node_modules/replace-ext/package.json b/tools/node_modules/eslint/node_modules/replace-ext/package.json deleted file mode 100644 index e616e7c2258..00000000000 --- a/tools/node_modules/eslint/node_modules/replace-ext/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "author": { - "name": "Gulp Team", - "email": "team@gulpjs.com", - "url": "http://gulpjs.com/" - }, - "bugs": { - "url": "https://github.com/gulpjs/replace-ext/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Eric Schoffstall", - "email": "yo@contra.io" - }, - { - "name": "Blaine Bublitz", - "email": "blaine.bublitz@gmail.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Replaces a file extension with another one", - "devDependencies": { - "eslint": "^1.10.3", - "eslint-config-gulp": "^2.0.0", - "expect": "^1.16.0", - "istanbul": "^0.4.3", - "istanbul-coveralls": "^1.0.3", - "jscs": "^2.3.5", - "jscs-preset-gulp": "^1.0.0", - "mocha": "^2.4.5" - }, - "engines": { - "node": ">= 0.10" - }, - "files": [ - "LICENSE", - "index.js" - ], - "homepage": "https://github.com/gulpjs/replace-ext#readme", - "keywords": [ - "gulp", - "extensions", - "filepath", - "basename" - ], - "license": "MIT", - "main": "index.js", - "name": "replace-ext", - "repository": { - "type": "git", - "url": "git+https://github.com/gulpjs/replace-ext.git" - }, - "scripts": { - "cover": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly", - "coveralls": "npm run cover && istanbul-coveralls", - "lint": "eslint . && jscs index.js test/", - "pretest": "npm run lint", - "test": "mocha --async-only" - }, - "version": "1.0.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/require-from-string/package.json b/tools/node_modules/eslint/node_modules/require-from-string/package.json index 4ca96a63470..800d46efcb0 100644 --- a/tools/node_modules/eslint/node_modules/require-from-string/package.json +++ b/tools/node_modules/eslint/node_modules/require-from-string/package.json @@ -1,35 +1,28 @@ { + "name": "require-from-string", + "version": "2.0.2", + "description": "Require module from string", + "license": "MIT", + "repository": "floatdrop/require-from-string", "author": { "name": "Vsevolod Strukchinsky", "email": "floatdrop@gmail.com", "url": "github.com/floatdrop" }, - "bugs": { - "url": "https://github.com/floatdrop/require-from-string/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, - "description": "Require module from string", - "devDependencies": { - "mocha": "*" - }, "engines": { "node": ">=0.10.0" }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/floatdrop/require-from-string#readme", - "keywords": [], - "license": "MIT", - "name": "require-from-string", - "repository": { - "type": "git", - "url": "git+https://github.com/floatdrop/require-from-string.git" - }, "scripts": { "test": "mocha" }, - "version": "2.0.2" -} \ No newline at end of file + "files": [ + "index.js" + ], + "keywords": [ + "" + ], + "dependencies": {}, + "devDependencies": { + "mocha": "*" + } +} diff --git a/tools/node_modules/eslint/node_modules/resolve-from/package.json b/tools/node_modules/eslint/node_modules/resolve-from/package.json index dde5eec0bc6..96bade58824 100644 --- a/tools/node_modules/eslint/node_modules/resolve-from/package.json +++ b/tools/node_modules/eslint/node_modules/resolve-from/package.json @@ -1,43 +1,34 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/resolve-from/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Resolve the path of a module like `require.resolve()` but from a given path", - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "engines": { - "node": ">=4" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/sindresorhus/resolve-from#readme", - "keywords": [ - "require", - "resolve", - "path", - "module", - "from", - "like", - "import" - ], - "license": "MIT", - "name": "resolve-from", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/resolve-from.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "4.0.0" -} \ No newline at end of file + "name": "resolve-from", + "version": "4.0.0", + "description": "Resolve the path of a module like `require.resolve()` but from a given path", + "license": "MIT", + "repository": "sindresorhus/resolve-from", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=4" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "require", + "resolve", + "path", + "module", + "from", + "like", + "import" + ], + "devDependencies": { + "ava": "*", + "xo": "*" + } +} diff --git a/tools/node_modules/eslint/node_modules/rimraf/package.json b/tools/node_modules/eslint/node_modules/rimraf/package.json index 036517586b2..1bf8d5e3877 100644 --- a/tools/node_modules/eslint/node_modules/rimraf/package.json +++ b/tools/node_modules/eslint/node_modules/rimraf/package.json @@ -1,47 +1,32 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bin": { - "rimraf": "bin.js" - }, - "bugs": { - "url": "https://github.com/isaacs/rimraf/issues" + "name": "rimraf", + "version": "3.0.2", + "main": "rimraf.js", + "description": "A deep deletion module for node (like `rm -rf`)", + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "repository": "git://github.com/isaacs/rimraf.git", + "scripts": { + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --follow-tags", + "test": "tap test/*.js" }, - "bundleDependencies": false, + "bin": "./bin.js", "dependencies": { "glob": "^7.1.3" }, - "deprecated": false, - "description": "A deep deletion module for node (like `rm -rf`)", - "devDependencies": { - "mkdirp": "^0.5.1", - "tap": "^12.1.1" - }, "files": [ "LICENSE", "README.md", "bin.js", "rimraf.js" ], + "devDependencies": { + "mkdirp": "^0.5.1", + "tap": "^12.1.1" + }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "homepage": "https://github.com/isaacs/rimraf#readme", - "license": "ISC", - "main": "rimraf.js", - "name": "rimraf", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/rimraf.git" - }, - "scripts": { - "postpublish": "git push origin --follow-tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap test/*.js" - }, - "version": "3.0.2" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/semver/package.json b/tools/node_modules/eslint/node_modules/semver/package.json index 2aa14e5a6dd..d4043d38a13 100644 --- a/tools/node_modules/eslint/node_modules/semver/package.json +++ b/tools/node_modules/eslint/node_modules/semver/package.json @@ -1,21 +1,22 @@ { - "bin": { - "semver": "bin/semver.js" - }, - "bugs": { - "url": "https://github.com/npm/node-semver/issues" - }, - "bundleDependencies": false, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "deprecated": false, + "name": "semver", + "version": "7.3.4", "description": "The semantic version parser used by npm.", + "main": "index.js", + "scripts": { + "test": "tap", + "snap": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "postpublish": "git push origin --follow-tags" + }, "devDependencies": { "tap": "^14.10.7" }, - "engines": { - "node": ">=10" + "license": "ISC", + "repository": "https://github.com/npm/node-semver", + "bin": { + "semver": "bin/semver.js" }, "files": [ "bin/**/*.js", @@ -27,24 +28,14 @@ "index.js", "preload.js" ], - "homepage": "https://github.com/npm/node-semver#readme", - "license": "ISC", - "main": "index.js", - "name": "semver", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/node-semver.git" - }, - "scripts": { - "postpublish": "git push origin --follow-tags", - "postversion": "npm publish", - "preversion": "npm test", - "snap": "tap", - "test": "tap" - }, "tap": { "check-coverage": true, "coverage-map": "map.js" }, - "version": "7.3.4" -} \ No newline at end of file + "engines": { + "node": ">=10" + }, + "dependencies": { + "lru-cache": "^6.0.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/shebang-command/package.json b/tools/node_modules/eslint/node_modules/shebang-command/package.json index 3dc3563bced..18e3c04638c 100644 --- a/tools/node_modules/eslint/node_modules/shebang-command/package.json +++ b/tools/node_modules/eslint/node_modules/shebang-command/package.json @@ -1,43 +1,34 @@ { - "author": { - "name": "Kevin Mårtensson", - "email": "kevinmartensson@gmail.com", - "url": "github.com/kevva" - }, - "bugs": { - "url": "https://github.com/kevva/shebang-command/issues" - }, - "bundleDependencies": false, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "deprecated": false, - "description": "Get the command from a shebang", - "devDependencies": { - "ava": "^2.3.0", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/kevva/shebang-command#readme", - "keywords": [ - "cmd", - "command", - "parse", - "shebang" - ], - "license": "MIT", - "name": "shebang-command", - "repository": { - "type": "git", - "url": "git+https://github.com/kevva/shebang-command.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "2.0.0" -} \ No newline at end of file + "name": "shebang-command", + "version": "2.0.0", + "description": "Get the command from a shebang", + "license": "MIT", + "repository": "kevva/shebang-command", + "author": { + "name": "Kevin Mårtensson", + "email": "kevinmartensson@gmail.com", + "url": "github.com/kevva" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "cmd", + "command", + "parse", + "shebang" + ], + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "devDependencies": { + "ava": "^2.3.0", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/shebang-regex/package.json b/tools/node_modules/eslint/node_modules/shebang-regex/package.json index 22a96573aad..00ab30feeef 100644 --- a/tools/node_modules/eslint/node_modules/shebang-regex/package.json +++ b/tools/node_modules/eslint/node_modules/shebang-regex/package.json @@ -1,44 +1,35 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/shebang-regex/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Regular expression for matching a shebang line", - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/sindresorhus/shebang-regex#readme", - "keywords": [ - "regex", - "regexp", - "shebang", - "match", - "test", - "line" - ], - "license": "MIT", - "name": "shebang-regex", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/shebang-regex.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "3.0.0" -} \ No newline at end of file + "name": "shebang-regex", + "version": "3.0.0", + "description": "Regular expression for matching a shebang line", + "license": "MIT", + "repository": "sindresorhus/shebang-regex", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "regex", + "regexp", + "shebang", + "match", + "test", + "line" + ], + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/index.js b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/index.js deleted file mode 100644 index 5d82581a13f..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/index.js +++ /dev/null @@ -1,163 +0,0 @@ -'use strict'; - -const wrapAnsi16 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${code + offset}m`; -}; - -const wrapAnsi256 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${38 + offset};5;${code}m`; -}; - -const wrapAnsi16m = (fn, offset) => (...args) => { - const rgb = fn(...args); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; -}; - -const ansi2ansi = n => n; -const rgb2rgb = (r, g, b) => [r, g, b]; - -const setLazyProperty = (object, property, get) => { - Object.defineProperty(object, property, { - get: () => { - const value = get(); - - Object.defineProperty(object, property, { - value, - enumerable: true, - configurable: true - }); - - return value; - }, - enumerable: true, - configurable: true - }); -}; - -/** @type {typeof import('color-convert')} */ -let colorConvert; -const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { - if (colorConvert === undefined) { - colorConvert = require('color-convert'); - } - - const offset = isBackground ? 10 : 0; - const styles = {}; - - for (const [sourceSpace, suite] of Object.entries(colorConvert)) { - const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; - if (sourceSpace === targetSpace) { - styles[name] = wrap(identity, offset); - } else if (typeof suite === 'object') { - styles[name] = wrap(suite[targetSpace], offset); - } - } - - return styles; -}; - -function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - - // Bright color - blackBright: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - - // Alias bright black as gray (and grey) - styles.color.gray = styles.color.blackBright; - styles.bgColor.bgGray = styles.bgColor.bgBlackBright; - styles.color.grey = styles.color.blackBright; - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; - - for (const [groupName, group] of Object.entries(styles)) { - for (const [styleName, style] of Object.entries(group)) { - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - - group[styleName] = styles[styleName]; - - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - } - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - - setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); - setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); - - return styles; -} - -// Make the export immutable -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/license b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/package.json deleted file mode 100644 index d276e03d254..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/ansi-styles/issues" - }, - "bundleDependencies": false, - "dependencies": { - "color-convert": "^2.0.1" - }, - "deprecated": false, - "description": "ANSI escape codes for styling strings in the terminal", - "devDependencies": { - "@types/color-convert": "^1.9.0", - "ava": "^2.3.0", - "svg-term-cli": "^2.1.1", - "tsd": "^0.11.0", - "xo": "^0.25.3" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "funding": "https://github.com/chalk/ansi-styles?sponsor=1", - "homepage": "https://github.com/chalk/ansi-styles#readme", - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "name": "ansi-styles", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/ansi-styles.git" - }, - "scripts": { - "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor", - "test": "xo && ava && tsd" - }, - "version": "4.3.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/readme.md b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/readme.md deleted file mode 100644 index 24883de808b..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/ansi-styles/readme.md +++ /dev/null @@ -1,152 +0,0 @@ -# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) - -> [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal - -You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. - - - -## Install - -``` -$ npm install ansi-styles -``` - -## Usage - -```js -const style = require('ansi-styles'); - -console.log(`${style.green.open}Hello world!${style.green.close}`); - - -// Color conversion between 16/256/truecolor -// NOTE: If conversion goes to 16 colors or 256 colors, the original color -// may be degraded to fit that color palette. This means terminals -// that do not support 16 million colors will best-match the -// original color. -console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); -console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); -console.log(style.color.ansi16m.hex('#abcdef') + 'Hello world!' + style.color.close); -``` - -## API - -Each style has an `open` and `close` property. - -## Styles - -### Modifiers - -- `reset` -- `bold` -- `dim` -- `italic` *(Not widely supported)* -- `underline` -- `inverse` -- `hidden` -- `strikethrough` *(Not widely supported)* - -### Colors - -- `black` -- `red` -- `green` -- `yellow` -- `blue` -- `magenta` -- `cyan` -- `white` -- `blackBright` (alias: `gray`, `grey`) -- `redBright` -- `greenBright` -- `yellowBright` -- `blueBright` -- `magentaBright` -- `cyanBright` -- `whiteBright` - -### Background colors - -- `bgBlack` -- `bgRed` -- `bgGreen` -- `bgYellow` -- `bgBlue` -- `bgMagenta` -- `bgCyan` -- `bgWhite` -- `bgBlackBright` (alias: `bgGray`, `bgGrey`) -- `bgRedBright` -- `bgGreenBright` -- `bgYellowBright` -- `bgBlueBright` -- `bgMagentaBright` -- `bgCyanBright` -- `bgWhiteBright` - -## Advanced usage - -By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. - -- `style.modifier` -- `style.color` -- `style.bgColor` - -###### Example - -```js -console.log(style.color.green.open); -``` - -Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values. - -###### Example - -```js -console.log(style.codes.get(36)); -//=> 39 -``` - -## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) - -`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. - -The following color spaces from `color-convert` are supported: - -- `rgb` -- `hex` -- `keyword` -- `hsl` -- `hsv` -- `hwb` -- `ansi` -- `ansi256` - -To use these, call the associated conversion function with the intended output, for example: - -```js -style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code -style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code - -style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code -style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code - -style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code -style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code -``` - -## Related - -- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - -## For enterprise - -Available as part of the Tidelift Subscription. - -The maintainers of `ansi-styles` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-ansi-styles?utm_source=npm-ansi-styles&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/LICENSE b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/LICENSE deleted file mode 100644 index 5b4c386f926..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2011-2016 Heather Arthur - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/README.md b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/README.md deleted file mode 100644 index d4b08fc3699..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# color-convert - -[![Build Status](https://travis-ci.org/Qix-/color-convert.svg?branch=master)](https://travis-ci.org/Qix-/color-convert) - -Color-convert is a color conversion library for JavaScript and node. -It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, `ansi`, `ansi16`, `hex` strings, and CSS `keyword`s (will round to closest): - -```js -var convert = require('color-convert'); - -convert.rgb.hsl(140, 200, 100); // [96, 48, 59] -convert.keyword.rgb('blue'); // [0, 0, 255] - -var rgbChannels = convert.rgb.channels; // 3 -var cmykChannels = convert.cmyk.channels; // 4 -var ansiChannels = convert.ansi16.channels; // 1 -``` - -# Install - -```console -$ npm install color-convert -``` - -# API - -Simply get the property of the _from_ and _to_ conversion that you're looking for. - -All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on `.raw` to the function. - -All 'from' functions have a hidden property called `.channels` that indicates the number of channels the function expects (not including alpha). - -```js -var convert = require('color-convert'); - -// Hex to LAB -convert.hex.lab('DEADBF'); // [ 76, 21, -2 ] -convert.hex.lab.raw('DEADBF'); // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ] - -// RGB to CMYK -convert.rgb.cmyk(167, 255, 4); // [ 35, 0, 98, 0 ] -convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ] -``` - -### Arrays -All functions that accept multiple arguments also support passing an array. - -Note that this does **not** apply to functions that convert from a color that only requires one value (e.g. `keyword`, `ansi256`, `hex`, etc.) - -```js -var convert = require('color-convert'); - -convert.rgb.hex(123, 45, 67); // '7B2D43' -convert.rgb.hex([123, 45, 67]); // '7B2D43' -``` - -## Routing - -Conversions that don't have an _explicitly_ defined conversion (in [conversions.js](conversions.js)), but can be converted by means of sub-conversions (e.g. XYZ -> **RGB** -> CMYK), are automatically routed together. This allows just about any color model supported by `color-convert` to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> **LAB** -> **XYZ** -> **RGB** -> Hex). - -Keep in mind that extensive conversions _may_ result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see [conversions.js](conversions.js). - -# Contribute - -If there is a new model you would like to support, or want to add a direct conversion between two existing models, please send us a pull request. - -# License -Copyright © 2011-2016, Heather Arthur and Josh Junon. Licensed under the [MIT License](LICENSE). diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/conversions.js b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/conversions.js deleted file mode 100644 index 2657f265c9e..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/conversions.js +++ /dev/null @@ -1,839 +0,0 @@ -/* MIT license */ -/* eslint-disable no-mixed-operators */ -const cssKeywords = require('color-name'); - -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -const reverseKeywords = {}; -for (const key of Object.keys(cssKeywords)) { - reverseKeywords[cssKeywords[key]] = key; -} - -const convert = { - rgb: {channels: 3, labels: 'rgb'}, - hsl: {channels: 3, labels: 'hsl'}, - hsv: {channels: 3, labels: 'hsv'}, - hwb: {channels: 3, labels: 'hwb'}, - cmyk: {channels: 4, labels: 'cmyk'}, - xyz: {channels: 3, labels: 'xyz'}, - lab: {channels: 3, labels: 'lab'}, - lch: {channels: 3, labels: 'lch'}, - hex: {channels: 1, labels: ['hex']}, - keyword: {channels: 1, labels: ['keyword']}, - ansi16: {channels: 1, labels: ['ansi16']}, - ansi256: {channels: 1, labels: ['ansi256']}, - hcg: {channels: 3, labels: ['h', 'c', 'g']}, - apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, - gray: {channels: 1, labels: ['gray']} -}; - -module.exports = convert; - -// Hide .channels and .labels properties -for (const model of Object.keys(convert)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - const {channels, labels} = convert[model]; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', {value: channels}); - Object.defineProperty(convert[model], 'labels', {value: labels}); -} - -convert.rgb.hsl = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const min = Math.min(r, g, b); - const max = Math.max(r, g, b); - const delta = max - min; - let h; - let s; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - const l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - let rdif; - let gdif; - let bdif; - let h; - let s; - - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const v = Math.max(r, g, b); - const diff = v - Math.min(r, g, b); - const diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = 0; - s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = (1 / 3) + rdif - bdif; - } else if (b === v) { - h = (2 / 3) + gdif - rdif; - } - - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [ - h * 360, - s * 100, - v * 100 - ]; -}; - -convert.rgb.hwb = function (rgb) { - const r = rgb[0]; - const g = rgb[1]; - let b = rgb[2]; - const h = convert.rgb.hsl(rgb)[0]; - const w = 1 / 255 * Math.min(r, Math.min(g, b)); - - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - - const k = Math.min(1 - r, 1 - g, 1 - b); - const c = (1 - r - k) / (1 - k) || 0; - const m = (1 - g - k) / (1 - k) || 0; - const y = (1 - b - k) / (1 - k) || 0; - - return [c * 100, m * 100, y * 100, k * 100]; -}; - -function comparativeDistance(x, y) { - /* - See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - */ - return ( - ((x[0] - y[0]) ** 2) + - ((x[1] - y[1]) ** 2) + - ((x[2] - y[2]) ** 2) - ); -} - -convert.rgb.keyword = function (rgb) { - const reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - - let currentClosestDistance = Infinity; - let currentClosestKeyword; - - for (const keyword of Object.keys(cssKeywords)) { - const value = cssKeywords[keyword]; - - // Compute comparative distance - const distance = comparativeDistance(rgb, value); - - // Check if its less, if so set as closest - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - let r = rgb[0] / 255; - let g = rgb[1] / 255; - let b = rgb[2] / 255; - - // Assume sRGB - r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92); - g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92); - b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92); - - const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); - const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); - const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); - - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - const xyz = convert.rgb.xyz(rgb); - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - const h = hsl[0] / 360; - const s = hsl[1] / 100; - const l = hsl[2] / 100; - let t2; - let t3; - let val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - const t1 = 2 * l - t2; - - const rgb = [0, 0, 0]; - for (let i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - const h = hsl[0]; - let s = hsl[1] / 100; - let l = hsl[2] / 100; - let smin = s; - const lmin = Math.max(l, 0.01); - - l *= 2; - s *= (l <= 1) ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - const v = (l + s) / 2; - const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); - - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - const h = hsv[0] / 60; - const s = hsv[1] / 100; - let v = hsv[2] / 100; - const hi = Math.floor(h) % 6; - - const f = h - Math.floor(h); - const p = 255 * v * (1 - s); - const q = 255 * v * (1 - (s * f)); - const t = 255 * v * (1 - (s * (1 - f))); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - const h = hsv[0]; - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const vmin = Math.max(v, 0.01); - let sl; - let l; - - l = (2 - s) * v; - const lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= (lmin <= 1) ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - - return [h, sl * 100, l * 100]; -}; - -// http://dev.w3.org/csswg/css-color/#hwb-to-rgb -convert.hwb.rgb = function (hwb) { - const h = hwb[0] / 360; - let wh = hwb[1] / 100; - let bl = hwb[2] / 100; - const ratio = wh + bl; - let f; - - // Wh + bl cant be > 1 - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - const i = Math.floor(6 * h); - const v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - const n = wh + f * (v - wh); // Linear interpolation - - let r; - let g; - let b; - /* eslint-disable max-statements-per-line,no-multi-spaces */ - switch (i) { - default: - case 6: - case 0: r = v; g = n; b = wh; break; - case 1: r = n; g = v; b = wh; break; - case 2: r = wh; g = v; b = n; break; - case 3: r = wh; g = n; b = v; break; - case 4: r = n; g = wh; b = v; break; - case 5: r = v; g = wh; b = n; break; - } - /* eslint-enable max-statements-per-line,no-multi-spaces */ - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - const c = cmyk[0] / 100; - const m = cmyk[1] / 100; - const y = cmyk[2] / 100; - const k = cmyk[3] / 100; - - const r = 1 - Math.min(1, c * (1 - k) + k); - const g = 1 - Math.min(1, m * (1 - k) + k); - const b = 1 - Math.min(1, y * (1 - k) + k); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - const x = xyz[0] / 100; - const y = xyz[1] / 100; - const z = xyz[2] / 100; - let r; - let g; - let b; - - r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); - g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); - b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); - - // Assume sRGB - r = r > 0.0031308 - ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055) - : r * 12.92; - - g = g > 0.0031308 - ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055) - : g * 12.92; - - b = b > 0.0031308 - ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055) - : b * 12.92; - - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - - x /= 95.047; - y /= 100; - z /= 108.883; - - x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116); - y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116); - z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116); - - const l = (116 * y) - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let x; - let y; - let z; - - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - - const y2 = y ** 3; - const x2 = x ** 3; - const z2 = z ** 3; - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - - x *= 95.047; - y *= 100; - z *= 108.883; - - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let h; - - const hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - const c = Math.sqrt(a * a + b * b); - - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - const l = lch[0]; - const c = lch[1]; - const h = lch[2]; - - const hr = h / 360 * 2 * Math.PI; - const a = c * Math.cos(hr); - const b = c * Math.sin(hr); - - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args, saturation = null) { - const [r, g, b] = args; - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - let ansi = 30 - + ((Math.round(b / 255) << 2) - | (Math.round(g / 255) << 1) - | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // Optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - const r = args[0]; - const g = args[1]; - const b = args[2]; - - // We use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round(((r - 8) / 247) * 24) + 232; - } - - const ansi = 16 - + (36 * Math.round(r / 255 * 5)) - + (6 * Math.round(g / 255 * 5)) - + Math.round(b / 255 * 5); - - return ansi; -}; - -convert.ansi16.rgb = function (args) { - let color = args % 10; - - // Handle greyscale - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - - return [color, color, color]; - } - - const mult = (~~(args > 50) + 1) * 0.5; - const r = ((color & 1) * mult) * 255; - const g = (((color >> 1) & 1) * mult) * 255; - const b = (((color >> 2) & 1) * mult) * 255; - - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // Handle greyscale - if (args >= 232) { - const c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - - let rem; - const r = Math.floor(args / 36) / 5 * 255; - const g = Math.floor((rem = args % 36) / 6) / 5 * 255; - const b = (rem % 6) / 5 * 255; - - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - const integer = ((Math.round(args[0]) & 0xFF) << 16) - + ((Math.round(args[1]) & 0xFF) << 8) - + (Math.round(args[2]) & 0xFF); - - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - - let colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(char => { - return char + char; - }).join(''); - } - - const integer = parseInt(colorString, 16); - const r = (integer >> 16) & 0xFF; - const g = (integer >> 8) & 0xFF; - const b = integer & 0xFF; - - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const max = Math.max(Math.max(r, g), b); - const min = Math.min(Math.min(r, g), b); - const chroma = (max - min); - let grayscale; - let hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else - if (max === r) { - hue = ((g - b) / chroma) % 6; - } else - if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma; - } - - hue /= 6; - hue %= 1; - - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - const s = hsl[1] / 100; - const l = hsl[2] / 100; - - const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l)); - - let f = 0; - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - const s = hsv[1] / 100; - const v = hsv[2] / 100; - - const c = s * v; - let f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - const h = hcg[0] / 360; - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - const pure = [0, 0, 0]; - const hi = (h % 1) * 6; - const v = hi % 1; - const w = 1 - v; - let mg = 0; - - /* eslint-disable max-statements-per-line */ - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; pure[1] = v; pure[2] = 0; break; - case 1: - pure[0] = w; pure[1] = 1; pure[2] = 0; break; - case 2: - pure[0] = 0; pure[1] = 1; pure[2] = v; break; - case 3: - pure[0] = 0; pure[1] = w; pure[2] = 1; break; - case 4: - pure[0] = v; pure[1] = 0; pure[2] = 1; break; - default: - pure[0] = 1; pure[1] = 0; pure[2] = w; - } - /* eslint-enable max-statements-per-line */ - - mg = (1.0 - c) * g; - - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; -}; - -convert.hcg.hsv = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - const v = c + g * (1.0 - c); - let f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - const l = g * (1.0 - c) + 0.5 * c; - let s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else - if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - const w = hwb[1] / 100; - const b = hwb[2] / 100; - const v = 1 - b; - const c = v - w; - let g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hsv = convert.gray.hsl; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - const val = Math.round(gray[0] / 100 * 255) & 0xFF; - const integer = (val << 16) + (val << 8) + val; - - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - const val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/index.js b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/index.js deleted file mode 100644 index b648e5737be..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/index.js +++ /dev/null @@ -1,81 +0,0 @@ -const conversions = require('./conversions'); -const route = require('./route'); - -const convert = {}; - -const models = Object.keys(conversions); - -function wrapRaw(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - return fn(args); - }; - - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - const result = fn(args); - - // We're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - if (typeof result === 'object') { - for (let len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; - - // Preserve .conversion property if there is one - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(fromModel => { - convert[fromModel] = {}; - - Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); - Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); - - const routes = route(fromModel); - const routeModels = Object.keys(routes); - - routeModels.forEach(toModel => { - const fn = routes[toModel]; - - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); - -module.exports = convert; diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/package.json deleted file mode 100644 index 427616bd058..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "author": { - "name": "Heather Arthur", - "email": "fayearthur@gmail.com" - }, - "bugs": { - "url": "https://github.com/Qix-/color-convert/issues" - }, - "bundleDependencies": false, - "dependencies": { - "color-name": "~1.1.4" - }, - "deprecated": false, - "description": "Plain color conversion functions", - "devDependencies": { - "chalk": "^2.4.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=7.0.0" - }, - "files": [ - "index.js", - "conversions.js", - "route.js" - ], - "homepage": "https://github.com/Qix-/color-convert#readme", - "keywords": [ - "color", - "colour", - "convert", - "converter", - "conversion", - "rgb", - "hsl", - "hsv", - "hwb", - "cmyk", - "ansi", - "ansi16" - ], - "license": "MIT", - "name": "color-convert", - "repository": { - "type": "git", - "url": "git+https://github.com/Qix-/color-convert.git" - }, - "scripts": { - "pretest": "xo", - "test": "node test/basic.js" - }, - "version": "2.0.1", - "xo": { - "rules": { - "default-case": 0, - "no-inline-comments": 0, - "operator-linebreak": 0 - } - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/route.js b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/route.js deleted file mode 100644 index 1a08521b5a0..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-convert/route.js +++ /dev/null @@ -1,97 +0,0 @@ -const conversions = require('./conversions'); - -/* - This function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph() { - const graph = {}; - // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - const models = Object.keys(conversions); - - for (let len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} - -// https://en.wikipedia.org/wiki/Breadth-first_search -function deriveBFS(fromModel) { - const graph = buildGraph(); - const queue = [fromModel]; // Unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - const current = queue.pop(); - const adjacents = Object.keys(conversions[current]); - - for (let len = adjacents.length, i = 0; i < len; i++) { - const adjacent = adjacents[i]; - const node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - const path = [graph[toModel].parent, toModel]; - let fn = conversions[graph[toModel].parent][toModel]; - - let cur = graph[toModel].parent; - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -module.exports = function (fromModel) { - const graph = deriveBFS(fromModel); - const conversion = {}; - - const models = Object.keys(graph); - for (let len = models.length, i = 0; i < len; i++) { - const toModel = models[i]; - const node = graph[toModel]; - - if (node.parent === null) { - // No possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/LICENSE b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/LICENSE deleted file mode 100644 index c6b10012540..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/LICENSE +++ /dev/null @@ -1,8 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2015 Dmitry Ivanov - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/README.md b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/README.md deleted file mode 100644 index 932b979176f..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/README.md +++ /dev/null @@ -1,11 +0,0 @@ -A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. - -[![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) - - -```js -var colors = require('color-name'); -colors.red //[255,0,0] -``` - - diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/index.js b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/index.js deleted file mode 100644 index b7c198a6f3d..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/index.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict' - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/package.json deleted file mode 100644 index 07b8f6ece81..00000000000 --- a/tools/node_modules/eslint/node_modules/slice-ansi/node_modules/color-name/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "author": { - "name": "DY", - "email": "dfcreative@gmail.com" - }, - "bugs": { - "url": "https://github.com/colorjs/color-name/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A list of color names and its values", - "files": [ - "index.js" - ], - "homepage": "https://github.com/colorjs/color-name", - "keywords": [ - "color-name", - "color", - "color-keyword", - "keyword" - ], - "license": "MIT", - "main": "index.js", - "name": "color-name", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/colorjs/color-name.git" - }, - "scripts": { - "test": "node test.js" - }, - "version": "1.1.4" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/package.json index 1e32ac1c4a9..7d6ea6956dc 100644 --- a/tools/node_modules/eslint/node_modules/slice-ansi/package.json +++ b/tools/node_modules/eslint/node_modules/slice-ansi/package.json @@ -1,61 +1,52 @@ { - "bugs": { - "url": "https://github.com/chalk/slice-ansi/issues" - }, - "bundleDependencies": false, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "deprecated": false, - "description": "Slice a string with ANSI escape codes", - "devDependencies": { - "ava": "^2.1.0", - "chalk": "^3.0.0", - "random-item": "^3.0.0", - "strip-ansi": "^6.0.0", - "xo": "^0.26.1" - }, - "engines": { - "node": ">=10" - }, - "files": [ - "index.js" - ], - "funding": "https://github.com/chalk/slice-ansi?sponsor=1", - "homepage": "https://github.com/chalk/slice-ansi#readme", - "keywords": [ - "slice", - "string", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "name": "slice-ansi", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/slice-ansi.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "4.0.0" -} \ No newline at end of file + "name": "slice-ansi", + "version": "4.0.0", + "description": "Slice a string with ANSI escape codes", + "license": "MIT", + "repository": "chalk/slice-ansi", + "funding": "https://github.com/chalk/slice-ansi?sponsor=1", + "engines": { + "node": ">=10" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js" + ], + "keywords": [ + "slice", + "string", + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "devDependencies": { + "ava": "^2.1.0", + "chalk": "^3.0.0", + "random-item": "^3.0.0", + "strip-ansi": "^6.0.0", + "xo": "^0.26.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/sprintf-js/package.json b/tools/node_modules/eslint/node_modules/sprintf-js/package.json index da639c61582..75f7eca71ea 100644 --- a/tools/node_modules/eslint/node_modules/sprintf-js/package.json +++ b/tools/node_modules/eslint/node_modules/sprintf-js/package.json @@ -1,31 +1,22 @@ { - "author": { - "name": "Alexandru Marasteanu", - "email": "hello@alexei.ro", - "url": "http://alexei.ro/" - }, - "bugs": { - "url": "https://github.com/alexei/sprintf.js/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "JavaScript sprintf implementation", - "devDependencies": { - "grunt": "*", - "grunt-contrib-uglify": "*", - "grunt-contrib-watch": "*", - "mocha": "*" - }, - "homepage": "https://github.com/alexei/sprintf.js#readme", - "license": "BSD-3-Clause", - "main": "src/sprintf.js", - "name": "sprintf-js", - "repository": { - "type": "git", - "url": "git+https://github.com/alexei/sprintf.js.git" - }, - "scripts": { - "test": "mocha test/test.js" - }, - "version": "1.0.3" -} \ No newline at end of file + "name": "sprintf-js", + "version": "1.0.3", + "description": "JavaScript sprintf implementation", + "author": "Alexandru Marasteanu (http://alexei.ro/)", + "main": "src/sprintf.js", + "scripts": { + "test": "mocha test/test.js" + }, + "repository": { + "type": "git", + "url": "https://github.com/alexei/sprintf.js.git" + }, + "license": "BSD-3-Clause", + "readmeFilename": "README.md", + "devDependencies": { + "mocha": "*", + "grunt": "*", + "grunt-contrib-watch": "*", + "grunt-contrib-uglify": "*" + } +} diff --git a/tools/node_modules/eslint/node_modules/state-toggle/index.js b/tools/node_modules/eslint/node_modules/state-toggle/index.js deleted file mode 100644 index aceee00d1db..00000000000 --- a/tools/node_modules/eslint/node_modules/state-toggle/index.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict' - -module.exports = factory - -// Construct a state `toggler`: a function which inverses `property` in context -// based on its current value. -// The by `toggler` returned function restores that value. -function factory(key, state, ctx) { - return enter - - function enter() { - var context = ctx || this - var current = context[key] - - context[key] = !state - - return exit - - function exit() { - context[key] = current - } - } -} diff --git a/tools/node_modules/eslint/node_modules/state-toggle/license b/tools/node_modules/eslint/node_modules/state-toggle/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/state-toggle/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/state-toggle/package.json b/tools/node_modules/eslint/node_modules/state-toggle/package.json deleted file mode 100644 index 573df7117bf..00000000000 --- a/tools/node_modules/eslint/node_modules/state-toggle/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/state-toggle/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Enter/exit a state", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/state-toggle#readme", - "keywords": [ - "enter", - "exit", - "state" - ], - "license": "MIT", - "name": "state-toggle", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/state-toggle.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s stateToggle -o state-toggle.js", - "build-mangle": "browserify . -s stateToggle -p tinyify -o state-toggle.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.3", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "state-toggle.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/state-toggle/readme.md b/tools/node_modules/eslint/node_modules/state-toggle/readme.md deleted file mode 100644 index 9fcca1e5ef6..00000000000 --- a/tools/node_modules/eslint/node_modules/state-toggle/readme.md +++ /dev/null @@ -1,95 +0,0 @@ -# state-toggle - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Enter/exit a state. - -## Install - -[npm][]: - -```sh -npm install state-toggle -``` - -## Use - -```js -var toggle = require('state-toggle') - -var ctx = {on: false} -var enter = toggle('on', ctx.on, ctx) -var exit - -// Entering: -exit = enter() -console.log(ctx.on) // => true - -// Exiting: -exit() -console.log(ctx.on) // => false -``` - -## API - -### `toggle(key, initial[, ctx])` - -Create a toggle, which when entering toggles `key` on `ctx` (or `this`, if `ctx` -is not given) to `!initial`, and when exiting, sets `key` on the context back to -the value it had before entering. - -###### Returns - -`Function` — [`enter`][enter]. - -### `enter()` - -Enter the state. - -###### Context - -If no `ctx` was given to `toggle`, the context object (`this`) of `enter()` is -used to toggle. - -###### Returns - -`Function` — [`exit`][exit]. - -### `exit()` - -Exit the state, reverting `key` to the value it had before entering. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/state-toggle.svg - -[build]: https://travis-ci.org/wooorm/state-toggle - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/state-toggle.svg - -[coverage]: https://codecov.io/github/wooorm/state-toggle - -[downloads-badge]: https://img.shields.io/npm/dm/state-toggle.svg - -[downloads]: https://www.npmjs.com/package/state-toggle - -[size-badge]: https://img.shields.io/bundlephobia/minzip/state-toggle.svg - -[size]: https://bundlephobia.com/result?p=state-toggle - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[enter]: #enter - -[exit]: #exit diff --git a/tools/node_modules/eslint/node_modules/string-width/package.json b/tools/node_modules/eslint/node_modules/string-width/package.json index e2b884cb399..b9b20caaf6f 100644 --- a/tools/node_modules/eslint/node_modules/string-width/package.json +++ b/tools/node_modules/eslint/node_modules/string-width/package.json @@ -1,65 +1,56 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/string-width/issues" - }, - "bundleDependencies": false, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "deprecated": false, - "description": "Get the visual width of a string - the number of columns required to display it", - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.1", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/sindresorhus/string-width#readme", - "keywords": [ - "string", - "character", - "unicode", - "width", - "visual", - "column", - "columns", - "fullwidth", - "full-width", - "full", - "ansi", - "escape", - "codes", - "cli", - "command-line", - "terminal", - "console", - "cjk", - "chinese", - "japanese", - "korean", - "fixed-width" - ], - "license": "MIT", - "name": "string-width", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/string-width.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "4.2.2" -} \ No newline at end of file + "name": "string-width", + "version": "4.2.2", + "description": "Get the visual width of a string - the number of columns required to display it", + "license": "MIT", + "repository": "sindresorhus/string-width", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "string", + "character", + "unicode", + "width", + "visual", + "column", + "columns", + "fullwidth", + "full-width", + "full", + "ansi", + "escape", + "codes", + "cli", + "command-line", + "terminal", + "console", + "cjk", + "chinese", + "japanese", + "korean", + "fixed-width" + ], + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "devDependencies": { + "ava": "^1.4.1", + "tsd": "^0.7.1", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/strip-ansi/package.json index 5db6f68dc0a..65a6c95161f 100644 --- a/tools/node_modules/eslint/node_modules/strip-ansi/package.json +++ b/tools/node_modules/eslint/node_modules/strip-ansi/package.json @@ -1,63 +1,54 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/chalk/strip-ansi/issues" - }, - "bundleDependencies": false, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "deprecated": false, - "description": "Strip ANSI escape codes from a string", - "devDependencies": { - "ava": "^2.4.0", - "tsd": "^0.10.0", - "xo": "^0.25.3" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/chalk/strip-ansi#readme", - "keywords": [ - "strip", - "trim", - "remove", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "license": "MIT", - "name": "strip-ansi", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/strip-ansi.git" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "version": "6.0.0" -} \ No newline at end of file + "name": "strip-ansi", + "version": "6.0.0", + "description": "Strip ANSI escape codes from a string", + "license": "MIT", + "repository": "chalk/strip-ansi", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "strip", + "trim", + "remove", + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "devDependencies": { + "ava": "^2.4.0", + "tsd": "^0.10.0", + "xo": "^0.25.3" + } +} diff --git a/tools/node_modules/eslint/node_modules/strip-json-comments/package.json b/tools/node_modules/eslint/node_modules/strip-json-comments/package.json index d28e657025b..ce7875aa0d1 100644 --- a/tools/node_modules/eslint/node_modules/strip-json-comments/package.json +++ b/tools/node_modules/eslint/node_modules/strip-json-comments/package.json @@ -1,56 +1,47 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "https://sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/strip-json-comments/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Strip comments from JSON. Lets you use comments in your JSON files!", - "devDependencies": { - "ava": "^1.4.1", - "matcha": "^0.7.0", - "tsd": "^0.7.2", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "funding": "https://github.com/sponsors/sindresorhus", - "homepage": "https://github.com/sindresorhus/strip-json-comments#readme", - "keywords": [ - "json", - "strip", - "comments", - "remove", - "delete", - "trim", - "multiline", - "parse", - "config", - "configuration", - "settings", - "util", - "env", - "environment", - "jsonc" - ], - "license": "MIT", - "name": "strip-json-comments", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/strip-json-comments.git" - }, - "scripts": { - "bench": "matcha benchmark.js", - "test": "xo && ava && tsd" - }, - "version": "3.1.1" -} \ No newline at end of file + "name": "strip-json-comments", + "version": "3.1.1", + "description": "Strip comments from JSON. Lets you use comments in your JSON files!", + "license": "MIT", + "repository": "sindresorhus/strip-json-comments", + "funding": "https://github.com/sponsors/sindresorhus", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "https://sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd", + "bench": "matcha benchmark.js" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "json", + "strip", + "comments", + "remove", + "delete", + "trim", + "multiline", + "parse", + "config", + "configuration", + "settings", + "util", + "env", + "environment", + "jsonc" + ], + "devDependencies": { + "ava": "^1.4.1", + "matcha": "^0.7.0", + "tsd": "^0.7.2", + "xo": "^0.24.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/supports-color/index.js b/tools/node_modules/eslint/node_modules/supports-color/index.js index 1704131bdf6..6fada390fb8 100644 --- a/tools/node_modules/eslint/node_modules/supports-color/index.js +++ b/tools/node_modules/eslint/node_modules/supports-color/index.js @@ -1,22 +1,31 @@ 'use strict'; const os = require('os'); +const tty = require('tty'); const hasFlag = require('has-flag'); -const env = process.env; +const {env} = process; let forceColor; if (hasFlag('no-color') || hasFlag('no-colors') || - hasFlag('color=false')) { - forceColor = false; + hasFlag('color=false') || + hasFlag('color=never')) { + forceColor = 0; } else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { - forceColor = true; + forceColor = 1; } + if ('FORCE_COLOR' in env) { - forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; + if (env.FORCE_COLOR === 'true') { + forceColor = 1; + } else if (env.FORCE_COLOR === 'false') { + forceColor = 0; + } else { + forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); + } } function translateLevel(level) { @@ -32,8 +41,8 @@ function translateLevel(level) { }; } -function supportsColor(stream) { - if (forceColor === false) { +function supportsColor(haveStream, streamIsTTY) { + if (forceColor === 0) { return 0; } @@ -47,22 +56,21 @@ function supportsColor(stream) { return 2; } - if (stream && !stream.isTTY && forceColor !== true) { + if (haveStream && !streamIsTTY && forceColor === undefined) { return 0; } - const min = forceColor ? 1 : 0; + const min = forceColor || 0; + + if (env.TERM === 'dumb') { + return min; + } if (process.platform === 'win32') { - // Node.js 7.5.0 is the first version of Node.js to include a patch to - // libuv that enables 256 color output on Windows. Anything earlier and it - // won't work. However, here we target Node.js 8 at minimum as it is an LTS - // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows - // release that supports 256 colors. Windows 10 build 14931 is the first release - // that supports 16m/TrueColor. + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. const osRelease = os.release().split('.'); if ( - Number(process.versions.node.split('.')[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586 ) { @@ -73,7 +81,7 @@ function supportsColor(stream) { } if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { return 1; } @@ -112,20 +120,16 @@ function supportsColor(stream) { return 1; } - if (env.TERM === 'dumb') { - return min; - } - return min; } function getSupportLevel(stream) { - const level = supportsColor(stream); + const level = supportsColor(stream, stream && stream.isTTY); return translateLevel(level); } module.exports = { supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) + stdout: translateLevel(supportsColor(true, tty.isatty(1))), + stderr: translateLevel(supportsColor(true, tty.isatty(2))) }; diff --git a/tools/node_modules/eslint/node_modules/supports-color/package.json b/tools/node_modules/eslint/node_modules/supports-color/package.json index 9e4eafa8573..f7182edcea2 100644 --- a/tools/node_modules/eslint/node_modules/supports-color/package.json +++ b/tools/node_modules/eslint/node_modules/supports-color/package.json @@ -1,62 +1,53 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "browser": "browser.js", - "bugs": { - "url": "https://github.com/chalk/supports-color/issues" - }, - "bundleDependencies": false, - "dependencies": { - "has-flag": "^3.0.0" - }, - "deprecated": false, - "description": "Detect whether a terminal supports color", - "devDependencies": { - "ava": "^0.25.0", - "import-fresh": "^2.0.0", - "xo": "^0.20.0" - }, - "engines": { - "node": ">=4" - }, - "files": [ - "index.js", - "browser.js" - ], - "homepage": "https://github.com/chalk/supports-color#readme", - "keywords": [ - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "ansi", - "styles", - "tty", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "support", - "supports", - "capability", - "detect", - "truecolor", - "16m" - ], - "license": "MIT", - "name": "supports-color", - "repository": { - "type": "git", - "url": "git+https://github.com/chalk/supports-color.git" - }, - "scripts": { - "test": "xo && ava" - }, - "version": "5.5.0" -} \ No newline at end of file + "name": "supports-color", + "version": "7.2.0", + "description": "Detect whether a terminal supports color", + "license": "MIT", + "repository": "chalk/supports-color", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava" + }, + "files": [ + "index.js", + "browser.js" + ], + "keywords": [ + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "ansi", + "styles", + "tty", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "support", + "supports", + "capability", + "detect", + "truecolor", + "16m" + ], + "dependencies": { + "has-flag": "^4.0.0" + }, + "devDependencies": { + "ava": "^1.4.1", + "import-fresh": "^3.0.0", + "xo": "^0.24.0" + }, + "browser": "browser.js" +} diff --git a/tools/node_modules/eslint/node_modules/supports-color/readme.md b/tools/node_modules/eslint/node_modules/supports-color/readme.md index f6e40195730..36542285863 100644 --- a/tools/node_modules/eslint/node_modules/supports-color/readme.md +++ b/tools/node_modules/eslint/node_modules/supports-color/readme.md @@ -44,7 +44,7 @@ The `stdout`/`stderr` objects specifies a level of support for color through a ` It obeys the `--color` and `--no-color` CLI flags. -Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add the environment variable `FORCE_COLOR=1` to forcefully enable color or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks. +For situations where using `--color` is not possible, use the environment variable `FORCE_COLOR=1` (level 1), `FORCE_COLOR=2` (level 2), or `FORCE_COLOR=3` (level 3) to forcefully enable color, or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks. Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively. @@ -61,6 +61,16 @@ Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color= - [Josh Junon](https://github.com/qix-) -## License +--- -MIT +
+ + Get professional support for this package with a Tidelift subscription + +
+ + Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. +
+
+ +--- diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json index 6273b515645..8ecc53dd8a9 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json +++ b/tools/node_modules/eslint/node_modules/table/node_modules/ajv/package.json @@ -1,23 +1,71 @@ { - "author": { - "name": "Evgeny Poberezkin" + "name": "ajv", + "version": "7.1.1", + "description": "Another JSON Schema Validator", + "main": "dist/ajv.js", + "types": "dist/ajv.d.ts", + "files": [ + "lib/", + "docs/", + "dist/", + "scripts/", + ".tonic_example.js" + ], + "scripts": { + "eslint": "eslint \"lib/**/*.ts\" \"spec/**/*.*s\" scripts --ignore-pattern spec/JSON-Schema-Test-Suite", + "prettier:write": "prettier --write \"./**/*.{md,json,yaml,js,ts}\"", + "prettier:check": "prettier --list-different \"./**/*.{md,json,yaml,js,ts}\"", + "test-spec": "cross-env TS_NODE_PROJECT=spec/tsconfig.json mocha -r ts-node/register \"spec/**/*.spec.{ts,js}\" -R dot", + "test-codegen": "nyc cross-env TS_NODE_PROJECT=spec/tsconfig.json mocha -r ts-node/register 'spec/codegen.spec.ts' -R spec", + "test-debug": "npm run test-spec -- --inspect-brk", + "test-cov": "nyc npm run test-spec", + "bundle": "rm -rf bundle && node ./scripts/bundle.js ajv ajv7 ajv7 && node ./scripts/bundle.js 2019 ajv2019 ajv2019 && node ./scripts/bundle.js jtd ajvJTD ajvJTD", + "build": "rm -rf dist && tsc && cp -r lib/refs dist && rm dist/refs/json-schema-2019-09/index.ts && rm dist/refs/jtd-schema.ts", + "json-tests": "rm -rf spec/_json/*.js && node scripts/jsontests", + "test-karma": "karma start", + "test-browser": "rm -rf .browser && npm run bundle && scripts/prepare-tests && karma start", + "test-all": "npm run test-cov && if-node-version 12 npm run test-browser", + "test": "npm link && npm link ajv && npm run json-tests && npm run eslint && npm run test-cov", + "test-ci": "AJV_FULL_TEST=true npm test", + "prepublish": "npm run build" + }, + "nyc": { + "exclude": [ + "**/spec/**", + "node_modules" + ], + "reporter": [ + "lcov", + "text-summary" + ] }, + "repository": { + "type": "git", + "url": "https://github.com/ajv-validator/ajv.git" + }, + "keywords": [ + "JSON", + "schema", + "validator", + "validation", + "jsonschema", + "json-schema", + "json-schema-validator", + "json-schema-validation" + ], + "author": "Evgeny Poberezkin", + "license": "MIT", "bugs": { "url": "https://github.com/ajv-validator/ajv/issues" }, - "bundleDependencies": false, - "collective": { - "type": "opencollective", - "url": "https://opencollective.com/ajv" - }, + "homepage": "https://github.com/ajv-validator/ajv", + "tonicExampleFilename": ".tonic_example.js", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" }, - "deprecated": false, - "description": "Another JSON Schema Validator", "devDependencies": { "@ajv-validator/config": "^0.3.0", "@types/chai": "^4.2.12", @@ -49,73 +97,21 @@ "tsify": "^5.0.2", "typescript": "^4.0.0" }, - "files": [ - "lib/", - "docs/", - "dist/", - "scripts/", - ".tonic_example.js" - ], + "collective": { + "type": "opencollective", + "url": "https://opencollective.com/ajv" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" }, - "homepage": "https://github.com/ajv-validator/ajv", + "prettier": "@ajv-validator/config/prettierrc.json", "husky": { "hooks": { "pre-commit": "lint-staged && npm test" } }, - "keywords": [ - "JSON", - "schema", - "validator", - "validation", - "jsonschema", - "json-schema", - "json-schema-validator", - "json-schema-validation" - ], - "license": "MIT", "lint-staged": { "*.{md,json,yaml,js,ts}": "prettier --write" - }, - "main": "dist/ajv.js", - "name": "ajv", - "nyc": { - "exclude": [ - "**/spec/**", - "node_modules" - ], - "reporter": [ - "lcov", - "text-summary" - ] - }, - "prettier": "@ajv-validator/config/prettierrc.json", - "repository": { - "type": "git", - "url": "git+https://github.com/ajv-validator/ajv.git" - }, - "scripts": { - "build": "rm -rf dist && tsc && cp -r lib/refs dist && rm dist/refs/json-schema-2019-09/index.ts && rm dist/refs/jtd-schema.ts", - "bundle": "rm -rf bundle && node ./scripts/bundle.js ajv ajv7 ajv7 && node ./scripts/bundle.js 2019 ajv2019 ajv2019 && node ./scripts/bundle.js jtd ajvJTD ajvJTD", - "eslint": "eslint \"lib/**/*.ts\" \"spec/**/*.*s\" scripts --ignore-pattern spec/JSON-Schema-Test-Suite", - "json-tests": "rm -rf spec/_json/*.js && node scripts/jsontests", - "prepublish": "npm run build", - "prettier:check": "prettier --list-different \"./**/*.{md,json,yaml,js,ts}\"", - "prettier:write": "prettier --write \"./**/*.{md,json,yaml,js,ts}\"", - "test": "npm link && npm link ajv && npm run json-tests && npm run eslint && npm run test-cov", - "test-all": "npm run test-cov && if-node-version 12 npm run test-browser", - "test-browser": "rm -rf .browser && npm run bundle && scripts/prepare-tests && karma start", - "test-ci": "AJV_FULL_TEST=true npm test", - "test-codegen": "nyc cross-env TS_NODE_PROJECT=spec/tsconfig.json mocha -r ts-node/register 'spec/codegen.spec.ts' -R spec", - "test-cov": "nyc npm run test-spec", - "test-debug": "npm run test-spec -- --inspect-brk", - "test-karma": "karma start", - "test-spec": "cross-env TS_NODE_PROJECT=spec/tsconfig.json mocha -r ts-node/register \"spec/**/*.spec.{ts,js}\" -R dot" - }, - "tonicExampleFilename": ".tonic_example.js", - "types": "dist/ajv.d.ts", - "version": "7.1.1" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/table/node_modules/json-schema-traverse/package.json b/tools/node_modules/eslint/node_modules/table/node_modules/json-schema-traverse/package.json index 98fee959b77..e32dfbaeec5 100644 --- a/tools/node_modules/eslint/node_modules/table/node_modules/json-schema-traverse/package.json +++ b/tools/node_modules/eslint/node_modules/table/node_modules/json-schema-traverse/package.json @@ -1,28 +1,35 @@ { - "author": { - "name": "Evgeny Poberezkin" + "name": "json-schema-traverse", + "version": "1.0.0", + "description": "Traverse JSON Schema passing each schema object to callback", + "main": "index.js", + "types": "index.d.ts", + "scripts": { + "eslint": "eslint index.js spec", + "test-spec": "mocha spec -R spec", + "test": "npm run eslint && nyc npm run test-spec" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/epoberezkin/json-schema-traverse.git" }, + "keywords": [ + "JSON-Schema", + "traverse", + "iterate" + ], + "author": "Evgeny Poberezkin", + "license": "MIT", "bugs": { "url": "https://github.com/epoberezkin/json-schema-traverse/issues" }, - "bundleDependencies": false, - "deprecated": false, - "description": "Traverse JSON Schema passing each schema object to callback", + "homepage": "https://github.com/epoberezkin/json-schema-traverse#readme", "devDependencies": { "eslint": "^7.3.1", "mocha": "^8.0.1", "nyc": "^15.0.0", "pre-commit": "^1.2.2" }, - "homepage": "https://github.com/epoberezkin/json-schema-traverse#readme", - "keywords": [ - "JSON-Schema", - "traverse", - "iterate" - ], - "license": "MIT", - "main": "index.js", - "name": "json-schema-traverse", "nyc": { "exclude": [ "**/spec/**", @@ -32,16 +39,5 @@ "lcov", "text-summary" ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/epoberezkin/json-schema-traverse.git" - }, - "scripts": { - "eslint": "eslint index.js spec", - "test": "npm run eslint && nyc npm run test-spec", - "test-spec": "mocha spec -R spec" - }, - "types": "index.d.ts", - "version": "1.0.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json index 892f772a2f3..85036e7f2e5 100644 --- a/tools/node_modules/eslint/node_modules/table/package.json +++ b/tools/node_modules/eslint/node_modules/table/package.json @@ -1,20 +1,15 @@ { "author": { - "name": "Gajus Kuizinas", "email": "gajus@gajus.com", + "name": "Gajus Kuizinas", "url": "http://gajus.com" }, - "bugs": { - "url": "https://github.com/gajus/table/issues" - }, - "bundleDependencies": false, "dependencies": { "ajv": "^7.0.2", "lodash": "^4.17.20", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" }, - "deprecated": false, "description": "Formats data into a string table.", "devDependencies": { "@babel/cli": "^7.12.10", @@ -46,7 +41,6 @@ "engines": { "node": ">=10.0.0" }, - "homepage": "https://github.com/gajus/table#readme", "husky": { "hooks": { "post-commit": "npm run create-readme && git add README.md && git commit -m 'docs: generate docs' --no-verify", @@ -78,7 +72,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/gajus/table.git" + "url": "https://github.com/gajus/table" }, "scripts": { "build": "rm -fr ./dist && NODE_ENV=production babel ./src --out-dir ./dist --copy-files --source-maps && npm run create-validators && flow-copy-source src dist", @@ -88,4 +82,4 @@ "test": "mocha --require @babel/register" }, "version": "6.0.7" -} \ No newline at end of file +} diff --git a/tools/node_modules/eslint/node_modules/text-table/package.json b/tools/node_modules/eslint/node_modules/text-table/package.json index f5c43b5d934..b4d17a4ff81 100644 --- a/tools/node_modules/eslint/node_modules/text-table/package.json +++ b/tools/node_modules/eslint/node_modules/text-table/package.json @@ -1,50 +1,44 @@ { - "author": { - "name": "James Halliday", - "email": "mail@substack.net", - "url": "http://substack.net" - }, - "bugs": { - "url": "https://github.com/substack/text-table/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "borderless text tables with alignment", - "devDependencies": { - "cli-color": "~0.2.3", - "tap": "~0.4.0", - "tape": "~1.0.2" - }, - "homepage": "https://github.com/substack/text-table", - "keywords": [ - "text", - "table", - "align", - "ascii", - "rows", - "tabular" - ], - "license": "MIT", - "main": "index.js", - "name": "text-table", - "repository": { - "type": "git", - "url": "git://github.com/substack/text-table.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "testling": { - "files": "test/*.js", - "browsers": [ - "ie/6..latest", - "chrome/20..latest", - "firefox/10..latest", - "safari/latest", - "opera/11.0..latest", - "iphone/6", - "ipad/6" - ] - }, - "version": "0.2.0" -} \ No newline at end of file + "name": "text-table", + "version": "0.2.0", + "description": "borderless text tables with alignment", + "main": "index.js", + "devDependencies": { + "tap": "~0.4.0", + "tape": "~1.0.2", + "cli-color": "~0.2.3" + }, + "scripts": { + "test": "tap test/*.js" + }, + "testling" : { + "files" : "test/*.js", + "browsers" : [ + "ie/6..latest", + "chrome/20..latest", + "firefox/10..latest", + "safari/latest", + "opera/11.0..latest", + "iphone/6", "ipad/6" + ] + }, + "repository": { + "type": "git", + "url": "git://github.com/substack/text-table.git" + }, + "homepage": "https://github.com/substack/text-table", + "keywords": [ + "text", + "table", + "align", + "ascii", + "rows", + "tabular" + ], + "author": { + "name": "James Halliday", + "email": "mail@substack.net", + "url": "http://substack.net" + }, + "license": "MIT" +} diff --git a/tools/node_modules/eslint/node_modules/trim-trailing-lines/index.js b/tools/node_modules/eslint/node_modules/trim-trailing-lines/index.js deleted file mode 100644 index eff85c6baed..00000000000 --- a/tools/node_modules/eslint/node_modules/trim-trailing-lines/index.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict' - -module.exports = trimTrailingLines - -// Remove final newline characters from `value`. -function trimTrailingLines(value) { - return String(value).replace(/\n+$/, '') -} diff --git a/tools/node_modules/eslint/node_modules/trim-trailing-lines/license b/tools/node_modules/eslint/node_modules/trim-trailing-lines/license deleted file mode 100644 index 611b67581bb..00000000000 --- a/tools/node_modules/eslint/node_modules/trim-trailing-lines/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json b/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json deleted file mode 100644 index c0242dc1299..00000000000 --- a/tools/node_modules/eslint/node_modules/trim-trailing-lines/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/trim-trailing-lines/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Remove final line feeds from a string", - "devDependencies": { - "browserify": "^17.0.0", - "nyc": "^15.0.0", - "prettier": "^2.0.0", - "remark-cli": "^9.0.0", - "remark-preset-wooorm": "^8.0.0", - "tape": "^5.0.0", - "tinyify": "^3.0.0", - "xo": "^0.34.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/trim-trailing-lines#readme", - "keywords": [ - "trim", - "final", - "line", - "newline", - "characters" - ], - "license": "MIT", - "name": "trim-trailing-lines", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/trim-trailing-lines.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s trimTrailingLines -o trim-trailing-lines.js", - "build-mangle": "browserify . -s trimTrailingLines -p tinyify -o trim-trailing-lines.min.js", - "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.1.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "trim-trailing-lines.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/trim-trailing-lines/readme.md b/tools/node_modules/eslint/node_modules/trim-trailing-lines/readme.md deleted file mode 100644 index a9c1f441b84..00000000000 --- a/tools/node_modules/eslint/node_modules/trim-trailing-lines/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# trim-trailing-lines - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Remove final line feeds from a string. - -## Install - -[npm][]: - -```sh -npm install trim-trailing-lines -``` - -## Use - -```js -var trimTrailingLines = require('trim-trailing-lines') - -trimTrailingLines('foo\nbar') // => 'foo\nbar' -trimTrailingLines('foo\nbar\n') // => 'foo\nbar' -trimTrailingLines('foo\nbar\n\n') // => 'foo\nbar' -``` - -## API - -### `trimTrailingLines(value)` - -Remove final line feed characters from `value`. - -###### Parameters - -* `value` (`string`) — Value with trailing line feeds, coerced to string. - -###### Returns - -`string` — Value without trailing newlines. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/trim-trailing-lines.svg - -[build]: https://travis-ci.org/wooorm/trim-trailing-lines - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trim-trailing-lines.svg - -[coverage]: https://codecov.io/github/wooorm/trim-trailing-lines - -[downloads-badge]: https://img.shields.io/npm/dm/trim-trailing-lines.svg - -[downloads]: https://www.npmjs.com/package/trim-trailing-lines - -[size-badge]: https://img.shields.io/bundlephobia/minzip/trim-trailing-lines.svg - -[size]: https://bundlephobia.com/result?p=trim-trailing-lines - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/trim/Makefile b/tools/node_modules/eslint/node_modules/trim/Makefile deleted file mode 100644 index 4e9c8d36ebc..00000000000 --- a/tools/node_modules/eslint/node_modules/trim/Makefile +++ /dev/null @@ -1,7 +0,0 @@ - -test: - @./node_modules/.bin/mocha \ - --require should \ - --reporter spec - -.PHONY: test \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/trim/Readme.md b/tools/node_modules/eslint/node_modules/trim/Readme.md deleted file mode 100644 index 3460f523fbe..00000000000 --- a/tools/node_modules/eslint/node_modules/trim/Readme.md +++ /dev/null @@ -1,69 +0,0 @@ - -# trim - - Trims string whitespace. - -## Installation - -``` -$ npm install trim -$ component install component/trim -``` - -## API - - - [trim(str)](#trimstr) - - [.left(str)](#leftstr) - - [.right(str)](#rightstr) - - - -### trim(str) -should trim leading / trailing whitespace. - -```js -trim(' foo bar ').should.equal('foo bar'); -trim('\n\n\nfoo bar\n\r\n\n').should.equal('foo bar'); -``` - - -### .left(str) -should trim leading whitespace. - -```js -trim.left(' foo bar ').should.equal('foo bar '); -``` - - -### .right(str) -should trim trailing whitespace. - -```js -trim.right(' foo bar ').should.equal(' foo bar'); -``` - - -## License - -(The MIT License) - -Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/trim/index.js b/tools/node_modules/eslint/node_modules/trim/index.js deleted file mode 100644 index 640c24cf302..00000000000 --- a/tools/node_modules/eslint/node_modules/trim/index.js +++ /dev/null @@ -1,14 +0,0 @@ - -exports = module.exports = trim; - -function trim(str){ - return str.replace(/^\s*|\s*$/g, ''); -} - -exports.left = function(str){ - return str.replace(/^\s*/, ''); -}; - -exports.right = function(str){ - return str.replace(/\s*$/, ''); -}; diff --git a/tools/node_modules/eslint/node_modules/trim/package.json b/tools/node_modules/eslint/node_modules/trim/package.json deleted file mode 100644 index b6c977af444..00000000000 --- a/tools/node_modules/eslint/node_modules/trim/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "author": { - "name": "TJ Holowaychuk", - "email": "tj@vision-media.ca" - }, - "bundleDependencies": false, - "component": { - "scripts": { - "trim/index.js": "index.js" - } - }, - "dependencies": {}, - "deprecated": false, - "description": "Trim string whitespace", - "devDependencies": { - "mocha": "*", - "should": "*" - }, - "keywords": [ - "string", - "trim" - ], - "main": "index", - "name": "trim", - "version": "0.0.1" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/trough/index.js b/tools/node_modules/eslint/node_modules/trough/index.js deleted file mode 100644 index 2b73d868056..00000000000 --- a/tools/node_modules/eslint/node_modules/trough/index.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict' - -var wrap = require('./wrap.js') - -module.exports = trough - -trough.wrap = wrap - -var slice = [].slice - -// Create new middleware. -function trough() { - var fns = [] - var middleware = {} - - middleware.run = run - middleware.use = use - - return middleware - - // Run `fns`. Last argument must be a completion handler. - function run() { - var index = -1 - var input = slice.call(arguments, 0, -1) - var done = arguments[arguments.length - 1] - - if (typeof done !== 'function') { - throw new Error('Expected function as last argument, not ' + done) - } - - next.apply(null, [null].concat(input)) - - // Run the next `fn`, if any. - function next(err) { - var fn = fns[++index] - var params = slice.call(arguments, 0) - var values = params.slice(1) - var length = input.length - var pos = -1 - - if (err) { - done(err) - return - } - - // Copy non-nully input into values. - while (++pos < length) { - if (values[pos] === null || values[pos] === undefined) { - values[pos] = input[pos] - } - } - - input = values - - // Next or done. - if (fn) { - wrap(fn, next).apply(null, input) - } else { - done.apply(null, [null].concat(input)) - } - } - } - - // Add `fn` to the list. - function use(fn) { - if (typeof fn !== 'function') { - throw new Error('Expected `fn` to be a function, not ' + fn) - } - - fns.push(fn) - - return middleware - } -} diff --git a/tools/node_modules/eslint/node_modules/trough/license b/tools/node_modules/eslint/node_modules/trough/license deleted file mode 100644 index 3f0166f62b1..00000000000 --- a/tools/node_modules/eslint/node_modules/trough/license +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/trough/package.json b/tools/node_modules/eslint/node_modules/trough/package.json deleted file mode 100644 index d4203f3a15d..00000000000 --- a/tools/node_modules/eslint/node_modules/trough/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/trough/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Middleware: a channel used to convey a liquid", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js", - "wrap.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/trough#readme", - "keywords": [ - "middleware", - "ware" - ], - "license": "MIT", - "name": "trough", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/trough.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.js -s trough > trough.js", - "build-mangle": "browserify index.js -s trough -p tinyify > trough.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.0.5", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-reflect-apply": "off", - "unicorn/prefer-type-error": "off", - "guard-for-in": "off" - }, - "ignores": [ - "trough.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/trough/readme.md b/tools/node_modules/eslint/node_modules/trough/readme.md deleted file mode 100644 index ce3d38bca9a..00000000000 --- a/tools/node_modules/eslint/node_modules/trough/readme.md +++ /dev/null @@ -1,330 +0,0 @@ -# trough - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -> **trough** /trôf/ — a channel used to convey a liquid. - -`trough` is like [`ware`][ware] with less sugar, and middleware functions can -change the input of the next. - -## Install - -[npm][]: - -```sh -npm install trough -``` - -## Use - -```js -var fs = require('fs') -var path = require('path') -var trough = require('trough') - -var pipeline = trough() - .use(function(fileName) { - console.log('Checking… ' + fileName) - }) - .use(function(fileName) { - return path.join(process.cwd(), fileName) - }) - .use(function(filePath, next) { - fs.stat(filePath, function(err, stats) { - next(err, {filePath, stats}) - }) - }) - .use(function(ctx, next) { - if (ctx.stats.isFile()) { - fs.readFile(ctx.filePath, next) - } else { - next(new Error('Expected file')) - } - }) - -pipeline.run('readme.md', console.log) -pipeline.run('node_modules', console.log) -``` - -Yields: - -```txt -Checking… readme.md -Checking… node_modules -Error: Expected file - at ~/example.js:21:12 - at wrapped (~/node_modules/trough/index.js:93:19) - at next (~/node_modules/trough/index.js:56:24) - at done (~/node_modules/trough/index.js:124:12) - at ~/node_modules/example.js:14:7 - at FSReqWrap.oncomplete (fs.js:153:5) -null -``` - -## API - -### `trough()` - -Create a new [`Trough`][trough]. - -#### `trough.wrap(middleware, callback[, …input])` - -Call `middleware` with all input. -If `middleware` accepts more arguments than given in input, and extra `done` -function is passed in after the input when calling it. -It must be called. - -The first value in `input` is called the main input value. -All other input values are called the rest input values. -The values given to `callback` are the input values, merged with every non-nully -output value. - -* If `middleware` throws an error, returns a promise that is rejected, or - calls the given `done` function with an error, `callback` is invoked with - that error -* If `middleware` returns a value or returns a promise that is resolved, that - value is the main output value -* If `middleware` calls `done`, all non-nully values except for the first one - (the error) overwrite the output values - -### `Trough` - -A pipeline. - -#### `Trough#run([input…, ]done)` - -Run the pipeline (all [`use()`][use]d middleware). -Invokes [`done`][done] on completion with either an error or the output of the -last middleware. - -> Note! -> as the length of input defines whether [async][] functions get a `next` -> function, it’s recommended to keep `input` at one value normally. - -##### `function done(err?, [output…])` - -The final handler passed to [`run()`][run], invoked with an error if a -[middleware function][fn] rejected, passed, or threw one, or the output of the -last middleware function. - -#### `Trough#use(fn)` - -Add `fn`, a [middleware function][fn], to the pipeline. - -##### `function fn([input…, ][next])` - -A middleware function invoked with the output of its predecessor. - -###### Synchronous - -If `fn` returns or throws an error, the pipeline fails and `done` is invoked -with that error. - -If `fn` returns a value (neither `null` nor `undefined`), the first `input` of -the next function is set to that value (all other `input` is passed through). - -The following example shows how returning an error stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return new Error('Got: ' + val) - }) - .run('some value', console.log) -``` - -Yields: - -```txt -Error: Got: some value - at ~/example.js:5:12 - … -``` - -The following example shows how throwing an error stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - throw new Error('Got: ' + val) - }) - .run('more value', console.log) -``` - -Yields: - -```txt -Error: Got: more value - at ~/example.js:5:11 - … -``` - -The following example shows how the first output can be modified: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return 'even ' + val - }) - .run('more value', 'untouched', console.log) -``` - -Yields: - -```txt -null 'even more value' 'untouched' -``` - -###### Promise - -If `fn` returns a promise, and that promise rejects, the pipeline fails and -`done` is invoked with the rejected value. - -If `fn` returns a promise, and that promise resolves with a value (neither -`null` nor `undefined`), the first `input` of the next function is set to that -value (all other `input` is passed through). - -The following example shows how rejecting a promise stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val) { - return new Promise(function(resolve, reject) { - reject('Got: ' + val) - }) - }) - .run('val', console.log) -``` - -Yields: - -```txt -Got: val -``` - -The following example shows how the input isn’t touched by resolving to `null`. - -```js -var trough = require('trough') - -trough() - .use(function() { - return new Promise(function(resolve) { - setTimeout(function() { - resolve(null) - }, 100) - }) - }) - .run('Input', console.log) -``` - -Yields: - -```txt -null 'Input' -``` - -###### Asynchronous - -If `fn` accepts one more argument than the given `input`, a `next` function is -given (after the input). `next` must be called, but doesn’t have to be called -async. - -If `next` is given a value (neither `null` nor `undefined`) as its first -argument, the pipeline fails and `done` is invoked with that value. - -If `next` is given no value (either `null` or `undefined`) as the first -argument, all following non-nully values change the input of the following -function, and all nully values default to the `input`. - -The following example shows how passing a first argument stops the pipeline: - -```js -var trough = require('trough') - -trough() - .use(function(val, next) { - next(new Error('Got: ' + val)) - }) - .run('val', console.log) -``` - -Yields: - -```txt -Error: Got: val - at ~/example.js:5:10 -``` - -The following example shows how more values than the input are passed. - -```js -var trough = require('trough') - -trough() - .use(function(val, next) { - setTimeout(function() { - next(null, null, 'values') - }, 100) - }) - .run('some', console.log) -``` - -Yields: - -```txt -null 'some' 'values' -``` - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/trough.svg - -[build]: https://travis-ci.org/wooorm/trough - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/trough.svg - -[coverage]: https://codecov.io/github/wooorm/trough - -[downloads-badge]: https://img.shields.io/npm/dm/trough.svg - -[downloads]: https://www.npmjs.com/package/trough - -[size-badge]: https://img.shields.io/bundlephobia/minzip/trough.svg - -[size]: https://bundlephobia.com/result?p=trough - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[ware]: https://github.com/segmentio/ware - -[trough]: #trough-1 - -[use]: #troughusefn - -[run]: #troughruninput-done - -[fn]: #function-fninput-next - -[done]: #function-doneerr-output - -[async]: #asynchronous diff --git a/tools/node_modules/eslint/node_modules/trough/wrap.js b/tools/node_modules/eslint/node_modules/trough/wrap.js deleted file mode 100644 index cf568c07adf..00000000000 --- a/tools/node_modules/eslint/node_modules/trough/wrap.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' - -var slice = [].slice - -module.exports = wrap - -// Wrap `fn`. -// Can be sync or async; return a promise, receive a completion handler, return -// new values and errors. -function wrap(fn, callback) { - var invoked - - return wrapped - - function wrapped() { - var params = slice.call(arguments, 0) - var callback = fn.length > params.length - var result - - if (callback) { - params.push(done) - } - - try { - result = fn.apply(null, params) - } catch (error) { - // Well, this is quite the pickle. - // `fn` received a callback and invoked it (thus continuing the pipeline), - // but later also threw an error. - // We’re not about to restart the pipeline again, so the only thing left - // to do is to throw the thing instead. - if (callback && invoked) { - throw error - } - - return done(error) - } - - if (!callback) { - if (result && typeof result.then === 'function') { - result.then(then, done) - } else if (result instanceof Error) { - done(result) - } else { - then(result) - } - } - } - - // Invoke `next`, only once. - function done() { - if (!invoked) { - invoked = true - - callback.apply(null, arguments) - } - } - - // Invoke `done` with one value. - // Tracks if an error is passed, too. - function then(value) { - done(null, value) - } -} diff --git a/tools/node_modules/eslint/node_modules/type-check/package.json b/tools/node_modules/eslint/node_modules/type-check/package.json index a056438a760..2a57ea0643d 100644 --- a/tools/node_modules/eslint/node_modules/type-check/package.json +++ b/tools/node_modules/eslint/node_modules/type-check/package.json @@ -1,30 +1,8 @@ { - "author": { - "name": "George Zahariev", - "email": "z@georgezahariev.com" - }, - "bugs": { - "url": "https://github.com/gkz/type-check/issues" - }, - "bundleDependencies": false, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "deprecated": false, + "name": "type-check", + "version": "0.4.0", + "author": "George Zahariev ", "description": "type-check allows you to check the types of JavaScript values at runtime with a Haskell like type syntax.", - "devDependencies": { - "browserify": "^16.5.1", - "livescript": "^1.6.0", - "mocha": "^7.1.1" - }, - "engines": { - "node": ">= 0.8.0" - }, - "files": [ - "lib", - "README.md", - "LICENSE" - ], "homepage": "https://github.com/gkz/type-check", "keywords": [ "type", @@ -32,9 +10,17 @@ "checking", "library" ], - "license": "MIT", + "files": [ + "lib", + "README.md", + "LICENSE" + ], "main": "./lib/", - "name": "type-check", + "bugs": "https://github.com/gkz/type-check/issues", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + }, "repository": { "type": "git", "url": "git://github.com/gkz/type-check.git" @@ -42,5 +28,12 @@ "scripts": { "test": "make test" }, - "version": "0.4.0" -} \ No newline at end of file + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "devDependencies": { + "livescript": "^1.6.0", + "mocha": "^7.1.1", + "browserify": "^16.5.1" + } +} diff --git a/tools/node_modules/eslint/node_modules/type-fest/package.json b/tools/node_modules/eslint/node_modules/type-fest/package.json index 0164025631e..ea6621129dc 100644 --- a/tools/node_modules/eslint/node_modules/type-fest/package.json +++ b/tools/node_modules/eslint/node_modules/type-fest/package.json @@ -1,60 +1,51 @@ { - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "bugs": { - "url": "https://github.com/sindresorhus/type-fest/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "A collection of essential TypeScript types", - "devDependencies": { - "@sindresorhus/tsconfig": "^0.4.0", - "@typescript-eslint/eslint-plugin": "^2.2.0", - "@typescript-eslint/parser": "^2.2.0", - "eslint-config-xo-typescript": "^0.18.0", - "tsd": "^0.7.3", - "xo": "^0.24.0" - }, - "engines": { - "node": ">=8" - }, - "files": [ - "index.d.ts", - "source" - ], - "homepage": "https://github.com/sindresorhus/type-fest#readme", - "keywords": [ - "typescript", - "ts", - "types", - "utility", - "util", - "utilities", - "omit", - "merge", - "json" - ], - "license": "(MIT OR CC0-1.0)", - "name": "type-fest", - "repository": { - "type": "git", - "url": "git+https://github.com/sindresorhus/type-fest.git" - }, - "scripts": { - "test": "xo && tsd" - }, - "version": "0.8.1", - "xo": { - "extends": "xo-typescript", - "extensions": [ - "ts" - ], - "rules": { - "import/no-unresolved": "off", - "@typescript-eslint/indent": "off" - } - } -} \ No newline at end of file + "name": "type-fest", + "version": "0.8.1", + "description": "A collection of essential TypeScript types", + "license": "(MIT OR CC0-1.0)", + "repository": "sindresorhus/type-fest", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && tsd" + }, + "files": [ + "index.d.ts", + "source" + ], + "keywords": [ + "typescript", + "ts", + "types", + "utility", + "util", + "utilities", + "omit", + "merge", + "json" + ], + "devDependencies": { + "@sindresorhus/tsconfig": "^0.4.0", + "@typescript-eslint/eslint-plugin": "^2.2.0", + "@typescript-eslint/parser": "^2.2.0", + "eslint-config-xo-typescript": "^0.18.0", + "tsd": "^0.7.3", + "xo": "^0.24.0" + }, + "xo": { + "extends": "xo-typescript", + "extensions": [ + "ts" + ], + "rules": { + "import/no-unresolved": "off", + "@typescript-eslint/indent": "off" + } + } +} diff --git a/tools/node_modules/eslint/node_modules/unherit/index.js b/tools/node_modules/eslint/node_modules/unherit/index.js deleted file mode 100644 index 32ead7770fa..00000000000 --- a/tools/node_modules/eslint/node_modules/unherit/index.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict' - -var xtend = require('xtend') -var inherits = require('inherits') - -module.exports = unherit - -// Create a custom constructor which can be modified without affecting the -// original class. -function unherit(Super) { - var result - var key - var value - - inherits(Of, Super) - inherits(From, Of) - - // Clone values. - result = Of.prototype - - for (key in result) { - value = result[key] - - if (value && typeof value === 'object') { - result[key] = 'concat' in value ? value.concat() : xtend(value) - } - } - - return Of - - // Constructor accepting a single argument, which itself is an `arguments` - // object. - function From(parameters) { - return Super.apply(this, parameters) - } - - // Constructor accepting variadic arguments. - function Of() { - if (!(this instanceof Of)) { - return new From(arguments) - } - - return Super.apply(this, arguments) - } -} diff --git a/tools/node_modules/eslint/node_modules/unherit/license b/tools/node_modules/eslint/node_modules/unherit/license deleted file mode 100644 index f3722d94b38..00000000000 --- a/tools/node_modules/eslint/node_modules/unherit/license +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unherit/package.json b/tools/node_modules/eslint/node_modules/unherit/package.json deleted file mode 100644 index b3cb27e60d4..00000000000 --- a/tools/node_modules/eslint/node_modules/unherit/package.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/wooorm/unherit/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "deprecated": false, - "description": "Clone a constructor without affecting the super-class", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^15.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - }, - "homepage": "https://github.com/wooorm/unherit#readme", - "keywords": [ - "clone", - "super", - "class", - "constructor" - ], - "license": "MIT", - "name": "unherit", - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wooorm/unherit.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s unherit -o unherit.js", - "build-mangle": "browserify . -s unherit -p tinyify -o unherit.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.1.3", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-reflect-apply": "off", - "guard-for-in": "off" - }, - "ignores": [ - "unherit.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unherit/readme.md b/tools/node_modules/eslint/node_modules/unherit/readme.md deleted file mode 100644 index bf679597d89..00000000000 --- a/tools/node_modules/eslint/node_modules/unherit/readme.md +++ /dev/null @@ -1,79 +0,0 @@ -# unherit - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -Create a custom constructor which can be modified without affecting the original -class. - -## Install - -[npm][]: - -```sh -npm install unherit -``` - -## Use - -```js -var EventEmitter = require('events').EventEmitter -var unherit = require('unherit') - -// Create a private class which acts just like `EventEmitter`. -var Emitter = unherit(EventEmitter) - -Emitter.prototype.defaultMaxListeners = 0 -// Now, all instances of `Emitter` have no maximum listeners, without affecting -// other `EventEmitter`s. - -new Emitter().defaultMaxListeners === 0 // => true -new EventEmitter().defaultMaxListeners === undefined // => true -new Emitter() instanceof EventEmitter // => true -``` - -## API - -### `unherit(Super)` - -Create a custom constructor which can be modified without affecting the original -class. - -###### Parameters - -* `Super` (`Function`) — Super-class - -###### Returns - -`Function` — Constructor acting like `Super`, which can be modified without -affecting the original class. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/wooorm/unherit.svg - -[build]: https://travis-ci.org/wooorm/unherit - -[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/unherit.svg - -[coverage]: https://codecov.io/github/wooorm/unherit - -[downloads-badge]: https://img.shields.io/npm/dm/unherit.svg - -[downloads]: https://www.npmjs.com/package/unherit - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unherit.svg - -[size]: https://bundlephobia.com/result?p=unherit - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com diff --git a/tools/node_modules/eslint/node_modules/unified/LICENSE b/tools/node_modules/eslint/node_modules/unified/LICENSE deleted file mode 100644 index f3722d94b38..00000000000 --- a/tools/node_modules/eslint/node_modules/unified/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unified/index.js b/tools/node_modules/eslint/node_modules/unified/index.js deleted file mode 100644 index b8f9011d170..00000000000 --- a/tools/node_modules/eslint/node_modules/unified/index.js +++ /dev/null @@ -1,466 +0,0 @@ -'use strict' - -/* Dependencies. */ -var extend = require('extend') -var bail = require('bail') -var vfile = require('vfile') -var trough = require('trough') -var string = require('x-is-string') -var plain = require('is-plain-obj') - -/* Expose a frozen processor. */ -module.exports = unified().freeze() - -var slice = [].slice -var own = {}.hasOwnProperty - -/* Process pipeline. */ -var pipeline = trough() - .use(pipelineParse) - .use(pipelineRun) - .use(pipelineStringify) - -function pipelineParse(p, ctx) { - ctx.tree = p.parse(ctx.file) -} - -function pipelineRun(p, ctx, next) { - p.run(ctx.tree, ctx.file, done) - - function done(err, tree, file) { - if (err) { - next(err) - } else { - ctx.tree = tree - ctx.file = file - next() - } - } -} - -function pipelineStringify(p, ctx) { - ctx.file.contents = p.stringify(ctx.tree, ctx.file) -} - -/* Function to create the first processor. */ -function unified() { - var attachers = [] - var transformers = trough() - var namespace = {} - var frozen = false - var freezeIndex = -1 - - /* Data management. */ - processor.data = data - - /* Lock. */ - processor.freeze = freeze - - /* Plug-ins. */ - processor.attachers = attachers - processor.use = use - - /* API. */ - processor.parse = parse - processor.stringify = stringify - processor.run = run - processor.runSync = runSync - processor.process = process - processor.processSync = processSync - - /* Expose. */ - return processor - - /* Create a new processor based on the processor - * in the current scope. */ - function processor() { - var destination = unified() - var length = attachers.length - var index = -1 - - while (++index < length) { - destination.use.apply(null, attachers[index]) - } - - destination.data(extend(true, {}, namespace)) - - return destination - } - - /* Freeze: used to signal a processor that has finished - * configuration. - * - * For example, take unified itself. It’s frozen. - * Plug-ins should not be added to it. Rather, it should - * be extended, by invoking it, before modifying it. - * - * In essence, always invoke this when exporting a - * processor. */ - function freeze() { - var values - var plugin - var options - var transformer - - if (frozen) { - return processor - } - - while (++freezeIndex < attachers.length) { - values = attachers[freezeIndex] - plugin = values[0] - options = values[1] - transformer = null - - if (options === false) { - continue - } - - if (options === true) { - values[1] = undefined - } - - transformer = plugin.apply(processor, values.slice(1)) - - if (typeof transformer === 'function') { - transformers.use(transformer) - } - } - - frozen = true - freezeIndex = Infinity - - return processor - } - - /* Data management. - * Getter / setter for processor-specific informtion. */ - function data(key, value) { - if (string(key)) { - /* Set `key`. */ - if (arguments.length === 2) { - assertUnfrozen('data', frozen) - - namespace[key] = value - - return processor - } - - /* Get `key`. */ - return (own.call(namespace, key) && namespace[key]) || null - } - - /* Set space. */ - if (key) { - assertUnfrozen('data', frozen) - namespace = key - return processor - } - - /* Get space. */ - return namespace - } - - /* Plug-in management. - * - * Pass it: - * * an attacher and options, - * * a preset, - * * a list of presets, attachers, and arguments (list - * of attachers and options). */ - function use(value) { - var settings - - assertUnfrozen('use', frozen) - - if (value === null || value === undefined) { - /* Empty */ - } else if (typeof value === 'function') { - addPlugin.apply(null, arguments) - } else if (typeof value === 'object') { - if ('length' in value) { - addList(value) - } else { - addPreset(value) - } - } else { - throw new Error('Expected usable value, not `' + value + '`') - } - - if (settings) { - namespace.settings = extend(namespace.settings || {}, settings) - } - - return processor - - function addPreset(result) { - addList(result.plugins) - - if (result.settings) { - settings = extend(settings || {}, result.settings) - } - } - - function add(value) { - if (typeof value === 'function') { - addPlugin(value) - } else if (typeof value === 'object') { - if ('length' in value) { - addPlugin.apply(null, value) - } else { - addPreset(value) - } - } else { - throw new Error('Expected usable value, not `' + value + '`') - } - } - - function addList(plugins) { - var length - var index - - if (plugins === null || plugins === undefined) { - /* Empty */ - } else if (typeof plugins === 'object' && 'length' in plugins) { - length = plugins.length - index = -1 - - while (++index < length) { - add(plugins[index]) - } - } else { - throw new Error('Expected a list of plugins, not `' + plugins + '`') - } - } - - function addPlugin(plugin, value) { - var entry = find(plugin) - - if (entry) { - if (plain(entry[1]) && plain(value)) { - value = extend(entry[1], value) - } - - entry[1] = value - } else { - attachers.push(slice.call(arguments)) - } - } - } - - function find(plugin) { - var length = attachers.length - var index = -1 - var entry - - while (++index < length) { - entry = attachers[index] - - if (entry[0] === plugin) { - return entry - } - } - } - - /* Parse a file (in string or VFile representation) - * into a Unist node using the `Parser` on the - * processor. */ - function parse(doc) { - var file = vfile(doc) - var Parser - - freeze() - Parser = processor.Parser - assertParser('parse', Parser) - - if (newable(Parser)) { - return new Parser(String(file), file).parse() - } - - return Parser(String(file), file) // eslint-disable-line new-cap - } - - /* Run transforms on a Unist node representation of a file - * (in string or VFile representation), async. */ - function run(node, file, cb) { - assertNode(node) - freeze() - - if (!cb && typeof file === 'function') { - cb = file - file = null - } - - if (!cb) { - return new Promise(executor) - } - - executor(null, cb) - - function executor(resolve, reject) { - transformers.run(node, vfile(file), done) - - function done(err, tree, file) { - tree = tree || node - if (err) { - reject(err) - } else if (resolve) { - resolve(tree) - } else { - cb(null, tree, file) - } - } - } - } - - /* Run transforms on a Unist node representation of a file - * (in string or VFile representation), sync. */ - function runSync(node, file) { - var complete = false - var result - - run(node, file, done) - - assertDone('runSync', 'run', complete) - - return result - - function done(err, tree) { - complete = true - bail(err) - result = tree - } - } - - /* Stringify a Unist node representation of a file - * (in string or VFile representation) into a string - * using the `Compiler` on the processor. */ - function stringify(node, doc) { - var file = vfile(doc) - var Compiler - - freeze() - Compiler = processor.Compiler - assertCompiler('stringify', Compiler) - assertNode(node) - - if (newable(Compiler)) { - return new Compiler(node, file).compile() - } - - return Compiler(node, file) // eslint-disable-line new-cap - } - - /* Parse a file (in string or VFile representation) - * into a Unist node using the `Parser` on the processor, - * then run transforms on that node, and compile the - * resulting node using the `Compiler` on the processor, - * and store that result on the VFile. */ - function process(doc, cb) { - freeze() - assertParser('process', processor.Parser) - assertCompiler('process', processor.Compiler) - - if (!cb) { - return new Promise(executor) - } - - executor(null, cb) - - function executor(resolve, reject) { - var file = vfile(doc) - - pipeline.run(processor, {file: file}, done) - - function done(err) { - if (err) { - reject(err) - } else if (resolve) { - resolve(file) - } else { - cb(null, file) - } - } - } - } - - /* Process the given document (in string or VFile - * representation), sync. */ - function processSync(doc) { - var complete = false - var file - - freeze() - assertParser('processSync', processor.Parser) - assertCompiler('processSync', processor.Compiler) - file = vfile(doc) - - process(file, done) - - assertDone('processSync', 'process', complete) - - return file - - function done(err) { - complete = true - bail(err) - } - } -} - -/* Check if `func` is a constructor. */ -function newable(value) { - return typeof value === 'function' && keys(value.prototype) -} - -/* Check if `value` is an object with keys. */ -function keys(value) { - var key - for (key in value) { - return true - } - return false -} - -/* Assert a parser is available. */ -function assertParser(name, Parser) { - if (typeof Parser !== 'function') { - throw new Error('Cannot `' + name + '` without `Parser`') - } -} - -/* Assert a compiler is available. */ -function assertCompiler(name, Compiler) { - if (typeof Compiler !== 'function') { - throw new Error('Cannot `' + name + '` without `Compiler`') - } -} - -/* Assert the processor is not frozen. */ -function assertUnfrozen(name, frozen) { - if (frozen) { - throw new Error( - [ - 'Cannot invoke `' + name + '` on a frozen processor.\nCreate a new ', - 'processor first, by invoking it: use `processor()` instead of ', - '`processor`.' - ].join('') - ) - } -} - -/* Assert `node` is a Unist node. */ -function assertNode(node) { - if (!node || !string(node.type)) { - throw new Error('Expected node, got `' + node + '`') - } -} - -/* Assert that `complete` is `true`. */ -function assertDone(name, asyncName, complete) { - if (!complete) { - throw new Error( - '`' + name + '` finished async. Use `' + asyncName + '` instead' - ) - } -} diff --git a/tools/node_modules/eslint/node_modules/unified/package.json b/tools/node_modules/eslint/node_modules/unified/package.json deleted file mode 100644 index 5142140ddfd..00000000000 --- a/tools/node_modules/eslint/node_modules/unified/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - }, - "bugs": { - "url": "https://github.com/unifiedjs/unified/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - } - ], - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", - "trough": "^1.0.0", - "vfile": "^2.0.0", - "x-is-string": "^0.1.0" - }, - "deprecated": false, - "description": "Pluggable text processing interface", - "devDependencies": { - "browserify": "^16.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "prettier": "^1.12.1", - "remark-cli": "^5.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.4.0", - "xo": "^0.20.0" - }, - "files": [ - "index.js", - "lib" - ], - "homepage": "https://github.com/unifiedjs/unified#readme", - "keywords": [ - "process", - "parse", - "transform", - "compile", - "stringify", - "rehype", - "retext", - "remark" - ], - "license": "MIT", - "name": "unified", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/unifiedjs/unified.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.js -s unified > unified.js", - "build-mangle": "esmangle unified.js > unified.min.js", - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test" - }, - "version": "6.2.0", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "guard-for-in": "off", - "no-var": "off", - "object-shorthand": "off", - "prefer-arrow-callback": "off", - "unicorn/prefer-type-error": "off" - }, - "ignores": [ - "unified.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unified/readme.md b/tools/node_modules/eslint/node_modules/unified/readme.md deleted file mode 100644 index e979e0b3629..00000000000 --- a/tools/node_modules/eslint/node_modules/unified/readme.md +++ /dev/null @@ -1,993 +0,0 @@ -# ![unified][logo] - -[![Build Status][travis-badge]][travis] -[![Coverage Status][codecov-badge]][codecov] -[![Chat][chat-badge]][chat] - -**unified** is an interface for processing text using syntax trees. It’s what -powers [**remark**][remark], [**retext**][retext], and [**rehype**][rehype], -but it also allows for processing between multiple syntaxes. - -The website for **unified**, [`unifiedjs.github.io`][site], provides a less -technical and more practical introduction to unified. Make sure to visit it -and try its introductory [Guides][]. - -## Installation - -[npm][]: - -```bash -npm install unified -``` - -## Usage - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') -var report = require('vfile-reporter') - -unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - .process('# Hello world!', function(err, file) { - console.error(report(err || file)) - console.log(String(file)) - }) -``` - -Yields: - -```html -no issues found - - - - - - - -

Hello world!

- - -``` - -## Table of Contents - -* [Description](#description) -* [API](#api) - * [processor()](#processor) - * [processor.use(plugin\[, options\])](#processoruseplugin-options) - * [processor.parse(file|value)](#processorparsefilevalue) - * [processor.stringify(node\[, file\])](#processorstringifynode-file) - * [processor.run(node\[, file\]\[, done\])](#processorrunnode-file-done) - * [processor.runSync(node\[, file\])](#processorrunsyncnode-file) - * [processor.process(file|value\[, done\])](#processorprocessfilevalue-done) - * [processor.processSync(file|value)](#processorprocesssyncfilevalue) - * [processor.data(key\[, value\])](#processordatakey-value) - * [processor.freeze()](#processorfreeze) -* [Plugin](#plugin) - * [function attacher(\[options\])](#function-attacheroptions) - * [function transformer(node, file\[, next\])](#function-transformernode-file-next) -* [Preset](#preset) -* [Contribute](#contribute) -* [Acknowledgments](#acknowledgments) -* [License](#license) - -## Description - -**unified** is an interface for processing text using syntax trees. Syntax -trees are a representation understandable to programs. Those programs, called -[**plugin**][plugin]s, take these trees and modify them, amongst other things. -To get to the syntax tree from input text there’s a [**parser**][parser]. To -get from that back to text there’s a [**compiler**][compiler]. This is the -[**process**][process] of a **processor**. - -```ascii -| ....................... process() ......................... | -| ......... parse() ..... | run() | ..... stringify() ....... | - - +--------+ +----------+ -Input ->- | Parser | ->- Syntax Tree ->- | Compiler | ->- Output - +--------+ | +----------+ - X - | - +--------------+ - | Transformers | - +--------------+ -``` - -###### Processors - -Every processor implements another processor. To create a new processor invoke -another processor. This creates a processor that is configured to function the -same as its ancestor. But when the descendant processor is configured in the -future it does not affect the ancestral processor. - -When processors are exposed from a module (for example, unified itself) they -should not be configured directly, as that would change their behaviour for all -module users. Those processors are [**frozen**][freeze] and they should be -invoked to create a new processor before they are used. - -###### Node - -The syntax trees used in **unified** are [**Unist**][unist] nodes: plain -JavaScript objects with a `type` property. The semantics of those `type`s are -defined by other projects. - -There are several [utilities][unist-utilities] for working with these nodes. - -###### List of Processors - -The following projects process different syntax trees. They parse text to -their respective syntax tree and they compile their syntax trees back to text. -These processors can be used as-is, or their parsers and compilers can be mixed -and matched with **unified** and other plugins to process between different -syntaxes. - -* [**rehype**][rehype] ([**HAST**][hast]) — HTML -* [**remark**][remark] ([**MDAST**][mdast]) — Markdown -* [**retext**][retext] ([**NLCST**][nlcst]) — Natural language - -###### List of Plugins - -The below plugins work with **unified**, unrelated to what flavour the syntax -tree is in: - -* [`unified-diff`](https://github.com/unifiedjs/unified-diff) - — Ignore messages for unchanged lines in Travis - -See [**remark**][remark-plugins], [**rehype**][rehype-plugins], and -[**retext**][retext-plugins] for lists of their plugins. - -###### File - -When processing documents metadata is often gathered about that document. -[**VFile**][vfile] is a virtual file format which stores data and handles -metadata and messages for **unified** and its plugins. - -There are several [utilities][vfile-utilities] for working with these files. - -###### Configuration - -To configure a processor invoke its [`use`][use] method, supply it a -[**plugin**][plugin], and optionally settings. - -###### Integrations - -**unified** can integrate with the file-system through -[`unified-engine`][engine]. On top of that, CLI apps can be created with -[`unified-args`][args], Gulp plugins with [`unified-engine-gulp`][gulp], and -Atom Linters with [`unified-engine-atom`][atom]. - -A streaming interface is provided through [`unified-stream`][stream]. - -###### Programming interface - -The API gives access to processing metadata (such as lint messages) and -supports multiple passed through files: - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var styleGuide = require('remark-preset-lint-markdown-style-guide') -var remark2retext = require('remark-retext') -var english = require('retext-english') -var equality = require('retext-equality') -var remark2rehype = require('remark-rehype') -var html = require('rehype-stringify') -var report = require('vfile-reporter') - -unified() - .use(markdown) - .use(styleGuide) - .use( - remark2retext, - unified() - .use(english) - .use(equality) - ) - .use(remark2rehype) - .use(html) - .process('*Emphasis* and _importance_, you guys!', function(err, file) { - console.error(report(err || file)) - console.log(String(file)) - }) -``` - -Yields: - -```txt - 1:16-1:28 warning Emphasis should use `*` as a marker emphasis-marker remark-lint - 1:34-1:38 warning `guys` may be insensitive, use `people`, `persons`, `folks` instead gals-men retext-equality - -⚠ 2 warnings -

Emphasis and importance, you guys!

-``` - -###### Processing between syntaxes - -The processors can be combined in two modes. - -**Bridge** mode transforms the syntax tree from one flavour (the origin) to -another (the destination). Then, transformations are applied on that tree. -Finally, the origin processor continues transforming the original syntax tree. - -**Mutate** mode also transforms the syntax tree from one flavour to another. -But then the origin processor continues transforming the destination syntax -tree. - -In the previous example (“Programming interface”), `remark-retext` is used in -bridge mode: the origin syntax tree is kept after retext is done; whereas -`remark-rehype` is used in mutate mode: it sets a new syntax tree and discards -the original. - -* [`remark-retext`][remark-retext] -* [`remark-rehype`][remark-rehype] -* [`rehype-retext`][rehype-retext] -* [`rehype-remark`][rehype-remark] - -## API - -### `processor()` - -Object describing how to process text. - -###### Returns - -`Function` — New [**unfrozen**][freeze] processor which is configured to -function the same as its ancestor. But when the descendant processor is -configured in the future it does not affect the ancestral processor. - -###### Example - -The following example shows how a new processor can be created (from the remark -processor) and linked to **stdin**(4) and **stdout**(4). - -```js -var remark = require('remark') -var concat = require('concat-stream') - -process.stdin.pipe(concat(onconcat)) - -function onconcat(buf) { - var doc = remark() - .processSync(buf) - .toString() - - process.stdout.write(doc) -} -``` - -### `processor.use(plugin[, options])` - -Configure the processor to use a [**plugin**][plugin] and optionally configure -that plugin with options. - -###### Signatures - -* `processor.use(plugin[, options])` -* `processor.use(preset)` -* `processor.use(list)` - -###### Parameters - -* `plugin` ([`Plugin`][plugin]) -* `options` (`*`, optional) — Configuration for `plugin` -* `preset` (`Object`) — Object with an optional `plugins` (set to `list`), - and/or an optional `settings` object -* `list` (`Array`) — List of plugins, presets, and pairs (`plugin` and - `options` in an array) - -###### Returns - -`processor` — The processor on which `use` is invoked. - -###### Note - -`use` cannot be called on [frozen][freeze] processors. Invoke the processor -first to create a new unfrozen processor. - -###### Example - -There are many ways to pass plugins to `.use()`. The below example gives an -overview. - -```js -var unified = require('unified') - -unified() - // Plugin with options: - .use(plugin, {}) - // Plugins: - .use([plugin, pluginB]) - // Two plugins, the second with options: - .use([plugin, [pluginB, {}]]) - // Preset with plugins and settings: - .use({plugins: [plugin, [pluginB, {}]], settings: {position: false}}) - // Settings only: - .use({settings: {position: false}}) - -function plugin() {} -function pluginB() {} -``` - -### `processor.parse(file|value)` - -Parse text to a syntax tree. - -###### Parameters - -* `file` ([`VFile`][file]) - — Or anything which can be given to `vfile()` - -###### Returns - -[`Node`][node] — Syntax tree representation of input. - -###### Note - -`parse` [freezes][freeze] the processor if not already frozen. - -#### `processor.Parser` - -Function handling the parsing of text to a syntax tree. Used in the -[**parse**][parse] phase in the process and invoked with a `string` and -[`VFile`][file] representation of the document to parse. - -`Parser` can be a normal function in which case it must return a -[`Node`][node]: the syntax tree representation of the given file. - -`Parser` can also be a constructor function (a function with keys in its -`prototype`) in which case it’s invoked with `new`. Instances must have a -`parse` method which is invoked without arguments and must return a -[`Node`][node]. - -### `processor.stringify(node[, file])` - -Compile a syntax tree to text. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional); - — Or anything which can be given to `vfile()` - -###### Returns - -`string` — String representation of the syntax tree file. - -###### Note - -`stringify` [freezes][freeze] the processor if not already frozen. - -#### `processor.Compiler` - -Function handling the compilation of syntax tree to a text. Used in the -[**stringify**][stringify] phase in the process and invoked with a -[`Node`][node] and [`VFile`][file] representation of the document to stringify. - -`Compiler` can be a normal function in which case it must return a `string`: -the text representation of the given syntax tree. - -`Compiler` can also be a constructor function (a function with keys in its -`prototype`) in which case it’s invoked with `new`. Instances must have a -`compile` method which is invoked without arguments and must return a `string`. - -### `processor.run(node[, file][, done])` - -Transform a syntax tree by applying [**plugin**][plugin]s to it. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional) - — Or anything which can be given to `vfile()` -* `done` ([`Function`][run-done], optional) - -###### Returns - -[`Promise`][promise] if `done` is not given. Rejected with an error, or -resolved with the resulting syntax tree. - -###### Note - -`run` [freezes][freeze] the processor if not already frozen. - -##### `function done(err[, node, file])` - -Invoked when transformation is complete. Either invoked with an error or a -syntax tree and a file. - -###### Parameters - -* `err` (`Error`) — Fatal error -* `node` ([`Node`][node]) -* `file` ([`VFile`][file]) - -### `processor.runSync(node[, file])` - -Transform a syntax tree by applying [**plugin**][plugin]s to it. - -If asynchronous [**plugin**][plugin]s are configured an error is thrown. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file], optional) - — Or anything which can be given to `vfile()` - -###### Returns - -[`Node`][node] — The given syntax tree. - -###### Note - -`runSync` [freezes][freeze] the processor if not already frozen. - -### `processor.process(file|value[, done])` - -Process the given representation of a file as configured on the processor. The -process invokes `parse`, `run`, and `stringify` internally. - -###### Parameters - -* `file` ([`VFile`][file]) -* `value` (`string`) — String representation of a file -* `done` ([`Function`][process-done], optional) - -###### Returns - -[`Promise`][promise] if `done` is not given. Rejected with an error or -resolved with the resulting file. - -###### Note - -`process` [freezes][freeze] the processor if not already frozen. - -#### `function done(err, file)` - -Invoked when the process is complete. Invoked with a fatal error, if any, and -the [`VFile`][file]. - -###### Parameters - -* `err` (`Error`, optional) — Fatal error -* `file` ([`VFile`][file]) - -###### Example - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') - -unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - .process('# Hello world!') - .then( - function(file) { - console.log(String(file)) - }, - function(err) { - console.error(String(err)) - } - ) -``` - -Yields: - -```html - - - - - - - -

Hello world!

- - -``` - -### `processor.processSync(file|value)` - -Process the given representation of a file as configured on the processor. The -process invokes `parse`, `run`, and `stringify` internally. - -If asynchronous [**plugin**][plugin]s are configured an error is thrown. - -###### Parameters - -* `file` ([`VFile`][file]) -* `value` (`string`) — String representation of a file - -###### Returns - -[`VFile`][file] — Virtual file with modified [`contents`][vfile-contents]. - -###### Note - -`processSync` [freezes][freeze] the processor if not already frozen. - -###### Example - -```js -var unified = require('unified') -var markdown = require('remark-parse') -var remark2rehype = require('remark-rehype') -var doc = require('rehype-document') -var format = require('rehype-format') -var html = require('rehype-stringify') - -var processor = unified() - .use(markdown) - .use(remark2rehype) - .use(doc) - .use(format) - .use(html) - -console.log(processor.processSync('# Hello world!').toString()) -``` - -Yields: - -```html - - - - - - - -

Hello world!

- - -``` - -### `processor.data(key[, value])` - -Get or set information in an in-memory key-value store accessible to all phases -of the process. An example is a list of HTML elements which are self-closing, -which is needed when parsing, transforming, and compiling HTML. - -###### Parameters - -* `key` (`string`) — Identifier -* `value` (`*`, optional) — Value to set. Omit if getting `key` - -###### Returns - -* `processor` — If setting, the processor on which `data` is invoked -* `*` — If getting, the value at `key` - -###### Note - -Setting information with `data` cannot occur on [frozen][freeze] processors. -Invoke the processor first to create a new unfrozen processor. - -###### Example - -The following example show how to get and set information: - -```js -var unified = require('unified') - -console.log( - unified() - .data('alpha', 'bravo') - .data('alpha') -) -``` - -Yields: - -```txt -bravo -``` - -### `processor.freeze()` - -Freeze a processor. Frozen processors are meant to be extended and not to be -configured or processed directly. - -Once a processor is frozen it cannot be unfrozen. New processors functioning -just like it can be created by invoking the processor. - -It’s possible to freeze processors explicitly, by calling `.freeze()`, but -[`.parse()`][parse], [`.run()`][run], [`.stringify()`][stringify], and -[`.process()`][process] call `.freeze()` to freeze a processor too. - -###### Returns - -`Processor` — The processor on which `freeze` is invoked. - -###### Example - -The following example, `index.js`, shows how [**rehype**][rehype] prevents -extensions to itself: - -```js -var unified = require('unified') -var parse = require('rehype-parse') -var stringify = require('rehype-stringify') - -module.exports = unified() - .use(parse) - .use(stringify) - .freeze() -``` - -The below example, `a.js`, shows how that processor can be used and configured. - -```js -var rehype = require('rehype') -var format = require('rehype-format') -// ... - -rehype() - .use(format) - // ... -``` - -The below example, `b.js`, shows a similar looking example which operates on -the frozen [**rehype**][rehype] interface. If this behaviour was allowed it -would result in unexpected behaviour so an error is thrown. **This is -invalid**: - -```js -var rehype = require('rehype') -var format = require('rehype-format') -// ... - -rehype - .use(format) - // ... -``` - -Yields: - -```txt -~/node_modules/unified/index.js:440 - throw new Error( - ^ - -Error: Cannot invoke `use` on a frozen processor. -Create a new processor first, by invoking it: use `processor()` instead of `processor`. - at assertUnfrozen (~/node_modules/unified/index.js:440:11) - at Function.use (~/node_modules/unified/index.js:172:5) - at Object. (~/b.js:6:4) -``` - -## `Plugin` - -**unified** plugins change the way the applied-on processor works in the -following ways: - -* They modify the [**processor**][processor]: such as changing the parser, - the compiler, or linking it to other processors -* They transform [**syntax tree**][node] representation of files -* They modify metadata of files - -Plugins are a concept. They materialise as [`attacher`][attacher]s. - -###### Example - -`move.js`: - -```js -module.exports = move - -function move(options) { - var expected = (options || {}).extname - - if (!expected) { - throw new Error('Missing `extname` in options') - } - - return transformer - - function transformer(tree, file) { - if (file.extname && file.extname !== expected) { - file.extname = expected - } - } -} -``` - -`index.js`: - -```js -var unified = require('unified') -var parse = require('remark-parse') -var remark2rehype = require('remark-rehype') -var stringify = require('rehype-stringify') -var vfile = require('to-vfile') -var report = require('vfile-reporter') -var move = require('./move') - -unified() - .use(parse) - .use(remark2rehype) - .use(move, {extname: '.html'}) - .use(stringify) - .process(vfile.readSync('index.md'), function(err, file) { - console.error(report(err || file)) - if (file) { - vfile.writeSync(file) // Written to `index.html`. - } - }) -``` - -### `function attacher([options])` - -An attacher is the thing passed to [`use`][use]. It configures the processor -and in turn can receive options. - -Attachers can configure processors, such as by interacting with parsers and -compilers, linking them to other processors, or by specifying how the syntax -tree is handled. - -###### Context - -The context object is set to the invoked on [`processor`][processor]. - -###### Parameters - -* `options` (`*`, optional) — Configuration - -###### Returns - -[`transformer`][transformer] — Optional. - -###### Note - -Attachers are invoked when the processor is [frozen][freeze]: either when -`.freeze()` is called explicitly, or when [`.parse()`][parse], [`.run()`][run], -[`.stringify()`][stringify], or [`.process()`][process] is called for the first -time. - -### `function transformer(node, file[, next])` - -Transformers modify the syntax tree or metadata of a file. A transformer is a -function which is invoked each time a file is passed through the transform -phase. If an error occurs (either because it’s thrown, returned, rejected, or -passed to [`next`][next]), the process stops. - -The transformation process in **unified** is handled by [`trough`][trough], see -it’s documentation for the exact semantics of transformers. - -###### Parameters - -* `node` ([`Node`][node]) -* `file` ([`VFile`][file]) -* `next` ([`Function`][next], optional) - -###### Returns - -* `Error` — Can be returned to stop the process -* [`Node`][node] — Can be returned and results in further transformations - and `stringify`s to be performed on the new tree -* `Promise` — If a promise is returned, the function is asynchronous, and - **must** be resolved (optionally with a [`Node`][node]) or rejected - (optionally with an `Error`) - -#### `function next(err[, tree[, file]])` - -If the signature of a transformer includes `next` (third argument), the -function **may** finish asynchronous, and **must** invoke `next()`. - -###### Parameters - -* `err` (`Error`, optional) — Stop the process -* `node` ([`Node`][node], optional) — New syntax tree -* `file` ([`VFile`][file], optional) — New virtual file - -## `Preset` - -Presets provide a potentially sharable way to configure processors. They can -contain multiple plugins and optionally settings as well. - -###### Example - -`preset.js`: - -```js -exports.settings = {bullet: '*', fences: true} - -exports.plugins = [ - require('remark-preset-lint-recommended'), - require('remark-comment-config'), - require('remark-preset-lint-markdown-style-guide'), - [require('remark-toc'), {maxDepth: 3, tight: true}], - require('remark-github') -] -``` - -`index.js`: - -```js -var remark = require('remark') -var vfile = require('to-vfile') -var report = require('vfile-reporter') -var preset = require('./preset') - -remark() - .use(preset) - .process(vfile.readSync('index.md'), function(err, file) { - console.error(report(err || file)) - - if (file) { - vfile.writeSync(file) - } - }) -``` - -## Contribute - -**unified** is built by people just like you! Check out -[`contributing.md`][contributing] for ways to get started. - -This project has a [Code of Conduct][coc]. By interacting with this repository, -organisation, or community you agree to abide by its terms. - -Want to chat with the community and contributors? Join us in [Gitter][chat]! - -Have an idea for a cool new utility or tool? That’s great! If you want -feedback, help, or just to share it with the world you can do so by creating -an issue in the [`unifiedjs/ideas`][ideas] repository! - -## Acknowledgments - -Preliminary work for unified was done [in 2014][preliminary] for -[**retext**][retext] and inspired by [`ware`][ware]. Further incubation -happened in [**remark**][remark]. The project was finally [externalised][] -in 2015 and [published][] as `unified`. The project was authored by -[**@wooorm**](https://github.com/wooorm). - -Although `unified` since moved it’s plugin architecture to [`trough`][trough], -thanks to [**@calvinfo**](https://github.com/calvinfo), -[**@ianstormtaylor**](https://github.com/ianstormtaylor), and others for their -work on [`ware`][ware], which was a huge initial inspiration. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[logo]: https://cdn.rawgit.com/unifiedjs/unified/0cd3a41/logo.svg - -[travis-badge]: https://img.shields.io/travis/unifiedjs/unified.svg - -[travis]: https://travis-ci.org/unifiedjs/unified - -[codecov-badge]: https://img.shields.io/codecov/c/github/unifiedjs/unified.svg - -[codecov]: https://codecov.io/github/unifiedjs/unified - -[chat-badge]: https://img.shields.io/gitter/room/unifiedjs/Lobby.svg - -[chat]: https://gitter.im/unifiedjs/Lobby - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[site]: https://unifiedjs.github.io - -[guides]: https://unifiedjs.github.io/#guides - -[rehype]: https://github.com/rehypejs/rehype - -[remark]: https://github.com/remarkjs/remark - -[retext]: https://github.com/retextjs/retext - -[hast]: https://github.com/syntax-tree/hast - -[mdast]: https://github.com/syntax-tree/mdast - -[nlcst]: https://github.com/syntax-tree/nlcst - -[unist]: https://github.com/syntax-tree/unist - -[engine]: https://github.com/unifiedjs/unified-engine - -[args]: https://github.com/unifiedjs/unified-args - -[gulp]: https://github.com/unifiedjs/unified-engine-gulp - -[atom]: https://github.com/unifiedjs/unified-engine-atom - -[remark-rehype]: https://github.com/remarkjs/remark-rehype - -[remark-retext]: https://github.com/remarkjs/remark-retext - -[rehype-retext]: https://github.com/rehypejs/rehype-retext - -[rehype-remark]: https://github.com/rehypejs/rehype-remark - -[unist-utilities]: https://github.com/syntax-tree/unist#list-of-utilities - -[vfile]: https://github.com/vfile/vfile - -[vfile-contents]: https://github.com/vfile/vfile#vfilecontents - -[vfile-utilities]: https://github.com/vfile/vfile#related-tools - -[file]: #file - -[node]: #node - -[processor]: #processor - -[process]: #processorprocessfilevalue-done - -[parse]: #processorparsefilevalue - -[parser]: #processorparser - -[stringify]: #processorstringifynode-file - -[run]: #processorrunnode-file-done - -[compiler]: #processorcompiler - -[use]: #processoruseplugin-options - -[attacher]: #function-attacheroptions - -[transformer]: #function-transformernode-file-next - -[next]: #function-nexterr-tree-file - -[freeze]: #processorfreeze - -[plugin]: #plugin - -[run-done]: #function-doneerr-node-file - -[process-done]: #function-doneerr-file - -[trough]: https://github.com/wooorm/trough#function-fninput-next - -[promise]: https://developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Promise - -[remark-plugins]: https://github.com/remarkjs/remark/blob/master/doc/plugins.md#list-of-plugins - -[rehype-plugins]: https://github.com/rehypejs/rehype/blob/master/doc/plugins.md#list-of-plugins - -[retext-plugins]: https://github.com/retextjs/retext/blob/master/doc/plugins.md#list-of-plugins - -[stream]: https://github.com/unifiedjs/unified-stream - -[contributing]: contributing.md - -[coc]: code-of-conduct.md - -[ideas]: https://github.com/unifiedjs/ideas - -[preliminary]: https://github.com/retextjs/retext/commit/8fcb1f#diff-168726dbe96b3ce427e7fedce31bb0bc - -[externalised]: https://github.com/remarkjs/remark/commit/9892ec#diff-168726dbe96b3ce427e7fedce31bb0bc - -[published]: https://github.com/unifiedjs/unified/commit/2ba1cf - -[ware]: https://github.com/segmentio/ware diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/convert.js b/tools/node_modules/eslint/node_modules/unist-util-is/convert.js deleted file mode 100644 index f92f34f1051..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-is/convert.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict' - -module.exports = convert - -function convert(test) { - if (typeof test === 'string') { - return typeFactory(test) - } - - if (test === null || test === undefined) { - return ok - } - - if (typeof test === 'object') { - return ('length' in test ? anyFactory : matchesFactory)(test) - } - - if (typeof test === 'function') { - return test - } - - throw new Error('Expected function, string, or object as test') -} - -function convertAll(tests) { - var results = [] - var length = tests.length - var index = -1 - - while (++index < length) { - results[index] = convert(tests[index]) - } - - return results -} - -// Utility assert each property in `test` is represented in `node`, and each -// values are strictly equal. -function matchesFactory(test) { - return matches - - function matches(node) { - var key - - for (key in test) { - if (node[key] !== test[key]) { - return false - } - } - - return true - } -} - -function anyFactory(tests) { - var checks = convertAll(tests) - var length = checks.length - - return matches - - function matches() { - var index = -1 - - while (++index < length) { - if (checks[index].apply(this, arguments)) { - return true - } - } - - return false - } -} - -// Utility to convert a string into a function which checks a given node’s type -// for said string. -function typeFactory(test) { - return type - - function type(node) { - return Boolean(node && node.type === test) - } -} - -// Utility to return true. -function ok() { - return true -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/index.js b/tools/node_modules/eslint/node_modules/unist-util-is/index.js deleted file mode 100644 index f18d416e08d..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-is/index.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict' - -var convert = require('./convert') - -module.exports = is - -is.convert = convert - -// Assert if `test` passes for `node`. -// When a `parent` node is known the `index` of node should also be given. -// eslint-disable-next-line max-params -function is(node, test, index, parent, context) { - var hasParent = parent !== null && parent !== undefined - var hasIndex = index !== null && index !== undefined - var check = convert(test) - - if ( - hasIndex && - (typeof index !== 'number' || index < 0 || index === Infinity) - ) { - throw new Error('Expected positive finite index or child node') - } - - if (hasParent && (!is(parent) || !parent.children)) { - throw new Error('Expected parent node') - } - - if (!node || !node.type || typeof node.type !== 'string') { - return false - } - - if (hasParent !== hasIndex) { - throw new Error('Expected both parent and index') - } - - return Boolean(check.call(context, node, index, parent)) -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/license b/tools/node_modules/eslint/node_modules/unist-util-is/license deleted file mode 100644 index cfa79e66cfc..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-is/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT license) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/package.json b/tools/node_modules/eslint/node_modules/unist-util-is/package.json deleted file mode 100644 index 780e6d7618a..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-is/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/syntax-tree/unist-util-is/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Utility to check if a node passes a test", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "files": [ - "index.js", - "convert.js" - ], - "homepage": "https://github.com/syntax-tree/unist-util-is#readme", - "keywords": [ - "unist", - "node", - "is", - "equal", - "test", - "type", - "util", - "utility" - ], - "license": "MIT", - "name": "unist-util-is", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/syntax-tree/unist-util-is.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s unistUtilIs > unist-util-is.js", - "build-mangle": "browserify . -s unistUtilIs -p tinyify > unist-util-is.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "3.0.0", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "unicorn/prefer-type-error": "off" - }, - "ignore": [ - "unist-util-is.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/readme.md b/tools/node_modules/eslint/node_modules/unist-util-is/readme.md deleted file mode 100644 index 7d53629aba8..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-is/readme.md +++ /dev/null @@ -1,202 +0,0 @@ -# unist-util-is - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to check if a node passes a test. - -## Install - -[npm][]: - -```sh -npm install unist-util-is -``` - -## Usage - -```js -var is = require('unist-util-is') - -var node = {type: 'strong'} -var parent = {type: 'paragraph', children: [node]} - -function test(node, n) { - return n === 5 -} - -is() // => false -is({children: []}) // => false -is(node) // => true -is(node, 'strong') // => true -is(node, 'emphasis') // => false - -is(node, node) // => true -is(parent, {type: 'paragraph'}) // => true -is(parent, {type: 'strong'}) // => false - -is(node, test) // => false -is(node, test, 4, parent) // => false -is(node, test, 5, parent) // => true -``` - -## API - -### `is(node[, test[, index, parent[, context]]])` - -###### Parameters - -* `node` ([`Node`][node]) — Node to check. -* `test` ([`Function`][test], `string`, `Object`, or `Array.`, optional) - — When not given, checks if `node` is a [`Node`][node]. - When `string`, works like passing `node => node.type === test`. - When `array`, checks if any one of the subtests pass. - When `object`, checks that all keys in `test` are in `node`, - and that they have strictly equal values -* `index` (`number`, optional) — [Index][] of `node` in `parent` -* `parent` ([`Node`][node], optional) — [Parent][] of `node` -* `context` (`*`, optional) — Context object to invoke `test` with - -###### Returns - -`boolean` — Whether `test` passed *and* `node` is a [`Node`][node] (object with -`type` set to a non-empty `string`). - -#### `function test(node[, index, parent])` - -###### Parameters - -* `node` ([`Node`][node]) — Node to check -* `index` (`number?`) — [Index][] of `node` in `parent` -* `parent` ([`Node?`][node]) — [Parent][] of `node` - -###### Context - -`*` — The to `is` given `context`. - -###### Returns - -`boolean?` — Whether `node` matches. - -### `is.convert(test)` - -Create a test function from `test`, that can later be called with a `node`, -`index`, and `parent`. -Useful if you’re going to test many nodes, for example when creating a utility -where something else passes an is-compatible test. - -Can also be accessed with `require('unist-util-is/convert')`. - -For example: - -```js -var u = require('unist-builder') -var convert = require('unist-util-is/convert') - -var test = convert('leaf') - -var tree = u('tree', [ - u('node', [u('leaf', '1')]), - u('leaf', '2'), - u('node', [u('leaf', '3'), u('leaf', '4')]), - u('leaf', '5') -]) - -var leafs = tree.children.filter((child, index) => test(child, index, tree)) - -console.log(leafs) -``` - -Yields: - -```js -[({type: 'leaf', value: '2'}, {type: 'leaf', value: '5'})] -``` - -## Related - -* [`unist-util-find-after`](https://github.com/syntax-tree/unist-util-find-after) - — Find a node after another node -* [`unist-util-find-before`](https://github.com/syntax-tree/unist-util-find-before) - — Find a node before another node -* [`unist-util-find-all-after`](https://github.com/syntax-tree/unist-util-find-all-after) - — Find all nodes after another node -* [`unist-util-find-all-before`](https://github.com/syntax-tree/unist-util-find-all-before) - — Find all nodes before another node -* [`unist-util-find-all-between`](https://github.com/mrzmmr/unist-util-find-all-between) - — Find all nodes between two nodes -* [`unist-util-find`](https://github.com/blahah/unist-util-find) - — Find nodes matching a predicate -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with nodes that pass a check -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from tree - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-is.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-is - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-is.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-is - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-is.svg - -[downloads]: https://www.npmjs.com/package/unist-util-is - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-is.svg - -[size]: https://bundlephobia.com/result?p=unist-util-is - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[parent]: https://github.com/syntax-tree/unist#parent-1 - -[index]: https://github.com/syntax-tree/unist#index - -[test]: #function-testnode-index-parent diff --git a/tools/node_modules/eslint/node_modules/unist-util-remove-position/index.js b/tools/node_modules/eslint/node_modules/unist-util-remove-position/index.js deleted file mode 100644 index 09639598179..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-remove-position/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict' - -var visit = require('unist-util-visit') - -module.exports = removePosition - -function removePosition(node, force) { - visit(node, force ? hard : soft) - return node -} - -function hard(node) { - delete node.position -} - -function soft(node) { - node.position = undefined -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-remove-position/license b/tools/node_modules/eslint/node_modules/unist-util-remove-position/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-remove-position/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json b/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json deleted file mode 100644 index 768b0c3e6cb..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-remove-position/package.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/syntax-tree/unist-util-remove-position/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": { - "unist-util-visit": "^1.1.0" - }, - "deprecated": false, - "description": "Remove `position`s from a unist tree", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^11.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "unist-builder": "^2.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "homepage": "https://github.com/syntax-tree/unist-util-remove-position#readme", - "keywords": [ - "unist", - "utility", - "remove", - "position", - "location" - ], - "license": "MIT", - "name": "unist-util-remove-position", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/syntax-tree/unist-util-remove-position.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s unistUtilRemovePosition > unist-util-remove-position.js", - "build-mangle": "browserify . -s unistUtilRemovePosition -p tinyify > unist-util-remove-position.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.1.4", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-remove-position.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unist-util-remove-position/readme.md b/tools/node_modules/eslint/node_modules/unist-util-remove-position/readme.md deleted file mode 100644 index e79ed14b350..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-remove-position/readme.md +++ /dev/null @@ -1,131 +0,0 @@ -# unist-util-remove-position - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to remove [`position`][position]s from tree. - -## Install - -[npm][]: - -```sh -npm install unist-util-remove-position -``` - -## Usage - -```js -var remark = require('remark') -var removePosition = require('unist-util-remove-position') - -var tree = remark().parse('Some _emphasis_, **importance**, and `code`.') - -removePosition(tree, true) - -console.dir(tree, {depth: null}) -``` - -Yields: - -```js -{ - type: 'root', - children: [ - { - type: 'paragraph', - children: [ - { type: 'text', value: 'Some ' }, - { - type: 'emphasis', - children: [ { type: 'text', value: 'emphasis' } ] - }, - { type: 'text', value: ', ' }, - { - type: 'strong', - children: [ { type: 'text', value: 'importance' } ] - }, - { type: 'text', value: ', and ' }, - { type: 'inlineCode', value: 'code' }, - { type: 'text', value: '.' } - ] - } - ] -} -``` - -## API - -### `removePosition(node[, force])` - -Remove [`position`][position]s from [`node`][node]. -If `force` is given, uses `delete`, otherwise, sets `position`s to `undefined`. - -###### Returns - -The given `node`. - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-remove-position.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-remove-position - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-remove-position.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-remove-position - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-remove-position.svg - -[downloads]: https://www.npmjs.com/package/unist-util-remove-position - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-remove-position.svg - -[size]: https://bundlephobia.com/result?p=unist-util-remove-position - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[position]: https://github.com/syntax-tree/unist#position - -[node]: https://github.com/syntax-tree/unist#node diff --git a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/LICENSE b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/LICENSE deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/index.js b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/index.js deleted file mode 100644 index 3be1e14276c..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/index.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict' - -var own = {}.hasOwnProperty - -module.exports = stringify - -function stringify(value) { - /* Nothing. */ - if (!value || typeof value !== 'object') { - return null - } - - /* Node. */ - if (own.call(value, 'position') || own.call(value, 'type')) { - return position(value.position) - } - - /* Position. */ - if (own.call(value, 'start') || own.call(value, 'end')) { - return position(value) - } - - /* Point. */ - if (own.call(value, 'line') || own.call(value, 'column')) { - return point(value) - } - - /* ? */ - return null -} - -function point(point) { - if (!point || typeof point !== 'object') { - point = {} - } - - return index(point.line) + ':' + index(point.column) -} - -function position(pos) { - if (!pos || typeof pos !== 'object') { - pos = {} - } - - return point(pos.start) + '-' + point(pos.end) -} - -function index(value) { - return value && typeof value === 'number' ? value : 1 -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json deleted file mode 100644 index fe85a400cb8..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - }, - "bugs": { - "url": "https://github.com/syntax-tree/unist-util-stringify-position/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Stringify a Unist node, position, or point", - "devDependencies": { - "browserify": "^16.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "prettier": "^1.12.1", - "remark-cli": "^5.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.5.1", - "xo": "^0.20.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/syntax-tree/unist-util-stringify-position#readme", - "keywords": [ - "unist", - "position", - "location", - "point", - "node", - "stringify", - "tostring", - "util", - "utility" - ], - "license": "MIT", - "name": "unist-util-stringify-position", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/syntax-tree/unist-util-stringify-position.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.js --no-builtins -s unistUtilStringifyPosition > unist-util-stringify-position.js", - "build-mangle": "esmangle unist-util-stringify-position.js > unist-util-stringify-position.min.js", - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.1.2", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "guard-for-in": "off", - "no-var": "off", - "prefer-arrow-callback": "off" - }, - "ignores": [ - "unist-util-stringify-position.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/readme.md b/tools/node_modules/eslint/node_modules/unist-util-stringify-position/readme.md deleted file mode 100644 index 85c753b5e1b..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-stringify-position/readme.md +++ /dev/null @@ -1,100 +0,0 @@ -# unist-util-stringify-position [![Build Status][build-badge]][build-page] [![Coverage Status][coverage-badge]][coverage-page] - -Stringify a [**Unist**][unist] [`Position`][position] or [`Point`][point]. - -## Installation - -[npm][]: - -```bash -npm install unist-util-stringify-position -``` - -## Usage - -```javascript -var stringify = require('unist-util-stringify-position') - -// Point -stringify({line: 2, column: 3}) // => '2:3' - -// Position -stringify({ - start: {line: 2}, - end: {line: 3} -}) // => '2:1-3:1' - -// Node -stringify({ - type: 'text', - value: '!', - position: { - start: {line: 5, column: 11}, - end: {line: 5, column: 12} - } -}) // => '5:11-5:12' -``` - -## API - -### `stringifyPosition(node|position|point)` - -Stringify one point, a position (start and end points), or -a node’s position. - -###### Parameters - -* `node` ([`Node`][node]) - — Node whose `'position'` property to stringify -* `position` ([`Position`][position]) - — Position whose `'start'` and `'end'` points to stringify -* `point` ([`Point`][point]) - — Point whose `'line'` and `'column'` to stringify - -###### Returns - -`string?` — A range `ls:cs-le:ce` (when given `node` or -`position`) or a point `l:c` (when given `point`), where `l` stands -for line, `c` for column, `s` for `start`, and `e` for -end. `null` is returned if the given value is neither `node`, -`position`, nor `point`. - -## Contribute - -See [`contributing.md` in `syntax-tree/unist`][contributing] for ways to get -started. - -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-stringify-position.svg - -[build-page]: https://travis-ci.org/syntax-tree/unist-util-stringify-position - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-stringify-position.svg - -[coverage-page]: https://codecov.io/github/syntax-tree/unist-util-stringify-position?branch=master - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[position]: https://github.com/syntax-tree/unist#position - -[point]: https://github.com/syntax-tree/unist#point - -[contributing]: https://github.com/syntax-tree/unist/blob/master/contributing.md - -[coc]: https://github.com/syntax-tree/unist/blob/master/code-of-conduct.md diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js deleted file mode 100644 index c72635924f8..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict' - -module.exports = visitParents - -var convert = require('unist-util-is/convert') - -var CONTINUE = true -var SKIP = 'skip' -var EXIT = false - -visitParents.CONTINUE = CONTINUE -visitParents.SKIP = SKIP -visitParents.EXIT = EXIT - -function visitParents(tree, test, visitor, reverse) { - var is - - if (typeof test === 'function' && typeof visitor !== 'function') { - reverse = visitor - visitor = test - test = null - } - - is = convert(test) - - one(tree, null, []) - - // Visit a single node. - function one(node, index, parents) { - var result = [] - var subresult - - if (!test || is(node, index, parents[parents.length - 1] || null)) { - result = toResult(visitor(node, parents)) - - if (result[0] === EXIT) { - return result - } - } - - if (node.children && result[0] !== SKIP) { - subresult = toResult(all(node.children, parents.concat(node))) - return subresult[0] === EXIT ? subresult : result - } - - return result - } - - // Visit children in `parent`. - function all(children, parents) { - var min = -1 - var step = reverse ? -1 : 1 - var index = (reverse ? children.length : min) + step - var result - - while (index > min && index < children.length) { - result = one(children[index], index, parents) - - if (result[0] === EXIT) { - return result - } - - index = typeof result[1] === 'number' ? result[1] : index + step - } - } -} - -function toResult(value) { - if (value !== null && typeof value === 'object' && 'length' in value) { - return value - } - - if (typeof value === 'number') { - return [CONTINUE, value] - } - - return [value] -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/license b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json deleted file mode 100644 index 79a66d8458b..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/syntax-tree/unist-util-visit-parents/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": { - "unist-util-is": "^3.0.0" - }, - "deprecated": false, - "description": "Recursively walk over unist nodes, with ancestral information", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^10.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/syntax-tree/unist-util-visit-parents#readme", - "keywords": [ - "unist", - "walk", - "util", - "utility" - ], - "license": "MIT", - "name": "unist-util-visit-parents", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/syntax-tree/unist-util-visit-parents.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.js -s unistUtilVisitParents > unist-util-visit-parents.js", - "build-mangle": "browserify index.js -s unistUtilVisitParents -p tinyify > unist-util-visit-parents.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "2.1.2", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-visit-parents.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/readme.md b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/readme.md deleted file mode 100644 index ec7efc7bd03..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/readme.md +++ /dev/null @@ -1,218 +0,0 @@ -# unist-util-visit-parents - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -[**unist**][unist] utility to visit nodes, with ancestral information. - -## Install - -[npm][]: - -```sh -npm install unist-util-visit-parents -``` - -## Usage - -```js -var remark = require('remark') -var visit = require('unist-util-visit-parents') - -var tree = remark.parse('Some _emphasis_, **importance**, and `code`.') - -visit(tree, 'strong', visitor) - -function visitor(node, ancestors) { - console.log(ancestors) -} -``` - -Yields: - -```js -[ { type: 'root', children: [ [Object] ] }, - { type: 'paragraph', - children: - [ [Object], - [Object], - [Object], - [Object], - [Object], - [Object], - [Object] ] } ] -``` - -## API - -### `visit(tree[, test], visitor[, reverse])` - -Visit nodes ([**inclusive descendants**][descendant] of [`tree`][tree]), with -ancestral information. Optionally filtering nodes. Optionally in reverse. - -###### Parameters - -* `tree` ([`Node`][node]) — [Tree][] to traverse -* `test` ([`Test`][is], optional) — [`is`][is]-compatible test (such as a - [type][]) -* `visitor` ([Function][visitor]) — Function invoked when a node is found - that passes `test` -* `reverse` (`boolean`, default: `false`) — The tree is walked in [preorder][] - (NLR), visiting the node itself, then its [head][], etc. - When `reverse` is passed, the tree is stilled walked in preorder, but now - in NRL (the node itself, then its [tail][], etc.) - -#### `next? = visitor(node, ancestors)` - -Invoked when a node (matching `test`, if given) is found. - -Visitors are free to transform `node`. -They can also transform the [parent][] of node (the last of `ancestors`). -Replacing `node` itself, if `visit.SKIP` is not returned, still causes its -[descendant][]s to be visited. -If adding or removing previous [sibling][]s (or next siblings, in case of -`reverse`) of `node`, `visitor` should return a new [`index`][index] (`number`) -to specify the sibling to traverse after `node` is traversed. -Adding or removing next siblings of `node` (or previous siblings, in case of -reverse) is handled as expected without needing to return a new `index`. -Removing the `children` property of parent still results in them being -traversed. - -###### Parameters - -* `node` ([`Node`][node]) — Found node -* `ancestors` (`Array.`) — [Ancestor][]s of `node` - -##### Returns - -The return value can have the following forms: - -* [`index`][index] (`number`) — Treated as a tuple of `[CONTINUE, index]` -* `action` (`*`) — Treated as a tuple of `[action]` -* `tuple` (`Array.<*>`) — List with one or two values, the first an `action`, - the second and `index`. - Note that passing a tuple only makes sense if the `action` is `SKIP`. - If the `action` is `EXIT`, that action can be returned. - If the `action` is `CONTINUE`, `index` can be returned. - -###### `action` - -An action can have the following values: - -* `visit.EXIT` (`false`) — Stop traversing immediately -* `visit.CONTINUE` (`true`) — Continue traversing as normal (same behaviour - as not returning anything) -* `visit.SKIP` (`'skip'`) — Do not traverse this node’s children; continue - with the specified index - -###### `index` - -[`index`][index] (`number`) — Move to the sibling at `index` next (after `node` -itself is completely traversed). -Useful if mutating the tree, such as removing the node the visitor is currently -on, or any of its previous siblings (or next siblings, in case of `reverse`) -Results less than `0` or greater than or equal to `children.length` stop -traversing the parent - -## Related - -* [`unist-util-visit`](https://github.com/syntax-tree/unist-util-visit) - — Like `visit-parents`, but with one parent -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with all nodes that pass a test -* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) - — Create a new tree with all nodes mapped by a given function -* [`unist-util-flatmap`](https://gitlab.com/staltz/unist-util-flatmap) - — Create a new tree by mapping (to an array) with the provided function and - then flattening -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from a tree that pass a test -* [`unist-util-select`](https://github.com/eush77/unist-util-select) - — Select nodes with CSS-like selectors - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit-parents.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-visit-parents - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit-parents.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit-parents - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit-parents.svg - -[downloads]: https://www.npmjs.com/package/unist-util-visit-parents - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit-parents.svg - -[size]: https://bundlephobia.com/result?p=unist-util-visit-parents - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/syntax-tree - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[unist]: https://github.com/syntax-tree/unist - -[node]: https://github.com/syntax-tree/unist#node - -[visitor]: #next--visitornode-ancestors - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[is]: https://github.com/syntax-tree/unist-util-is - -[preorder]: https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/ - -[descendant]: https://github.com/syntax-tree/unist#descendant - -[head]: https://github.com/syntax-tree/unist#head - -[tail]: https://github.com/syntax-tree/unist#tail - -[parent]: https://github.com/syntax-tree/unist#parent-1 - -[sibling]: https://github.com/syntax-tree/unist#sibling - -[index]: https://github.com/syntax-tree/unist#index - -[ancestor]: https://github.com/syntax-tree/unist#ancestor - -[tree]: https://github.com/syntax-tree/unist#tree - -[type]: https://github.com/syntax-tree/unist#type diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit/index.js b/tools/node_modules/eslint/node_modules/unist-util-visit/index.js deleted file mode 100644 index 39970e7deba..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit/index.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict' - -module.exports = visit - -var visitParents = require('unist-util-visit-parents') - -var CONTINUE = visitParents.CONTINUE -var SKIP = visitParents.SKIP -var EXIT = visitParents.EXIT - -visit.CONTINUE = CONTINUE -visit.SKIP = SKIP -visit.EXIT = EXIT - -function visit(tree, test, visitor, reverse) { - if (typeof test === 'function' && typeof visitor !== 'function') { - reverse = visitor - visitor = test - test = null - } - - visitParents(tree, test, overload, reverse) - - function overload(node, parents) { - var parent = parents[parents.length - 1] - var index = parent ? parent.children.indexOf(node) : null - return visitor(node, index, parent) - } -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit/license b/tools/node_modules/eslint/node_modules/unist-util-visit/license deleted file mode 100644 index 32e7a3d93ca..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit/package.json b/tools/node_modules/eslint/node_modules/unist-util-visit/package.json deleted file mode 100644 index a0ef4a3cc17..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit/package.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/syntax-tree/unist-util-visit/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - { - "name": "Eugene Sharygin", - "email": "eush77@gmail.com" - }, - { - "name": "Richard Gibson", - "email": "richard.gibson@gmail.com" - } - ], - "dependencies": { - "unist-util-visit-parents": "^2.0.0" - }, - "deprecated": false, - "description": "Recursively walk over unist nodes", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark": "^10.0.0", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^5.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "xo": "^0.24.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/syntax-tree/unist-util-visit#readme", - "keywords": [ - "unist", - "remark", - "markdown", - "retext", - "natural", - "language", - "node", - "visit", - "walk", - "util", - "utility" - ], - "license": "MIT", - "name": "unist-util-visit", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/syntax-tree/unist-util-visit.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s unistUtilVisit > unist-util-visit.js", - "build-mangle": "browserify . -s unistUtilVisit -p tinyify > unist-util-visit.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.4.1", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "unist-util-visit.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit/readme.md b/tools/node_modules/eslint/node_modules/unist-util-visit/readme.md deleted file mode 100644 index 25808a27a54..00000000000 --- a/tools/node_modules/eslint/node_modules/unist-util-visit/readme.md +++ /dev/null @@ -1,121 +0,0 @@ -# unist-util-visit - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] - -[**unist**][unist] utility to visit nodes. - -## Install - -[npm][]: - -```bash -npm install unist-util-visit -``` - -## Usage - -```javascript -var u = require('unist-builder') -var visit = require('unist-util-visit') - -var tree = u('tree', [ - u('leaf', '1'), - u('node', [u('leaf', '2')]), - u('void'), - u('leaf', '3') -]) - -visit(tree, 'leaf', function(node) { - console.log(node) -}) -``` - -Yields: - -```js -{ type: 'leaf', value: '1' } -{ type: 'leaf', value: '2' } -{ type: 'leaf', value: '3' } -``` - -## API - -### `visit(tree[, test], visitor[, reverse])` - -This function works exactly the same as [`unist-util-visit-parents`][vp], -but `visitor` has a different signature. - -#### `next? = visitor(node, index, parent)` - -Instead of being passed an array of ancestors, `visitor` is invoked with the -node’s [`index`][index] and its [`parent`][parent]. - -Otherwise the same as [`unist-util-visit-parents`][vp]. - -## Related - -* [`unist-util-visit-parents`][vp] - — Like `visit`, but with a stack of parents -* [`unist-util-filter`](https://github.com/eush77/unist-util-filter) - — Create a new tree with all nodes that pass a test -* [`unist-util-map`](https://github.com/syntax-tree/unist-util-map) - — Create a new tree with all nodes mapped by a given function -* [`unist-util-remove`](https://github.com/eush77/unist-util-remove) - — Remove nodes from a tree that pass a test -* [`unist-util-select`](https://github.com/eush77/unist-util-select) - — Select nodes with CSS-like selectors - -## Contribute - -See [`contributing.md` in `syntax-tree/.github`][contributing] for ways to get -started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/syntax-tree/unist-util-visit.svg - -[build]: https://travis-ci.org/syntax-tree/unist-util-visit - -[coverage-badge]: https://img.shields.io/codecov/c/github/syntax-tree/unist-util-visit.svg - -[coverage]: https://codecov.io/github/syntax-tree/unist-util-visit - -[downloads-badge]: https://img.shields.io/npm/dm/unist-util-visit.svg - -[downloads]: https://www.npmjs.com/package/unist-util-visit - -[size-badge]: https://img.shields.io/bundlephobia/minzip/unist-util-visit.svg - -[size]: https://bundlephobia.com/result?p=unist-util-visit - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[contributing]: https://github.com/syntax-tree/.github/blob/master/contributing.md - -[support]: https://github.com/syntax-tree/.github/blob/master/support.md - -[coc]: https://github.com/syntax-tree/.github/blob/master/code-of-conduct.md - -[unist]: https://github.com/syntax-tree/unist - -[vp]: https://github.com/syntax-tree/unist-util-visit-parents - -[index]: https://github.com/syntax-tree/unist#index - -[parent]: https://github.com/syntax-tree/unist#parent-1 diff --git a/tools/node_modules/eslint/node_modules/uri-js/package.json b/tools/node_modules/eslint/node_modules/uri-js/package.json index b97f667a234..de95d91aa1a 100755 --- a/tools/node_modules/eslint/node_modules/uri-js/package.json +++ b/tools/node_modules/eslint/node_modules/uri-js/package.json @@ -1,30 +1,9 @@ { - "author": { - "name": "Gary Court", - "email": "gary.court@gmail.com" - }, - "bugs": { - "url": "https://github.com/garycourt/uri-js/issues" - }, - "bundleDependencies": false, - "dependencies": { - "punycode": "^2.1.0" - }, - "deprecated": false, + "name": "uri-js", + "version": "4.4.1", "description": "An RFC 3986/3987 compliant, scheme extendable URI/IRI parsing/validating/resolving library for JavaScript.", - "devDependencies": { - "babel-cli": "^6.26.0", - "babel-plugin-external-helpers": "^6.22.0", - "babel-preset-latest": "^6.24.1", - "mocha": "^8.2.1", - "mocha-qunit-ui": "^0.1.3", - "rollup": "^0.41.6", - "rollup-plugin-babel": "^2.7.1", - "rollup-plugin-node-resolve": "^2.0.0", - "sorcery": "^0.10.0", - "typescript": "^2.8.1", - "uglify-js": "^2.8.14" - }, + "main": "dist/es5/uri.all.js", + "types": "dist/es5/uri.all.d.ts", "directories": { "test": "tests" }, @@ -36,7 +15,19 @@ "CHANGELOG", "LICENSE" ], - "homepage": "https://github.com/garycourt/uri-js", + "scripts": { + "build:esnext": "tsc", + "build:es5": "rollup -c && cp dist/esnext/uri.d.ts dist/es5/uri.all.d.ts && npm run build:es5:fix-sourcemap", + "build:es5:fix-sourcemap": "sorcery -i dist/es5/uri.all.js", + "build:es5:min": "uglifyjs dist/es5/uri.all.js --support-ie8 --output dist/es5/uri.all.min.js --in-source-map dist/es5/uri.all.js.map --source-map uri.all.min.js.map --comments --compress --mangle --pure-funcs merge subexp && mv uri.all.min.js.map dist/es5/ && cp dist/es5/uri.all.d.ts dist/es5/uri.all.min.d.ts", + "build": "npm run build:esnext && npm run build:es5 && npm run build:es5:min", + "clean": "rm -rf dist", + "test": "mocha -u mocha-qunit-ui dist/es5/uri.all.js tests/tests.js" + }, + "repository": { + "type": "git", + "url": "http://github.com/garycourt/uri-js" + }, "keywords": [ "URI", "IRI", @@ -61,22 +52,26 @@ "RFC6455", "RFC6874" ], + "author": "Gary Court ", "license": "BSD-2-Clause", - "main": "dist/es5/uri.all.js", - "name": "uri-js", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/garycourt/uri-js.git" + "bugs": { + "url": "https://github.com/garycourt/uri-js/issues" }, - "scripts": { - "build": "npm run build:esnext && npm run build:es5 && npm run build:es5:min", - "build:es5": "rollup -c && cp dist/esnext/uri.d.ts dist/es5/uri.all.d.ts && npm run build:es5:fix-sourcemap", - "build:es5:fix-sourcemap": "sorcery -i dist/es5/uri.all.js", - "build:es5:min": "uglifyjs dist/es5/uri.all.js --support-ie8 --output dist/es5/uri.all.min.js --in-source-map dist/es5/uri.all.js.map --source-map uri.all.min.js.map --comments --compress --mangle --pure-funcs merge subexp && mv uri.all.min.js.map dist/es5/ && cp dist/es5/uri.all.d.ts dist/es5/uri.all.min.d.ts", - "build:esnext": "tsc", - "clean": "rm -rf dist", - "test": "mocha -u mocha-qunit-ui dist/es5/uri.all.js tests/tests.js" + "homepage": "https://github.com/garycourt/uri-js", + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-plugin-external-helpers": "^6.22.0", + "babel-preset-latest": "^6.24.1", + "mocha": "^8.2.1", + "mocha-qunit-ui": "^0.1.3", + "rollup": "^0.41.6", + "rollup-plugin-babel": "^2.7.1", + "rollup-plugin-node-resolve": "^2.0.0", + "sorcery": "^0.10.0", + "typescript": "^2.8.1", + "uglify-js": "^2.8.14" }, - "types": "dist/es5/uri.all.d.ts", - "version": "4.4.1" -} \ No newline at end of file + "dependencies": { + "punycode": "^2.1.0" + } +} diff --git a/tools/node_modules/eslint/node_modules/v8-compile-cache/package.json b/tools/node_modules/eslint/node_modules/v8-compile-cache/package.json index 25540b73015..cfc665f1099 100644 --- a/tools/node_modules/eslint/node_modules/v8-compile-cache/package.json +++ b/tools/node_modules/eslint/node_modules/v8-compile-cache/package.json @@ -1,15 +1,25 @@ { - "author": { - "name": "Andres Suarez", - "email": "zertosh@gmail.com" + "name": "v8-compile-cache", + "version": "2.2.0", + "description": "Require hook for automatic V8 compile cache persistence", + "main": "v8-compile-cache.js", + "scripts": { + "bench": "bench/run.sh", + "eslint": "eslint --max-warnings=0 .", + "tap": "tap test/*-test.js", + "test": "npm run tap", + "posttest": "npm run eslint" }, - "bugs": { - "url": "https://github.com/zertosh/v8-compile-cache/issues" + "author": "Andres Suarez ", + "repository": { + "type": "git", + "url": "https://github.com/zertosh/v8-compile-cache.git" }, - "bundleDependencies": false, + "files": [ + "v8-compile-cache.js" + ], + "license": "MIT", "dependencies": {}, - "deprecated": false, - "description": "Require hook for automatic V8 compile cache persistence", "devDependencies": { "babel-core": "6.26.3", "eslint": "^7.12.1", @@ -20,24 +30,5 @@ "tap": "^10.1.1", "temp": "^0.8.3", "yarn": "1.22.10" - }, - "files": [ - "v8-compile-cache.js" - ], - "homepage": "https://github.com/zertosh/v8-compile-cache#readme", - "license": "MIT", - "main": "v8-compile-cache.js", - "name": "v8-compile-cache", - "repository": { - "type": "git", - "url": "git+https://github.com/zertosh/v8-compile-cache.git" - }, - "scripts": { - "bench": "bench/run.sh", - "eslint": "eslint --max-warnings=0 .", - "posttest": "npm run eslint", - "tap": "tap test/*-test.js", - "test": "npm run tap" - }, - "version": "2.2.0" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/vfile-location/index.js b/tools/node_modules/eslint/node_modules/vfile-location/index.js deleted file mode 100644 index 2d7c21c1808..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-location/index.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict' - -module.exports = factory - -function factory(file) { - var contents = indices(String(file)) - - return { - toPosition: offsetToPositionFactory(contents), - toOffset: positionToOffsetFactory(contents) - } -} - -// Factory to get the line and column-based `position` for `offset` in the bound -// indices. -function offsetToPositionFactory(indices) { - return offsetToPosition - - // Get the line and column-based `position` for `offset` in the bound indices. - function offsetToPosition(offset) { - var index = -1 - var length = indices.length - - if (offset < 0) { - return {} - } - - while (++index < length) { - if (indices[index] > offset) { - return { - line: index + 1, - column: offset - (indices[index - 1] || 0) + 1, - offset: offset - } - } - } - - return {} - } -} - -// Factory to get the `offset` for a line and column-based `position` in the -// bound indices. -function positionToOffsetFactory(indices) { - return positionToOffset - - // Get the `offset` for a line and column-based `position` in the bound - // indices. - function positionToOffset(position) { - var line = position && position.line - var column = position && position.column - - if (!isNaN(line) && !isNaN(column) && line - 1 in indices) { - return (indices[line - 2] || 0) + column - 1 || 0 - } - - return -1 - } -} - -// Get indices of line-breaks in `value`. -function indices(value) { - var result = [] - var index = value.indexOf('\n') - - while (index !== -1) { - result.push(index + 1) - index = value.indexOf('\n', index + 1) - } - - result.push(value.length + 1) - - return result -} diff --git a/tools/node_modules/eslint/node_modules/vfile-location/license b/tools/node_modules/eslint/node_modules/vfile-location/license deleted file mode 100644 index 8d8660d36ef..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-location/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2016 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json deleted file mode 100644 index 9db9207b5cb..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-location/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/vfile/vfile-location/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^14.0.0", - "prettier": "^1.0.0", - "remark-cli": "^7.0.0", - "remark-preset-wooorm": "^6.0.0", - "tape": "^4.0.0", - "tinyify": "^2.0.0", - "vfile": "^4.0.0", - "xo": "^0.25.0" - }, - "files": [ - "index.js" - ], - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "homepage": "https://github.com/vfile/vfile-location#readme", - "keywords": [ - "remark", - "comment", - "message", - "marker", - "control" - ], - "license": "MIT", - "name": "vfile-location", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vfile/vfile-location.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s vfileLocation > vfile-location.js", - "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js", - "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "2.0.6", - "xo": { - "prettier": true, - "esnext": false, - "ignores": [ - "vfile-location.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/vfile-location/readme.md b/tools/node_modules/eslint/node_modules/vfile-location/readme.md deleted file mode 100644 index aa126a3fe39..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-location/readme.md +++ /dev/null @@ -1,115 +0,0 @@ -# vfile-location - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Size][size-badge]][size] -[![Sponsors][sponsors-badge]][collective] -[![Backers][backers-badge]][collective] -[![Chat][chat-badge]][chat] - -Convert between positions (line and column-based) and offsets (range-based) -locations in a [virtual file][vfile]. - -## Install - -[npm][]: - -```sh -npm install vfile-location -``` - -## Usage - -```js -var vfile = require('vfile') -var vfileLocation = require('vfile-location') - -var location = vfileLocation(vfile('foo\nbar\nbaz')) - -var offset = location.toOffset({line: 3, column: 3}) // => 10 -location.toPosition(offset) // => {line: 3, column: 3, offset: 10} -``` - -## API - -### `location = vfileLocation(doc)` - -Get transform functions for the given `doc` (`string`) or [`file`][vfile]. - -Returns an object with [`toOffset`][to-offset] and [`toPosition`][to-position]. - -### `location.toOffset(position)` - -Get the `offset` (`number`) for a line and column-based [`position`][position] -in the bound file. -Returns `-1` when given invalid or out of bounds input. - -### `location.toPosition(offset)` - -Get the line and column-based [`position`][position] for `offset` in the bound -file. - -## Contribute - -See [`contributing.md`][contributing] in [`vfile/.github`][health] for ways to -get started. -See [`support.md`][support] for ways to get help. - -This project has a [Code of Conduct][coc]. -By interacting with this repository, organisation, or community you agree to -abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile-location.svg - -[build]: https://travis-ci.org/vfile/vfile-location - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg - -[coverage]: https://codecov.io/github/vfile/vfile-location - -[downloads-badge]: https://img.shields.io/npm/dm/vfile-location.svg - -[downloads]: https://www.npmjs.com/package/vfile-location - -[size-badge]: https://img.shields.io/bundlephobia/minzip/vfile-location.svg - -[size]: https://bundlephobia.com/result?p=vfile-location - -[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg - -[backers-badge]: https://opencollective.com/unified/backers/badge.svg - -[collective]: https://opencollective.com/unified - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[contributing]: https://github.com/vfile/.github/blob/master/contributing.md - -[support]: https://github.com/vfile/.github/blob/master/support.md - -[health]: https://github.com/vfile/.github - -[coc]: https://github.com/vfile/.github/blob/master/code-of-conduct.md - -[license]: license - -[author]: https://wooorm.com - -[vfile]: https://github.com/vfile/vfile - -[to-offset]: #locationtooffsetposition - -[to-position]: #locationtopositionoffset - -[position]: https://github.com/syntax-tree/unist#position diff --git a/tools/node_modules/eslint/node_modules/vfile-message/index.js b/tools/node_modules/eslint/node_modules/vfile-message/index.js deleted file mode 100644 index c913753249e..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-message/index.js +++ /dev/null @@ -1,94 +0,0 @@ -'use strict' - -var stringify = require('unist-util-stringify-position') - -module.exports = VMessage - -// Inherit from `Error#`. -function VMessagePrototype() {} -VMessagePrototype.prototype = Error.prototype -VMessage.prototype = new VMessagePrototype() - -// Message properties. -var proto = VMessage.prototype - -proto.file = '' -proto.name = '' -proto.reason = '' -proto.message = '' -proto.stack = '' -proto.fatal = null -proto.column = null -proto.line = null - -// Construct a new VMessage. -// -// Note: We cannot invoke `Error` on the created context, as that adds readonly -// `line` and `column` attributes on Safari 9, thus throwing and failing the -// data. -function VMessage(reason, position, origin) { - var parts - var range - var location - - if (typeof position === 'string') { - origin = position - position = null - } - - parts = parseOrigin(origin) - range = stringify(position) || '1:1' - - location = { - start: {line: null, column: null}, - end: {line: null, column: null} - } - - // Node. - if (position && position.position) { - position = position.position - } - - if (position) { - // Position. - if (position.start) { - location = position - position = position.start - } else { - // Point. - location.start = position - } - } - - if (reason.stack) { - this.stack = reason.stack - reason = reason.message - } - - this.message = reason - this.name = range - this.reason = reason - this.line = position ? position.line : null - this.column = position ? position.column : null - this.location = location - this.source = parts[0] - this.ruleId = parts[1] -} - -function parseOrigin(origin) { - var result = [null, null] - var index - - if (typeof origin === 'string') { - index = origin.indexOf(':') - - if (index === -1) { - result[1] = origin - } else { - result[0] = origin.slice(0, index) - result[1] = origin.slice(index + 1) - } - } - - return result -} diff --git a/tools/node_modules/eslint/node_modules/vfile-message/license b/tools/node_modules/eslint/node_modules/vfile-message/license deleted file mode 100644 index 045ffe0e075..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-message/license +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2017 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/vfile-message/package.json b/tools/node_modules/eslint/node_modules/vfile-message/package.json deleted file mode 100644 index 4a7b5a9867f..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-message/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - }, - "bugs": { - "url": "https://github.com/vfile/vfile-message/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "https://wooorm.com" - } - ], - "dependencies": { - "unist-util-stringify-position": "^1.1.1" - }, - "deprecated": false, - "description": "Create a virtual message", - "devDependencies": { - "browserify": "^16.0.0", - "nyc": "^13.0.0", - "prettier": "^1.12.1", - "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", - "tape": "^4.0.0", - "tinyify": "^2.4.3", - "xo": "^0.23.0" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/vfile/vfile-message#readme", - "keywords": [ - "vfile", - "virtual", - "message" - ], - "license": "MIT", - "name": "vfile-message", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "prettier": { - "tabWidth": 2, - "useTabs": false, - "singleQuote": true, - "bracketSpacing": false, - "semi": false, - "trailingComma": "none" - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vfile/vfile-message.git" - }, - "scripts": { - "build": "npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify . -s vfileMessage > vfile-message.js", - "build-mangle": "browserify . -s vfileMessage -p tinyify > vfile-message.min.js", - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", - "test": "npm run format && npm run build && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "1.1.1", - "xo": { - "prettier": true, - "esnext": false, - "rules": { - "no-var": "off", - "prefer-arrow-callback": "off", - "object-shorthand": "off" - }, - "ignores": [ - "vfile-message.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/vfile-message/readme.md b/tools/node_modules/eslint/node_modules/vfile-message/readme.md deleted file mode 100644 index 0c88353a53c..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile-message/readme.md +++ /dev/null @@ -1,194 +0,0 @@ -# vfile-message - -[![Build][build-badge]][build] -[![Coverage][coverage-badge]][coverage] -[![Downloads][downloads-badge]][downloads] -[![Chat][chat-badge]][chat] - -Create [vfile][] messages. - -## Installation - -[npm][]: - -```bash -npm install vfile-message -``` - -## Usage - -```js -var VMessage = require('vfile-message') - -var message = new VMessage( - '`braavo` is misspelt; did you mean `bravo`?', - {line: 1, column: 8}, - 'spell:typo' -) - -console.log(message) -``` - -Yields: - -```js -{ [1:8: `braavo` is misspelt; did you mean `bravo`?] - reason: '`braavo` is misspelt; did you mean `bravo`?', - fatal: null, - line: 1, - column: 8, - location: - { start: { line: 1, column: 8 }, - end: { line: null, column: null } }, - source: 'spell', - ruleId: 'typo' } -``` - -## API - -### `VMessage(reason[, position][, origin])` - -Constructor of a message for `reason` at `position` from `origin`. When -an error is passed in as `reason`, copies the stack. - -##### Parameters - -###### `reason` - -Reason for message (`string` or `Error`). Uses the stack and message of the -error if given. - -###### `position` - -Place at which the message occurred in a file ([`Node`][node], -[`Position`][position], or [`Point`][point], optional). - -###### `origin` - -Place in code the message originates from (`string`, optional). - -Can either be the [`ruleId`][ruleid] (`'rule'`), or a string with both a -[`source`][source] and a [`ruleId`][ruleid] delimited with a colon -(`'source:rule'`). - -##### Extends - -[`Error`][error]. - -##### Returns - -An instance of itself. - -##### Properties - -###### `reason` - -Reason for message (`string`). - -###### `fatal` - -If `true`, marks associated file as no longer processable (`boolean?`). If -`false`, necessitates a (potential) change. The value can also be `null` or -`undefined`. - -###### `line` - -Starting line of error (`number?`). - -###### `column` - -Starting column of error (`number?`). - -###### `location` - -Full range information, when available ([`Position`][position]). Has `start` -and `end` properties, both set to an object with `line` and `column`, set to -`number?`. - -###### `source` - -Namespace of warning (`string?`). - -###### `ruleId` - -Category of message (`string?`). - -###### `stack` - -Stack of message (`string?`). - -##### Custom properties - -It’s OK to store custom data directly on the `VMessage`, some of those are -handled by [utilities][util]. - -###### `file` - -You may add a `file` property with a path of a file (used throughout the -[**VFile**][vfile] ecosystem). - -###### `note` - -You may add a `note` property with a long form description of the message -(supported by [`vfile-reporter`][reporter]). - -###### `url` - -You may add a `url` property with a link to documentation for the message. - -## Contribute - -See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. - -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile-message.svg - -[build]: https://travis-ci.org/vfile/vfile-message - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg - -[coverage]: https://codecov.io/github/vfile/vfile-message - -[downloads-badge]: https://img.shields.io/npm/dm/vfile-message.svg - -[downloads]: https://www.npmjs.com/package/vfile-message - -[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg - -[chat]: https://spectrum.chat/unified/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[license]: license - -[author]: https://wooorm.com - -[error]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error - -[node]: https://github.com/syntax-tree/unist#node - -[position]: https://github.com/syntax-tree/unist#position - -[point]: https://github.com/syntax-tree/unist#point - -[vfile]: https://github.com/vfile/vfile - -[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md - -[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md - -[util]: https://github.com/vfile/vfile#utilities - -[reporter]: https://github.com/vfile/vfile-reporter - -[ruleid]: #ruleid - -[source]: #source diff --git a/tools/node_modules/eslint/node_modules/vfile/LICENSE b/tools/node_modules/eslint/node_modules/vfile/LICENSE deleted file mode 100644 index f3722d94b38..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -(The MIT License) - -Copyright (c) 2015 Titus Wormer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/vfile/core.js b/tools/node_modules/eslint/node_modules/vfile/core.js deleted file mode 100644 index 2d88a333993..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile/core.js +++ /dev/null @@ -1,169 +0,0 @@ -'use strict'; - -var path = require('path'); -var replace = require('replace-ext'); -var buffer = require('is-buffer'); - -module.exports = VFile; - -var own = {}.hasOwnProperty; -var proto = VFile.prototype; - -proto.toString = toString; - -/* Order of setting (least specific to most), we need this because - * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path - * is needed before a stem can be set. */ -var order = [ - 'history', - 'path', - 'basename', - 'stem', - 'extname', - 'dirname' -]; - -/* Construct a new file. */ -function VFile(options) { - var prop; - var index; - var length; - - if (!options) { - options = {}; - } else if (typeof options === 'string' || buffer(options)) { - options = {contents: options}; - } else if ('message' in options && 'messages' in options) { - return options; - } - - if (!(this instanceof VFile)) { - return new VFile(options); - } - - this.data = {}; - this.messages = []; - this.history = []; - this.cwd = process.cwd(); - - /* Set path related properties in the correct order. */ - index = -1; - length = order.length; - - while (++index < length) { - prop = order[index]; - - if (own.call(options, prop)) { - this[prop] = options[prop]; - } - } - - /* Set non-path related properties. */ - for (prop in options) { - if (order.indexOf(prop) === -1) { - this[prop] = options[prop]; - } - } -} - -/* Access full path (`~/index.min.js`). */ -Object.defineProperty(proto, 'path', { - get: function () { - return this.history[this.history.length - 1]; - }, - set: function (path) { - assertNonEmpty(path, 'path'); - - if (path !== this.path) { - this.history.push(path); - } - } -}); - -/* Access parent path (`~`). */ -Object.defineProperty(proto, 'dirname', { - get: function () { - return typeof this.path === 'string' ? path.dirname(this.path) : undefined; - }, - set: function (dirname) { - assertPath(this.path, 'dirname'); - this.path = path.join(dirname || '', this.basename); - } -}); - -/* Access basename (`index.min.js`). */ -Object.defineProperty(proto, 'basename', { - get: function () { - return typeof this.path === 'string' ? path.basename(this.path) : undefined; - }, - set: function (basename) { - assertNonEmpty(basename, 'basename'); - assertPart(basename, 'basename'); - this.path = path.join(this.dirname || '', basename); - } -}); - -/* Access extname (`.js`). */ -Object.defineProperty(proto, 'extname', { - get: function () { - return typeof this.path === 'string' ? path.extname(this.path) : undefined; - }, - set: function (extname) { - var ext = extname || ''; - - assertPart(ext, 'extname'); - assertPath(this.path, 'extname'); - - if (ext) { - if (ext.charAt(0) !== '.') { - throw new Error('`extname` must start with `.`'); - } - - if (ext.indexOf('.', 1) !== -1) { - throw new Error('`extname` cannot contain multiple dots'); - } - } - - this.path = replace(this.path, ext); - } -}); - -/* Access stem (`index.min`). */ -Object.defineProperty(proto, 'stem', { - get: function () { - return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined; - }, - set: function (stem) { - assertNonEmpty(stem, 'stem'); - assertPart(stem, 'stem'); - this.path = path.join(this.dirname || '', stem + (this.extname || '')); - } -}); - -/* Get the value of the file. */ -function toString(encoding) { - var value = this.contents || ''; - return buffer(value) ? value.toString(encoding) : String(value); -} - -/* Assert that `part` is not a path (i.e., does - * not contain `path.sep`). */ -function assertPart(part, name) { - if (part.indexOf(path.sep) !== -1) { - throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`'); - } -} - -/* Assert that `part` is not empty. */ -function assertNonEmpty(part, name) { - if (!part) { - throw new Error('`' + name + '` cannot be empty'); - } -} - -/* Assert `path` exists. */ -function assertPath(path, name) { - if (!path) { - throw new Error('Setting `' + name + '` requires `path` to be set too'); - } -} diff --git a/tools/node_modules/eslint/node_modules/vfile/index.js b/tools/node_modules/eslint/node_modules/vfile/index.js deleted file mode 100644 index 9b3c7e0d10e..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile/index.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -var VMessage = require('vfile-message'); -var VFile = require('./core.js'); - -module.exports = VFile; - -var proto = VFile.prototype; - -proto.message = message; -proto.info = info; -proto.fail = fail; - -/* Slight backwards compatibility. Remove in the future. */ -proto.warn = message; - -/* Create a message with `reason` at `position`. - * When an error is passed in as `reason`, copies the stack. */ -function message(reason, position, origin) { - var filePath = this.path; - var message = new VMessage(reason, position, origin); - - if (filePath) { - message.name = filePath + ':' + message.name; - message.file = filePath; - } - - message.fatal = false; - - this.messages.push(message); - - return message; -} - -/* Fail. Creates a vmessage, associates it with the file, - * and throws it. */ -function fail() { - var message = this.message.apply(this, arguments); - - message.fatal = true; - - throw message; -} - -/* Info. Creates a vmessage, associates it with the file, - * and marks the fatality as null. */ -function info() { - var message = this.message.apply(this, arguments); - - message.fatal = null; - - return message; -} diff --git a/tools/node_modules/eslint/node_modules/vfile/package.json b/tools/node_modules/eslint/node_modules/vfile/package.json deleted file mode 100644 index 98a004f48b3..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile/package.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "author": { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - }, - "bugs": { - "url": "https://github.com/vfile/vfile/issues" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Titus Wormer", - "email": "tituswormer@gmail.com", - "url": "http://wooorm.com" - }, - { - "name": "Brendan Abbott", - "email": "brendan.abbott@temando.com" - }, - { - "name": "Denys Dovhan", - "email": "email@denysdovhan.com" - }, - { - "name": "Kyle Mathews", - "email": "mathews.kyle@gmail.com" - }, - { - "name": "Shinnosuke Watanabe", - "email": "snnskwtnb@gmail.com" - }, - { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com" - } - ], - "dependencies": { - "is-buffer": "^1.1.4", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - }, - "deprecated": false, - "description": "Virtual file format for text processing", - "devDependencies": { - "browserify": "^14.0.0", - "esmangle": "^1.0.0", - "nyc": "^11.0.0", - "remark-cli": "^4.0.0", - "remark-preset-wooorm": "^3.0.0", - "tape": "^4.4.0", - "xo": "^0.18.0" - }, - "files": [ - "core.js", - "index.js" - ], - "homepage": "https://github.com/vfile/vfile#readme", - "keywords": [ - "virtual", - "file", - "text", - "processing", - "message", - "warning", - "error", - "remark", - "retext" - ], - "license": "MIT", - "name": "vfile", - "nyc": { - "check-coverage": true, - "lines": 100, - "functions": 100, - "branches": 100 - }, - "remarkConfig": { - "plugins": [ - "preset-wooorm" - ] - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vfile/vfile.git" - }, - "scripts": { - "build": "npm run build-md && npm run build-bundle && npm run build-mangle", - "build-bundle": "browserify index.js -s VFile > vfile.js", - "build-mangle": "esmangle vfile.js > vfile.min.js", - "build-md": "remark . -qfo", - "lint": "xo", - "test": "npm run build && npm run lint && npm run test-coverage", - "test-api": "node test", - "test-coverage": "nyc --reporter lcov tape test.js" - }, - "version": "2.3.0", - "xo": { - "space": true, - "esnext": false, - "rules": { - "unicorn/no-new-buffer": "off" - }, - "ignores": [ - "vfile.js" - ] - } -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/vfile/readme.md b/tools/node_modules/eslint/node_modules/vfile/readme.md deleted file mode 100644 index 1488031d7ed..00000000000 --- a/tools/node_modules/eslint/node_modules/vfile/readme.md +++ /dev/null @@ -1,285 +0,0 @@ -# ![vfile][] - -[![Build Status][build-badge]][build-status] -[![Coverage Status][coverage-badge]][coverage-status] - -**VFile** is a virtual file format used by [**unified**][unified], -a text processing umbrella (it powers [**retext**][retext] for -natural language, [**remark**][remark] for markdown, and -[**rehype**][rehype] for HTML). Each processors that parse, transform, -and compile text, and need a virtual representation of files and a -place to store [messages][] about them. Plus, they work in the browser. -**VFile** provides these requirements at a small size, in IE 9 and up. - -> **VFile** is different from the excellent [**vinyl**][vinyl] -> in that it has a smaller API, a smaller size, and focuses on -> [messages][]. - -VFile can be used anywhere where files need a lightweight representation. -For example, it’s used in: - -* [`documentation`](https://github.com/documentationjs/documentation) - — The documentation system for modern JavaScript -* [`weh`](https://github.com/wehjs/weh) - — Declarative small site generator -* [`geojsonhint`](https://github.com/mapbox/geojsonhint) - — Complete, fast, standards-based validation for geojson - -## Installation - -[npm][]: - -```bash -npm install vfile -``` - -## Table of Contents - -* [Usage](#usage) -* [Utilities](#utilities) -* [Reporters](#reporters) -* [API](#api) - * [VFile(\[options\])](#vfileoptions) - * [vfile.contents](#vfilecontents) - * [vfile.cwd](#vfilecwd) - * [vfile.path](#vfilepath) - * [vfile.basename](#vfilebasename) - * [vfile.stem](#vfilestem) - * [vfile.extname](#vfileextname) - * [vfile.dirname](#vfiledirname) - * [vfile.history](#vfilehistory) - * [vfile.messages](#vfilemessages) - * [vfile.data](#vfiledata) - * [VFile#toString(\[encoding\])](#vfiletostringencoding) - * [VFile#message(reason\[, position\]\[, origin\])](#vfilemessagereason-position-origin) - * [VFile#info(reason\[, position\]\[, origin\])](#vfileinforeason-position-origin) - * [VFile#fail(reason\[, position\]\[, origin\])](#vfilefailreason-position-origin) -* [License](#license) - -## Usage - -```js -var vfile = require('vfile'); - -var file = vfile({path: '~/example.txt', contents: 'Alpha *braavo* charlie.'}); - -file.path; //=> '~/example.txt' -file.dirname; //=> '~' - -file.extname = '.md'; - -file.basename; //=> 'example.md' - -file.basename = 'index.text'; - -file.history; //=> ['~/example.txt', '~/example.md', '~/index.text'] - -file.message('`braavo` is misspelt; did you mean `bravo`?', {line: 1, column: 8}); - -console.log(file.messages); -``` - -Yields: - -```js -[ { [~/index.text:1:8: `braavo` is misspelt; did you mean `bravo`?] - message: '`braavo` is misspelt; did you mean `bravo`?', - name: '~/index.text:1:8', - file: '~/index.text', - reason: '`braavo` is misspelt; did you mean `bravo`?', - line: 1, - column: 8, - location: { start: [Object], end: [Object] }, - ruleId: null, - source: null, - fatal: false } ] -``` - -## Utilities - -The following list of projects includes tools for working with virtual -files. See [**Unist**][unist] for projects working with nodes. - -* [`convert-vinyl-to-vfile`](https://github.com/dustinspecker/convert-vinyl-to-vfile) - — Convert from [Vinyl][] -* [`is-vfile-message`](https://github.com/shinnn/is-vfile-message) - — Check if a value is a `VMessage` object -* [`to-vfile`](https://github.com/vfile/to-vfile) - — Create a virtual file from a file-path (and optionally read it) -* [`vfile-find-down`](https://github.com/vfile/vfile-find-down) - — Find files by searching the file system downwards -* [`vfile-find-up`](https://github.com/vfile/vfile-find-up) - — Find files by searching the file system upwards -* [`vfile-location`](https://github.com/vfile/vfile-location) - — Convert between line/column- and range-based locations -* [`vfile-statistics`](https://github.com/vfile/vfile-statistics) - — Count messages per category -* [`vfile-messages-to-vscode-diagnostics`](https://github.com/shinnn/vfile-messages-to-vscode-diagnostics) - — Convert to VS Code diagnostics -* [`vfile-sort`](https://github.com/vfile/vfile-sort) - — Sort messages by line/column -* [`vfile-to-eslint`](https://github.com/vfile/vfile-to-eslint) - — Convert VFiles to ESLint formatter compatible output - -## Reporters - -The following list of projects show linting results for given virtual files. -Reporters _must_ accept `Array.` as their first argument, and return -`string`. Reporters _may_ accept other values too, in which case it’s suggested -to stick to `vfile-reporter`s interface. - -* [`vfile-reporter`][reporter] - — Stylish reporter -* [`vfile-reporter-json`](https://github.com/vfile/vfile-reporter-json) - — JSON reporter -* [`vfile-reporter-pretty`](https://github.com/vfile/vfile-reporter-pretty) - — Pretty reporter - -## API - -### `VFile([options])` - -Create a new virtual file. If `options` is `string` or `Buffer`, treats -it as `{contents: options}`. If `options` is a `VFile`, returns it. -All other options are set on the newly created `vfile`. - -Path related properties are set in the following order (least specific -to most specific): `history`, `path`, `basename`, `stem`, `extname`, -`dirname`. - -It’s not possible to set either `dirname` or `extname` without setting -either `history`, `path`, `basename`, or `stem` as well. - -###### Example - -```js -vfile(); -vfile('console.log("alpha");'); -vfile(Buffer.from('exit 1')); -vfile({path: path.join(__dirname, 'readme.md')}); -vfile({stem: 'readme', extname: '.md', dirname: __dirname}); -vfile({other: 'properties', are: 'copied', ov: {e: 'r'}}); -``` - -### `vfile.contents` - -`Buffer`, `string`, `null` — Raw value. - -### `vfile.cwd` - -`string` — Base of `path`. Defaults to `process.cwd()`. - -### `vfile.path` - -`string?` — Path of `vfile`. Cannot be nullified. - -### `vfile.basename` - -`string?` — Current name (including extension) of `vfile`. Cannot -contain path separators. Cannot be nullified either (use -`file.path = file.dirname` instead). - -### `vfile.stem` - -`string?` — Name (without extension) of `vfile`. Cannot be nullified, -and cannot contain path separators. - -### `vfile.extname` - -`string?` — Extension (with dot) of `vfile`. Cannot be set if -there’s no `path` yet and cannot contain path separators. - -### `vfile.dirname` - -`string?` — Path to parent directory of `vfile`. Cannot be set if -there’s no `path` yet. - -### `vfile.history` - -`Array.` — List of file-paths the file moved between. - -### `vfile.messages` - -[`Array.`][message] — List of messages associated with the file. - -### `vfile.data` - -`Object` — Place to store custom information. It’s OK to store custom -data directly on the `vfile`, moving it to `data` gives a _little_ more -privacy. - -### `VFile#toString([encoding])` - -Convert contents of `vfile` to string. If `contents` is a buffer, -`encoding` is used to stringify buffers (default: `'utf8'`). - -### `VFile#message(reason[, position][, origin])` - -Associates a message with the file, where `fatal` is set to `false`. -Constructs a new [`VMessage`][vmessage] and adds it to -[`vfile.messages`][messages]. - -##### Returns - -[`VMessage`][vmessage]. - -### `VFile#info(reason[, position][, origin])` - -Associates an informational message with the file, where `fatal` is set to -`null`. Calls [`#message()`][message] internally. - -##### Returns - -[`VMessage`][vmessage]. - -### `VFile#fail(reason[, position][, origin])` - -Associates a fatal message with the file, then immediately throws it. -Note: fatal errors mean a file is no longer processable. -Calls [`#message()`][message] internally. - -##### Throws - -[`VMessage`][vmessage]. - -## License - -[MIT][license] © [Titus Wormer][author] - - - -[build-badge]: https://img.shields.io/travis/vfile/vfile.svg - -[build-status]: https://travis-ci.org/vfile/vfile - -[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile.svg - -[coverage-status]: https://codecov.io/github/vfile/vfile - -[npm]: https://docs.npmjs.com/cli/install - -[license]: LICENSE - -[author]: http://wooorm.com - -[vfile]: https://cdn.rawgit.com/vfile/vfile/f65510e/logo.svg - -[unified]: https://github.com/unifiedjs/unified - -[retext]: https://github.com/wooorm/retext - -[remark]: https://github.com/wooorm/remark - -[rehype]: https://github.com/wooorm/rehype - -[vinyl]: https://github.com/gulpjs/vinyl - -[unist]: https://github.com/syntax-tree/unist#list-of-utilities - -[reporter]: https://github.com/vfile/vfile-reporter - -[vmessage]: https://github.com/vfile/vfile-message - -[messages]: #vfilemessages - -[message]: #vfilemessagereason-position-origin diff --git a/tools/node_modules/eslint/node_modules/which/package.json b/tools/node_modules/eslint/node_modules/which/package.json index 32eaa57575d..97ad7fbabc5 100644 --- a/tools/node_modules/eslint/node_modules/which/package.json +++ b/tools/node_modules/eslint/node_modules/which/package.json @@ -1,53 +1,43 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me" + "author": "Isaac Z. Schlueter (http://blog.izs.me)", + "name": "which", + "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", + "version": "2.0.2", + "repository": { + "type": "git", + "url": "git://github.com/isaacs/node-which.git" }, + "main": "which.js", "bin": { - "node-which": "bin/node-which" - }, - "bugs": { - "url": "https://github.com/isaacs/node-which/issues" + "node-which": "./bin/node-which" }, - "bundleDependencies": false, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, - "deprecated": false, - "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", "devDependencies": { "mkdirp": "^0.5.0", "rimraf": "^2.6.2", "tap": "^14.6.9" }, - "engines": { - "node": ">= 8" + "scripts": { + "test": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "prepublish": "npm run changelog", + "prechangelog": "bash gen-changelog.sh", + "changelog": "git add CHANGELOG.md", + "postchangelog": "git commit -m 'update changelog - '${npm_package_version}", + "postpublish": "git push origin --follow-tags" }, "files": [ "which.js", "bin/node-which" ], - "homepage": "https://github.com/isaacs/node-which#readme", - "license": "ISC", - "main": "which.js", - "name": "which", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-which.git" - }, - "scripts": { - "changelog": "git add CHANGELOG.md", - "postchangelog": "git commit -m 'update changelog - '${npm_package_version}", - "postpublish": "git push origin --follow-tags", - "postversion": "npm publish", - "prechangelog": "bash gen-changelog.sh", - "prepublish": "npm run changelog", - "preversion": "npm test", - "test": "tap" - }, "tap": { "check-coverage": true }, - "version": "2.0.2" -} \ No newline at end of file + "engines": { + "node": ">= 8" + } +} diff --git a/tools/node_modules/eslint/node_modules/word-wrap/package.json b/tools/node_modules/eslint/node_modules/word-wrap/package.json index b53b03260e2..6f8f633c475 100644 --- a/tools/node_modules/eslint/node_modules/word-wrap/package.json +++ b/tools/node_modules/eslint/node_modules/word-wrap/package.json @@ -1,65 +1,39 @@ { - "author": { - "name": "Jon Schlinkert", - "url": "https://github.com/jonschlinkert" - }, + "name": "word-wrap", + "description": "Wrap words to a specified length.", + "version": "1.2.3", + "homepage": "https://github.com/jonschlinkert/word-wrap", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "Danilo Sampaio (localhost:8080)", + "Fede Ramirez (https://2fd.github.io)", + "Joe Hildebrand (https://twitter.com/hildjj)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Todd Kennedy (https://tck.io)", + "Waldemar Reusch (https://github.com/lordvlad)", + "Wolfgang Faust (http://www.linestarve.com)", + "Zach Hale (http://zachhale.com)" + ], + "repository": "jonschlinkert/word-wrap", "bugs": { "url": "https://github.com/jonschlinkert/word-wrap/issues" }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Danilo Sampaio", - "email": "danilo.sampaio@gmail.com", - "url": "localhost:8080" - }, - { - "name": "Fede Ramirez", - "email": "i@2fd.me", - "url": "https://2fd.github.io" - }, - { - "name": "Joe Hildebrand", - "email": "joe-github@cursive.net", - "url": "https://twitter.com/hildjj" - }, - { - "name": "Jon Schlinkert", - "email": "jon.schlinkert@sellside.com", - "url": "http://twitter.com/jonschlinkert" - }, - { - "name": "Todd Kennedy", - "url": "https://tck.io" - }, - { - "name": "Waldemar Reusch", - "url": "https://github.com/lordvlad" - }, - { - "name": "Wolfgang Faust", - "url": "http://www.linestarve.com" - }, - { - "name": "Zach Hale", - "email": "zachhale@gmail.com", - "url": "http://zachhale.com" - } + "license": "MIT", + "files": [ + "index.js", + "index.d.ts" ], - "deprecated": false, - "description": "Wrap words to a specified length.", + "main": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, "devDependencies": { "gulp-format-md": "^0.1.11", "mocha": "^3.2.0" }, - "engines": { - "node": ">=0.10.0" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "homepage": "https://github.com/jonschlinkert/word-wrap", "keywords": [ "break", "carriage", @@ -74,16 +48,6 @@ "words", "wrap" ], - "license": "MIT", - "main": "index.js", - "name": "word-wrap", - "repository": { - "type": "git", - "url": "git+https://github.com/jonschlinkert/word-wrap.git" - }, - "scripts": { - "test": "mocha" - }, "typings": "index.d.ts", "verb": { "toc": false, @@ -109,6 +73,5 @@ "verb", "verb-generate-readme" ] - }, - "version": "1.2.3" -} \ No newline at end of file + } +} diff --git a/tools/node_modules/eslint/node_modules/wrappy/package.json b/tools/node_modules/eslint/node_modules/wrappy/package.json index e80b47520f2..13075204671 100644 --- a/tools/node_modules/eslint/node_modules/wrappy/package.json +++ b/tools/node_modules/eslint/node_modules/wrappy/package.json @@ -1,35 +1,29 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/npm/wrappy/issues" + "name": "wrappy", + "version": "1.0.2", + "description": "Callback wrapping utility", + "main": "wrappy.js", + "files": [ + "wrappy.js" + ], + "directories": { + "test": "test" }, - "bundleDependencies": false, "dependencies": {}, - "deprecated": false, - "description": "Callback wrapping utility", "devDependencies": { "tap": "^2.3.1" }, - "directories": { - "test": "test" + "scripts": { + "test": "tap --coverage test/*.js" }, - "files": [ - "wrappy.js" - ], - "homepage": "https://github.com/npm/wrappy", - "license": "ISC", - "main": "wrappy.js", - "name": "wrappy", "repository": { "type": "git", - "url": "git+https://github.com/npm/wrappy.git" + "url": "https://github.com/npm/wrappy" }, - "scripts": { - "test": "tap --coverage test/*.js" + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC", + "bugs": { + "url": "https://github.com/npm/wrappy/issues" }, - "version": "1.0.2" -} \ No newline at end of file + "homepage": "https://github.com/npm/wrappy" +} diff --git a/tools/node_modules/eslint/node_modules/x-is-string/LICENCE b/tools/node_modules/eslint/node_modules/x-is-string/LICENCE deleted file mode 100644 index 0d0834052f3..00000000000 --- a/tools/node_modules/eslint/node_modules/x-is-string/LICENCE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Matt-Esch. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/x-is-string/README.md b/tools/node_modules/eslint/node_modules/x-is-string/README.md deleted file mode 100644 index 99977d475ac..00000000000 --- a/tools/node_modules/eslint/node_modules/x-is-string/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# x-is-string - -Simple string test - -## Example - -```js -var isString = require("x-is-string") - -isString("hello") -// -> true - -isString("") -// -> true - -isString(new String("things")) -// -> true - -isString(1) -// -> false - -isString(true) -// -> false - -isString(new Date()) -// -> false - -isString({}) -// -> false - -isString(null) -// -> false - -isString(undefined) -// -> false -``` - -## Installation - -`npm install x-is-string` - -## Contributors - - - Matt-Esch - -## MIT Licenced \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/x-is-string/index.js b/tools/node_modules/eslint/node_modules/x-is-string/index.js deleted file mode 100644 index 090130d4ce4..00000000000 --- a/tools/node_modules/eslint/node_modules/x-is-string/index.js +++ /dev/null @@ -1,7 +0,0 @@ -var toString = Object.prototype.toString - -module.exports = isString - -function isString(obj) { - return toString.call(obj) === "[object String]" -} diff --git a/tools/node_modules/eslint/node_modules/x-is-string/package.json b/tools/node_modules/eslint/node_modules/x-is-string/package.json deleted file mode 100644 index 95f98fc9577..00000000000 --- a/tools/node_modules/eslint/node_modules/x-is-string/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "author": { - "name": "Matt-Esch", - "email": "matt@mattesch.info" - }, - "bugs": { - "url": "https://github.com/Matt-Esch/x-is-string/issues", - "email": "matt@mattesch.info" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Matt-Esch" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "Simple string test", - "devDependencies": { - "tape": "^2.12.2" - }, - "homepage": "https://github.com/Matt-Esch/x-is-string", - "keywords": [], - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/Matt-Esch/x-is-string/raw/master/LICENSE" - } - ], - "main": "index", - "name": "x-is-string", - "repository": { - "type": "git", - "url": "git://github.com/Matt-Esch/x-is-string.git" - }, - "scripts": { - "cover": "istanbul cover --report none --print detail ./test/index.js", - "start": "node ./index.js", - "test": "node ./test/index.js", - "test-browser": "testem-browser ./test/browser/index.js", - "testem": "testem-both -b=./test/browser/index.js", - "travis-test": "istanbul cover ./test/index.js && ((cat coverage/lcov.info | coveralls) || exit 0)", - "view-cover": "istanbul report html && google-chrome ./coverage/index.html", - "watch": "nodemon -w ./index.js index.js" - }, - "testling": { - "files": "test/index.js", - "browsers": [ - "ie/8..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest", - "android-browser/4.2..latest" - ] - }, - "version": "0.1.0" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/xtend/LICENSE b/tools/node_modules/eslint/node_modules/xtend/LICENSE deleted file mode 100644 index 0099f4f6c77..00000000000 --- a/tools/node_modules/eslint/node_modules/xtend/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) -Copyright (c) 2012-2014 Raynos. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/xtend/README.md b/tools/node_modules/eslint/node_modules/xtend/README.md deleted file mode 100644 index 4a2703cff27..00000000000 --- a/tools/node_modules/eslint/node_modules/xtend/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# xtend - -[![browser support][3]][4] - -[![locked](http://badges.github.io/stability-badges/dist/locked.svg)](http://github.com/badges/stability-badges) - -Extend like a boss - -xtend is a basic utility library which allows you to extend an object by appending all of the properties from each object in a list. When there are identical properties, the right-most property takes precedence. - -## Examples - -```js -var extend = require("xtend") - -// extend returns a new object. Does not mutate arguments -var combination = extend({ - a: "a", - b: "c" -}, { - b: "b" -}) -// { a: "a", b: "b" } -``` - -## Stability status: Locked - -## MIT Licensed - - - [3]: http://ci.testling.com/Raynos/xtend.png - [4]: http://ci.testling.com/Raynos/xtend diff --git a/tools/node_modules/eslint/node_modules/xtend/immutable.js b/tools/node_modules/eslint/node_modules/xtend/immutable.js deleted file mode 100644 index 94889c9de11..00000000000 --- a/tools/node_modules/eslint/node_modules/xtend/immutable.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend() { - var target = {} - - for (var i = 0; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/tools/node_modules/eslint/node_modules/xtend/mutable.js b/tools/node_modules/eslint/node_modules/xtend/mutable.js deleted file mode 100644 index 72debede6ca..00000000000 --- a/tools/node_modules/eslint/node_modules/xtend/mutable.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = extend - -var hasOwnProperty = Object.prototype.hasOwnProperty; - -function extend(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] - - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - target[key] = source[key] - } - } - } - - return target -} diff --git a/tools/node_modules/eslint/node_modules/xtend/package.json b/tools/node_modules/eslint/node_modules/xtend/package.json deleted file mode 100644 index 970fcf29de7..00000000000 --- a/tools/node_modules/eslint/node_modules/xtend/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "author": { - "name": "Raynos", - "email": "raynos2@gmail.com" - }, - "bugs": { - "url": "https://github.com/Raynos/xtend/issues", - "email": "raynos2@gmail.com" - }, - "bundleDependencies": false, - "contributors": [ - { - "name": "Jake Verbaten" - }, - { - "name": "Matt Esch" - } - ], - "dependencies": {}, - "deprecated": false, - "description": "extend like a boss", - "devDependencies": { - "tape": "~1.1.0" - }, - "engines": { - "node": ">=0.4" - }, - "homepage": "https://github.com/Raynos/xtend", - "keywords": [ - "extend", - "merge", - "options", - "opts", - "object", - "array" - ], - "license": "MIT", - "main": "immutable", - "name": "xtend", - "repository": { - "type": "git", - "url": "git://github.com/Raynos/xtend.git" - }, - "scripts": { - "test": "node test" - }, - "testling": { - "files": "test.js", - "browsers": [ - "ie/7..latest", - "firefox/16..latest", - "firefox/nightly", - "chrome/22..latest", - "chrome/canary", - "opera/12..latest", - "opera/next", - "safari/5.1..latest", - "ipad/6.0..latest", - "iphone/6.0..latest" - ] - }, - "version": "4.0.2" -} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/yallist/package.json b/tools/node_modules/eslint/node_modules/yallist/package.json index 2d0ad3cb6e2..8a083867d72 100644 --- a/tools/node_modules/eslint/node_modules/yallist/package.json +++ b/tools/node_modules/eslint/node_modules/yallist/package.json @@ -1,19 +1,8 @@ { - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/yallist/issues" - }, - "bundleDependencies": false, - "dependencies": {}, - "deprecated": false, + "name": "yallist", + "version": "4.0.0", "description": "Yet Another Linked List", - "devDependencies": { - "tap": "^12.1.0" - }, + "main": "yallist.js", "directories": { "test": "test" }, @@ -21,19 +10,20 @@ "yallist.js", "iterator.js" ], - "homepage": "https://github.com/isaacs/yallist#readme", - "license": "ISC", - "main": "yallist.js", - "name": "yallist", - "repository": { - "type": "git", - "url": "git+https://github.com/isaacs/yallist.git" + "dependencies": {}, + "devDependencies": { + "tap": "^12.1.0" }, "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", + "test": "tap test/*.js --100", "preversion": "npm test", - "test": "tap test/*.js --100" + "postversion": "npm publish", + "postpublish": "git push origin --all; git push origin --tags" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/yallist.git" }, - "version": "4.0.0" -} \ No newline at end of file + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "ISC" +} diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json index 8a61c471dc1..cdf5a4b180e 100644 --- a/tools/node_modules/eslint/package.json +++ b/tools/node_modules/eslint/package.json @@ -1,15 +1,50 @@ { - "author": { - "name": "Nicholas C. Zakas", - "email": "nicholas+npm@nczconsulting.com" - }, + "name": "eslint", + "version": "7.21.0", + "author": "Nicholas C. Zakas ", + "description": "An AST-based pattern checker for JavaScript.", "bin": { - "eslint": "bin/eslint.js" + "eslint": "./bin/eslint.js" + }, + "main": "./lib/api.js", + "scripts": { + "test": "node Makefile.js test", + "test:cli": "mocha", + "lint": "node Makefile.js lint", + "fix": "node Makefile.js lint -- fix", + "fuzz": "node Makefile.js fuzz", + "generate-release": "node Makefile.js generateRelease", + "generate-alpharelease": "node Makefile.js generatePrerelease -- alpha", + "generate-betarelease": "node Makefile.js generatePrerelease -- beta", + "generate-rcrelease": "node Makefile.js generatePrerelease -- rc", + "publish-release": "node Makefile.js publishRelease", + "docs": "node Makefile.js docs", + "gensite": "node Makefile.js gensite", + "webpack": "node Makefile.js webpack", + "perf": "node Makefile.js perf" + }, + "gitHooks": { + "pre-commit": "lint-staged" }, - "bugs": { - "url": "https://github.com/eslint/eslint/issues/" + "lint-staged": { + "*.js": [ + "eslint --fix", + "git add" + ], + "*.md": "markdownlint" }, - "bundleDependencies": false, + "files": [ + "LICENSE", + "README.md", + "bin", + "conf", + "lib", + "messages" + ], + "repository": "eslint/eslint", + "funding": "https://opencollective.com/eslint", + "homepage": "https://eslint.org", + "bugs": "https://github.com/eslint/eslint/issues/", "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.0", @@ -19,7 +54,6 @@ "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", - "eslint-plugin-markdown": "^2.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", @@ -50,8 +84,6 @@ "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, - "deprecated": false, - "description": "An AST-based pattern checker for JavaScript.", "devDependencies": { "@babel/core": "^7.4.3", "@babel/preset-env": "^7.4.3", @@ -101,22 +133,6 @@ "webpack-cli": "^3.3.5", "yorkie": "^2.0.0" }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "files": [ - "LICENSE", - "README.md", - "bin", - "conf", - "lib", - "messages" - ], - "funding": "https://opencollective.com/eslint", - "gitHooks": { - "pre-commit": "lint-staged" - }, - "homepage": "https://eslint.org", "keywords": [ "ast", "lint", @@ -125,34 +141,7 @@ "espree" ], "license": "MIT", - "lint-staged": { - "*.js": [ - "eslint --fix", - "git add" - ], - "*.md": "markdownlint" - }, - "main": "./lib/api.js", - "name": "eslint", - "repository": { - "type": "git", - "url": "git+https://github.com/eslint/eslint.git" - }, - "scripts": { - "docs": "node Makefile.js docs", - "fix": "node Makefile.js lint -- fix", - "fuzz": "node Makefile.js fuzz", - "generate-alpharelease": "node Makefile.js generatePrerelease -- alpha", - "generate-betarelease": "node Makefile.js generatePrerelease -- beta", - "generate-rcrelease": "node Makefile.js generatePrerelease -- rc", - "generate-release": "node Makefile.js generateRelease", - "gensite": "node Makefile.js gensite", - "lint": "node Makefile.js lint", - "perf": "node Makefile.js perf", - "publish-release": "node Makefile.js publishRelease", - "test": "node Makefile.js test", - "test:cli": "mocha", - "webpack": "node Makefile.js webpack" - }, - "version": "7.21.0" -} \ No newline at end of file + "engines": { + "node": "^10.12.0 || >=12.0.0" + } +} diff --git a/tools/update-eslint.sh b/tools/update-eslint.sh index d0320ab8f84..109390d2b27 100755 --- a/tools/update-eslint.sh +++ b/tools/update-eslint.sh @@ -4,24 +4,18 @@ # Depends on npm, npx, and node being in $PATH. -# This script must be be in the tools directory when it runs because it uses -# $BASH_SOURCE[0] to determine directories to work in. +# This script must be in the tools directory when it runs because it uses the +# script source file path to determine directories to work in. cd "$( dirname "$0" )" || exit -rm -rf node_modules/eslint +rm -rf node_modules/eslint node_modules/eslint-plugin-markdown ( mkdir eslint-tmp cd eslint-tmp || exit npm init --yes npm install --global-style --no-bin-links --production --no-package-lock eslint@latest - - ( - cd node_modules/eslint || exit - - npm install --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest - ) - + npm install --global-style --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest # Use dmn to remove some unneeded files. npx dmn@2.2.2 -f clean @@ -31,4 +25,5 @@ rm -rf node_modules/eslint ) mv eslint-tmp/node_modules/eslint node_modules/eslint +mv eslint-tmp/node_modules/eslint-plugin-markdown node_modules/eslint-plugin-markdown rm -rf eslint-tmp/ -- cgit v1.2.3