diff --git a/.eslintignore b/.eslintignore index 9c30e7767..e3879c456 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,4 +5,3 @@ !/**/.eslintrc.js /test.js /dist/ -/scripts/build/ diff --git a/package.json b/package.json index a516bd141..367536f22 100644 --- a/package.json +++ b/package.json @@ -36,9 +36,9 @@ "babel-cli": "6.24.1", "babel-preset-es2015": "6.24.1", "cross-spawn": "5.1.0", - "eslint": "3.19.0", + "eslint": "4.1.1", "eslint-friendly-formatter": "3.0.0", - "eslint-plugin-prettier": "2.1.1", + "eslint-plugin-prettier": "2.1.2", "jest": "20.0.0", "mkdirp": "^0.5.1", "prettier": "1.4.2", @@ -50,6 +50,7 @@ "rollup-plugin-node-globals": "1.1.0", "rollup-plugin-node-resolve": "2.0.0", "rollup-plugin-replace": "1.1.1", + "shelljs": "0.7.8", "sw-toolbox": "3.6.0", "uglify-es": "3.0.15", "webpack": "2.6.1" @@ -58,7 +59,7 @@ "test": "jest", "test-integration": "jest tests_integration", "lint": "EFF_NO_LINK_RULES=true eslint . --format 'node_modules/eslint-friendly-formatter'", - "build": "./scripts/build/build.sh" + "build": "./scripts/build/build.js" }, "jest": { "setupFiles": [ diff --git a/scripts/build/.eslintrc.js b/scripts/build/.eslintrc.js new file mode 100644 index 000000000..9a53ee43f --- /dev/null +++ b/scripts/build/.eslintrc.js @@ -0,0 +1,12 @@ +"use strict"; + +module.exports = { + overrides: [ + { + files: "rollup.*.config.js", + parserOptions: { + sourceType: "module" + } + } + ] +}; diff --git a/scripts/build/build.js b/scripts/build/build.js new file mode 100755 index 000000000..719e12abb --- /dev/null +++ b/scripts/build/build.js @@ -0,0 +1,126 @@ +#!/usr/bin/env node + +"use strict"; + +const path = require("path"); +const shell = require("shelljs"); +const pkg = require("../../package.json"); + +const rootDir = path.join(__dirname, "..", ".."); +const parsers = [ + "babylon", + "flow", + "typescript", + "graphql", + "postcss", + "parse5", + "json" +]; + +process.env.PATH += path.delimiter + path.join(rootDir, "node_modules", ".bin"); + +function pipe(string) { + return new shell.ShellString(string); +} + +shell.set("-e"); +shell.cd(rootDir); + +shell.rm("-Rf", "dist/", "docs/lib/"); +shell.mkdir("-p", "docs/lib/"); + +// --- Lib --- + +shell.echo("Bundling lib index..."); +shell.exec("rollup -c scripts/build/rollup.index.config.js"); + +shell.echo("Bundling lib bin..."); +shell.exec("rollup -c scripts/build/rollup.bin.config.js"); +shell.chmod("+x", "./dist/bin/prettier.js"); + +for (const parser of parsers) { + if (parser === "postcss") { + continue; + } + shell.echo(`Bundling lib ${parser}...`); + shell.exec( + `rollup -c scripts/build/rollup.parser.config.js --environment parser:${parser}` + ); +} + +shell.echo("Bundling lib postcss..."); +// PostCSS has dependency cycles and won't work correctly with rollup :( +shell.exec( + "webpack --hide-modules src/parser-postcss.js dist/parser-postcss.js" +); +// Prepend module.exports = +const content = shell.cat("dist/parser-postcss.js").stdout; +pipe(`module.exports = ${content}`).to("dist/parser-postcss.js"); + +shell.echo(); + +// --- Docs --- + +shell.echo("Bundling docs index..."); +shell.cp("dist/index.js", "docs/lib/index.js"); +shell.exec( + "node_modules/babel-cli/bin/babel.js dist/index.js --out-file docs/lib/index.js --presets=es2015" +); + +shell.echo("Bundling docs babylon..."); +shell.exec( + "rollup -c scripts/build/rollup.docs.config.js --environment filepath:parser-babylon.js" +); +shell.exec( + "node_modules/babel-cli/bin/babel.js docs/lib/parser-babylon.js --out-file docs/lib/parser-babylon.js --presets=es2015" +); + +for (const parser of parsers) { + if (parser === "babylon") { + continue; + } + shell.echo(`Bundling docs ${parser}...`); + shell.exec( + `rollup -c scripts/build/rollup.docs.config.js --environment filepath:parser-${parser}.js` + ); +} + +shell.echo(); + +// --- Misc --- + +shell.echo("Remove eval"); +shell.sed( + "-i", + /eval\("require"\)/, + "require", + "dist/index.js", + "dist/bin/prettier.js" +); + +shell.echo("Create prettier-version.js"); +pipe(`prettierVersion = "${pkg.version}";`).to("docs/lib/prettier-version.js"); + +shell.echo("Copy sw-toolbox.js to docs"); +shell.cp("node_modules/sw-toolbox/sw-toolbox.js", "docs/lib/sw-toolbox.js"); +shell.cp( + "node_modules/sw-toolbox/companion.js", + "docs/lib/sw-toolbox-companion.js" +); + +shell.echo("Copy package.json"); +const pkgWithoutDependencies = Object.assign({}, pkg); +delete pkgWithoutDependencies.dependencies; +pipe(JSON.stringify(pkgWithoutDependencies, null, 2)).to("dist/package.json"); + +shell.echo("Copy README.md"); +shell.cp("README.md", "dist/README.md"); + +shell.echo("Done!"); +shell.echo(); +shell.echo("How to test against dist:"); +shell.echo(" 1) yarn test --prod"); +shell.echo(); +shell.echo("How to publish:"); +shell.echo(" 1) IMPORTANT!!! Go to dist/"); +shell.echo(" 2) npm publish"); diff --git a/scripts/build/build.sh b/scripts/build/build.sh deleted file mode 100755 index d704f4d2a..000000000 --- a/scripts/build/build.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -set -e -cd "$(dirname "$0")"; -cd ../..; - -rm -Rf dist/ docs/lib/ -mkdir -p docs/lib/ - -## --- Lib --- - -echo 'Bundling lib index...'; -node_modules/.bin/rollup -c scripts/build/rollup.index.config.js - -echo 'Bundling lib bin...'; -node_modules/.bin/rollup -c scripts/build/rollup.bin.config.js -chmod +x ./dist/bin/prettier.js - -for parser in babylon flow graphql typescript parse5 json; do - echo "Bundling lib $parser..."; - node_modules/.bin/rollup -c scripts/build/rollup.parser.config.js --environment parser:$parser -done - -echo 'Bundling lib postcss...'; -# PostCSS has dependency cycles and won't work correctly with rollup :( -./node_modules/.bin/webpack --hide-modules src/parser-postcss.js dist/parser-postcss.js -# Prepend module.exports = -echo "module.exports =" > dist/parser-postcss.js.tmp -cat dist/parser-postcss.js >> dist/parser-postcss.js.tmp -mv dist/parser-postcss.js.tmp dist/parser-postcss.js - -echo; - -## --- Docs --- - -echo 'Bundling docs index...'; -cp dist/index.js docs/lib/index.js -node_modules/babel-cli/bin/babel.js dist/index.js --out-file docs/lib/index.js --presets=es2015 - -echo 'Bundling docs babylon...'; -node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:parser-babylon.js -node_modules/babel-cli/bin/babel.js docs/lib/parser-babylon.js --out-file docs/lib/parser-babylon.js --presets=es2015 - -for parser in flow graphql typescript postcss parse5 json; do - echo "Bundling docs $parser..."; - node_modules/.bin/rollup -c scripts/build/rollup.docs.config.js --environment filepath:parser-$parser.js -done - -echo; - -## --- Misc --- - -echo 'Remove eval' -perl -pi -e 's/eval\("require"\)/require/g' dist/index.js dist/bin/prettier.js - -echo 'Create prettier-version.js' -node -p '`prettierVersion = "${require(".").version}";`' > docs/lib/prettier-version.js - -echo 'Copy sw-toolbox.js to docs' -cp node_modules/sw-toolbox/sw-toolbox.js docs/lib/sw-toolbox.js -cp node_modules/sw-toolbox/companion.js docs/lib/sw-toolbox-companion.js - -echo 'Copy package.json' -node -p "pkg = require('./package.json'), delete pkg.dependencies, JSON.stringify(pkg, null, 2)" > dist/package.json - -echo 'Copy README.md' -cp README.md dist/README.md - -echo 'Done!' -echo; -echo 'How to test against dist:' -echo ' 1) yarn test --prod' -echo; -echo 'How to publish:' -echo ' 1) IMPORTANT!!! Go to dist/' -echo ' 2) npm publish' diff --git a/scripts/build/rollup.base.config.js b/scripts/build/rollup.base.config.js index 06677b92b..aca86b7cc 100644 --- a/scripts/build/rollup.base.config.js +++ b/scripts/build/rollup.base.config.js @@ -2,15 +2,15 @@ export default { onwarn: function(warning) { if ( [ - 'EVAL', - 'MISSING_GLOBAL_NAME', - 'MISSING_NODE_BUILTINS', - 'UNRESOLVED_IMPORT', + "EVAL", + "MISSING_GLOBAL_NAME", + "MISSING_NODE_BUILTINS", + "UNRESOLVED_IMPORT" ].find(code => code === warning.code) ) { return; } console.warn(warning.message); - }, + } }; diff --git a/scripts/build/rollup.bin.config.js b/scripts/build/rollup.bin.config.js index af6da83f2..7e6e7b769 100644 --- a/scripts/build/rollup.bin.config.js +++ b/scripts/build/rollup.bin.config.js @@ -1,23 +1,21 @@ -import baseConfig from './rollup.base.config.js'; -import resolve from 'rollup-plugin-node-resolve'; -import commonjs from 'rollup-plugin-commonjs'; -import json from 'rollup-plugin-json'; -import replace from 'rollup-plugin-replace'; - -const parser = process.env.parser; +import baseConfig from "./rollup.base.config.js"; +import resolve from "rollup-plugin-node-resolve"; +import commonjs from "rollup-plugin-commonjs"; +import json from "rollup-plugin-json"; +import replace from "rollup-plugin-replace"; export default Object.assign(baseConfig, { - entry: 'bin/prettier.js', - dest: 'dist/bin/prettier.js', - format: 'cjs', - banner: '#!/usr/bin/env node', + entry: "bin/prettier.js", + dest: "dist/bin/prettier.js", + format: "cjs", + banner: "#!/usr/bin/env node", plugins: [ replace({ - '#!/usr/bin/env node': '', + "#!/usr/bin/env node": "" }), json(), resolve({ preferBuiltins: true }), - commonjs(), + commonjs() ], - external: ['fs', 'readline', 'path', 'module', 'assert', 'util', 'events'], + external: ["fs", "readline", "path", "module", "assert", "util", "events"] }); diff --git a/scripts/build/rollup.docs.config.js b/scripts/build/rollup.docs.config.js index 30b746c7f..0e182e54f 100644 --- a/scripts/build/rollup.docs.config.js +++ b/scripts/build/rollup.docs.config.js @@ -1,19 +1,19 @@ -import baseConfig from './rollup.base.config.js'; -import resolve from 'rollup-plugin-node-resolve'; -import commonjs from 'rollup-plugin-commonjs'; -import globals from 'rollup-plugin-node-globals'; -import json from 'rollup-plugin-json'; +import baseConfig from "./rollup.base.config.js"; +import resolve from "rollup-plugin-node-resolve"; +import commonjs from "rollup-plugin-commonjs"; +import globals from "rollup-plugin-node-globals"; +import json from "rollup-plugin-json"; const filepath = process.env.filepath; -const filename = filepath.replace(/.+\//, ''); -const basename = filename.replace(/\..+/, ''); +const filename = filepath.replace(/.+\//, ""); +const basename = filename.replace(/\..+/, ""); export default Object.assign(baseConfig, { - entry: 'dist/' + filepath, - dest: 'docs/lib/' + filename, - format: 'iife', + entry: "dist/" + filepath, + dest: "docs/lib/" + filename, + format: "iife", plugins: [json(), resolve({ preferBuiltins: true }), commonjs(), globals()], useStrict: false, - moduleName: basename.replace(/.+-/, ''), - external: ['assert', 'fs', 'module'], + moduleName: basename.replace(/.+-/, ""), + external: ["assert", "fs", "module"] }); diff --git a/scripts/build/rollup.index.config.js b/scripts/build/rollup.index.config.js index bca909378..18465f079 100644 --- a/scripts/build/rollup.index.config.js +++ b/scripts/build/rollup.index.config.js @@ -1,12 +1,12 @@ -import baseConfig from './rollup.base.config.js'; -import resolve from 'rollup-plugin-node-resolve'; -import commonjs from 'rollup-plugin-commonjs'; -import json from 'rollup-plugin-json'; +import baseConfig from "./rollup.base.config.js"; +import resolve from "rollup-plugin-node-resolve"; +import commonjs from "rollup-plugin-commonjs"; +import json from "rollup-plugin-json"; export default Object.assign(baseConfig, { - entry: 'index.js', - dest: 'dist/index.js', - format: 'cjs', + entry: "index.js", + dest: "dist/index.js", + format: "cjs", plugins: [json(), resolve({ preferBuiltins: true }), commonjs()], - external: ['assert'], + external: ["assert"] }); diff --git a/scripts/build/rollup.parser.config.js b/scripts/build/rollup.parser.config.js index 0f1999d52..eda52585a 100644 --- a/scripts/build/rollup.parser.config.js +++ b/scripts/build/rollup.parser.config.js @@ -1,21 +1,21 @@ -import baseConfig from './rollup.base.config.js'; -import resolve from 'rollup-plugin-node-resolve'; -import commonjs from 'rollup-plugin-commonjs'; -import json from 'rollup-plugin-json'; -import replace from 'rollup-plugin-replace'; -import uglify from 'uglify-es'; +import baseConfig from "./rollup.base.config.js"; +import resolve from "rollup-plugin-node-resolve"; +import commonjs from "rollup-plugin-commonjs"; +import json from "rollup-plugin-json"; +import replace from "rollup-plugin-replace"; +import uglify from "uglify-es"; const parser = process.env.parser; export default Object.assign(baseConfig, { - entry: 'src/parser-' + parser + '.js', - dest: 'dist/parser-' + parser + '.js', - format: 'cjs', + entry: "src/parser-" + parser + ".js", + dest: "dist/parser-" + parser + ".js", + format: "cjs", plugins: [ - parser === 'typescript' + parser === "typescript" ? replace({ - 'exports.Syntax =': '1,', - include: 'node_modules/typescript-eslint-parser/parser.js', + "exports.Syntax =": "1,", + include: "node_modules/typescript-eslint-parser/parser.js" }) : {}, json(), @@ -24,20 +24,22 @@ export default Object.assign(baseConfig, { { transformBundle(code) { const result = uglify.minify(code, {}); - if (result.error) throw result.error; + if (result.error) { + throw result.error; + } return result; - }, - }, + } + } ], external: [ - 'fs', - 'buffer', - 'path', - 'module', - 'assert', - 'util', - 'os', - 'crypto', + "fs", + "buffer", + "path", + "module", + "assert", + "util", + "os", + "crypto" ], - useStrict: parser === 'flow' ? false : true, + useStrict: parser === "flow" ? false : true }); diff --git a/scripts/run-external-typescript-tests.js b/scripts/run-external-typescript-tests.js index 8efd51d6e..3fcccc9fd 100644 --- a/scripts/run-external-typescript-tests.js +++ b/scripts/run-external-typescript-tests.js @@ -125,5 +125,5 @@ function writeErrorsToFiles() { } function sanitize(string) { - return string.replace(/[^A-Z0-9_.\(\) \-]/gi, "_").replace(/\.$/, ""); + return string.replace(/[^A-Z0-9_.() -]/gi, "_").replace(/\.$/, ""); } diff --git a/src/parser-postcss.js b/src/parser-postcss.js index 1c77f6347..f4b2981d4 100644 --- a/src/parser-postcss.js +++ b/src/parser-postcss.js @@ -209,7 +209,7 @@ function requireParser(isSCSS) { } function parse(text) { - const isLikelySCSS = !!text.match(/(\w\s*: [^}:]+|#){|\@import[^\n]+(url|,)/); + const isLikelySCSS = !!text.match(/(\w\s*: [^}:]+|#){|@import[^\n]+(url|,)/); try { return parseWithParser(requireParser(isLikelySCSS), text); } catch (e) { diff --git a/yarn.lock b/yarn.lock index b967b7dc3..21aff1758 100644 --- a/yarn.lock +++ b/yarn.lock @@ -67,10 +67,14 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" +ansi-escapes@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" + ansi-regex@^2.0.0, ansi-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -228,7 +232,7 @@ babel-code-frame@7.0.0-alpha.12: esutils "^2.0.2" js-tokens "^3.0.0" -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: +babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" dependencies: @@ -886,11 +890,11 @@ circular-json@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: - restore-cursor "^1.0.1" + restore-cursor "^2.0.0" cli-width@^2.0.0: version "2.1.0" @@ -950,7 +954,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.5.2: +concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1054,12 +1058,6 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": dependencies: cssom "0.3.x" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -1070,7 +1068,7 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@^2.1.1, debug@^2.2.0, debug@^2.6.3: +debug@^2.1.1, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: @@ -1193,58 +1191,6 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.23" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1260,15 +1206,6 @@ escodegen@^1.6.1: optionalDependencies: source-map "~0.2.0" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-friendly-formatter@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/eslint-friendly-formatter/-/eslint-friendly-formatter-3.0.0.tgz#278874435a6c46ec1d94fa0b1ff494e30ef04290" @@ -1279,54 +1216,59 @@ eslint-friendly-formatter@3.0.0: minimist "^1.2.0" text-table "^0.2.0" -eslint-plugin-prettier@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.1.tgz#2fb7e2ab961f2b61d2c8cf91bc17716ca8c53868" +eslint-plugin-prettier@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.2.tgz#4b90f4ee7f92bfbe2e926017e1ca40eb628965ea" dependencies: fast-diff "^1.1.1" jest-docblock "^20.0.1" -eslint@3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: - babel-code-frame "^6.16.0" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.1.1.tgz#facbdfcfe3e0facd3a8b80dc98c4e6c13ae582df" + dependencies: + babel-code-frame "^6.22.0" chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" + concat-stream "^1.6.0" + debug "^2.6.8" doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" + eslint-scope "^3.7.1" + espree "^3.4.3" esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" + glob "^7.1.2" + globals "^9.17.0" + ignore "^3.3.3" imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" + inquirer "^3.0.6" + is-my-json-valid "^2.16.0" is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" + js-yaml "^3.8.4" + json-stable-stringify "^1.0.1" levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" + path-is-inside "^1.0.2" + pluralize "^4.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" strip-json-comments "~2.0.1" - table "^3.7.8" + table "^4.0.1" text-table "~0.2.0" - user-home "^2.0.0" -espree@^3.4.0: +espree@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374" dependencies: @@ -1378,13 +1320,6 @@ esutils@2.0.2, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - events@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" @@ -1401,10 +1336,6 @@ exec-sh@^0.2.0: dependencies: merge "^1.1.3" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -1421,6 +1352,14 @@ extend@^3.0.0, extend@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" +external-editor@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" + dependencies: + iconv-lite "^0.4.17" + jschardet "^1.4.2" + tmp "^0.0.31" + extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" @@ -1451,12 +1390,11 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" dependencies: escape-string-regexp "^1.0.5" - object-assign "^4.1.0" file-entry-cache@^2.0.0: version "2.0.0" @@ -1620,7 +1558,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -1631,7 +1569,7 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.0.0, globals@^9.14.0: +globals@^9.0.0, globals@^9.17.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -1765,11 +1703,15 @@ iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" +iconv-lite@^0.4.17: + version "0.4.18" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" -ignore@^3.2.0: +ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" @@ -1804,21 +1746,22 @@ ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" +inquirer@^3.0.6: + version "3.1.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.1.1.tgz#87621c4fba4072f48a8dd71c9f9df6f100b2d534" dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" + ansi-escapes "^2.0.0" chalk "^1.0.0" - cli-cursor "^1.0.1" + cli-cursor "^2.1.0" cli-width "^2.0.0" - figures "^1.3.5" + external-editor "^2.0.4" + figures "^2.0.0" lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.0.0" strip-ansi "^3.0.0" through "^2.3.6" @@ -1902,7 +1845,7 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-my-json-valid@^2.10.0: +is-my-json-valid@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" dependencies: @@ -1947,6 +1890,10 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -2273,7 +2220,7 @@ js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -js-yaml@^3.5.1, js-yaml@^3.7.0: +js-yaml@^3.7.0, js-yaml@^3.8.4: version "3.8.4" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: @@ -2284,6 +2231,10 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" +jschardet@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" + jsdom@^9.12.0: version "9.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" @@ -2324,7 +2275,7 @@ json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -2426,7 +2377,7 @@ lodash.unescape@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" -lodash@^4.0.0, lodash@^4.14.0, lodash@^4.2.0, lodash@^4.3.0: +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -2517,6 +2468,10 @@ mime-types@^2.1.12, mime-types@~2.1.7: dependencies: mime-db "~1.27.0" +mimic-fn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + minimalistic-assert@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" @@ -2539,7 +2494,7 @@ minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +"mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -2549,9 +2504,9 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" nan@^2.3.0: version "2.6.2" @@ -2676,9 +2631,11 @@ once@^1.3.0, once@^1.3.3, once@^1.4.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" optimist@^0.6.1: version "0.6.1" @@ -2712,7 +2669,7 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -2802,7 +2759,7 @@ 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" -path-is-inside@^1.0.1: +path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" @@ -2852,9 +2809,9 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +pluralize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" postcss-less@^1.0.0: version "1.0.2" @@ -2940,9 +2897,9 @@ process@^0.11.0: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" prr@~0.0.0: version "0.0.0" @@ -3040,14 +2997,6 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -3148,7 +3097,7 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.2: +require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: @@ -3169,12 +3118,12 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2: dependencies: path-parse "^1.0.5" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" + onetime "^2.0.0" + signal-exit "^3.0.2" right-align@^0.1.1: version "0.1.3" @@ -3259,15 +3208,21 @@ rollup@0.41.1: dependencies: source-map-support "^0.4.0" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: - once "^1.3.0" + is-promise "^2.1.0" -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" safe-buffer@^5.0.1, safe-buffer@~5.0.1: version "5.0.1" @@ -3329,7 +3284,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shelljs@^0.7.5: +shelljs@0.7.8: version "0.7.8" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: @@ -3341,7 +3296,7 @@ shellwords@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -3475,7 +3430,7 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -strip-bom@3.0.0, strip-bom@^3.0.0: +strip-bom@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -3510,9 +3465,9 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" +table@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -3574,6 +3529,12 @@ timers-browserify@^2.0.2: dependencies: setimmediate "^1.0.4" +tmp@^0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + dependencies: + os-tmpdir "~1.0.1" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -3678,12 +3639,6 @@ user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"