diff --git a/README.md b/README.md
index b65cd49..b76d0c6 100644
--- a/README.md
+++ b/README.md
@@ -49,10 +49,8 @@ yarn watch
which will build and watch the entire project for changes (to both the library source files and test source files). As you develop, you can add tests for new functionality – which will initially fail – before developing the new functionality. Each time you save, any changes will be rebuilt and retested.
-Typescript builds on the left, tests run on the right:
-
-
+
Since only changed files are rebuilt and retested, this workflow remains fast even for large projects.
@@ -154,6 +152,10 @@ While both the browser and the Node.js versions of the library are tested, this
Note: test coverage is only checked against the Node.js implementation. This is much simpler, and works well for libraries where the node and browser implementations have different dependencies and only minor adapter code. With only a few lines of differences (e.g. `src/adapters/crypto.browser.ts`), including those few lines in test coverage analysis usually isn't necessary.
+### Building browser dependencies
+
+This starter demonstrates importing and using a CommonJS module ([`hash.js`](https://github.com/indutny/hash.js)) for it's `hash256` method. See the `build:browser-deps` [package script](./package.json) and [rollup.config.js](./config/exports/rollup.config.js) for more details. Of course, your project likely does not need this dependency, so it can be removed. If your library doesn't need to bundle external dependencies for the browser, several other devDependencies can also be removed (`browserify`, `rollup-plugin-alias`, `rollup-plugin-commonjs`, `rollup-plugin-node-resolve`, etc).
+
### Dependency on `tslib`
By default, this project requires [tslib](https://github.com/Microsoft/tslib) as a dependency. This is the recommended way to use Typescript's es6 & es7 transpiling for sizable projects, but you can remove this dependency by removing the `importHelpers` compiler option in `tsconfig.json`. Depending on your usage, this may increase the size of your library significantly, as the Typescript compiler will inject it's helper functions directly into every file which uses them. (See also: [`noEmitHelpers` →](https://www.typescriptlang.org/docs/handbook/compiler-options.html))
diff --git a/config/exports/build-tests.js b/config/exports/build-tests.js
index 63232af..4aebfda 100644
--- a/config/exports/build-tests.js
+++ b/config/exports/build-tests.js
@@ -27,11 +27,15 @@ const makeTransform = (filePath, buildPath) => {
// copy, then watch for changes to the tests
const testsFromRoot = 'build/main/**/*.spec.js';
-const task = process.argv[2] === '-w' ? cpx.watch : cpx.copy;
+const watchMode = process.argv.indexOf('-w') !== -1 ? true : false;
+const browserTests = process.argv.indexOf('--no-browser') !== -1 ? true : false;
+const task = watchMode ? cpx.watch : cpx.copy;
task(testsFromRoot, 'test/main', {
transform: (filePath) => makeTransform(filePath, pkg.main)
-})
-task(testsFromRoot, 'test/browser', {
- transform: (filePath) => makeTransform(filePath, pkg.browser.replace('.js', '.cjs.js'))
-})
+});
+if (!browserTests) {
+ task(testsFromRoot, 'test/browser', {
+ transform: (filePath) => makeTransform(filePath, pkg.browser.replace('.js', '.cjs.js'))
+ });
+}
diff --git a/package.json b/package.json
index cf70049..8dab8a1 100644
--- a/package.json
+++ b/package.json
@@ -11,22 +11,23 @@
"license": "MIT",
"scripts": {
"info": "npm-scripts-info",
- "build": "trash build && yarn build:main && yarn build:module && yarn build:browser-deps && yarn build:browser && yarn build:browser-cjs",
+ "build": "trash build && yarn build:main && yarn build:module && yarn build:browser-deps && yarn build:browser && yarn build:browser-cjs && yarn build:resolve-sourcemaps",
"build:main": "tsc -p tsconfig.json",
"build:module": "tsc -p config/exports/tsconfig.module.json",
"build:browser-deps": "mkdirp build/temp && browserify node_modules/hash.js/lib/hash.js --standalone hash -o build/temp/hash.js",
- "build:browser": "rollup -c config/exports/rollup.config.js -f es -o build/browser/index.js && sorcery -i build/browser/index.js",
- "build:browser-cjs": "rollup -c config/exports/rollup.config.js -f cjs -o build/browser/index.cjs.js && sorcery -i build/browser/index.cjs.js",
- "build:tests": "node config/exports/build-tests.js",
+ "build:browser": "rollup -c config/exports/rollup.config.js -f es -o build/browser/index.js",
+ "build:browser-cjs": "rollup -c config/exports/rollup.config.js -f cjs -o build/browser/index.cjs.js",
+ "build:resolve-sourcemaps": "sorcery -i build/browser/index.js && sorcery -i build/browser/index.cjs.js",
+ "build:tests": "trash test && node config/exports/build-tests.js",
"lint": "tslint src/**/*.ts",
"unit": "yarn build && yarn build:tests && nyc ava",
"check-coverage": "nyc check-coverage --lines 100 --functions 100 --branches 100",
- "test": "yarn lint && yarn unit && yarn check-coverage && ava",
- "watch": "yarn build && concurrently -r 'yarn build:main -- -w' 'yarn build:module -- -w' 'yarn build:browser -- -w' 'yarn build:browser-cjs -- -w' 'yarn build:tests -- -w' 'ava --watch --verbose'",
+ "test": "yarn lint && yarn unit && yarn check-coverage",
+ "watch": "yarn build && yarn build:tests -- --no-browser && concurrently -r --kill-others 'npm run --silent build:main -- -w' 'npm run --silent build:tests -- -w --no-browser' 'sleepms 2000 && ava --watch'",
"cov": "yarn unit && yarn html-coverage && opn coverage/index.html",
"html-coverage": "nyc report --reporter=html",
"send-coverage": "nyc report --reporter=lcov > coverage.lcov && codecov",
- "docs": "typedoc src/index.ts --excludePrivate --mode file --theme minimal --out build/docs && opn build/docs/index.html",
+ "docs": "typedoc src/index.ts --excludePrivate --exclude src/adapters/*.ts --mode file --theme minimal --out build/docs && opn build/docs/index.html",
"docs:json": "typedoc --mode file --json build/docs/typedoc.json src/index.ts",
"release": "standard-version"
},
@@ -66,13 +67,14 @@
"rollup-plugin-commonjs": "^7.0.0",
"rollup-plugin-node-resolve": "^2.0.0",
"rollup-watch": "^3.2.2",
+ "sleep-ms": "^2.0.1",
"sorcery": "^0.10.0",
"standard-version": "^4.0.0",
"trash-cli": "^1.4.0",
- "tslint": "^4.0.2",
+ "tslint": "^4.5.1",
"tslint-config-standard": "^4.0.0",
- "typedoc": "^0.5.5",
- "typescript": "^2.2.0"
+ "typedoc": "^0.5.7",
+ "typescript": "^2.2.1"
},
"keywords": [
"async",
@@ -102,6 +104,6 @@
]
},
"dependencies": {
- "tslib": "^1.5.0"
+ "tslib": "^1.6.0"
}
}
diff --git a/yarn.lock b/yarn.lock
index 108d607..58684e0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -723,6 +723,18 @@ boxen@^0.6.0:
string-width "^1.0.1"
widest-line "^1.0.0"
+boxen@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.0.0.tgz#b2694baf1f605f708ff0177c12193b22f29aaaab"
+ dependencies:
+ ansi-align "^1.1.0"
+ camelcase "^4.0.0"
+ chalk "^1.1.1"
+ cli-boxes "^1.0.0"
+ string-width "^2.0.0"
+ term-size "^0.1.0"
+ widest-line "^1.0.0"
+
brace-expansion@^1.0.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
@@ -936,6 +948,10 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+camelcase@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.0.0.tgz#8b0f90d44be5e281b903b9887349b92595ef07f2"
+
capture-stack-trace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
@@ -1157,6 +1173,17 @@ configstore@^2.0.0:
write-file-atomic "^1.1.2"
xdg-basedir "^2.0.0"
+configstore@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.0.0.tgz#e1b8669c1803ccc50b545e92f8e6e79aa80e0196"
+ dependencies:
+ dot-prop "^4.1.0"
+ graceful-fs "^4.1.2"
+ mkdirp "^0.5.0"
+ unique-string "^1.0.0"
+ write-file-atomic "^1.1.2"
+ xdg-basedir "^3.0.0"
+
console-browserify@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@@ -1357,7 +1384,7 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0"
elliptic "^6.0.0"
-create-error-class@^3.0.1:
+create-error-class@^3.0.0, create-error-class@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
dependencies:
@@ -1414,6 +1441,10 @@ crypto-browserify@^3.0.0:
public-encrypt "^4.0.0"
randombytes "^2.0.0"
+crypto-random-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
@@ -1567,6 +1598,10 @@ duplexer2@^0.1.2, duplexer2@^0.1.4, duplexer2@~0.1.0, duplexer2@~0.1.2:
dependencies:
readable-stream "^2.0.2"
+duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+
duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@@ -1833,6 +1868,13 @@ fs-extra@^0.30.0:
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
+fs-extra@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -1923,6 +1965,10 @@ get-stream@^2.2.0:
object-assign "^4.0.1"
pinkie-promise "^2.0.0"
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+
getpass@^0.1.1:
version "0.1.6"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
@@ -2044,6 +2090,22 @@ got@^5.0.0:
unzip-response "^1.0.2"
url-parse-lax "^1.0.0"
+got@^6.7.1:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
+ dependencies:
+ create-error-class "^3.0.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-redirect "^1.0.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ unzip-response "^2.0.1"
+ url-parse-lax "^1.0.0"
+
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@@ -2313,6 +2375,10 @@ is-fullwidth-code-point@^1.0.0:
dependencies:
number-is-nan "^1.0.0"
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
is-generator-fn@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
@@ -2620,6 +2686,12 @@ latest-version@^2.0.0:
dependencies:
package-json "^2.0.0"
+latest-version@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.0.0.tgz#3104f008c0c391084107f85a344bc61e38970649"
+ dependencies:
+ package-json "^3.0.0"
+
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
@@ -2628,6 +2700,10 @@ lazy-req@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac"
+lazy-req@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4"
+
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
@@ -3148,6 +3224,15 @@ package-json@^2.0.0:
registry-url "^3.0.3"
semver "^5.1.0"
+package-json@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-3.1.0.tgz#ce281900fe8052150cc6709c6c006c18fdb2f379"
+ dependencies:
+ got "^6.7.1"
+ registry-auth-token "^3.0.1"
+ registry-url "^3.0.3"
+ semver "^5.1.0"
+
pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@@ -3769,6 +3854,10 @@ slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+sleep-ms@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/sleep-ms/-/sleep-ms-2.0.1.tgz#3cadbc4c6fb5e587c0c4e25f7685cbf0e3790db8"
+
slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
@@ -3932,6 +4021,13 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
+string-width@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^3.0.0"
+
string_decoder@~0.10.0, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
@@ -4054,6 +4150,12 @@ temp@~0.5.1:
dependencies:
rimraf "~2.1.4"
+term-size@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca"
+ dependencies:
+ execa "^0.4.0"
+
test-exclude@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977"
@@ -4096,6 +4198,10 @@ timed-out@^3.0.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
+timed-out@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+
timers-browserify@^1.0.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
@@ -4149,9 +4255,9 @@ trim-off-newlines@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
-tslib@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.5.0.tgz#3bb50f871e5fdf9a4555a9ff237b730860048fea"
+tslib@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.6.0.tgz#cf36c93e02ae86a20fc131eae511162b869a6652"
tslint-config-standard@^4.0.0:
version "4.0.0"
@@ -4166,9 +4272,9 @@ tslint-eslint-rules@^3.2.3:
doctrine "^0.7.2"
tslint "^4.0.0"
-tslint@^4.0.0, tslint@^4.0.2:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.4.2.tgz#b14cb79ae039c72471ab4c2627226b940dda19c6"
+tslint@^4.0.0, tslint@^4.5.1:
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.5.1.tgz#05356871bef23a434906734006fc188336ba824b"
dependencies:
babel-code-frame "^6.20.0"
colors "^1.1.2"
@@ -4177,7 +4283,12 @@ tslint@^4.0.0, tslint@^4.0.2:
glob "^7.1.1"
optimist "~0.6.0"
resolve "^1.1.7"
- update-notifier "^1.0.2"
+ tsutils "^1.1.0"
+ update-notifier "^2.0.0"
+
+tsutils@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.1.0.tgz#94e0c267624eeb1b63561ba8ec0bcff71b4e2872"
tty-browserify@~0.0.0:
version "0.0.0"
@@ -4195,13 +4306,13 @@ typedarray@~0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-typedoc-default-themes@^0.4.0:
+typedoc-default-themes@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.4.2.tgz#640b854fd7ef19e6774496ea7741ec31a0dcaddc"
-typedoc@^0.5.5:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.5.5.tgz#7fde3f80eeeecad23100e0d7e4f321c5b79f11fa"
+typedoc@^0.5.7:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.5.7.tgz#f2998dbb5909cb3f02db5fecb85e2a4377189e2a"
dependencies:
"@types/fs-extra" "0.0.33"
"@types/handlebars" "^4.0.31"
@@ -4210,7 +4321,7 @@ typedoc@^0.5.5:
"@types/marked" "0.0.28"
"@types/minimatch" "^2.0.29"
"@types/shelljs" "^0.3.32"
- fs-extra "^0.30.0"
+ fs-extra "^2.0.0"
handlebars "4.0.5"
highlight.js "^9.0.0"
lodash "^4.13.1"
@@ -4218,16 +4329,16 @@ typedoc@^0.5.5:
minimatch "^3.0.0"
progress "^1.1.8"
shelljs "^0.7.0"
- typedoc-default-themes "^0.4.0"
- typescript "2.1.5"
+ typedoc-default-themes "^0.4.2"
+ typescript "2.1.6"
-typescript@2.1.5:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.5.tgz#6fe9479e00e01855247cea216e7561bafcdbcd4a"
+typescript@2.1.6:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.6.tgz#40c7e6e9e5da7961b7718b55505f9cac9487a607"
-typescript@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.0.tgz#626f2fc70087d2480f21ebb12c1888288c8614e3"
+typescript@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.1.tgz#4862b662b988a4c8ff691cc7969622d24db76ae9"
uglify-js@^2.6:
version "2.7.5"
@@ -4254,6 +4365,12 @@ umd@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e"
+unique-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+ dependencies:
+ crypto-random-string "^1.0.0"
+
unique-temp-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385"
@@ -4270,6 +4387,10 @@ unzip-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
+unzip-response@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
+
update-notifier@^1.0.0, update-notifier@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a"
@@ -4283,6 +4404,19 @@ update-notifier@^1.0.0, update-notifier@^1.0.2:
semver-diff "^2.0.0"
xdg-basedir "^2.0.0"
+update-notifier@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9"
+ dependencies:
+ boxen "^1.0.0"
+ chalk "^1.0.0"
+ configstore "^3.0.0"
+ is-npm "^1.0.0"
+ latest-version "^3.0.0"
+ lazy-req "^2.0.0"
+ semver-diff "^2.0.0"
+ xdg-basedir "^3.0.0"
+
url-parse-lax@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
@@ -4426,6 +4560,10 @@ xdg-basedir@^2.0.0:
dependencies:
os-homedir "^1.0.0"
+xdg-basedir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
+
xdg-trashdir@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/xdg-trashdir/-/xdg-trashdir-2.1.0.tgz#57e33efed7e68d68fd46b5d7344abab37107030c"