diff --git a/.gitignore b/.gitignore index 9dbad95..cfee353 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,10 @@ # Temporary files and dependencies +/deps/ +/node_modules/ +/vendor/ test*.php *-old.php -/vendor/ +yarn-error.log # Windows files diff --git a/composer.json b/composer.json index 75258a5..47c154d 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "dw/highlighter", "type": "library", - "description": "The clean and modern RSS server that doesn't give you any crap", + "description": "TextMate-like syntax highlighting in PHP", "license": "MIT", "authors": [ { @@ -9,7 +9,6 @@ "email": "dustin@dustinwilson.com", "homepage": "https://dustinwilson.com/" } - ], "require": { "php": "^7.4 || ^8.0", diff --git a/javascript.json b/javascript.json new file mode 100644 index 0000000..681c3ad --- /dev/null +++ b/javascript.json @@ -0,0 +1,516 @@ +{ + "comment": "JavaScript Syntax: version 2.0", + "fileTypes": [ + "js", + "htc", + "jsx" + ], + "firstLineMatch": "^#!.*\\bnode", + "keyEquivalent": "^~J", + "name": "JavaScript", + "patterns": [ + { + "captures": { + "1": { + "name": "support.class.js" + }, + "2": { + "name": "support.constant.js" + }, + "3": { + "name": "keyword.operator.js" + } + }, + "comment": "match stuff like: Sound.prototype = { … } when extending an object", + "match": "([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\s*(=)\\s*", + "name": "meta.class.js" + }, + { + "begin": "([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*(function)?\\s*(\\()", + "beginCaptures": { + "1": { + "name": "support.class.js" + }, + "2": { + "name": "support.constant.js" + }, + "3": { + "name": "entity.name.function.js" + }, + "4": { + "name": "keyword.operator.js" + }, + "5": { + "name": "storage.type.function.js" + }, + "6": { + "name": "punctuation.definition.parameters.begin.js" + } + }, + "comment": "match stuff like: Sound.prototype.play = function() { … }", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.parameters.end.js" + } + }, + "name": "meta.function.prototype.js", + "patterns": [ + { + "include": "#function-params" + } + ] + }, + { + "captures": { + "1": { + "name": "support.class.js" + }, + "2": { + "name": "support.constant.js" + }, + "3": { + "name": "entity.name.function.js" + }, + "4": { + "name": "keyword.operator.js" + } + }, + "comment": "match stuff like: Sound.prototype.play = myfunc", + "match": "([a-zA-Z_?.$][\\w?.$]*)\\.(prototype)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*", + "name": "meta.function.js" + }, + { + "begin": "([a-zA-Z_?.$][\\w?.$]*)\\.([a-zA-Z_?.$][\\w?.$]*)\\s*(=)\\s*(function)\\s*(\\()", + "beginCaptures": { + "1": { + "name": "support.class.js" + }, + "2": { + "name": "entity.name.function.js" + }, + "3": { + "name": "keyword.operator.js" + }, + "4": { + "name": "storage.type.function.js" + }, + "5": { + "name": "punctuation.definition.parameters.begin.js" + } + }, + "comment": "match stuff like: Sound.play = function() { … }", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.parameters.end.js" + } + }, + "name": "meta.function.js", + "patterns": [ + { + "include": "#function-params" + } + ] + }, + { + "begin": "([a-zA-Z_?$][\\w?$]*)\\s*(=)\\s*(function)\\s*(\\()", + "beginCaptures": { + "1": { + "name": "entity.name.function.js" + }, + "2": { + "name": "keyword.operator.js" + }, + "3": { + "name": "storage.type.function.js" + }, + "4": { + "name": "punctuation.definition.parameters.begin.js" + } + }, + "comment": "match stuff like: play = function() { … }", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.parameters.end.js" + } + }, + "name": "meta.function.js", + "patterns": [ + { + "include": "#function-params" + } + ] + }, + { + "begin": "\\b(function)\\s+([a-zA-Z_$]\\w*)?\\s*(\\()", + "beginCaptures": { + "1": { + "name": "storage.type.function.js" + }, + "2": { + "name": "entity.name.function.js" + }, + "3": { + "name": "punctuation.definition.parameters.begin.js" + } + }, + "comment": "match regular function like: function myFunc(arg) { … }", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.parameters.end.js" + } + }, + "name": "meta.function.js", + "patterns": [ + { + "include": "#function-params" + } + ] + }, + { + "begin": "\\b([a-zA-Z_?.$][\\w?.$]*)\\s*:\\s*\\b(function)?\\s*(\\()", + "beginCaptures": { + "1": { + "name": "entity.name.function.js" + }, + "2": { + "name": "storage.type.function.js" + }, + "3": { + "name": "punctuation.definition.parameters.begin.js" + } + }, + "comment": "match stuff like: foobar: function() { … }", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.parameters.end.js" + } + }, + "name": "meta.function.json.js", + "patterns": [ + { + "include": "#function-params" + } + ] + }, + { + "begin": "(?:((')(.*?)('))|((\")(.*?)(\")))\\s*:\\s*\\b(function)?\\s*(\\()", + "beginCaptures": { + "1": { + "name": "string.quoted.single.js" + }, + "2": { + "name": "punctuation.definition.string.begin.js" + }, + "3": { + "name": "entity.name.function.js" + }, + "4": { + "name": "punctuation.definition.string.end.js" + }, + "5": { + "name": "string.quoted.double.js" + }, + "6": { + "name": "punctuation.definition.string.begin.js" + }, + "7": { + "name": "entity.name.function.js" + }, + "8": { + "name": "punctuation.definition.string.end.js" + }, + "9": { + "name": "entity.name.function.js" + }, + "10": { + "name": "punctuation.definition.parameters.begin.js" + } + }, + "comment": "Attempt to match \"foo\": function", + "end": "(\\))", + "endCaptures": { + "1": { + "name": "punctuation.definition.parameters.end.js" + } + }, + "name": "meta.function.json.js", + "patterns": [ + { + "include": "#function-params" + } + ] + }, + { + "captures": { + "1": { + "name": "keyword.operator.new.js" + }, + "2": { + "name": "entity.name.type.instance.js" + } + }, + "match": "(new)\\s+(\\w+(?:\\.\\w*)?)", + "name": "meta.class.instance.constructor" + }, + { + "match": "\\b(console)\\b", + "name": "entity.name.type.object.js.firebug" + }, + { + "match": "\\.(warn|info|log|error|time|timeEnd|assert)\\b", + "name": "support.function.js.firebug" + }, + { + "match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b", + "name": "constant.numeric.js" + }, + { + "begin": "'", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.js" + } + }, + "end": "'", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.js" + } + }, + "name": "string.quoted.single.js", + "patterns": [ + { + "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)", + "name": "constant.character.escape.js" + } + ] + }, + { + "begin": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.js" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.js" + } + }, + "name": "string.quoted.double.js", + "patterns": [ + { + "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)", + "name": "constant.character.escape.js" + } + ] + }, + { + "begin": "/\\*\\*(?!/)", + "captures": { + "0": { + "name": "punctuation.definition.comment.js" + } + }, + "end": "\\*/", + "name": "comment.block.documentation.js" + }, + { + "begin": "/\\*", + "captures": { + "0": { + "name": "punctuation.definition.comment.js" + } + }, + "end": "\\*/", + "name": "comment.block.js" + }, + { + "begin": "(^[ \\t]+)?(?=//)", + "beginCaptures": { + "1": { + "name": "punctuation.whitespace.comment.leading.js" + } + }, + "end": "(?!\\G)", + "patterns": [ + { + "begin": "//", + "beginCaptures": { + "0": { + "name": "punctuation.definition.comment.js" + } + }, + "end": "\\n", + "name": "comment.line.double-slash.js" + } + ] + }, + { + "captures": { + "0": { + "name": "punctuation.definition.comment.html.js" + }, + "2": { + "name": "punctuation.definition.comment.html.js" + } + }, + "match": "()", + "name": "comment.block.html.js" + }, + { + "match": "(?=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?=5.0 + * bash-task-runner >=0.9.0 + * composer >=2.0.6 + * coreutils >=8.0 + * gnu parallel >=20180922 + * yarn >=1.22.10 + +Arch Linux: +\`\`\` +pacman -S composer parallel yarn +yarn global add bash-task-runner +\`\`\` + +macOS: +\`\`\` +brew install bash composer coreutils parallel yarn +echo \"/usr/local/bin/bash\" >> /etc/shells +chsh -s /usr/local/bin/bash +yarn global add bash-task-runner +\`\`\` + +Building the grammars is then a matter of running the following commands from the project folder: + +\`\`\` +./run init +./run build +\`\`\` +" +} + +shopt -s globstar extglob || fail +if [ ! -x "$(which parallel)" ]; then fail; fi + +# Include runner +source $HOME/.config/yarn/global/node_modules/bash-task-runner/src/runner.sh || fail +runner_default_task="build" + +task_init() { + yarn install + mkdir -p "$cwd"/deps + + printf "language-css +language-html +language-javascript +language-php +language-shellscript +language-sql +language-typescript +language-xml" | parallel "git clone https://github.com/atom/{}.git \"$cwd\"/deps/{}" +} + +task_build() { + +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..60f5d59 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,249 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +async@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +camelcase@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +cliui@^3.0.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +coffee-script@^1.10.0: + version "1.12.7" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" + integrity sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +cson-parser@^1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/cson-parser/-/cson-parser-1.3.5.tgz#7ec675e039145533bf2a6a856073f1599d9c2d24" + integrity sha1-fsZ14DkUVTO/KmqFYHPxWZ2cLSQ= + dependencies: + coffee-script "^1.10.0" + +decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +fs-plus@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fs-plus/-/fs-plus-3.1.1.tgz#02c085ba0a013084cff2f3e89b17c60c1d9b4ab5" + integrity sha512-Se2PJdOWXqos1qVTkvqqjb0CSnfBnwwD+pq+z4ksT+e97mEShod/hrNg0TRCCsXPbJzcIq+NuzQhigunMWMJUA== + dependencies: + async "^1.5.2" + mkdirp "^0.5.1" + rimraf "^2.5.2" + underscore-plus "1.x" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +glob@^7.1.3: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +rimraf@^2.5.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +season@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/season/-/season-6.0.2.tgz#9da58fb1ddd24824d7621b2dc63a7123b50217b6" + integrity sha1-naWPsd3SSCTXYhstxjpxI7UCF7Y= + dependencies: + cson-parser "^1.3.0" + fs-plus "^3.0.0" + yargs "^3.23.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +underscore-plus@1.x: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore-plus/-/underscore-plus-1.7.0.tgz#107f1900c520ac1fefe4edec6580a7ff08a99d0f" + integrity sha512-A3BEzkeicFLnr+U/Q3EyWwJAQPbA19mtZZ4h+lLq3ttm9kn8WC4R3YpuJZEXmWdLjYP47Zc8aLZm9kwdv+zzvA== + dependencies: + underscore "^1.9.1" + +underscore@^1.9.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + +window-size@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY= + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +y18n@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +yargs@^3.23.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0"