Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:ecsos:server
nodejs-patch-package
patch-package-6.4.7.obscpio
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File patch-package-6.4.7.obscpio of Package nodejs-patch-package
07070100000000000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000001C00000000patch-package-6.4.7/.github07070100000001000081A40000000000000000000000016052114700000281000000000000000000000000000000000000002800000000patch-package-6.4.7/.github/FUNDING.yml# These are supported funding model platforms github: [ds300] patreon: # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 07070100000002000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000002600000000patch-package-6.4.7/.github/workflows07070100000003000081A40000000000000000000000016052114700000218000000000000000000000000000000000000002F00000000patch-package-6.4.7/.github/workflows/main.ymlon: [push, pull_request] name: Test jobs: test: name: ${{ matrix.os }} on node ${{ matrix.node }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] node: [10, 12, 13] steps: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: node-version: ${{ matrix.node }} - run: yarn install - run: git config --global user.email "patch-package@test.com" - run: git config --global user.name "patch-package" - run: yarn run test 07070100000004000081A40000000000000000000000016052114700000365000000000000000000000000000000000000001F00000000patch-package-6.4.7/.gitignore# Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* # Runtime data pids *.pid *.seed *.pid.lock # Directory for instrumented libs generated by jscoverage/JSCover lib-cov # Coverage directory used by tools like istanbul coverage # nyc test coverage .nyc_output # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) .grunt # Bower dependency directory (https://bower.io/) bower_components # node-waf configuration .lock-wscript # Compiled binary addons (http://nodejs.org/api/addons.html) build/Release # Dependency directories node_modules/ jspm_packages/ # Optional npm cache directory .npm # Optional eslint cache .eslintcache # Optional REPL history .node_repl_history # Output of 'npm pack' *.tgz # Yarn Integrity file .yarn-integrity # dotenv environment variables file .env dist/ patch-package.test.tgz 07070100000005000081A40000000000000000000000016052114700000047000000000000000000000000000000000000002000000000patch-package-6.4.7/.prettierrc{ "semi": false, "trailingComma": "all", "proseWrap": "always" } 07070100000006000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000001C00000000patch-package-6.4.7/.vscode07070100000007000081A4000000000000000000000001605211470000017C000000000000000000000000000000000000002800000000patch-package-6.4.7/.vscode/launch.json{ "version": "0.2.0", "configurations": [ { "name": "Debug Jest Tests", "type": "node", "request": "launch", "runtimeArgs": [ "--inspect-brk", "${workspaceRoot}/node_modules/.bin/jest", "--runInBand" ], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "port": 9229 } ] } 07070100000008000081A40000000000000000000000016052114700000217000000000000000000000000000000000000002A00000000patch-package-6.4.7/.vscode/settings.json// Place your settings in this file to overwrite default and user settings. { "editor.trimAutoWhitespace": false, "files.trimTrailingWhitespace": false, "files.insertFinalNewline": false, "search.exclude": { "**/node_modules": true, "**/bower_components": true, "dist": true }, "editor.formatOnPaste": true, "prettier.semi": false, "prettier.trailingComma": "all", "editor.formatOnSave": true, "tslint.enable": true, "typescript.tsdk": "node_modules/typescript/lib", "debug.node.autoAttach": "on" } 07070100000009000081A40000000000000000000000016052114700002131000000000000000000000000000000000000002100000000patch-package-6.4.7/CHANGELOG.md# Changelog ## 6.4.7 - Use npm i --force when creating patches ## 6.4.6 - Update find-yarn-workspace-root (contribution from @sarimarton in #282) - Fix rare npm crash when creating patches (contribution from @kf6kjg in #271) ## 6.4.5 - Increase max pipe buffer size when creating patch. (contribution from @nomi9995 in #287) ## 6.4.4 - Refine --create-issue template ## 6.4.3 - Ensure real path is used when copying package contents. Potentially adds pnpm support (contribution from @milahu in #252) ## 6.4.2 - Add package version to --create-issue template ## 6.4.1 - Add backlink to patch-package repo to collect public usage of --create-issue ## 6.4.0 - Add --create-issue option ## 6.3.1 - Fix another createPatch bug involving .git folder hygiene (contribution from @gomain in #258) ## 6.3.0 - Add --error-on-fail cli option - Collate errors and warnings to avoid exiting early (with help from @akwodkiewicz in #217) - Fix .dev.patch suffix bug (with help from @pdcastro in #224) - Support build metadata in package.json version strings (with help from @snowystinger in #213) - Change 'no patch files found' message from red to blue (contribution from @dmhalejr in #211) - Fix environment variable propogation for spawned tasks (contribution from @chpio in #223) - Add --patch-dir option to readme (contribution from @mikehardy in #225) - Fix createPatch bug involving .git folder hygiene (contribution from @haroenv in #231) ## 6.2.2 - Take config from .yarnrc when making patches (contribution from @NMinhNguyen in #222) ## 6.2.1 - Avoid infinite loop when invoked without package.json - Fall back to version in package-lock (contribution from @bschlenk in #206) - Add tips about Docker and CI to README (contribution from @harriha in #208) - Remove update notifier (contribution from @christianbundy in #196) - Add github actions checks (contribution from @asadm in #186 and @DanielRuf in #188, #187) - Fix url in README (contribution from @DanielRuf in #184) - Upgrade node in CI to 12 (contribution from @DanielRuf in #183) ## 6.2.0 - Add support for dev-only patches (#159 again) ## 6.1.4 - Use --ignore-scripts when making patches if it fails without (#151) ## 6.1.3 - Fail when patches are found for uninstalled packages (#159) - Support private registries declared in .npmrc (Contribution from @cherniavskii in #152) ## 6.1.2 - Explicitly handle failure edge case where symlinks are modified/created (#118) ## 6.1.1 - Fix npm edge case of package installed from url (#134) ## 6.1.0 - Add support for yarn workspaces - Degrade 'file mode change not required' error to warning ## 6.0.7 - Don't try to detect package manager on patch application (#133) ## 6.0.6 - Better error messages for patch parse failures (#131) ## 6.0.5 - Use lockfiles to get package resolutions. ## 6.0.4 - Fix patch parsing issue affecting windows (#124) ## 6.0.3 - Allow relative file paths for --patch-dir (Contribution from @lots0logs in #119) - Fix version string handling (Contribution from @teppeis in #122) - Add support for custom resolutions field in app's package.json (#125) - Fix property access bug (#123) - Move @types/is-ci from dependencies to devDependencies (#121) ## 6.0.2 - Revert failure exit code when no patches are found. ## 6.0.1 - Document --patch-dir option in readme ## 6.0.0 ### Highlights! - No longer dependent on Git to apply patches - Patch files are created much much much faster 🏃🏽♀️💨 - Fixed lots of small bugs - Explicit support for nested packages For full details see the prerelease notes. ## 6.0.0-18 - Allow fuzzy patch hunk application. - Minor UI tweaks - Ignore global git config to prevent issues like #109 & #115 - Add --ignore-engines to yarn invocation ## 6.0.0-17 - Fix the removal of old patch files when creating new ones. ## 6.0.0-16 - Fail postinstall only on CI to prevent weird upgrade issues locally (see #86) - Fail if no patches are present ## 6.0.0-15 - Handle mode changes - Backwards-compatible patch file parsing ## 6.0.0-14 - Handle renaming files properly ## 6.0.0-13 - Handle large diffs by not calling .toString on stdout buffer - Git usage fixes ## 6.0.0-12 - Support explicit nested package patching - Improve performance of patch creation ## 6.0.0-11 - Handle crlf line breaks in patch parser (Contribution from @NMinhNguyen) ## 6.0.0-10 - Add --patches-dir option (Contribution from @davidpett) ## 6.0.0-9 - Fix patch application bug when creating new files (Contribution from @stmarkidis) ## 6.0.0-8 - Improve diffing speed (Contribution from @KevinVlaanderen) ## 6.0.0-7 - Use --no-ext-diff option when generating diffs (Contribution from @janv) ## 6.0.0-6 - Make include/exclude regexes applied relative to the package root. Fixes #54 ## 6.0.0-5 - Fix preventing scripts from running when making patch file ## 6.0.0-4 - Don't delete package.json during patch creation ## 6.0.0-3 - Bugfixes for patch application - Prevent scripts from running when making patch file ## 6.0.0-2 - Bugfixes for patch application ## 6.0.0-1 - Bugfixes for patch application ## 6.0.0-0 - Reimplement most of patch application in TypeScript ## 5.1.1 - Fix idempotency regression. See #39 ## 5.1.0 - Add `--reverse` option for patch application. See #37 ## 5.0.0 - Remove yarn patching code - Recommend postinstall-prepare in README for yarn compatibility ## 4.0.0 - Ignore all package.json files by default - Exit with appropriate error when git is not available ## 3.6.1 - Fix bug where patch-package was complaining about failing when it had, in fact, succeeded. See #31 ## 3.6.0 - Remove git headers from patch files to prevent git from thinking files are part of the index ## 3.5.3 - Change the way patch files are re-written when the project root dir is not the same as the git root dir. - Remove redundant windows warning about whitespace ## 3.5.2 - Update README ## 3.5.1 - Ignore end-of-line whitespace when creating and applying patch files ## 3.5.0 - Add support for filtering particular paths ## 3.4.6 - Ensure use of unix-style paths everywhere ## 3.4.5 - Fix description of a hunk in error message ## 3.4.4 - Don't use `git apply` with `--unsafe-paths` since it is useless. ## 3.4.3 - Fix typo in error message ## 3.4.2 - Revert previous fix and suggest editing .gitattributes as an alternative ## 3.4.1 - Fix CRLF handling on Windows ## 3.4.0 - Add npm shrinkwrap support ## 3.3.6 - Use posix paths and line separators even on windows, for git's sake. ## 3.3.5 - Resolve paths in patch files for situations where the git root is not the same as the app root. ## 3.3.4 - Pass --unsafe-paths option to `git apply` to let it work on arbitrary file paths (i.e. files which are not in a git repo or files which are outside of the working directory) ## 3.3.3 - Fix bug introduced in 3.3.2 - Add progress reporting during patch making ## 3.3.2 Windows fixes: - Use `cross-spawn` for spawning child processes - Use `git apply` for applying patches, rather than `patch` Contribution by [@ashmind](https://github.com/ashmind) ## 3.3.1 - Use `fs-extra` to copy files instead of the `cp` shell command, which doesn't work on Windows ## 3.3.0 - Use `+` instead of `:` in patch file names because `:` is illegal on Windows. ## 3.2.1 - Make update-notifier message show local install ## 3.2.0 - Add update-notifier to notify users of patch-package updates ## 3.1.0 - Add support for scoped packages ## 3.0.0 - Add support for npm5 - Make yarn patching a cli option, off by default ## 2.1.1 Improve error messages ## 2.1.0 Reduce yarn error to a warning ## 2.0.0 - Require yarn as a peer dependency - Remove support for NPM Moving fast and breaking things. It turns out yarn doesn't run the prepare hook after removing a package, so we use patch-package to patch a local version of yarn. I'm not proud of this. Probably wouldn't have released this in the first place if I had known that yarn didn't have all the right hooks. Oh well. Now I have a reason to contribute to Yarn I guess. ## 1.2.1 - Fix patch creation logic around nested node_modules ## 1.2.0 - Enable picking up changes in nested node_modules folders. - Enable adding new files, not just patching existing files. ## 1.1.1 - Fix bug that made exit code 1 regardless of success or failure. ## 1.1.0 - Make applying patches work - Add nice colorful log messages. ## 1.0.0 Initial broken release 0707010000000A000081A40000000000000000000000016052114700000423000000000000000000000000000000000000001C00000000patch-package-6.4.7/LICENSECopyright (c) 2017 David Sheldrick 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. 0707010000000B000081A4000000000000000000000001605211470000249B000000000000000000000000000000000000001E00000000patch-package-6.4.7/README.md<p align="center"> <img src="https://ds300.github.io/patch-package/patch-package.svg" width="80%" alt="patch-package" /> </p> `patch-package` lets app authors instantly make and keep fixes to npm dependencies. It's a vital band-aid for those of us living on the bleeding edge. ```sh # fix a bug in one of your dependencies vim node_modules/some-package/brokenFile.js # run patch-package to create a .patch file npx patch-package some-package # commit the patch file to share the fix with your team git add patches/some-package+3.14.15.patch git commit -m "fix brokenFile.js in some-package" ``` Patches created by `patch-package` are automatically and gracefully applied when you use `npm`(>=5) or `yarn`. No more waiting around for pull requests to be merged and published. No more forking repos just to fix that one tiny thing preventing your app from working. ## Set-up In package.json ```diff "scripts": { + "postinstall": "patch-package" } ``` Then ### npm npm i patch-package You can use `--save-dev` if you don't need to run npm in production, e.g. if you're making a web frontend. ### yarn yarn add patch-package postinstall-postinstall You can use `--dev` if you don't need to run yarn in production, e.g. if you're making a web frontend. To understand why yarn needs the `postinstall-postinstall` package see: [Why use postinstall-postinstall](#why-use-postinstall-postinstall-with-yarn) ### yarn workspaces Same as for yarn ☝️ Note that if you want to patch un-hoisted packages you'll need to repeat the setup process for the child package. Also make sure you're in the child package directory when you run `patch-package` to generate the patch files. ### Heroku For `patch-package` to work on Heroku applications, you must specify [`NPM_CONFIG_PRODUCTION=false` or `YARN_PRODUCTION=false`](https://devcenter.heroku.com/articles/nodejs-support#package-installation). See [this issue](https://github.com/ds300/patch-package/issues/130) for more details. ### Docker and CI - If having errors about working directory ("cannot run in wd [...]") when building in Docker, you might need to adjust configuration in `.npmrc`. See [#185](https://github.com/ds300/patch-package/issues/185). - In your `Dockerfile`, remember to copy over the patch files _before_ running `[npm|yarn] install` - If you cache `node_modules` rather than running `yarn install` every time, make sure that the `patches` dir is included in your cache key somehow. Otherwise if you update a patch then the change may not be reflected on subsequent CI runs. ### CircleCI Create a hash of your patches before loading/saving your cache. If using a Linux machine, run `md5sum patches/* > patches.hash`. If running on a macOS machine, use `md5 patches/* > patches.hash` ```yaml - run: name: patch-package hash command: md5sum patches/* > patches.hash ``` Then, update your hash key to include a checksum of that file: ```yaml - restore_cache: key: app-node_modules-v1-{{ checksum "yarn.lock" }}-{{ checksum "patches.hash" }} ``` As well as the save_cache ```yaml - save_cache: key: app-node_modules-v1-{{ checksum "yarn.lock" }}-{{ checksum "patches.hash" }} paths: - ./node_modules ``` ## Usage ### Making patches First make changes to the files of a particular package in your node_modules folder, then run yarn patch-package package-name or use npx (included with `npm > 5.2`) npx patch-package package-name where `package-name` matches the name of the package you made changes to. If this is the first time you've used `patch-package`, it will create a folder called `patches` in the root dir of your app. Inside will be a file called `package-name+0.44.0.patch` or something, which is a diff between normal old `package-name` and your fixed version. Commit this to share the fix with your team. #### Options - `--create-issue` For packages whose source is hosted on GitHub this option opens a web browser with a draft issue based on your diff. - `--use-yarn` By default, patch-package checks whether you use npm or yarn based on which lockfile you have. If you have both, it uses npm by default. Set this option to override that default and always use yarn. - `--exclude <regexp>` Ignore paths matching the regexp when creating patch files. Paths are relative to the root dir of the package to be patched. Default value: `package\\.json$` - `--include <regexp>` Only consider paths matching the regexp when creating patch files. Paths are relative to the root dir of the package to be patched. Default value: `.*` - `--case-sensitive-path-filtering` Make regexps used in --include or --exclude filters case-sensitive. - `--patch-dir` Specify the name for the directory in which to put the patch files. #### Nested packages If you are trying to patch a package at, e.g. `node_modules/package/node_modules/another-package` you can just put a `/` between the package names: npx patch-package package/another-package It works with scoped packages too npx patch-package @my/package/@my/other-package ### Updating patches Use exactly the same process as for making patches in the first place, i.e. make more changes, run patch-package, commit the changes to the patch file. ### Applying patches Run `patch-package` without arguments to apply all patches in your project. #### Options - `--error-on-fail` Forces patch-package to exit with code 1 after failing. When running locally patch-package always exits with 0 by default. This happens even after failing to apply patches because otherwise yarn.lock and package.json might get out of sync with node_modules, which can be very confusing. `--error-on-fail` is **switched on** by default on CI. See https://github.com/ds300/patch-package/issues/86 for background. - `--reverse` Un-applies all patches. Note that this will fail if the patched files have changed since being patched. In that case, you'll probably need to re-install `node_modules`. This option was added to help people using CircleCI avoid [an issue around caching and patch file updates](https://github.com/ds300/patch-package/issues/37) but might be useful in other contexts too. - `--patch-dir` Specify the name for the directory in which the patch files are located #### Notes To apply patches individually, you may use `git`: git apply --ignore-whitespace patches/package-name+0.44.2.patch or `patch` in unixy environments: patch -p1 -i patches/package-name+0.44.2.patch ### Dev-only patches If you deploy your package to production (e.g. your package is a server) then any patched `devDependencies` will not be present when patch-package runs in production. It will happily ignore those patch files if the package to be patched is listed directly in the `devDependencies` of your package.json. If it's a transitive dependency patch-package can't detect that it is safe to ignore and will throw an error. To fix this, mark patches for transitive dev dependencies as dev-only by renaming from, e.g. package-name+0.44.0.patch to package-name+0.44.0.dev.patch This will allow those patch files to be safely ignored when `NODE_ENV=production`. ## Benefits of patching over forking - Sometimes forks need extra build steps, e.g. with react-native for Android. Forget that noise. - Get told in big red letters when the dependency changed and you need to check that your fix is still valid. - Keep your patches colocated with the code that depends on them. - Patches can be reviewed as part of your normal review process, forks probably can't ## When to fork instead - The change is too consequential to be developed in situ. - The change would be useful to other people as-is. - You can afford to make a proper PR to upstream. ## Isn't this dangerous? Nope. The technique is quite robust. Here are some things to keep in mind though: - It's easy to forget to run `yarn` or `npm` when switching between branches that do and don't have patch files. - Long lived patches can be costly to maintain if they affect an area of code that is updated regularly and you want to update the package regularly too. - Big semantic changes can be hard to review. Keep them small and obvious or add plenty of comments. - Changes can also impact the behaviour of other untouched packages. It's normally obvious when this will happen, and often desired, but be careful nonetheless. ## Why use postinstall-postinstall with Yarn? Most times when you do a `yarn`, `yarn add`, `yarn remove`, or `yarn install` (which is the same as just `yarn`) Yarn will completely replace the contents of your node_modules with freshly unpackaged modules. patch-package uses the `postinstall` hook to modify these fresh modules, so that they behave well according to your will. Yarn only runs the `postinstall` hook after `yarn` and `yarn add`, but not after `yarn remove`. The `postinstall-postinstall` package is used to make sure your `postinstall` hook gets executed even after a `yarn remove`. ## License MIT [![Empowered by Futurice's open source sponsorship program](https://img.shields.io/badge/sponsor-chilicorn-ff69b4.svg)](http://futurice.com/blog/sponsoring-free-time-open-source-activities?utm_source=github&utm_medium=spice&utm_campaign=patch-package) 0707010000000C000081ED000000000000000000000001605211470000006E000000000000000000000000000000000000002500000000patch-package-6.4.7/endless-tests.sh#!/usr/bin/env bash i=1 while true; do jest gener --silent echo many test thank $i i=$(( $i + 1 )) done 0707010000000D000081ED0000000000000000000000016052114700000031000000000000000000000000000000000000001D00000000patch-package-6.4.7/index.js#! /usr/bin/env node require("./dist/index.js") 0707010000000E000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000002600000000patch-package-6.4.7/integration-tests0707010000000F000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/adding-and-deleting-files07070100000010000081ED000000000000000000000001605211470000024B000000000000000000000000000000000000005D00000000patch-package-6.4.7/integration-tests/adding-and-deleting-files/adding-and-deleting-files.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "add a file" echo "this is a new file" > node_modules/lodash/newFile.md echo "remove a file" rm node_modules/lodash/fp/__.js echo "generate patch file" patch-package lodash echo "remove node_modules" rm -rf node_modules echo "resintall and patch node_modules" yarn patch-package echo "check that the file was added" ls node_modules/lodash/newFile.md echo "check that the file was removed" if ls node_modules/lodash/fp/__.js then exit 1 fi 07070100000011000081A400000000000000000000000160521147000000A1000000000000000000000000000000000000006200000000patch-package-6.4.7/integration-tests/adding-and-deleting-files/adding-and-deleting-files.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "adding-and-deleting-files", shouldProduceSnapshots: false, }) 07070100000012000081A40000000000000000000000016052114700000109000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/adding-and-deleting-files/package.json{ "name": "include-exclude-paths", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "lodash": "4.17.4" } } 07070100000013000081A40000000000000000000000016052114700004B50000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/adding-and-deleting-files/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 ansi-align@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" dependencies: string-width "^2.0.0" ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" ansi-styles@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" dependencies: color-convert "^1.9.0" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" boxen@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.1.tgz#0f11e7fe344edb9397977fc13ede7f64d956481d" dependencies: ansi-align "^2.0.0" camelcase "^4.0.0" chalk "^2.0.1" cli-boxes "^1.0.0" string-width "^2.0.0" term-size "^1.2.0" widest-line "^1.0.0" brace-expansion@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" camelcase@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" supports-color "^2.0.0" chalk@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" dependencies: ansi-styles "^3.1.0" escape-string-regexp "^1.0.5" supports-color "^4.0.0" cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 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" color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: color-name "^1.1.1" color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" configstore@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" dependencies: dot-prop "^4.1.0" graceful-fs "^4.1.2" make-dir "^1.0.0" unique-string "^1.0.0" write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" which "^1.2.9" 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" deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" dot-prop@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" dependencies: is-obj "^1.0.0" duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 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" execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" fs-extra@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.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" get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" glob@^7.0.5: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 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" 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.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" dependencies: ansi-regex "^2.0.0" has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: once "^1.3.0" wrappy "1" inherits@2: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 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" 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-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" optionalDependencies: graceful-fs "^4.1.6" latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" dependencies: package-json "^4.0.0" lodash@4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" lowercase-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" lru-cache@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: pseudomap "^1.0.2" yallist "^2.1.2" make-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" dependencies: pify "^2.3.0" minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: path-key "^2.0.0" 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" once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" os-tmpdir@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" package-json@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" dependencies: got "^6.7.1" registry-auth-token "^3.0.1" registry-url "^3.0.3" semver "^5.1.0" patch-package@../../../patch-package.test.1506977927.tgz: version "3.4.6" resolved "../../../patch-package.test.1506977927.tgz#d4c78d33e3a38c7ec97c0db76fc72bd75292d63e" dependencies: chalk "^1.1.3" cross-spawn "^5.1.0" fs-extra "^4.0.1" minimist "^1.2.0" recursive-readdir-sync "^1.0.6" rimraf "^2.6.1" slash "^1.0.0" tmp "^0.0.31" update-notifier "^2.2.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" path-key@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" rc@^1.0.1, rc@^1.1.6: version "1.2.1" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: deep-extend "~0.4.0" ini "~1.3.0" minimist "^1.2.0" strip-json-comments "~2.0.1" recursive-readdir-sync@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/recursive-readdir-sync/-/recursive-readdir-sync-1.0.6.tgz#1dbf6d32f3c5bb8d3cde97a6c588d547a9e13d56" registry-auth-token@^3.0.1: version "3.3.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.1.tgz#fb0d3289ee0d9ada2cbb52af5dfe66cb070d3006" dependencies: rc "^1.1.6" safe-buffer "^5.0.1" registry-url@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" dependencies: rc "^1.0.1" rimraf@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" safe-buffer@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" dependencies: semver "^5.0.3" semver@^5.0.3, semver@^5.1.0: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 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" slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" supports-color@^4.0.0: version "4.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" dependencies: has-flag "^2.0.0" term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" dependencies: execa "^0.7.0" timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 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" 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" universalify@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" 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@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" dependencies: boxen "^1.0.0" chalk "^1.0.0" configstore "^3.0.0" import-lazy "^2.1.0" is-npm "^1.0.0" latest-version "^3.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" dependencies: prepend-http "^1.0.1" which@^1.2.9: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: isexe "^2.0.0" widest-line@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" dependencies: string-width "^1.0.1" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" signal-exit "^3.0.2" xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 07070100000014000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003800000000patch-package-6.4.7/integration-tests/broken-patch-file07070100000015000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/broken-patch-file/__snapshots__07070100000016000081A4000000000000000000000001605211470000035A000000000000000000000000000000000000006500000000patch-package-6.4.7/integration-tests/broken-patch-file/__snapshots__/broken-patch-file.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test broken-patch-file: patch-package fails when patch file is invalid 1`] = ` "SNAPSHOT: patch-package fails when patch file is invalid **ERROR** Failed to apply patch for package left-pad at path node_modules/left-pad This error was caused because patch-package cannot apply the following patch file: patches/left-pad+1.1.3.patch Try removing node_modules and trying again. If that doesn't work, maybe there was an accidental change made to the patch file? Try recreating it by manually editing the appropriate files and running: patch-package left-pad If that doesn't work, then it's a bug in patch-package, so please submit a bug report. Thanks! https://github.com/ds300/patch-package/issues --- patch-package finished with 1 error(s). END SNAPSHOT" `; 07070100000017000081ED0000000000000000000000016052114700000109000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/broken-patch-file/broken-patch-file.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package (>&2 echo "SNAPSHOT: patch-package fails when patch file is invalid") if patch-package then exit 1 fi (>&2 echo "END SNAPSHOT") 07070100000018000081A40000000000000000000000016052114700000097000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/broken-patch-file/broken-patch-file.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "broken-patch-file", shouldProduceSnapshots: true, }) 07070100000019000081A400000000000000000000000160521147000000CD000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/broken-patch-file/package.json{ "name": "broken-patch-file", "version": "1.0.0", "description": "a project", "main": "index.js", "author": "Mr someoone", "license": "ISC", "dependencies": { "left-pad": "^1.1.3" } } 0707010000001A000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/broken-patch-file/patches0707010000001B000081A40000000000000000000000016052114700000138000000000000000000000000000000000000005500000000patch-package-6.4.7/integration-tests/broken-patch-file/patches/left-pad+1.1.3.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 26f73ff..2533184 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -12,7 +12,7 @@ var cache = [ ' ', ' ', ' ', - ' - ', + ' h ', ' ', ' ', ' ', 0707010000001C000081A400000000000000000000000160521147000000EA000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/broken-patch-file/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 left-pad@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a" 0707010000001D000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003500000000patch-package-6.4.7/integration-tests/collate-errors0707010000001E000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/collate-errors/__snapshots__0707010000001F000081A40000000000000000000000016052114700000767000000000000000000000000000000000000005F00000000patch-package-6.4.7/integration-tests/collate-errors/__snapshots__/collate-errors.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test collate-errors: left-pad, lodash, and zfs apply 1`] = ` "SNAPSHOT: left-pad, lodash, and zfs apply patch-package 0.0.0 Applying patches... left-pad@1.1.1 ✔ lodash@4.17.21 ✔ zfs@1.3.0 ✔ END SNAPSHOT" `; exports[`Test collate-errors: underscore does not apply, left-pad warns 1`] = ` "SNAPSHOT: underscore does not apply, left-pad warns Warning: patch-package detected a patch file version mismatch Don't worry! This is probably fine. The patch was still applied successfully. Here's the deets: Patch file created for left-pad@1.1.1 applied to left-pad@1.1.2 At path node_modules/left-pad This warning is just to give you a heads-up. There is a small chance of breakage even though the patch was applied successfully. Make sure the package still behaves like you expect (you wrote tests, right?) and then run patch-package left-pad to update the version in the patch file name and make this warning go away. **ERROR** Failed to apply patch for package underscore at path node_modules/underscore This error was caused because underscore has changed since you made the patch file for it. This introduced conflicts with your patch, just like a merge conflict in Git when separate incompatible changes are made to the same piece of code. Maybe this means your patch file is no longer necessary, in which case hooray! Just delete it! Otherwise, you need to generate a new patch file. To generate a new one, just repeat the steps you made to generate the first one. i.e. manually make the appropriate file changes, then run patch-package underscore Info: Patch file: patches/underscore+1.0.3.patch Patch was made for version: 1.0.3 Installed version: 1.12.0 --- patch-package finished with 1 warning(s), 1 error(s). END SNAPSHOT" `; 07070100000020000081ED0000000000000000000000016052114700000149000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/collate-errors/collate-errors.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "SNAPSHOT: left-pad, lodash, and zfs apply" (>&2 echo "SNAPSHOT: underscore does not apply, left-pad warns") if patch-package; then exit 1 fi (>&2 echo "END SNAPSHOT") echo "END SNAPSHOT"07070100000021000081A40000000000000000000000016052114700000094000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/collate-errors/collate-errors.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "collate-errors", shouldProduceSnapshots: true, }) 07070100000022000081A40000000000000000000000016052114700000123000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/collate-errors/package.json{ "name": "collate-errors", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "1.1.2", "lodash": "^4.17.21", "underscore": "^1.12.0", "zfs": "^1.3.0" } } 07070100000023000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003D00000000patch-package-6.4.7/integration-tests/collate-errors/patches07070100000024000081A40000000000000000000000016052114700000125000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/collate-errors/patches/left-pad+1.1.1.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 6b56df3..3433636 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -1,6 +1,9 @@ 'use strict'; module.exports = leftPad; + +// patch-package + var cache = [ '', ' ', 07070100000025000081A40000000000000000000000016052114700000347000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/collate-errors/patches/lodash+4.17.21.patchdiff --git a/node_modules/lodash/_arrayFilter.js b/node_modules/lodash/_arrayFilter.js index 75ea254..444241d 100644 --- a/node_modules/lodash/_arrayFilter.js +++ b/node_modules/lodash/_arrayFilter.js @@ -2,7 +2,7 @@ * A specialized version of `_.filter` for arrays without support for * iteratee shorthands. * - * @private + * @patchPackage * @param {Array} [array] The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {Array} Returns the new filtered array. diff --git a/node_modules/lodash/ceil.js b/node_modules/lodash/ceil.js index 56c8722..b4a5e1f 100644 --- a/node_modules/lodash/ceil.js +++ b/node_modules/lodash/ceil.js @@ -23,4 +23,6 @@ var createRound = require('./_createRound'); */ var ceil = createRound('ceil'); +// patch-package + module.exports = ceil; 07070100000026000081A400000000000000000000000160521147000001E8000000000000000000000000000000000000005400000000patch-package-6.4.7/integration-tests/collate-errors/patches/underscore+1.0.3.patchdiff --git a/node_modules/underscore/README b/node_modules/underscore/README index 333b13f..dc192cf 100644 --- a/node_modules/underscore/README +++ b/node_modules/underscore/README @@ -16,7 +16,7 @@ in JavaScript objects. It's the tie to go along with jQuery's tux. For Docs, License, Tests, and pre-packed downloads, see: http://documentcloud.github.com/underscore/ -Many thanks to our contributors: +Many thanks to our wonderful contributors: Dmitry Baranovskiy Tim Caswell 07070100000027000081A40000000000000000000000016052114700000177000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/collate-errors/patches/zfs+1.3.0.patchdiff --git a/node_modules/zfs/lib/main.js b/node_modules/zfs/lib/main.js index ce5f7dd..0d6432b 100644 --- a/node_modules/zfs/lib/main.js +++ b/node_modules/zfs/lib/main.js @@ -13,6 +13,7 @@ exports.mount = zfs.mount; exports.unmount = zfs.unmount; exports.send = zfs.send; exports.receive = zfs.receive; +exports.patchPackage = yes; exports.zfs = { set: zfs.set, 07070100000028000081A400000000000000000000000160521147000003D6000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/collate-errors/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 left-pad@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.2.tgz#b46d4b36116fafb6f2814c30ecf3247bdfd842f7" integrity sha1-tG1LNhFvr7bygUww7PMke9/YQvc= lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== underscore@^1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.0.tgz#4814940551fc80587cef7840d1ebb0f16453be97" integrity sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ== zfs@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/zfs/-/zfs-1.3.0.tgz#aa5e2e5469da762273e16361ec9d7822e44b4ae4" integrity sha1-ql4uVGnadiJz4WNh7J14IuRLSuQ= 07070100000029000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003300000000patch-package-6.4.7/integration-tests/create-issue0707010000002A000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/create-issue/__snapshots__0707010000002B000081A40000000000000000000000016052114700000832000000000000000000000000000000000000005B00000000patch-package-6.4.7/integration-tests/create-issue/__snapshots__/create-issue.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test create-issue: patching left-pad prompts to submit an issue 1`] = ` "SNAPSHOT: patching left-pad prompts to submit an issue patch-package 0.0.0 • Creating temporary folder • Installing left-pad@1.3.0 with yarn • Diffing your files with clean files ✔ Created file patches/left-pad+1.3.0.patch 💡 left-pad is on GitHub! To draft an issue based on your patch run yarn patch-package left-pad --create-issue END SNAPSHOT" `; exports[`Test create-issue: patching left-pad with --create-issue opens the url 1`] = ` "SNAPSHOT: patching left-pad with --create-issue opens the url patch-package 0.0.0 • Creating temporary folder • Installing left-pad@1.3.0 with yarn • Diffing your files with clean files ✔ Created file patches/left-pad+1.3.0.patch MOCK opening https://github.com/stevemao/left-pad/issues/new MOCK title MOCK body Hi! 👋 Firstly, thanks for your work on this project! 🙂 Today I used [patch-package](https://github.com/ds300/patch-package) to patch \`left-pad@1.3.0\` for the project I'm working on. <!-- 🔺️🔺️🔺️ PLEASE REPLACE THIS BLOCK with a description of your problem, and any other relevant context 🔺️🔺️🔺️ --> Here is the diff that solved my problem: \`\`\`diff diff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index e90aec3..cbca95b 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.exports = leftPad; +module.exports = patch-package; var cache = [ '', @@ -19,7 +19,7 @@ var cache = [ ' ' ]; -function leftPad (str, len, ch) { +function patch-package (str, len, ch) { // convert \`str\` to a \`string\` str = str + ''; // \`len\` is the \`pad\`'s length now \`\`\` <em>This issue body was [partially generated by patch-package](https://github.com/ds300/patch-package/issues/296).</em> END SNAPSHOT" `; 0707010000002C000081ED0000000000000000000000016052114700000206000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/create-issue/create-issue.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "modify left-pad" npx replace leftPad patch-package node_modules/left-pad/index.js echo "SNAPSHOT: patching left-pad prompts to submit an issue" patch-package left-pad echo "END SNAPSHOT" echo "mock open" cp open.mock.js node_modules/open/index.js echo "SNAPSHOT: patching left-pad with --create-issue opens the url" patch-package left-pad --create-issue echo "END SNAPSHOT" 0707010000002D000081A40000000000000000000000016052114700000092000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/create-issue/create-issue.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "create-issue", shouldProduceSnapshots: true, }) 0707010000002E000081A400000000000000000000000160521147000000F3000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/create-issue/open.mock.jsmodule.exports = (url) => { const [resource, query] = url.split("?") console.log("MOCK opening", resource) const { title, body } = require("querystring").parse(query) console.log("MOCK title", title) console.log("MOCK body", body) } 0707010000002F000081A40000000000000000000000016052114700000109000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/create-issue/package.json{ "name": "create-issue", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "^1.3.0", "lodash": "^4.17.21", "replace": "^1.2.0" } } 07070100000030000081A40000000000000000000000016052114700002D01000000000000000000000000000000000000003D00000000patch-package-6.4.7/integration-tests/create-issue/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== chalk@2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" wrap-ansi "^6.2.0" color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 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= decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 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" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 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" p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== replace@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.2.0.tgz#a25da288841aab22f0f7e95dc1d249dbd2ed6e26" integrity sha512-e3AP5GkRk+N/Qm1MUBaMhEHr4X3sHNI44a8m4ww6/qShJphTsStxSezbYtFNTFGCXZtWrwz4McVvCEwBv+ebAw== dependencies: chalk "2.4.2" minimatch "3.0.4" yargs "^15.3.1" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= string-width@^4.1.0, string-width@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.1.tgz#1933ce1f470973d224368009bd1316cad81d5f4f" integrity sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: ansi-regex "^5.0.0" supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" y18n@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" decamelize "^1.2.0" find-up "^4.1.0" get-caller-file "^2.0.1" require-directory "^2.1.1" require-main-filename "^2.0.0" set-blocking "^2.0.0" string-width "^4.2.0" which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^18.1.2" 07070100000031000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003700000000patch-package-6.4.7/integration-tests/custom-patch-dir07070100000032000081ED00000000000000000000000160521147000001ED000000000000000000000000000000000000004B00000000patch-package-6.4.7/integration-tests/custom-patch-dir/custom-patch-dir.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "modify left-pad" npx replace pad patch-package node_modules/left-pad/index.js mkdir my echo "make patch file" patch-package left-pad --patch-dir my/patches ls my/patches/left-pad* echo "reinstall node_modules" rimraf node_modules yarn echo "run patch-package" patch-package --patch-dir my/patches grep patch-package node_modules/left-pad/index.js07070100000033000081A40000000000000000000000016052114700000097000000000000000000000000000000000000005000000000patch-package-6.4.7/integration-tests/custom-patch-dir/custom-patch-dir.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "custom-patch-dir", shouldProduceSnapshots: false, }) 07070100000034000081A4000000000000000000000001605211470000010A000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/custom-patch-dir/package.json{ "name": "custom-patch-dir", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "1.3.0", "replace": "^1.0.1", "rimraf": "^2.6.3" } } 07070100000035000081A40000000000000000000000016052114700004722000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/custom-patch-dir/yarn.lock# 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" 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= get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 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.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" left-pad@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" mem@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" integrity sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^1.0.0" p-is-promise "^2.0.0" mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== minimatch@3.0.4, 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" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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, once@^1.3.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 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= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" replace@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.1.tgz#a7838aaf5977d443e903aea4ba52b2c7ac432190" integrity sha512-Qh0XcLMb3LYa6fs7V30zQHACbJTQJUERl22lVjaq0dJp6B5q1t/vARXDauS1ywpIs3ZkT3APj4EA6aOoHoaHDA== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" semver@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 07070100000036000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003900000000patch-package-6.4.7/integration-tests/custom-resolutions07070100000037000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000006900000000patch-package-6.4.7/integration-tests/custom-resolutions/blahblahblah-definitely-not-a-real-package-name07070100000038000081A40000000000000000000000016052114700000000000000000000000000000000000000000000007200000000patch-package-6.4.7/integration-tests/custom-resolutions/blahblahblah-definitely-not-a-real-package-name/index.js07070100000039000081A40000000000000000000000016052114700000080000000000000000000000000000000000000007600000000patch-package-6.4.7/integration-tests/custom-resolutions/blahblahblah-definitely-not-a-real-package-name/package.json{ "name": "blahblahblah-definitely-not-a-real-package-name", "version": "1.0.0", "main": "index.js", "license": "MIT" } 0707010000003A000081ED000000000000000000000001605211470000013A000000000000000000000000000000000000004F00000000patch-package-6.4.7/integration-tests/custom-resolutions/custom-resolutions.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "make changes to dependency/index.js" echo '// hello i am patch-package' > node_modules/dependency/index.js echo "doesn't fail when making a patch" patch-package dependency 0707010000003B000081A40000000000000000000000016052114700000099000000000000000000000000000000000000005400000000patch-package-6.4.7/integration-tests/custom-resolutions/custom-resolutions.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "custom-resolutions", shouldProduceSnapshots: false, }) 0707010000003C000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/custom-resolutions/dependency0707010000003D000081A40000000000000000000000016052114700000019000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/custom-resolutions/dependency/index.js// hello i am dependency 0707010000003E000081A400000000000000000000000160521147000000B4000000000000000000000000000000000000005100000000patch-package-6.4.7/integration-tests/custom-resolutions/dependency/package.json{ "name": "dependency", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": { "blahblahblah-definitely-not-a-real-package-name": "0.34.2" } } 0707010000003F000081A40000000000000000000000016052114700000171000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/custom-resolutions/package.json{ "name": "custom-resolutions", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "dependency": "file:./dependency" }, "resolutions": { "blahblahblah-definitely-not-a-real-package-name": "file:./blahblahblah-definitely-not-a-real-package-name" } } 07070100000040000081A400000000000000000000000160521147000073C3000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/custom-resolutions/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 accepts@~1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= dependencies: mime-types "~2.1.18" negotiator "0.6.1" 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= banana@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/banana/-/banana-0.0.0.tgz#078bdf205a1a2796e9505493e61a4e71ff70e832" integrity sha1-B4vfIFoaJ5bpUFST5hpOcf9w6DI= dependencies: express ">= 2.5" socket.io ">= 0.8" body-parser@1.18.3: version "1.18.3" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= dependencies: bytes "3.0.0" content-type "~1.0.4" debug "2.6.9" depd "~1.1.2" http-errors "~1.6.3" iconv-lite "0.4.23" on-finished "~2.3.0" qs "6.5.2" raw-body "2.3.3" type-is "~1.6.16" 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" bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= camelcase@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" "express@>= 2.5": version "4.16.4" resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== dependencies: accepts "~1.3.5" array-flatten "1.1.1" body-parser "1.18.3" content-disposition "0.5.2" content-type "~1.0.4" cookie "0.3.1" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" finalhandler "1.1.1" fresh "0.5.2" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" parseurl "~1.3.2" path-to-regexp "0.1.7" proxy-addr "~2.0.4" qs "6.5.2" range-parser "~1.2.0" safe-buffer "5.1.2" send "0.16.2" serve-static "1.13.2" setprototypeof "1.1.0" statuses "~1.4.0" type-is "~1.6.16" utils-merge "1.0.1" vary "~1.1.2" finalhandler@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" on-finished "~2.3.0" parseurl "~1.3.2" statuses "~1.4.0" unpipe "~1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" forwarded@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: depd "~1.1.2" inherits "2.0.3" setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" iconv-lite@0.4.23: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== dependencies: safer-buffer ">= 2.1.2 < 3" inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= mem@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" integrity sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^1.0.0" p-is-promise "^2.0.0" merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= mime-db@~1.38.0: version "1.38.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== mime-types@~2.1.18: version "2.1.22" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== dependencies: mime-db "~1.38.0" mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 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" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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= on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: ee-first "1.1.1" once@^1.3.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== parseurl@~1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= proxy-addr@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== dependencies: forwarded "~0.1.2" ipaddr.js "1.8.0" pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" qs@6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= raw-body@2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== dependencies: bytes "3.0.0" http-errors "1.6.3" iconv-lite "0.4.23" unpipe "1.0.0" replace@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.1.tgz#a7838aaf5977d443e903aea4ba52b2c7ac432190" integrity sha512-Qh0XcLMb3LYa6fs7V30zQHACbJTQJUERl22lVjaq0dJp6B5q1t/vARXDauS1ywpIs3ZkT3APj4EA6aOoHoaHDA== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= safe-buffer@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== semver@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== dependencies: debug "2.6.9" depd "~1.1.2" destroy "~1.0.4" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" http-errors "~1.6.2" mime "1.4.1" ms "2.0.0" on-finished "~2.3.0" range-parser "~1.2.0" statuses "~1.4.0" serve-static@1.13.2: version "1.13.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.2" send "0.16.2" set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= "socket.io@>= 0.8", "socket.io@file:./mocket.io/": version "1.0.0" "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= statuses@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= type-is@~1.6.16: version "1.6.16" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== dependencies: media-typer "0.3.0" mime-types "~2.1.18" unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 07070100000041000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003D00000000patch-package-6.4.7/integration-tests/delete-old-patch-files07070100000042000081ED0000000000000000000000016052114700000387000000000000000000000000000000000000005700000000patch-package-6.4.7/integration-tests/delete-old-patch-files/delete-old-patch-files.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "apply patch-package" patch-package echo "make sure the changes were applied" grep patch-package node_modules/@types/lodash/index.d.ts grep patchPackage node_modules/lodash/index.js echo "make sure the files were still named like before" ls patches/lodash:4.17.11.patch ls patches/@types/lodash:4.14.120.patch echo "make patch files again" patch-package lodash @types/lodash echo "make sure the changes were still applied" grep patch-package node_modules/@types/lodash/index.d.ts grep patchPackage node_modules/lodash/index.js echo "make sure the file names have changed" if ls patches/lodash:4.17.11.patch; then exit 1 fi if ls patches/@types/lodash:4.14.120.patch; then exit 1 fi ls patches/lodash+4.17.11.patch ls patches/@types+lodash+4.14.120.patch 07070100000043000081A4000000000000000000000001605211470000009D000000000000000000000000000000000000005C00000000patch-package-6.4.7/integration-tests/delete-old-patch-files/delete-old-patch-files.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "delete-old-patch-files", shouldProduceSnapshots: false, }) 07070100000044000081A40000000000000000000000016052114700000102000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/delete-old-patch-files/package.json{ "name": "delete-old-patch-files", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "@types/lodash": "^4.14.120", "lodash": "^4.17.11" } } 07070100000045000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/delete-old-patch-files/patches07070100000046000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/delete-old-patch-files/patches/@types07070100000047000081A4000000000000000000000001605211470000037D000000000000000000000000000000000000006200000000patch-package-6.4.7/integration-tests/delete-old-patch-files/patches/@types/lodash:4.14.120.patchdiff --git a/node_modules/@types/lodash/index.d.ts b/node_modules/@types/lodash/index.d.ts index 95228b8..e4eaa37 100644 --- a/node_modules/@types/lodash/index.d.ts +++ b/node_modules/@types/lodash/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for Lo-Dash 4.14 // Project: http://lodash.com/ -// Definitions by: Brian Zengel <https://github.com/bczengel>, +// patch-package by: Brian Zengel <https://github.com/bczengel>, // Ilya Mochalov <https://github.com/chrootsu>, // Stepan Mikhaylyuk <https://github.com/stepancar>, // AJ Richardson <https://github.com/aj-r>, @@ -43,5 +43,5 @@ declare global { // tslint:disable-next-line:no-empty-interface interface WeakSet<T> { } // tslint:disable-next-line:no-empty-interface - interface WeakMap<K extends object, V> { } + patch-package WeakMap<K extends object, V> { } } 07070100000048000081A40000000000000000000000016052114700000128000000000000000000000000000000000000005A00000000patch-package-6.4.7/integration-tests/delete-old-patch-files/patches/lodash:4.17.11.patchdiff --git a/node_modules/lodash/index.js b/node_modules/lodash/index.js index 5d063e2..9fe7004 100644 --- a/node_modules/lodash/index.js +++ b/node_modules/lodash/index.js @@ -1 +1 @@ -module.exports = require('./lodash'); \ No newline at end of file +module.patchPackage = require('./lodash'); 07070100000049000081A4000000000000000000000001605211470000026A000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/delete-old-patch-files/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@types/lodash@^4.14.120": version "4.14.120" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.120.tgz#cf265d06f6c7a710db087ed07523ab8c1a24047b" integrity sha512-jQ21kQ120mo+IrDs1nFNVm/AsdFxIx2+vZ347DbogHJPd/JzKNMOqU6HCYin1W6v8l5R9XSO2/e9cxmn7HAnVw== lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 0707010000004A000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003500000000patch-package-6.4.7/integration-tests/delete-scripts0707010000004B000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/delete-scripts/__snapshots__0707010000004C000081A40000000000000000000000016052114700000326000000000000000000000000000000000000005F00000000patch-package-6.4.7/integration-tests/delete-scripts/__snapshots__/delete-scripts.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test delete-scripts: a patch file got produced 1`] = ` "SNAPSHOT: a patch file got produced diff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index e90aec3..f2b8b0a 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.exports = leftPad; +module.exports = patchPackage; var cache = [ '', @@ -19,7 +19,7 @@ var cache = [ ' ' ]; -function leftPad (str, len, ch) { +function patchPackage (str, len, ch) { // convert \`str\` to a \`string\` str = str + ''; // \`len\` is the \`pad\`'s length now END SNAPSHOT" `; 0707010000004D000081ED0000000000000000000000016052114700000221000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/delete-scripts/delete-scripts.shset -e echo 'install without error because package.json is sanitized' yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo 'unsnitize package.json' npx replace '<<PREINSTALL>>' preinstall package.json echo 'install fails because preinstall hook is bad' if yarn; then exit 1 fi npx replace leftPad patchPackage node_modules/left-pad/index.js echo 'but patch-package still works because it ignores scripts' patch-package left-pad echo "SNAPSHOT: a patch file got produced" cat patches/left-pad*.patch echo "END SNAPSHOT" 0707010000004E000081A40000000000000000000000016052114700000095000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/delete-scripts/delete-scripts.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "delete-scripts", shouldProduceSnapshots: true, }) 0707010000004F000081A400000000000000000000000160521147000000DC000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/delete-scripts/package.json{ "name": "delete-scripts", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "<<PREINSTALL>>": "exit 1" }, "dependencies": { "left-pad": "^1.3.0", "replace": "^1.0.0" } }07070100000050000081A40000000000000000000000016052114700000963000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/delete-scripts/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" strip-ansi "~0.1.0" colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" nomnom@1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" dependencies: chalk "~0.4.0" underscore "~1.6.0" replace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.0.tgz#da5235cc6d64d5c3a74e4ef73b487aad0f79a74b" dependencies: colors "1.2.4" minimatch "3.0.4" nomnom "1.8.1" strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" 07070100000051000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003700000000patch-package-6.4.7/integration-tests/dev-only-patches07070100000052000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/dev-only-patches/__snapshots__07070100000053000081A400000000000000000000000160521147000003D8000000000000000000000000000000000000006300000000patch-package-6.4.7/integration-tests/dev-only-patches/__snapshots__/dev-only-patches.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test dev-only-patches: fake-package should be skipped 1`] = ` "SNAPSHOT: fake-package should be skipped patch-package 0.0.0 Applying patches... Skipping dev-only fake-package@3.0.0 ✔ left-pad@1.3.0 ✔ Skipping dev-only slash@3.0.0 ✔ END SNAPSHOT" `; exports[`Test dev-only-patches: patch-package fails to find fake-package 1`] = ` "SNAPSHOT: patch-package fails to find fake-package Error: Patch file found for package fake-package which is not present at node_modules/fake-package If this package is a dev dependency, rename the patch file to fake-package+3.0.0.dev.patch --- patch-package finished with 1 error(s). END SNAPSHOT" `; exports[`Test dev-only-patches: patch-package happily ignores slash because it's a dev dep 1`] = ` "SNAPSHOT: patch-package happily ignores slash because it's a dev dep patch-package 0.0.0 Applying patches... left-pad@1.3.0 ✔ Skipping dev-only slash@3.0.0 ✔ END SNAPSHOT" `; 07070100000054000081ED00000000000000000000000160521147000002E0000000000000000000000000000000000000004B00000000patch-package-6.4.7/integration-tests/dev-only-patches/dev-only-patches.sh# make sure errors stop the script set -e echo "set production mode" export NODE_ENV=production echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "SNAPSHOT: patch-package happily ignores slash because it's a dev dep" patch-package echo "END SNAPSHOT" echo "create fake-package+3.0.0.patch" cp patches/slash+3.0.0.patch patches/fake-package+3.0.0.patch (>&2 echo "SNAPSHOT: patch-package fails to find fake-package") if patch-package then exit 1 fi (>&2 echo "END SNAPSHOT") echo "rename fake-package patch file to .dev.patch" mv patches/fake-package+3.0.0.patch patches/fake-package+3.0.0.dev.patch echo "SNAPSHOT: fake-package should be skipped" patch-package echo "END SNAPSHOT" 07070100000055000081A40000000000000000000000016052114700000096000000000000000000000000000000000000005000000000patch-package-6.4.7/integration-tests/dev-only-patches/dev-only-patches.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "dev-only-patches", shouldProduceSnapshots: true, }) 07070100000056000081A40000000000000000000000016052114700000121000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/dev-only-patches/package.json{ "name": "dev-only-patches", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "1.3.0", "rimraf": "3.0.0" }, "devDependencies": { "slash": "3.0.0" } } 07070100000057000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/dev-only-patches/patches07070100000058000081A400000000000000000000000160521147000001A1000000000000000000000000000000000000005400000000patch-package-6.4.7/integration-tests/dev-only-patches/patches/left-pad+1.3.0.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index e90aec3..823ee5f 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.exports = leftPad; +module.exports = patchPackage; var cache = [ '', 07070100000059000081A4000000000000000000000001605211470000019C000000000000000000000000000000000000005100000000patch-package-6.4.7/integration-tests/dev-only-patches/patches/slash+3.0.0.patchdiff --git a/node_modules/slash/index.js b/node_modules/slash/index.js index 103fbea..e3c36f8 100644 --- a/node_modules/slash/index.js +++ b/node_modules/slash/index.js @@ -1,5 +1,5 @@ 'use strict'; -module.exports = path => { +module.patchPackage = path => { const isExtendedLengthPath = /^\\\\\?\\/.test(path); const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex 0707010000005A000081A40000000000000000000000016052114700000E45000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/dev-only-patches/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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" 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= 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.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 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== left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== 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" 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" 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@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.0.tgz#614176d4b3010b75e5c390eb0ee96f6dc0cebb9b" integrity sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg== dependencies: glob "^7.1.3" slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 0707010000005B000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003400000000patch-package-6.4.7/integration-tests/error-on-fail0707010000005C000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/error-on-fail/__snapshots__0707010000005D000081A40000000000000000000000016052114700000354000000000000000000000000000000000000005D00000000patch-package-6.4.7/integration-tests/error-on-fail/__snapshots__/error-on-fail.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test error-on-fail: at dev time patch-package fails but returns 0 1`] = ` "SNAPSHOT: at dev time patch-package fails but returns 0 **ERROR** Failed to apply patch for package left-pad at path node_modules/left-pad This error was caused because patch-package cannot apply the following patch file: patches/left-pad+1.3.0.patch Try removing node_modules and trying again. If that doesn't work, maybe there was an accidental change made to the patch file? Try recreating it by manually editing the appropriate files and running: patch-package left-pad If that doesn't work, then it's a bug in patch-package, so please submit a bug report. Thanks! https://github.com/ds300/patch-package/issues --- patch-package finished with 1 error(s). END SNAPSHOT" `; 0707010000005E000081ED00000000000000000000000160521147000001B6000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/error-on-fail/error-on-fail.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package export NODE_ENV="development" export CI="" (>&2 echo "SNAPSHOT: at dev time patch-package fails but returns 0") if ! patch-package; then exit 1 fi (>&2 echo "END SNAPSHOT") echo "adding --error-on-fail forces patch-package to return 1 at dev time" if patch-package --error-on-fail; then exit 1 fi 0707010000005F000081A40000000000000000000000016052114700000093000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/error-on-fail/error-on-fail.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "error-on-fail", shouldProduceSnapshots: true, }) 07070100000060000081A400000000000000000000000160521147000000D7000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/error-on-fail/package.json{ "name": "error-on-fail", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "^1.3.0" } } 07070100000061000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003C00000000patch-package-6.4.7/integration-tests/error-on-fail/patches07070100000062000081A400000000000000000000000160521147000001A1000000000000000000000000000000000000005100000000patch-package-6.4.7/integration-tests/error-on-fail/patches/left-pad+1.3.0.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index e90aec3..4a20773 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.notreal = leftPad; +module.patchPackage = leftPad; var cache = [ '', 07070100000063000081A40000000000000000000000016052114700000156000000000000000000000000000000000000003E00000000patch-package-6.4.7/integration-tests/error-on-fail/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== 07070100000064000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003C00000000patch-package-6.4.7/integration-tests/fails-when-no-package07070100000065000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/fails-when-no-package/__snapshots__07070100000066000081A40000000000000000000000016052114700000132000000000000000000000000000000000000006D00000000patch-package-6.4.7/integration-tests/fails-when-no-package/__snapshots__/fails-when-no-package.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test fails-when-no-package: no package present failure 1`] = ` "SNAPSHOT: no package present failure Error: Patch file found for package left-pad which is not present at node_modules/left-pad --- patch-package finished with 1 error(s). END SNAPSHOT" `; 07070100000067000081ED00000000000000000000000160521147000000F6000000000000000000000000000000000000005500000000patch-package-6.4.7/integration-tests/fails-when-no-package/fails-when-no-package.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package (>&2 echo "SNAPSHOT: no package present failure") if patch-package; then exit 1 fi (>&2 echo "END SNAPSHOT") 07070100000068000081A4000000000000000000000001605211470000009B000000000000000000000000000000000000005A00000000patch-package-6.4.7/integration-tests/fails-when-no-package/fails-when-no-package.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "fails-when-no-package", shouldProduceSnapshots: true, }) 07070100000069000081A400000000000000000000000160521147000000C3000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/fails-when-no-package/package.json{ "name": "fails-when-no-package", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": {} } 0707010000006A000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/fails-when-no-package/patches0707010000006B000081A400000000000000000000000160521147000001A1000000000000000000000000000000000000005900000000patch-package-6.4.7/integration-tests/fails-when-no-package/patches/left-pad+1.1.3.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 26f73ff..60f3f56 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.exports = leftPad; +module.exports = patch-package; var cache = [ '', 0707010000006C000081A40000000000000000000000016052114700000056000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/fails-when-no-package/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 0707010000006D000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003800000000patch-package-6.4.7/integration-tests/file-mode-changes0707010000006E000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/file-mode-changes/__snapshots__0707010000006F000081A40000000000000000000000016052114700000177000000000000000000000000000000000000006500000000patch-package-6.4.7/integration-tests/file-mode-changes/__snapshots__/file-mode-changes.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test file-mode-changes: the patch file 1`] = ` "SNAPSHOT: the patch file diff --git a/node_modules/prettier/bin-prettier.js b/node_modules/prettier/bin-prettier.js old mode 100755 new mode 100644 diff --git a/node_modules/prettier/index.js b/node_modules/prettier/index.js old mode 100644 new mode 100755 END SNAPSHOT" `; 07070100000070000081ED00000000000000000000000160521147000000B1000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/file-mode-changes/assert-executable.js#!/usr/bin/env node const file = process.argv[2] const mode = require("fs").statSync(file).mode if ((mode & 0b001000000) > 0) { process.exit(0) } else { process.exit(1) } 07070100000071000081ED00000000000000000000000160521147000000B1000000000000000000000000000000000000005100000000patch-package-6.4.7/integration-tests/file-mode-changes/assert-not-executable.js#!/usr/bin/env node const file = process.argv[2] const mode = require("fs").statSync(file).mode if ((mode & 0b001000000) > 0) { process.exit(1) } else { process.exit(0) } 07070100000072000081ED0000000000000000000000016052114700000448000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/file-mode-changes/file-mode-changes.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "check file permissions 1" ./assert-executable.js node_modules/prettier/bin-prettier.js ./assert-not-executable.js node_modules/prettier/index.js echo "change file modes" npx shx chmod -x node_modules/prettier/bin-prettier.js npx shx chmod +x node_modules/prettier/index.js echo "check file permissions 2" ./assert-executable.js node_modules/prettier/index.js ./assert-not-executable.js node_modules/prettier/bin-prettier.js echo "patch prettier" patch-package prettier echo "SNAPSHOT: the patch file" cat patches/prettier* echo "END SNAPSHOT" echo "reinstall node modules" npx shx rm -rf node_modules yarn echo "check file permissions 3" ./assert-executable.js node_modules/prettier/bin-prettier.js ./assert-not-executable.js node_modules/prettier/index.js echo "run patch-package" patch-package echo "check file permissions 4" ./assert-executable.js node_modules/prettier/index.js ./assert-not-executable.js node_modules/prettier/bin-prettier.js 07070100000073000081A40000000000000000000000016052114700000097000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/file-mode-changes/file-mode-changes.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "file-mode-changes", shouldProduceSnapshots: true, }) 07070100000074000081A400000000000000000000000160521147000000F1000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/file-mode-changes/package.json{ "name": "file-mode-changes", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "prettier": "^1.16.0", "shx": "^0.3.2" } } 07070100000075000081A40000000000000000000000016052114700001444000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/file-mode-changes/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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" 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= es6-object-assign@^1.0.3: version "1.1.0" resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= 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.0.0: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 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.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= interpret@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== 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.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 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" 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= path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== prettier@^1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.0.tgz#104dd25f5ee3d0c9d0a6ce4bb40ced8481d51219" integrity sha512-MCBCYeAuZfejUPdEpkleLWvpRBwLii/Sp5jQs0eb8Ul/drGIDjkL6tAU24tk6yCGf0KPV5rhPPPlczfBmN2pWQ== rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= dependencies: resolve "^1.1.6" resolve@^1.1.6: version "1.9.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== dependencies: path-parse "^1.0.6" shelljs@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== dependencies: glob "^7.0.0" interpret "^1.0.0" rechoir "^0.6.2" shx@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.2.tgz#40501ce14eb5e0cbcac7ddbd4b325563aad8c123" integrity sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA== dependencies: es6-object-assign "^1.0.3" minimist "^1.2.0" shelljs "^0.8.1" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 07070100000076000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003500000000patch-package-6.4.7/integration-tests/happy-path-npm07070100000077000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/happy-path-npm/__snapshots__07070100000078000081A4000000000000000000000001605211470000077B000000000000000000000000000000000000005F00000000patch-package-6.4.7/integration-tests/happy-path-npm/__snapshots__/happy-path-npm.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test happy-path-npm: making patch 1`] = ` "SNAPSHOT: making patch patch-package 0.0.0 • Creating temporary folder • Installing left-pad@1.1.3 with npm • Diffing your files with clean files ✔ Created file patches/left-pad+1.1.3.patch 💡 left-pad is on GitHub! To draft an issue based on your patch run npx patch-package left-pad --create-issue END SNAPSHOT" `; exports[`Test happy-path-npm: the patch looks like this 1`] = ` "SNAPSHOT: the patch looks like this diff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 26f73ff..d4cc4af 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -22,9 +22,9 @@ var cache = [ function leftPad (str, len, ch) { // convert \`str\` to \`string\` str = str + ''; - // \`len\` is the \`pad\`'s length now + // \`len\` is the \`npm\`'s length now len = len - str.length; - // doesn't need to pad + // doesn't need to npm if (len <= 0) return str; // \`ch\` defaults to \`' '\` if (!ch && ch !== 0) ch = ' '; @@ -32,12 +32,12 @@ function leftPad (str, len, ch) { ch = ch + ''; // cache common use cases if (ch === ' ' && len < 10) return cache[len] + str; - // \`pad\` starts with an empty string - var pad = ''; + // \`npm\` starts with an empty string + var npm = ''; // loop while (true) { - // add \`ch\` to \`pad\` if \`len\` is odd - if (len & 1) pad += ch; + // add \`ch\` to \`npm\` if \`len\` is odd + if (len & 1) npm += ch; // divide \`len\` by 2, ditch the remainder len >>= 1; // \\"double\\" the \`ch\` so this operation count grows logarithmically on \`len\` @@ -47,6 +47,6 @@ function leftPad (str, len, ch) { // \`len\` is 0, exit the loop else break; } - // pad \`str\`! - return pad + str; + // npm \`str\`! + return npm + str; } END SNAPSHOT" `; 07070100000079000081A400000000000000000000000160521147000000A7000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/happy-path-npm/add-postinstall.jsrequire("fs").writeFileSync( "./package.json", JSON.stringify({ ...require("./package.json"), scripts: { postinstall: "patch-package", }, }), )0707010000007A000081ED000000000000000000000001605211470000032C000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/happy-path-npm/happy-path-npm.sh# make sure errors stop the script set -e npm i echo "add patch-package" npm i $1 alias patch-package=./node_modules/.bin/patch-package echo "Add left-pad" npm i left-pad@1.1.3 echo "replace pad with yarn in left-pad/index.js" npx replace pad npm node_modules/left-pad/index.js echo "SNAPSHOT: making patch" patch-package left-pad echo "END SNAPSHOT" echo "SNAPSHOT: the patch looks like this" cat patches/left-pad+1.1.3.patch echo "END SNAPSHOT" echo "reinstall node_modules" npx rimraf node_modules npm i echo "patch-package didn't run" if grep npm node_modules/left-pad/index.js ; then exit 1 fi echo "add patch-package to postinstall hook" node ./add-postinstall.js echo "reinstall node_modules" npx rimraf node_modules npm i echo "patch-package did run" grep npm node_modules/left-pad/index.js 0707010000007B000081A40000000000000000000000016052114700000094000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/happy-path-npm/happy-path-npm.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "happy-path-npm", shouldProduceSnapshots: true, }) 0707010000007C000081A400000000000000000000000160521147000013E7000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/happy-path-npm/package-lock.json{ "name": "happy-path-npm", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { "ansi-styles": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=" }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "chalk": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "requires": { "ansi-styles": "1.0.0", "has-color": "0.1.7", "strip-ansi": "0.1.1" } }, "colors": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.4.tgz", "integrity": "sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", "inherits": "2.0.3", "minimatch": "3.0.4", "once": "1.4.0", "path-is-absolute": "1.0.1" } }, "has-color": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "1.4.0", "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "1.1.11" } }, "nomnom": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", "requires": { "chalk": "0.4.0", "underscore": "1.6.0" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "replace": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace/-/replace-1.0.0.tgz", "integrity": "sha512-5qUu+E1YMF9AMeVEoXa9VjEEgHk7cRNs3GWAN3Z1mt0ugwUxFuuXkDuoOS3nuvN9gH4KR/8Bd2R/Q944ofGtuA==", "requires": { "colors": "1.2.4", "minimatch": "3.0.4", "nomnom": "1.8.1" } }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } }, "strip-ansi": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=" }, "underscore": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=" }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } 0707010000007D000081A400000000000000000000000160521147000000EF000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/happy-path-npm/package.json{ "name": "happy-path-npm", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "replace": "^1.0.0", "rimraf": "^2.6.2" } } 0707010000007E000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003600000000patch-package-6.4.7/integration-tests/happy-path-yarn0707010000007F000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/happy-path-yarn/__snapshots__07070100000080000081A40000000000000000000000016052114700000787000000000000000000000000000000000000006100000000patch-package-6.4.7/integration-tests/happy-path-yarn/__snapshots__/happy-path-yarn.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test happy-path-yarn: making patch 1`] = ` "SNAPSHOT: making patch patch-package 0.0.0 • Creating temporary folder • Installing left-pad@1.1.3 with yarn • Diffing your files with clean files ✔ Created file patches/left-pad+1.1.3.patch 💡 left-pad is on GitHub! To draft an issue based on your patch run yarn patch-package left-pad --create-issue END SNAPSHOT" `; exports[`Test happy-path-yarn: the patch looks like this 1`] = ` "SNAPSHOT: the patch looks like this diff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 26f73ff..b083802 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -22,9 +22,9 @@ var cache = [ function leftPad (str, len, ch) { // convert \`str\` to \`string\` str = str + ''; - // \`len\` is the \`pad\`'s length now + // \`len\` is the \`yarn\`'s length now len = len - str.length; - // doesn't need to pad + // doesn't need to yarn if (len <= 0) return str; // \`ch\` defaults to \`' '\` if (!ch && ch !== 0) ch = ' '; @@ -32,12 +32,12 @@ function leftPad (str, len, ch) { ch = ch + ''; // cache common use cases if (ch === ' ' && len < 10) return cache[len] + str; - // \`pad\` starts with an empty string - var pad = ''; + // \`yarn\` starts with an empty string + var yarn = ''; // loop while (true) { - // add \`ch\` to \`pad\` if \`len\` is odd - if (len & 1) pad += ch; + // add \`ch\` to \`yarn\` if \`len\` is odd + if (len & 1) yarn += ch; // divide \`len\` by 2, ditch the remainder len >>= 1; // \\"double\\" the \`ch\` so this operation count grows logarithmically on \`len\` @@ -47,6 +47,6 @@ function leftPad (str, len, ch) { // \`len\` is 0, exit the loop else break; } - // pad \`str\`! - return pad + str; + // yarn \`str\`! + return yarn + str; } END SNAPSHOT" `; 07070100000081000081A400000000000000000000000160521147000000A7000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/happy-path-yarn/add-postinstall.jsrequire("fs").writeFileSync( "./package.json", JSON.stringify({ ...require("./package.json"), scripts: { postinstall: "patch-package", }, }), )07070100000082000081ED000000000000000000000001605211470000032C000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/happy-path-yarn/happy-path-yarn.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "Add left-pad" yarn add left-pad@1.1.3 echo "replace pad with yarn in left-pad/index.js" npx replace pad yarn node_modules/left-pad/index.js echo "SNAPSHOT: making patch" patch-package left-pad echo "END SNAPSHOT" echo "SNAPSHOT: the patch looks like this" cat patches/left-pad+1.1.3.patch echo "END SNAPSHOT" echo "reinstall node_modules" npx rimraf node_modules yarn echo "patch-package didn't run" if grep yarn node_modules/left-pad/index.js ; then exit 1 fi echo "add patch-package to postinstall hook" node ./add-postinstall.js echo "reinstall node_modules" npx rimraf node_modules yarn echo "patch-package did run" grep yarn node_modules/left-pad/index.js 07070100000083000081A40000000000000000000000016052114700000095000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/happy-path-yarn/happy-path-yarn.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "happy-path-yarn", shouldProduceSnapshots: true, }) 07070100000084000081A400000000000000000000000160521147000000F0000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/happy-path-yarn/package.json{ "name": "happy-path-yarn", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "replace": "^1.0.0", "rimraf": "^2.6.2" } } 07070100000085000081A40000000000000000000000016052114700000E84000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/happy-path-yarn/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" strip-ansi "~0.1.0" colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" glob@^7.0.5: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 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" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: once "^1.3.0" wrappy "1" inherits@2: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" nomnom@1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" dependencies: chalk "~0.4.0" underscore "~1.6.0" once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" 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" replace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.0.tgz#da5235cc6d64d5c3a74e4ef73b487aad0f79a74b" dependencies: colors "1.2.4" minimatch "3.0.4" nomnom "1.8.1" rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 07070100000086000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003800000000patch-package-6.4.7/integration-tests/ignore-whitespace07070100000087000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/ignore-whitespace/__snapshots__07070100000088000081A4000000000000000000000001605211470000027B000000000000000000000000000000000000006500000000patch-package-6.4.7/integration-tests/ignore-whitespace/__snapshots__/ignore-whitespace.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test ignore-whitespace: empty changeset when adding whitespace 1`] = ` "SNAPSHOT: empty changeset when adding whitespace ⁉️ Not creating patch file for package 'alphabet' ⁉️ There don't appear to be any changes. END SNAPSHOT" `; exports[`Test ignore-whitespace: line a changed 1`] = ` "SNAPSHOT: line a changed diff --git a/node_modules/alphabet/index.js b/node_modules/alphabet/index.js index 7811d3b..454414b 100644 --- a/node_modules/alphabet/index.js +++ b/node_modules/alphabet/index.js @@ -1,4 +1,4 @@ -// a +// patch-package // b // c // d END SNAPSHOT" `; 07070100000089000081A400000000000000000000000160521147000001C3000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/ignore-whitespace/add-whitespace.jsconst fs = require("fs") const file = "node_modules/alphabet/index.js" const offset = Number(require("process").argv[2] || 0) const eolWhitespace = [" ", " \r", "\r"] const lines = fs.readFileSync(file).toString().trim().split("\n") const withWhitespace = lines .map( (line, i) => line.trim() + eolWhitespace[(i + offset) % eolWhitespace.length] ) .join("\n") const buf = Buffer.from(withWhitespace) fs.writeFileSync(file, buf) 0707010000008A000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/ignore-whitespace/alphabet0707010000008B000081A40000000000000000000000016052114700000024000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/ignore-whitespace/alphabet/index.js// a // b // c // d // e // f 0707010000008C000081A400000000000000000000000160521147000000CC000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/ignore-whitespace/alphabet/package.json{ "name": "alphabet", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } 0707010000008D000081ED0000000000000000000000016052114700000496000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/ignore-whitespace/ignore-whitespace.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "add random bits of whitespace" node add-whitespace.js echo "try to make patch file (should be empty)" (>&2 echo "SNAPSHOT: empty changeset when adding whitespace") if patch-package alphabet then exit 1 fi (>&2 echo "END SNAPSHOT") echo "make a change to line a" node strip-whitespace.js npx replace 'a' 'patch-package' node_modules/alphabet/index.js node add-whitespace.js 2 echo "make patch file for line a" patch-package alphabet echo "SNAPSHOT: line a changed" cat patches/alphabet*.patch echo "END SNAPSHOT" echo "make sure the patch can be applied to clean files" rm -rf node_modules yarn patch-package grep patch-package node_modules/alphabet/index.js echo "make sure the patch can be applied to dirty files" rm -rf node_modules yarn node add-whitespace.js patch-package grep patch-package node_modules/alphabet/index.js echo "make sure the patch can be applied to dirty files with different whitespace" rm -rf node_modules yarn node add-whitespace.js 1 patch-package grep patch-package node_modules/alphabet/index.js 0707010000008E000081A40000000000000000000000016052114700000098000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/ignore-whitespace/ignore-whitespace.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "ignore-whitespace", shouldProduceSnapshots: true, }) 0707010000008F000081A40000000000000000000000016052114700000129000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/ignore-whitespace/package.json{ "name": "ignore-whitespace", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "alphabet": "file:./alphabet", "replace": "^0.3.0" } } 07070100000090000081A400000000000000000000000160521147000000BD000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/ignore-whitespace/strip-whitespace.jsconst fs = require("fs") const file = "node_modules/alphabet/index.js" fs.writeFileSync( file, fs.readFileSync(file).toString().split("\n").map(s => s.trim()).join("\n") + "\n", ) 07070100000091000081A4000000000000000000000001605211470000054B000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/ignore-whitespace/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "alphabet@file:./alphabet": version "1.0.0" colors@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" minimatch@~0.2.9: version "0.2.14" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" dependencies: lru-cache "2" sigmund "~1.0.0" nomnom@1.6.x: version "1.6.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971" dependencies: colors "0.5.x" underscore "~1.4.4" replace@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/replace/-/replace-0.3.0.tgz#60081721188658595ab6a794eb7fedcb4c8d39c7" dependencies: colors "0.5.x" minimatch "~0.2.9" nomnom "1.6.x" sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" underscore@~1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" 07070100000092000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch07070100000093000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000005600000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/__snapshots__07070100000094000081A40000000000000000000000016052114700000404000000000000000000000000000000000000008500000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/__snapshots__/ignores-scripts-when-making-patch.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test ignores-scripts-when-making-patch: a patch file got produced 1`] = ` "SNAPSHOT: a patch file got produced diff --git a/node_modules/naughty-package/postinstall.sh b/node_modules/naughty-package/postinstall.sh index 3784520..c4af29c 100755 --- a/node_modules/naughty-package/postinstall.sh +++ b/node_modules/naughty-package/postinstall.sh @@ -1,4 +1,4 @@ -# postinstall +# lol # if we're running in the main repo is ok if ls ../patch-package ; END SNAPSHOT" `; exports[`Test ignores-scripts-when-making-patch: the patch creation output should look normal 1`] = ` "SNAPSHOT: the patch creation output should look normal patch-package 0.0.0 • Creating temporary folder • Installing naughty-package@1.0.0 with yarn • Diffing your files with clean files ✔ Created file patches/naughty-package+1.0.0.patch END SNAPSHOT" `; exports[`Test ignores-scripts-when-making-patch: there should be no stderr 1`] = ` "SNAPSHOT: there should be no stderr END SNAPSHOT" `; 07070100000095000081ED00000000000000000000000160521147000001F2000000000000000000000000000000000000006D00000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/ignores-scripts-when-making-patch.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package npx replace postinstall lol node_modules/naughty-package/postinstall.sh echo "SNAPSHOT: the patch creation output should look normal" (>&2 echo "SNAPSHOT: there should be no stderr") patch-package naughty-package echo "END SNAPSHOT" (>&2 echo "END SNAPSHOT") echo "SNAPSHOT: a patch file got produced" cat patches/naughty-package+1.0.0.patch echo "END SNAPSHOT"07070100000096000081A400000000000000000000000160521147000000A7000000000000000000000000000000000000007200000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/ignores-scripts-when-making-patch.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "ignores-scripts-when-making-patch", shouldProduceSnapshots: true, }) 07070100000097000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000005800000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/naughty-package07070100000098000081A4000000000000000000000001605211470000009A000000000000000000000000000000000000006500000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/naughty-package/package.json{ "name": "naughty-package", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "postinstall": "./postinstall.sh" } } 07070100000099000081ED000000000000000000000001605211470000008F000000000000000000000000000000000000006700000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/naughty-package/postinstall.sh# postinstall # if we're running in the main repo is ok if ls ../patch-package ; then exit 0 fi # if we are installed alone then fail exit 10707010000009A000081A4000000000000000000000001605211470000011B000000000000000000000000000000000000005500000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/package.json{ "name": "ignores-scripts-when-making-patch", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "naughty-package": "file:./naughty-package", "replace": "^1.1.1" } } 0707010000009B000081A4000000000000000000000001605211470000403E000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/ignores-scripts-when-making-patch/yarn.lock# 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" mem@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" p-is-promise "^2.0.0" mimic-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 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" "naughty-package@file:./naughty-package": version "1.0.0" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== p-limit@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" replace@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/replace/-/replace-1.1.1.tgz#3d1b5e5896bd55c365a42a8d6e220b07a6f5d635" integrity sha512-RTLcKzfKEc8YPX+WbxZ5nQK921qOCpmMGWuKFWHWf727o7Ap84ydbhv8A/ipANXXXxFxI2M2PW+FaEhDsdZCdQ== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 0707010000009C000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003C00000000patch-package-6.4.7/integration-tests/include-exclude-paths0707010000009D000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/include-exclude-paths/__snapshots__0707010000009E000081A40000000000000000000000016052114700000AE5000000000000000000000000000000000000006D00000000patch-package-6.4.7/integration-tests/include-exclude-paths/__snapshots__/include-exclude-paths.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test include-exclude-paths: exclude all but flip 1`] = ` "SNAPSHOT: exclude all but flip diff --git a/node_modules/lodash/flip.js b/node_modules/lodash/flip.js index c28dd78..584b377 100644 --- a/node_modules/lodash/flip.js +++ b/node_modules/lodash/flip.js @@ -25,4 +25,4 @@ function flip(func) { return createWrap(func, WRAP_FLIP_FLAG); } -module.exports = flip; +module.patchPackage = flip; END SNAPSHOT" `; exports[`Test include-exclude-paths: modified package.json 1`] = ` "SNAPSHOT: modified package.json diff --git a/node_modules/lodash/package.json b/node_modules/lodash/package.json index 028960d..7d346f3 100644 --- a/node_modules/lodash/package.json +++ b/node_modules/lodash/package.json @@ -1,7 +1,7 @@ { \\"name\\": \\"lodash\\", \\"version\\": \\"4.17.4\\", - \\"description\\": \\"Lodash modular utilities.\\", + \\"patchPackageRulezLol\\": \\"Lodash modular utilities.\\", \\"keywords\\": \\"modules, stdlib, util\\", \\"homepage\\": \\"https://lodash.com/\\", \\"repository\\": \\"lodash/lodash\\", END SNAPSHOT" `; exports[`Test include-exclude-paths: no base files 1`] = ` "SNAPSHOT: no base files diff --git a/node_modules/lodash/flip.js b/node_modules/lodash/flip.js index c28dd78..584b377 100644 --- a/node_modules/lodash/flip.js +++ b/node_modules/lodash/flip.js @@ -25,4 +25,4 @@ function flip(func) { return createWrap(func, WRAP_FLIP_FLAG); } -module.exports = flip; +module.patchPackage = flip; diff --git a/node_modules/lodash/fp/__.js b/node_modules/lodash/fp/__.js deleted file mode 100644 index 4af98de..0000000 --- a/node_modules/lodash/fp/__.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./placeholder'); diff --git a/node_modules/lodash/newFile.md b/node_modules/lodash/newFile.md new file mode 100644 index 0000000..3b2aed8 --- /dev/null +++ b/node_modules/lodash/newFile.md @@ -0,0 +1 @@ +this is a new file END SNAPSHOT" `; exports[`Test include-exclude-paths: only __.js being deleted 1`] = ` "SNAPSHOT: only __.js being deleted diff --git a/node_modules/lodash/fp/__.js b/node_modules/lodash/fp/__.js deleted file mode 100644 index 4af98de..0000000 --- a/node_modules/lodash/fp/__.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./placeholder'); END SNAPSHOT" `; exports[`Test include-exclude-paths: only base files, no clone files 1`] = ` "SNAPSHOT: only base files, no clone files diff --git a/node_modules/lodash/_baseClamp.js b/node_modules/lodash/_baseClamp.js index a1c5692..c52e38e 100644 --- a/node_modules/lodash/_baseClamp.js +++ b/node_modules/lodash/_baseClamp.js @@ -19,4 +19,4 @@ function baseClamp(number, lower, upper) { return number; } -module.exports = baseClamp; +module.patchPackage = baseClamp; END SNAPSHOT" `; 0707010000009F000081ED00000000000000000000000160521147000007EA000000000000000000000000000000000000005500000000patch-package-6.4.7/integration-tests/include-exclude-paths/include-exclude-paths.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "edit some files" npx replace exports patchPackage node_modules/lodash/_baseClamp.js npx replace exports patchPackage node_modules/lodash/_baseClone.js npx replace exports patchPackage node_modules/lodash/flip.js echo "add a file" echo "this is a new file" > node_modules/lodash/newFile.md echo "remove a file" rm node_modules/lodash/fp/__.js echo "run patch-package with only __.js included" patch-package lodash --include __ echo "SNAPSHOT: only __.js being deleted" cat patches/lodash* echo "END SNAPSHOT" echo "run patch-package excluding the base files" patch-package lodash --exclude base echo "SNAPSHOT: no base files" cat patches/lodash* echo "END SNAPSHOT" echo "run patch-package including base and excluding clone" patch-package lodash --include base --exclude clone echo "SNAPSHOT: only base files, no clone files" cat patches/lodash* echo "END SNAPSHOT" echo "run patch package excluding all but flip" patch-package lodash --exclude '^(?!.*flip)' echo "SNAPSHOT: exclude all but flip" cat patches/lodash* echo "END SNAPSHOT" echo "run patch package including newfile (case insensitive)" patch-package lodash --include newfile echo "run patch package including newfile (case sensitive)" if patch-package lodash --include newfile --case-sensitive-path-filtering then exit 1 fi echo "run patch package including newFile (case insensitive)" patch-package lodash --include newFile --case-sensitive-path-filtering echo "revert to the beginning" npx rimraf node_modules yarn echo "edit lodash's package.json" npx replace description patchPackageRulezLol node_modules/lodash/package.json echo "check that the edit was ignored by default" if patch-package lodash then exit 1 fi echo "un-ingore the edit by specifying the empty string as regexp" patch-package lodash --exclude '^$' echo "SNAPSHOT: modified package.json" cat patches/lodash* echo "END SNAPSHOT" 070701000000A0000081A4000000000000000000000001605211470000009C000000000000000000000000000000000000005A00000000patch-package-6.4.7/integration-tests/include-exclude-paths/include-exclude-paths.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "include-exclude-paths", shouldProduceSnapshots: true, }) 070701000000A1000081A40000000000000000000000016052114700000122000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/include-exclude-paths/package.json{ "name": "include-exclude-paths", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "lodash": "4.17.4", "replace": "^0.3.0" } } 070701000000A2000081A400000000000000000000000160521147000005AD000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/include-exclude-paths/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 colors@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" lodash@4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" minimatch@~0.2.9: version "0.2.14" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" dependencies: lru-cache "2" sigmund "~1.0.0" nomnom@1.6.x: version "1.6.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971" dependencies: colors "0.5.x" underscore "~1.4.4" replace@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/replace/-/replace-0.3.0.tgz#60081721188658595ab6a794eb7fedcb4c8d39c7" dependencies: colors "0.5.x" minimatch "~0.2.9" nomnom "1.6.x" sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" underscore@~1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" 070701000000A3000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/include-exclude-regex-relativity070701000000A4000081ED00000000000000000000000160521147000004ED000000000000000000000000000000000000006B00000000patch-package-6.4.7/integration-tests/include-exclude-regex-relativity/include-exclude-regex-relativity.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "mutate words.js" npx replace words patch-packages node_modules/lodash/words.js echo "patch-package includes words.js in a patch by default" patch-package lodash echo "patch-package doesn't include words.js if excluded with relative path" if patch-package lodash --exclude '^words' ; then exit 1 fi echo "patch-package includes words.js if included with relative path" patch-package lodash --include '^words' echo "patch-package doesn't exclude words.js if excluded with node_modules path" patch-package lodash --exclude node_modules/lodash/words.js echo "patch-package doesn't include words.js if included with node_modules path" if patch-package lodash --include node_modules/lodash/words.js ; then exit 1 fi echo "patch-package doesn't exclude words.js if excluded with lodash path" patch-package lodash --exclude lodash/words.js echo "patch-package doesn't include words.js if included with lodash path" if patch-package lodash --include lodash/words.js ; then exit 1 fi echo "patch-package does exclude words.js if excluded without prefix" if patch-package lodash --exclude words.js ; then exit 1 fi 070701000000A5000081A400000000000000000000000160521147000000A7000000000000000000000000000000000000007000000000patch-package-6.4.7/integration-tests/include-exclude-regex-relativity/include-exclude-regex-relativity.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "include-exclude-regex-relativity", shouldProduceSnapshots: false, }) 070701000000A6000081A40000000000000000000000016052114700000101000000000000000000000000000000000000005400000000patch-package-6.4.7/integration-tests/include-exclude-regex-relativity/package.json{ "name": "include-exclude-regex-relativity", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "lodash": "4.17.4", "replace": "^1.0.0" } } 070701000000A7000081A4000000000000000000000001605211470000095F000000000000000000000000000000000000005100000000patch-package-6.4.7/integration-tests/include-exclude-regex-relativity/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" strip-ansi "~0.1.0" colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" lodash@4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" nomnom@1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" dependencies: chalk "~0.4.0" underscore "~1.6.0" replace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.0.tgz#da5235cc6d64d5c3a74e4ef73b487aad0f79a74b" dependencies: colors "1.2.4" minimatch "3.0.4" nomnom "1.8.1" strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" 070701000000A8000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003300000000patch-package-6.4.7/integration-tests/lerna-canary070701000000A9000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/lerna-canary/__snapshots__070701000000AA000081A40000000000000000000000016052114700000532000000000000000000000000000000000000005B00000000patch-package-6.4.7/integration-tests/lerna-canary/__snapshots__/lerna-canary.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test lerna-canary: making patch 1`] = ` "SNAPSHOT: making patch patch-package 0.0.0 • Creating temporary folder • Installing @parcel/codeframe@2.0.0-nightly.137 with yarn • Diffing your files with clean files ✔ Created file patches/@parcel+codeframe+2.0.0-nightly.137.patch 💡 @parcel/codeframe is on GitHub! To draft an issue based on your patch run yarn patch-package @parcel/codeframe --create-issue END SNAPSHOT" `; exports[`Test lerna-canary: the patch applies 1`] = ` "SNAPSHOT: the patch applies patch-package 0.0.0 Applying patches... @parcel/codeframe@2.0.0-nightly.137 ✔ END SNAPSHOT" `; exports[`Test lerna-canary: the patch looks like this 1`] = ` "SNAPSHOT: the patch looks like this diff --git a/node_modules/@parcel/codeframe/src/codeframe.js b/node_modules/@parcel/codeframe/src/codeframe.js index 2bf2c1c..ef0695b 100644 --- a/node_modules/@parcel/codeframe/src/codeframe.js +++ b/node_modules/@parcel/codeframe/src/codeframe.js @@ -41,7 +41,7 @@ const highlightSyntax = (txt: string, lang?: string): string => { return emphasize.highlightAuto(txt).value; }; -export default function codeFrame( +export default function patch-package( code: string, highlights: Array<DiagnosticCodeHighlight>, // $FlowFixMe END SNAPSHOT" `; 070701000000AB000081ED00000000000000000000000160521147000003D9000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/lerna-canary/lerna-canary.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package # this test makes sure that we can patch packages with build metadata in their version strings e.g. 4.5.6+commitsha echo "Add @parcel/codeframe" yarn add @parcel/codeframe@2.0.0-nightly.137 echo "replace codeframe with yarn in @parcel/codefram/src/codeframe.js" npx replace codeFrame patch-package node_modules/@parcel/codeframe/src/codeframe.js echo "SNAPSHOT: making patch" patch-package @parcel/codeframe echo "END SNAPSHOT" echo "SNAPSHOT: the patch looks like this" cat patches/@parcel+codeframe+2.0.0-nightly.137.patch echo "END SNAPSHOT" echo "reinstall node_modules" npx rimraf node_modules yarn echo "patch-package didn't run" if grep yarn node_modules/@parcel/codeframe/src/codeframe.js ; then exit 1 fi echo "reinstall node_modules" npx rimraf node_modules yarn echo "SNAPSHOT: the patch applies" patch-package echo "END SNAPSHOT"070701000000AC000081A40000000000000000000000016052114700000092000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/lerna-canary/lerna-canary.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "lerna-canary", shouldProduceSnapshots: true, }) 070701000000AD000081A400000000000000000000000160521147000000BA000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/lerna-canary/package.json{ "name": "lerna-canary", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": {} } 070701000000AE000081A40000000000000000000000016052114700000056000000000000000000000000000000000000003D00000000patch-package-6.4.7/integration-tests/lerna-canary/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 070701000000AF000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003600000000patch-package-6.4.7/integration-tests/nested-packages070701000000B0000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/nested-packages/__snapshots__070701000000B1000081A400000000000000000000000160521147000006F0000000000000000000000000000000000000006100000000patch-package-6.4.7/integration-tests/nested-packages/__snapshots__/nested-packages.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test nested-packages: create the patch 1`] = ` "SNAPSHOT: create the patch patch-package 0.0.0 • Creating temporary folder • Installing string-width@2.1.1 with yarn • Diffing your files with clean files ✔ Created file patches/wrap-ansi++string-width+2.1.1.patch 💡 string-width is on GitHub! To draft an issue based on your patch run yarn patch-package wrap-ansi/string-width --create-issue END SNAPSHOT" `; exports[`Test nested-packages: run patch-package 1`] = ` "SNAPSHOT: run patch-package patch-package 0.0.0 Applying patches... wrap-ansi/string-width@2.1.1 ✔ END SNAPSHOT" `; exports[`Test nested-packages: the patch file contents 1`] = ` "SNAPSHOT: the patch file contents diff --git a/node_modules/wrap-ansi/node_modules/string-width/index.js b/node_modules/wrap-ansi/node_modules/string-width/index.js index bbc49d2..6407f49 100644 --- a/node_modules/wrap-ansi/node_modules/string-width/index.js +++ b/node_modules/wrap-ansi/node_modules/string-width/index.js @@ -1,6 +1,6 @@ 'use strict'; const stripAnsi = require('strip-ansi'); -const isFullwidthCodePoint = require('is-fullwidth-code-point'); +const isFullpatch-packageCodePoint = require('is-fullpatch-package-code-point'); module.exports = str => { if (typeof str !== 'string' || str.length === 0) { @@ -9,7 +9,7 @@ module.exports = str => { str = stripAnsi(str); - let width = 0; + let patch-package = 0; for (let i = 0; i < str.length; i++) { const code = str.codePointAt(i); @@ -29,8 +29,8 @@ module.exports = str => { i++; } - width += isFullwidthCodePoint(code) ? 2 : 1; + patch-package += isFullpatch-packageCodePoint(code) ? 2 : 1; } - return width; + return patch-package; }; END SNAPSHOT" `; 070701000000B2000081ED0000000000000000000000016052114700000425000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/nested-packages/nested-packages.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "wrap-ansi=>string-width should not contain patch-package" if grep patch-package node_modules/wrap-ansi/node_modules/string-width/index.js ; then exit 1 fi echo "edit wrap-ansi=>string-width" yarn replace width patch-package node_modules/wrap-ansi/node_modules/string-width/index.js echo "SNAPSHOT: create the patch" patch-package wrap-ansi/string-width echo "END SNAPSHOT" echo "SNAPSHOT: the patch file contents" cat patches/wrap-ansi++string-width+2.1.1.patch echo "END SNAPSHOT" echo "reinstall node_modules" yarn rimraf node_modules yarn echo "wrap-ansi=>string-width should not contain patch-package" if grep patch-package node_modules/wrap-ansi/node_modules/string-width/index.js ; then exit 1 fi echo "SNAPSHOT: run patch-package" patch-package echo "END SNAPSHOT" echo "wrap-ansi=>string-width should contain patch-package" grep patch-package node_modules/wrap-ansi/node_modules/string-width/index.js070701000000B3000081A40000000000000000000000016052114700000095000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/nested-packages/nested-packages.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "nested-packages", shouldProduceSnapshots: true, }) 070701000000B4000081A400000000000000000000000160521147000000DA000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/nested-packages/package.json{ "name": "nested-packages", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": { "replace": "1.0.1", "rimraf": "2.6.3", "string-width": "1", "wrap-ansi": "4.0.0" } } 070701000000B5000081A40000000000000000000000016052114700004A87000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/nested-packages/yarn.lock# 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-styles@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" 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= get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 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.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" mem@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^1.0.0" p-is-promise "^1.1.0" mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== minimatch@3.0.4, 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" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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, once@^1.3.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 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= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" replace@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.1.tgz#a7838aaf5977d443e903aea4ba52b2c7ac432190" integrity sha512-Qh0XcLMb3LYa6fs7V30zQHACbJTQJUERl22lVjaq0dJp6B5q1t/vARXDauS1ywpIs3ZkT3APj4EA6aOoHoaHDA== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" semver@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= string-width@1, 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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" wrap-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-4.0.0.tgz#b3570d7c70156159a2d42be5cc942e957f7b1131" integrity sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg== dependencies: ansi-styles "^3.2.0" string-width "^2.1.1" strip-ansi "^4.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= "y18n@^3.2.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 070701000000B6000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003D00000000patch-package-6.4.7/integration-tests/nested-scoped-packages070701000000B7000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004B00000000patch-package-6.4.7/integration-tests/nested-scoped-packages/__snapshots__070701000000B8000081A400000000000000000000000160521147000002DA000000000000000000000000000000000000006F00000000patch-package-6.4.7/integration-tests/nested-scoped-packages/__snapshots__/nested-scoped-packages.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test nested-scoped-packages: create the patch 1`] = ` "SNAPSHOT: create the patch patch-package 0.0.0 • Creating temporary folder • Installing @types/angular@1.6.53 with yarn • Diffing your files with clean files ✔ Created file patches/@microsoft+mezzurite-core++@types+angular+1.6.53.patch 💡 @types/angular is on GitHub! To draft an issue based on your patch run yarn patch-package @microsoft/mezzurite-core/@types/angular --create-issue END SNAPSHOT" `; exports[`Test nested-scoped-packages: run patch-package 1`] = ` "SNAPSHOT: run patch-package patch-package 0.0.0 Applying patches... @microsoft/mezzurite-core/@types/angular@1.6.53 ✔ END SNAPSHOT" `; 070701000000B9000081ED00000000000000000000000160521147000004D8000000000000000000000000000000000000005700000000patch-package-6.4.7/integration-tests/nested-scoped-packages/nested-scoped-packages.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "@microsoft/mezzurite-core => @types/angular should not contain patch-package" if grep patch-package ./node_modules/@microsoft/mezzurite-core/node_modules/@types/angular/index.d.ts ; then exit 1 fi echo "edit @microsoft/mezzurite-core => @types/angular" yarn replace angular patch-package ./node_modules/@microsoft/mezzurite-core/node_modules/@types/angular/index.d.ts echo "SNAPSHOT: create the patch" patch-package @microsoft/mezzurite-core/@types/angular echo "END SNAPSHOT" echo "the patch file was created" ls patches/@microsoft+mezzurite-core++@types+angular+1.6.53.patch echo "reinstall node_modules" yarn rimraf node_modules yarn echo "@microsoft/mezzurite-core => @types/angular should not contain patch-package" if grep patch-package ./node_modules/@microsoft/mezzurite-core/node_modules/@types/angular/index.d.ts ; then exit 1 fi echo "SNAPSHOT: run patch-package" patch-package echo "END SNAPSHOT" echo "@microsoft/mezzurite-core => @types/angular should contain patch-package" grep patch-package ./node_modules/@microsoft/mezzurite-core/node_modules/@types/angular/index.d.ts070701000000BA000081A4000000000000000000000001605211470000009C000000000000000000000000000000000000005C00000000patch-package-6.4.7/integration-tests/nested-scoped-packages/nested-scoped-packages.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "nested-scoped-packages", shouldProduceSnapshots: true, }) 070701000000BB000081A400000000000000000000000160521147000000FC000000000000000000000000000000000000004A00000000patch-package-6.4.7/integration-tests/nested-scoped-packages/package.json{ "name": "nested-scoped-packages", "version": "1.0.0", "main": "index.js", "license": "MIT", "dependencies": { "@microsoft/mezzurite-angular": "^2.0.18", "@types/angular": "1.5", "replace": "^1.0.1", "rimraf": "^2.6.3" } } 070701000000BC000081A400000000000000000000000160521147000050F9000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/nested-scoped-packages/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@microsoft/mezzurite-angular@^2.0.18": version "2.0.18" resolved "https://registry.yarnpkg.com/@microsoft/mezzurite-angular/-/mezzurite-angular-2.0.18.tgz#6dd9f8bdfbddc5e47d355dcd5ad5db8248c2af3a" integrity sha512-MKGnxXKGITTD8kOZDZ8yhAOlvEYsEJEAaB297nYLfY2hvMSntaYZMsiwigvwSil4n/ElKltvxs9R1W0QUePnuw== dependencies: "@microsoft/mezzurite-core" "^1.0.1" "@types/angular" "^1.6.51" "@types/jquery" "^2.0.46" intersection-observer "^0.5.1" reflect-metadata "^0.1.8" "@microsoft/mezzurite-core@^1.0.1": version "1.0.13" resolved "https://registry.yarnpkg.com/@microsoft/mezzurite-core/-/mezzurite-core-1.0.13.tgz#701075452dfac66c343d18e2ead38522a42b0358" integrity sha512-rVQ69c6aNkTYVED1oSgYBaZGBm/nxIBYFokK/iY8Vs0/PdXRRt57Lb1bZBkvfHqeu0r9SCzahLs6Z2APoMRW/A== dependencies: "@types/angular" "^1.6.51" "@types/jquery" "^2.0.46" reflect-metadata "^0.1.8" "@types/angular@1.5": version "1.5.23" resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.5.23.tgz#ccd175556e341064da8e4d6a0c3e49f4b99a2182" integrity sha1-zNF1VW40EGTajk1qDD5J9LmaIYI= dependencies: "@types/jquery" "*" "@types/angular@^1.6.51": version "1.6.53" resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.53.tgz#0c73ce13ff245e0b9ad23bf0091f3de572d4de87" integrity sha512-46op53S8hnDl9o6VOmMAXBv3laK8i2OyXOfriDwe6VRfh8wVFilIniLaNsz2pPpAM4oUwsBYFt7ZThe+IMnIeA== "@types/jquery@*": version "3.3.29" resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.29.tgz#680a2219ce3c9250483722fccf5570d1e2d08abd" integrity sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ== dependencies: "@types/sizzle" "*" "@types/jquery@^2.0.46": version "2.0.52" resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-2.0.52.tgz#4edc00c5255631925a02dc1a19b30748dc178092" integrity sha512-UJ3xu1c0WQLk7ZV7iO3RNduVOz0WK1PWUHY/LlmYTnln60hoUEGWPZ/9YzRRMIO6MDGMAs9hpDe7dR7aXQy/Vw== "@types/sizzle@*": version "2.3.2" resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" 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= get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 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.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= intersection-observer@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.5.1.tgz#e340fc56ce74290fe2b2394d1ce88c4353ac6dfa" integrity sha512-Zd7Plneq82kiXFixs7bX62YnuZ0BMRci9br7io88LwDyF3V43cQMI+G5IiTlTNTt+LsDUppl19J/M2Fp9UkH6g== invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" mem@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^1.0.0" p-is-promise "^1.1.0" mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== minimatch@3.0.4, 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" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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, once@^1.3.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= p-limit@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 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= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" reflect-metadata@^0.1.8: version "0.1.12" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" integrity sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A== replace@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.1.tgz#a7838aaf5977d443e903aea4ba52b2c7ac432190" integrity sha512-Qh0XcLMb3LYa6fs7V30zQHACbJTQJUERl22lVjaq0dJp6B5q1t/vARXDauS1ywpIs3ZkT3APj4EA6aOoHoaHDA== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" semver@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 070701000000BD000081A400000000000000000000000160521147000004F8000000000000000000000000000000000000003C00000000patch-package-6.4.7/integration-tests/newIntegrationTest.tsimport * as fs from "fs-extra" import * as path from "path" import { spawnSafeSync } from "../src/spawnSafe" const testName = process.argv[2] if (!testName || !testName.match(/[0-9a-zA-Z\-]+/)) { console.error(`invalid name format '${testName}'`) console.error("try something like this: blah-and-so-forth") } console.log("making an integration test called", testName) const testDir = path.join(__dirname, testName) fs.mkdirpSync(testDir) // initialise npm project fs.writeFileSync( path.join(testDir, `package.json`), `{ "name": "${testName}", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": {} } `, ) spawnSafeSync("yarn", [], { cwd: testDir }) // create shell script boilerplate fs.writeFileSync( path.join(testDir, `${testName}.sh`), `# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package `, { mode: 0o755 }, ) // create typescript file boilerplate fs.writeFileSync( path.join(testDir, `${testName}.test.ts`), `import { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({projectName: "${testName}", shouldProduceSnapshots: false}) `, ) 070701000000BE000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003800000000patch-package-6.4.7/integration-tests/no-symbolic-links070701000000BF000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004600000000patch-package-6.4.7/integration-tests/no-symbolic-links/__snapshots__070701000000C0000081A400000000000000000000000160521147000001CF000000000000000000000000000000000000006500000000patch-package-6.4.7/integration-tests/no-symbolic-links/__snapshots__/no-symbolic-links.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test no-symbolic-links: patch-package fails to create a patch when there are symbolic links 1`] = ` "SNAPSHOT: patch-package fails to create a patch when there are symbolic links ⛔️ ERROR Your changes involve creating symlinks. patch-package does not yet support symlinks. ️Please use --include and/or --exclude to narrow the scope of your patch if this was unintentional. END SNAPSHOT" `; 070701000000C1000081ED000000000000000000000001605211470000017F000000000000000000000000000000000000004D00000000patch-package-6.4.7/integration-tests/no-symbolic-links/no-symbolic-links.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "make symbolic link" ln -s package.json node_modules/left-pad/package.parent.json (>&2 echo "SNAPSHOT: patch-package fails to create a patch when there are symbolic links") if patch-package left-pad then exit 1 fi (>&2 echo "END SNAPSHOT") 070701000000C2000081A40000000000000000000000016052114700000097000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/no-symbolic-links/no-symbolic-links.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "no-symbolic-links", shouldProduceSnapshots: true, }) 070701000000C3000081A400000000000000000000000160521147000000DA000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/no-symbolic-links/package.json{ "name": "no-symbolic-links", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "1.3.0" } } 070701000000C4000081A40000000000000000000000016052114700000056000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/no-symbolic-links/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 070701000000C5000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003B00000000patch-package-6.4.7/integration-tests/package-gets-updated070701000000C6000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/package-gets-updated/__snapshots__070701000000C7000081A4000000000000000000000001605211470000094B000000000000000000000000000000000000006B00000000patch-package-6.4.7/integration-tests/package-gets-updated/__snapshots__/package-gets-updated.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test package-gets-updated: fail when the patch was not applied 1`] = ` "SNAPSHOT: fail when the patch was not applied warning left-pad@1.1.3: use String.prototype.padStart() **ERROR** Failed to apply patch for package left-pad at path node_modules/left-pad This error was caused because left-pad has changed since you made the patch file for it. This introduced conflicts with your patch, just like a merge conflict in Git when separate incompatible changes are made to the same piece of code. Maybe this means your patch file is no longer necessary, in which case hooray! Just delete it! Otherwise, you need to generate a new patch file. To generate a new one, just repeat the steps you made to generate the first one. i.e. manually make the appropriate file changes, then run patch-package left-pad Info: Patch file: patches/left-pad+1.1.1.patch Patch was made for version: 1.1.1 Installed version: 1.1.3 --- patch-package finished with 1 error(s). error Command failed with exit code 1. END SNAPSHOT" `; exports[`Test package-gets-updated: left-pad should contain patch-package 1`] = ` "SNAPSHOT: left-pad should contain patch-package // devide \`len\` by 2, ditch the patch-package END SNAPSHOT" `; exports[`Test package-gets-updated: left-pad should still contain patch-package 1`] = ` "SNAPSHOT: left-pad should still contain patch-package // devide \`len\` by 2, ditch the patch-package END SNAPSHOT" `; exports[`Test package-gets-updated: warning when the patch was applied but version changed 1`] = ` "SNAPSHOT: warning when the patch was applied but version changed Warning: patch-package detected a patch file version mismatch Don't worry! This is probably fine. The patch was still applied successfully. Here's the deets: Patch file created for left-pad@1.1.1 applied to left-pad@1.1.2 At path node_modules/left-pad This warning is just to give you a heads-up. There is a small chance of breakage even though the patch was applied successfully. Make sure the package still behaves like you expect (you wrote tests, right?) and then run patch-package left-pad to update the version in the patch file name and make this warning go away. --- patch-package finished with 1 warning(s). END SNAPSHOT" `; 070701000000C8000081ED0000000000000000000000016052114700000307000000000000000000000000000000000000005300000000patch-package-6.4.7/integration-tests/package-gets-updated/package-gets-updated.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "SNAPSHOT: left-pad should contain patch-package" grep patch-package node_modules/left-pad/index.js echo "END SNAPSHOT" (>&2 echo "SNAPSHOT: warning when the patch was applied but version changed") yarn add left-pad@1.1.2 (>&2 echo "END SNAPSHOT") echo "SNAPSHOT: left-pad should still contain patch-package" grep patch-package node_modules/left-pad/index.js echo "END SNAPSHOT" (>&2 echo "SNAPSHOT: fail when the patch was not applied") if yarn add left-pad@1.1.3 ; then exit 1 fi (>&2 echo "END SNAPSHOT") echo "left-pad should not contain patch-package" if grep patch-package node_modules/left-pad/index.js ; then exit 1 fi 070701000000C9000081A4000000000000000000000001605211470000009A000000000000000000000000000000000000005800000000patch-package-6.4.7/integration-tests/package-gets-updated/package-gets-updated.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "package-gets-updated", shouldProduceSnapshots: true, }) 070701000000CA000081A400000000000000000000000160521147000000C6000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/package-gets-updated/package.json{ "name": "left-pad-breakage", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "prepare": "patch-package" }, "dependencies": { "left-pad": "1.1.2" } } 070701000000CB000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/package-gets-updated/patches070701000000CC000081A40000000000000000000000016052114700000252000000000000000000000000000000000000005800000000patch-package-6.4.7/integration-tests/package-gets-updated/patches/left-pad+1.1.1.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 6b56df3..7b332b2 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -33,7 +33,7 @@ function leftPad (str, len, ch) { while (true) { // add `ch` to `pad` if `len` is odd if (len & 1) pad += ch; - // devide `len` by 2, ditch the fraction + // devide `len` by 2, ditch the patch-package len >>= 1; // "double" the `ch` so this operation count grows logarithmically on `len` // each time `ch` is "doubled", the `len` would need to be "doubled" too 070701000000CD000081A400000000000000000000000160521147000000E9000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/package-gets-updated/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 left-pad@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.2.tgz#b46d4b36116fafb6f2814c30ecf3247bdfd842f7" 070701000000CE000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003A00000000patch-package-6.4.7/integration-tests/patch-parse-failure070701000000CF000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/patch-parse-failure/__snapshots__070701000000D0000081A400000000000000000000000160521147000002D2000000000000000000000000000000000000006900000000patch-package-6.4.7/integration-tests/patch-parse-failure/__snapshots__/patch-parse-failure.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test patch-parse-failure: patch parse failure message 1`] = ` "SNAPSHOT: patch parse failure message **ERROR** Failed to apply patch for package left-pad This happened because the patch file patches/left-pad+1.3.0.patch could not be parsed. If you just upgraded patch-package, you can try running: patch -p1 -i patches/left-pad+1.3.0.patch npx patch-package left-pad Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E END SNAPSHOT" `; 070701000000D1000081A400000000000000000000000160521147000000DD000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/patch-parse-failure/package.json{ "name": "patch-parse-failure", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "^1.3.0" } } 070701000000D2000081ED00000000000000000000000160521147000000F7000000000000000000000000000000000000005100000000patch-package-6.4.7/integration-tests/patch-parse-failure/patch-parse-failure.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package (>&2 echo "SNAPSHOT: patch parse failure message") if patch-package; then exit 1 fi (>&2 echo "END SNAPSHOT") 070701000000D3000081A40000000000000000000000016052114700000099000000000000000000000000000000000000005600000000patch-package-6.4.7/integration-tests/patch-parse-failure/patch-parse-failure.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "patch-parse-failure", shouldProduceSnapshots: true, }) 070701000000D4000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/patch-parse-failure/patches070701000000D5000081A400000000000000000000000160521147000001B3000000000000000000000000000000000000005700000000patch-package-6.4.7/integration-tests/patch-parse-failure/patches/left-pad+1.3.0.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index e90aec3..bfca6c5 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -33,7 +33,6 @@ function leftPad (str, len, ch) { // cache common use cases if (ch === ' ' && len < 10) return cache[len] + str; // `pad` starts with an empty string - var pad = ''; while (true) { // add `ch` to `pad` if `len` is odd 070701000000D6000081A40000000000000000000000016052114700000156000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/patch-parse-failure/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== 070701000000D7000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000002E00000000patch-package-6.4.7/integration-tests/patches070701000000D8000081A400000000000000000000000160521147000001A1000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/patches/left-pad+1.1.3.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 26f73ff..60f3f56 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.exports = leftPad; +module.exports = patch-package; var cache = [ '', 070701000000D9000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003500000000patch-package-6.4.7/integration-tests/reverse-option070701000000DA000081A4000000000000000000000001605211470000011B000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/reverse-option/package.json{ "name": "reverse-option", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "lodash": "4.17.4", "replace": "^0.3.0" } } 070701000000DB000081ED0000000000000000000000016052114700000698000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/reverse-option/reverse-option.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "edit a file" npx replace exports patchPackage node_modules/lodash/_baseClamp.js echo "add a file" echo "this is a new file" > node_modules/lodash/newFile.md echo "remove a file" rm node_modules/lodash/fp/__.js echo "make the patch file" patch-package lodash echo "reinstall node modules" rm -rf node_modules yarn echo "make sure the patch is unapplied" if ls node_modules/lodash/newFile.md then exit 1 fi if grep patchPackage node_modules/lodash/_baseClamp.js then exit 1 fi ls node_modules/lodash/fp/__.js echo "apply the patch" patch-package echo "make sure the patch is applied" ls node_modules/lodash/newFile.md if node_modules/lodash/fp/__.js then exit 1 fi grep patchPackage node_modules/lodash/_baseClamp.js echo "apply the patch again to make sure it's an idempotent operation" patch-package echo "make sure the patch is still applied" ls node_modules/lodash/newFile.md if node_modules/lodash/fp/__.js then exit 1 fi grep patchPackage node_modules/lodash/_baseClamp.js echo "unapply the patch" patch-package --reverse echo "make sure the patch is unapplied" if ls node_modules/lodash/newFile.md then exit 1 fi if grep patchPackage node_modules/lodash/_baseClamp.js then exit 1 fi ls node_modules/lodash/fp/__.js echo "unapply the patch again to make sure it's an idempotent operation" patch-package --reverse echo "make sure the patch is still unapplied" if ls node_modules/lodash/newFile.md then exit 1 fi if grep patchPackage node_modules/lodash/_baseClamp.js then exit 1 fi ls node_modules/lodash/fp/__.js 070701000000DC000081A40000000000000000000000016052114700000096000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/reverse-option/reverse-option.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "reverse-option", shouldProduceSnapshots: false, }) 070701000000DD000081A400000000000000000000000160521147000005AD000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/reverse-option/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 colors@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" lodash@4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" minimatch@~0.2.9: version "0.2.14" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" dependencies: lru-cache "2" sigmund "~1.0.0" nomnom@1.6.x: version "1.6.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971" dependencies: colors "0.5.x" underscore "~1.4.4" replace@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/replace/-/replace-0.3.0.tgz#60081721188658595ab6a794eb7fedcb4c8d39c7" dependencies: colors "0.5.x" minimatch "~0.2.9" nomnom "1.6.x" sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" underscore@~1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" 070701000000DE000081A400000000000000000000000160521147000008FB000000000000000000000000000000000000003C00000000patch-package-6.4.7/integration-tests/runIntegrationTest.tsimport * as fs from "fs-extra" import { join, resolve } from "../src/path" import * as tmp from "tmp" import { spawnSafeSync } from "../src/spawnSafe" import { resolveRelativeFileDependencies } from "../src/resolveRelativeFileDependencies" export const patchPackageTarballPath = resolve( fs .readdirSync(".") .filter(nm => nm.match(/^patch-package\.test\.\d+\.tgz$/))[0], ) export function runIntegrationTest({ projectName, shouldProduceSnapshots, }: { projectName: string shouldProduceSnapshots: boolean }) { describe(`Test ${projectName}:`, () => { const tmpDir = tmp.dirSync({ unsafeCleanup: true }) fs.copySync(join(__dirname, projectName), tmpDir.name, { recursive: true, }) const packageJson = require(join(tmpDir.name, "package.json")) packageJson.dependencies = resolveRelativeFileDependencies( join(__dirname, projectName), packageJson.dependencies, ) fs.writeFileSync( join(tmpDir.name, "package.json"), JSON.stringify(packageJson), ) const result = spawnSafeSync( `./${projectName}.sh`, [patchPackageTarballPath], { cwd: tmpDir.name, throwOnError: false, }, ) it("should exit with 0 status", () => { expect(result.status).toBe(0) }) const output = result.stdout.toString() + "\n" + result.stderr.toString() if (result.status !== 0) { console.error(output) } it("should produce output", () => { expect(output.trim()).toBeTruthy() }) const snapshots = output.match(/SNAPSHOT: ?([\s\S]*?)END SNAPSHOT/g) if (shouldProduceSnapshots) { it("should produce some snapshots", () => { expect(snapshots && snapshots.length).toBeTruthy() }) if (snapshots) { snapshots.forEach(snapshot => { const snapshotDescriptionMatch = snapshot.match(/SNAPSHOT: (.*)/) if (snapshotDescriptionMatch) { it(snapshotDescriptionMatch[1], () => { expect(snapshot).toMatchSnapshot() }) } else { throw new Error("bad snapshot format") } }) } } else { it("should not produce any snapshots", () => { expect(snapshots && snapshots.length).toBeFalsy() }) } }) } 070701000000DF000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003500000000patch-package-6.4.7/integration-tests/scoped-package070701000000E0000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/scoped-package/__snapshots__070701000000E1000081A400000000000000000000000160521147000001E8000000000000000000000000000000000000005F00000000patch-package-6.4.7/integration-tests/scoped-package/__snapshots__/scoped-package.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test scoped-package: add.d.ts should contain patch-package 1`] = ` "SNAPSHOT: add.d.ts should contain patch-package import { patch-package } from \\"./index\\"; export = patch-package; END SNAPSHOT" `; exports[`Test scoped-package: left-pad typings should contain patch-package 1`] = ` "SNAPSHOT: left-pad typings should contain patch-package // Definitions by: Zlatko patch-package <https://github.com/Goldsmith42/> END SNAPSHOT" `; 070701000000E2000081A40000000000000000000000016052114700000103000000000000000000000000000000000000004200000000patch-package-6.4.7/integration-tests/scoped-package/package.json{ "name": "scoped-package", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "prepare": "patch-package" }, "dependencies": { "@types/left-pad": "1.1.1", "@types/lodash": "4.14.72", "replace": "^1.0.0" } } 070701000000E3000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003D00000000patch-package-6.4.7/integration-tests/scoped-package/patches070701000000E4000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/scoped-package/patches/@types070701000000E5000081A40000000000000000000000016052114700000279000000000000000000000000000000000000005900000000patch-package-6.4.7/integration-tests/scoped-package/patches/@types/left-pad+1.1.1.patchdiff --git a/node_modules/@types/left-pad/index.d.ts b/node_modules/@types/left-pad/index.d.ts index b6cb310..bf077e7 100644 --- a/node_modules/@types/left-pad/index.d.ts +++ b/node_modules/@types/left-pad/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for left-pad 1.1 // Project: https://github.com/stevemao/left-pad -// Definitions by: Zlatko Andonovski <https://github.com/Goldsmith42/> +// Definitions by: Zlatko patch-package <https://github.com/Goldsmith42/> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare function leftPad(str: string|number, len: number, ch?: string|number): string; 070701000000E6000081ED00000000000000000000000160521147000002A1000000000000000000000000000000000000004700000000patch-package-6.4.7/integration-tests/scoped-package/scoped-package.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "SNAPSHOT: left-pad typings should contain patch-package" grep patch-package node_modules/@types/left-pad/index.d.ts echo "END SNAPSHOT" echo "modify add.d.t.s" npx replace add patch-package node_modules/@types/lodash/add.d.ts echo "patch-package can make patches for scoped packages" patch-package @types/lodash echo "remove node_modules" npx rimraf node_modules echo "reinstall node_modules" yarn echo "SNAPSHOT: add.d.ts should contain patch-package" grep patch-package node_modules/@types/lodash/add.d.ts echo "END SNAPSHOT"070701000000E7000081A40000000000000000000000016052114700000094000000000000000000000000000000000000004C00000000patch-package-6.4.7/integration-tests/scoped-package/scoped-package.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "scoped-package", shouldProduceSnapshots: true, }) 070701000000E8000081A40000000000000000000000016052114700000A16000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/scoped-package/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@types/left-pad@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/left-pad/-/left-pad-1.1.1.tgz#29ab68a1a10e849140c9ba3e71a412534dfa0c7b" "@types/lodash@4.14.72": version "4.14.72" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.72.tgz#f090cf6eb1fee1647a0efa1ebe18b0b78ed551c6" ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" dependencies: balanced-match "^1.0.0" concat-map "0.0.1" chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" strip-ansi "~0.1.0" colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" nomnom@1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" dependencies: chalk "~0.4.0" underscore "~1.6.0" replace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.0.0.tgz#da5235cc6d64d5c3a74e4ef73b487aad0f79a74b" dependencies: colors "1.2.4" minimatch "3.0.4" nomnom "1.8.1" strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" 070701000000E9000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003100000000patch-package-6.4.7/integration-tests/shrinkwrap070701000000EA000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/shrinkwrap/__snapshots__070701000000EB000081A400000000000000000000000160521147000000D6000000000000000000000000000000000000005700000000patch-package-6.4.7/integration-tests/shrinkwrap/__snapshots__/shrinkwrap.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test shrinkwrap: left pad should contain patch-package 1`] = ` "SNAPSHOT: left pad should contain patch-package module.exports = patch-package; END SNAPSHOT" `; 070701000000EC000081A40000000000000000000000016052114700000D21000000000000000000000000000000000000004500000000patch-package-6.4.7/integration-tests/shrinkwrap/npm-shrinkwrap.json{ "name": "shrinkwrap", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", "inherits": "2.0.3", "minimatch": "3.0.4", "once": "1.4.0", "path-is-absolute": "1.0.1" } }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "1.4.0", "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "left-pad": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.1.3.tgz", "integrity": "sha1-YS9hwDPzqeCOk58crr7qQbbzGZo=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "1.1.11" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } 070701000000ED000081A400000000000000000000000160521147000000E7000000000000000000000000000000000000003E00000000patch-package-6.4.7/integration-tests/shrinkwrap/package.json{ "name": "shrinkwrap", "version": "1.0.0", "description": "", "scripts": { "prepare": "patch-package" }, "author": "", "license": "ISC", "dependencies": { "left-pad": "^1.1.3", "rimraf": "^2.6.2" } } 070701000000EE000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003900000000patch-package-6.4.7/integration-tests/shrinkwrap/patches070701000000EF000081A400000000000000000000000160521147000001A1000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/shrinkwrap/patches/left-pad+1.1.3.patchdiff --git a/node_modules/left-pad/index.js b/node_modules/left-pad/index.js index 26f73ff..60f3f56 100644 --- a/node_modules/left-pad/index.js +++ b/node_modules/left-pad/index.js @@ -4,7 +4,7 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ 'use strict'; -module.exports = leftPad; +module.exports = patch-package; var cache = [ '', 070701000000F0000081ED00000000000000000000000160521147000000EB000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/shrinkwrap/shrinkwrap.sh# make sure errors stop the script set -e echo "add patch-package" npm i $1 npx rimraf node_modules npm i echo "SNAPSHOT: left pad should contain patch-package" grep patch-package node_modules/left-pad/index.js echo "END SNAPSHOT" 070701000000F1000081A4000000000000000000000001605211470000008B000000000000000000000000000000000000004400000000patch-package-6.4.7/integration-tests/shrinkwrap/shrinkwrap.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "shrinkwrap", shouldProduceSnapshots: true }) 070701000000F2000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004800000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure070701000000F3000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000005600000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure/__snapshots__070701000000F4000081A400000000000000000000000160521147000002C8000000000000000000000000000000000000008500000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure/__snapshots__/unexpected-patch-creation-failure.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Test unexpected-patch-creation-failure: patch-package fails to parse a patch it created 1`] = ` "SNAPSHOT: patch-package fails to parse a patch it created ⛔️ ERROR patch-package was unable to read the patch-file made by git. This should not happen. A diagnostic file was written to ./patch-package-error.json.gz Please attach it to a github issue https://github.com/ds300/patch-package/issues/new?title=New+patch+parse+failed&body=Please+attach+the+diagnostic+file+by+dragging+it+into+here+🙏 Note that this diagnostic file will contain code from the package you were attempting to patch. END SNAPSHOT" `; 070701000000F5000081A40000000000000000000000016052114700000103000000000000000000000000000000000000005500000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure/package.json{ "name": "unexpected-patch-creation-failure", "version": "1.0.0", "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "dependencies": { "left-pad": "1.3.0", "replace": "^1.1.0" } } 070701000000F6000081ED0000000000000000000000016052114700000347000000000000000000000000000000000000006D00000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure/unexpected-patch-creation-failure.sh# make sure errors stop the script set -e echo "add patch-package" yarn add $1 alias patch-package=./node_modules/.bin/patch-package echo "modify left-pad" npx replace leftPad patchPackage node_modules/left-pad/index.js echo "force patch-package to fail" npx replace 'parsePatchFile\(' 'blarseBlatchBlile(' node_modules/patch-package/dist/makePatch.js echo "there is no error log file" if ls ./patch-package-error.json.gz then exit 1 fi (>&2 echo "SNAPSHOT: patch-package fails to parse a patch it created") if patch-package left-pad then exit 1 fi (>&2 echo "END SNAPSHOT") echo "there is now an error log file" ls ./patch-package-error.json.gz echo "and it can be unzipped" gzip -d ./patch-package-error.json.gz echo "the json file is valid json" node -e 'JSON.parse(fs.readFileSync("./patch-package-error.json").toString())'070701000000F7000081A400000000000000000000000160521147000000A7000000000000000000000000000000000000007200000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure/unexpected-patch-creation-failure.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "unexpected-patch-creation-failure", shouldProduceSnapshots: true, }) 070701000000F8000081A40000000000000000000000016052114700004001000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/unexpected-patch-creation-failure/yarn.lock# 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" mem@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" p-is-promise "^2.0.0" mimic-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 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" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== p-limit@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" replace@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.1.0.tgz#4cb04f138d14f37c47b9f2d214eb4a057bd94b22" integrity sha512-0k9rtPG0MUDfJj77XtMCSJKOPdzSwVwM79ZQ6lZuFjqqXrQAMKIMp0g7/8GDAzeERxdktV/LzqbMtJ3yxB23lg== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= semver@^5.5.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 070701000000F9000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003600000000patch-package-6.4.7/integration-tests/yarn-workspaces070701000000FA000081A400000000000000000000000160521147000001DB000000000000000000000000000000000000005200000000patch-package-6.4.7/integration-tests/yarn-workspaces/add-postinstall-commands.jsconst fs = require("fs") function addPostinstall(packageJsonPath) { const json = JSON.parse(fs.readFileSync(packageJsonPath)) fs.writeFileSync( packageJsonPath, JSON.stringify( { ...json, scripts: { ...json.scripts, postinstall: "yarn patch-package", }, }, null, " ", ), ) } Array.prototype.slice .call(process.argv, 2) .filter(x => !x.match(/node_modules/)) .map(addPostinstall) 070701000000FB000081A40000000000000000000000016052114700000187000000000000000000000000000000000000004300000000patch-package-6.4.7/integration-tests/yarn-workspaces/package.json{ "name": "yarn-workspaces", "version": "1.0.0", "private": true, "description": "integration test for patch-package", "main": "index.js", "author": "", "license": "ISC", "workspaces": { "packages": [ "packages/*" ] }, "dependencies": { "left-pad": "1.2.0", "postinstall-postinstall": "^2.0.0", "replace": "^1.1.0", "rimraf": "^2.6.3" } } 070701000000FC000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000003F00000000patch-package-6.4.7/integration-tests/yarn-workspaces/packages070701000000FD000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/yarn-workspaces/packages/a070701000000FE000081A400000000000000000000000160521147000000FE000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/yarn-workspaces/packages/a/package.json{ "name": "a", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "patch-package": "../../node_modules/.bin/patch-package" }, "dependencies": { "left-pad": "1.3.0", "postinstall-postinstall": "^2.0.0" } } 070701000000FF000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000004100000000patch-package-6.4.7/integration-tests/yarn-workspaces/packages/b07070100000100000081A400000000000000000000000160521147000000FE000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/yarn-workspaces/packages/b/package.json{ "name": "b", "version": "1.0.0", "main": "index.js", "license": "MIT", "scripts": { "patch-package": "../../node_modules/.bin/patch-package" }, "dependencies": { "left-pad": "1.2.0", "postinstall-postinstall": "^2.0.0" } } 07070100000101000081ED00000000000000000000000160521147000004B7000000000000000000000000000000000000004900000000patch-package-6.4.7/integration-tests/yarn-workspaces/yarn-workspaces.sh# make sure errors stop the script set -e echo "tarball $1" echo "add patch-package to root" yarn add $1 --ignore-workspace-root-check echo "set up postinstall scripts" node ./add-postinstall-commands.js package.json packages/a/package.json packages/b/package.json echo "modify hoisted left-pad" npx replace leftPad patch-package node_modules/left-pad/index.js echo "create patch file" yarn patch-package left-pad echo "modify unhoisted left-pad" npx replace leftPad patch-package packages/a/node_modules/left-pad/index.js echo "create patch file" cd packages/a yarn patch-package left-pad echo "go back to root" cd ../../ echo "delete all node modules" rimraf **/node_modules echo "execute yarn from root" yarn echo "hoisted left-pad was patched" grep patch-package node_modules/left-pad/index.js echo "unhoisted left-pad was patched" grep patch-package packages/a/node_modules/left-pad/index.js echo "delete all node modules" rimraf **/node_modules echo "execute yarn from a" cd packages/a yarn cd ../../ echo "hoisted left-pad was patched" grep patch-package node_modules/left-pad/index.js echo "unhoisted left-pad was patched" grep patch-package packages/a/node_modules/left-pad/index.js 07070100000102000081A40000000000000000000000016052114700000096000000000000000000000000000000000000004E00000000patch-package-6.4.7/integration-tests/yarn-workspaces/yarn-workspaces.test.tsimport { runIntegrationTest } from "../runIntegrationTest" runIntegrationTest({ projectName: "yarn-workspaces", shouldProduceSnapshots: false, }) 07070100000103000081A40000000000000000000000016052114700004913000000000000000000000000000000000000004000000000patch-package-6.4.7/integration-tests/yarn-workspaces/yarn.lock# 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= ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 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@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" 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= colors@1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 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= cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" 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= get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 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.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 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" 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" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" left-pad@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" integrity sha1-0wpzxrggHY99jnlWupYWCHpo4O4= left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" mem@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" p-is-promise "^2.0.0" mimic-fn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== minimatch@3.0.4, 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" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" 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, once@^1.3.1, once@^1.4.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@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-is-promise@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== p-limit@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-try@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505" integrity sha512-H2RyIJ7+A3rjkwKC2l5GGtU4H1vkxKCAGsWasNVd0Set+6i4znxbWy6/j16YDPJDWxhsgZiKAstMEP8wCdSpjA== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 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= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= postinstall-postinstall@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.0.0.tgz#7ba6711b4420575c4f561638836a81faad47f43f" integrity sha512-3f6qWexsHiT4WKtZc5DRb0FPLilHtARi5KpY4fqban/DJNn8/YhZH8U7dVKVz51WbOxEnR31gV+qYQhvEdHtdQ== pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" replace@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/replace/-/replace-1.1.0.tgz#4cb04f138d14f37c47b9f2d214eb4a057bd94b22" integrity sha512-0k9rtPG0MUDfJj77XtMCSJKOPdzSwVwM79ZQ6lZuFjqqXrQAMKIMp0g7/8GDAzeERxdktV/LzqbMtJ3yxB23lg== dependencies: colors "1.2.4" minimatch "3.0.4" yargs "12.0.5" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 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" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" semver@^5.5.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 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" string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.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" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: ansi-regex "^3.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" 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.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" 07070100000104000081A400000000000000000000000160521147000009A2000000000000000000000000000000000000002100000000patch-package-6.4.7/package.json{ "name": "patch-package", "version": "6.4.7", "description": "Fix broken node modules with no fuss", "main": "dist/index.js", "repository": "github:ds300/patch-package", "author": "David Sheldrick", "license": "MIT", "engines": { "npm": ">5" }, "bin": { "patch-package": "./index.js" }, "scripts": { "prepublishOnly": "yarn run clean && yarn run build", "build": "tsc --project tsconfig.build.json", "new-integration-test": "ts-node integration-tests/newIntegrationTest.ts", "clean": "rimraf dist patch-package.test*.tgz", "format": "prettier --no-semi --write --trailing-comma=all src{/**,}/*.ts integration-tests{/**,}/*.ts property-based-tests{/**,}/*.ts", "prepack": "rimraf dist/**/*.test.js", "test": "./run-tests.sh --runInBand" }, "husky": { "hooks": { "pre-commit": "tsc --noEmit && lint-staged" } }, "lint-staged": { "*.ts": [ "tslint -c tslint.json -p tsconfig.json", "prettier --no-semi --trailing-comma=all --list-different" ] }, "jest": { "globals": { "ts-jest": { "diagnostics": false } }, "transform": { ".(ts|tsx)": "ts-jest" }, "testRegex": "/(src|integration-tests|property-based-tests)/.+\\.test\\.ts$", "moduleFileExtensions": [ "ts", "tsx", "js" ] }, "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/cross-spawn": "^6.0.0", "@types/fs-extra": "^5.0.5", "@types/is-ci": "^1.1.0", "@types/jest": "^24.0.11", "@types/minimist": "^1.2.0", "@types/node": "^11.11.6", "@types/rimraf": "^2.0.2", "@types/semver": "^5.5.0", "@types/tmp": "^0.0.34", "husky": "^1.3.1", "jest": "^24.5.0", "lint-staged": "^8.1.5", "np": "^7.4.0", "prettier": "^2.2.1", "randomstring": "^1.1.5", "ts-jest": "^24.0.0", "ts-node": "8.0.3", "tslint": "^5.14.0", "typescript": "^4.2.2" }, "dependencies": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^2.4.2", "cross-spawn": "^6.0.5", "find-yarn-workspace-root": "^2.0.0", "fs-extra": "^7.0.1", "is-ci": "^2.0.0", "klaw-sync": "^6.0.0", "minimist": "^1.2.0", "open": "^7.4.2", "rimraf": "^2.6.3", "semver": "^5.6.0", "slash": "^2.0.0", "tmp": "^0.0.33" }, "files": [ "index.js", "dist/**/*.js", "CHANGELOG.md", "LICENSE", "patch-package-banner.png", "README.md" ] } 07070100000105000081A40000000000000000000000016052114700003D0A000000000000000000000000000000000000002600000000patch-package-6.4.7/patch-package.svg<svg width="490" height="225" viewBox="0 0 490 225" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="490" height="225" fill="white"/> <path d="M43.5808 105.352C43.5808 111.101 42.2806 115.697 39.6802 119.141C37.1026 122.563 33.6127 124.273 29.2103 124.273C25.8115 124.273 23.0173 123.03 20.8275 120.544V137.823H9.29688V86.568H20.0747L20.4169 89.9896C22.6295 87.2523 25.5378 85.8837 29.1418 85.8837C33.7039 85.8837 37.2509 87.5717 39.7828 90.9476C42.3148 94.3007 43.5808 98.9198 43.5808 104.805V105.352ZM32.0502 104.634C32.0502 98.0644 30.1341 94.7797 26.302 94.7797C23.5647 94.7797 21.7399 95.7606 20.8275 97.7223V112.298C21.8311 114.351 23.6788 115.377 26.3704 115.377C30.0428 115.377 31.9361 112.207 32.0502 105.866V104.634Z" fill="#E35555"/> <path d="M69.5503 123.589C69.1397 122.836 68.7747 121.73 68.4554 120.27C66.334 122.939 63.3687 124.273 59.5594 124.273C56.0694 124.273 53.1041 123.224 50.6634 121.126C48.2227 119.004 47.0023 116.347 47.0023 113.153C47.0023 109.139 48.485 106.105 51.4503 104.052C54.4157 101.999 58.7268 100.973 64.3838 100.973H67.9422V99.0225C67.9422 95.6237 66.4709 93.9244 63.5284 93.9244C60.7911 93.9244 59.4225 95.2702 59.4225 97.9618H47.8919C47.8919 94.3806 49.4088 91.4722 52.4426 89.2368C55.4991 87.0014 59.3883 85.8837 64.11 85.8837C68.8318 85.8837 72.5612 87.0356 75.2985 89.3395C78.0357 91.6433 79.4386 94.8025 79.507 98.8172V115.206C79.5526 118.605 80.0772 121.205 81.0809 123.007V123.589H69.5503ZM62.3308 116.062C63.7679 116.062 64.954 115.754 65.8892 115.138C66.8473 114.522 67.5316 113.826 67.9422 113.051V107.132H64.589C60.5744 107.132 58.5671 108.934 58.5671 112.538C58.5671 113.587 58.9207 114.442 59.6278 115.104C60.3349 115.742 61.2359 116.062 62.3308 116.062Z" fill="#E35555"/> <path d="M99.352 77.3641V86.568H105.442V94.5744H99.352V111.511C99.352 112.903 99.6029 113.872 100.105 114.419C100.607 114.967 101.599 115.241 103.081 115.241C104.222 115.241 105.18 115.172 105.956 115.035V123.281C103.88 123.943 101.713 124.273 99.4546 124.273C95.4856 124.273 92.5545 123.338 90.6612 121.468C88.768 119.597 87.8213 116.757 87.8213 112.948V94.5744H83.0996V86.568H87.8213V77.3641H99.352Z" fill="#E35555"/> <path d="M125.664 115.377C127.283 115.377 128.538 114.944 129.427 114.077C130.317 113.188 130.75 111.956 130.728 110.382H141.54C141.54 114.442 140.08 117.773 137.16 120.373C134.263 122.973 130.522 124.273 125.937 124.273C120.554 124.273 116.311 122.586 113.209 119.21C110.107 115.834 108.556 111.158 108.556 105.181V104.702C108.556 100.961 109.24 97.6652 110.609 94.814C112 91.9399 113.996 89.7387 116.597 88.2104C119.197 86.6593 122.276 85.8837 125.835 85.8837C130.648 85.8837 134.468 87.2181 137.297 89.8869C140.125 92.5557 141.54 96.1712 141.54 100.733H130.728C130.728 98.8172 130.26 97.3459 129.325 96.3194C128.389 95.293 127.135 94.7797 125.561 94.7797C122.573 94.7797 120.828 96.6844 120.326 100.494C120.166 101.703 120.087 103.368 120.087 105.489C120.087 109.207 120.531 111.785 121.421 113.222C122.311 114.659 123.725 115.377 125.664 115.377Z" fill="#E35555"/> <path d="M157.689 90.537C160.153 87.4348 163.301 85.8837 167.133 85.8837C171.216 85.8837 174.295 87.0927 176.371 89.5106C178.447 91.9285 179.507 95.4983 179.553 100.22V123.589H167.988V100.494C167.988 98.532 167.589 97.095 166.791 96.1826C165.992 95.2474 164.635 94.7797 162.719 94.7797C160.347 94.7797 158.67 95.5325 157.689 97.038V123.589H146.159V71.0342H157.689V90.537Z" fill="#E35555"/> <path d="M208.499 106.584H187.936V97.6538H208.499V106.584Z" fill="#E35555"/> <path d="M251.884 105.352C251.884 111.101 250.584 115.697 247.984 119.141C245.406 122.563 241.916 124.273 237.514 124.273C234.115 124.273 231.321 123.03 229.131 120.544V137.823H217.601V86.568H228.378L228.721 89.9896C230.933 87.2523 233.842 85.8837 237.446 85.8837C242.008 85.8837 245.555 87.5717 248.087 90.9476C250.618 94.3007 251.884 98.9198 251.884 104.805V105.352ZM240.354 104.634C240.354 98.0644 238.438 94.7797 234.606 94.7797C231.868 94.7797 230.044 95.7606 229.131 97.7223V112.298C230.135 114.351 231.982 115.377 234.674 115.377C238.347 115.377 240.24 112.207 240.354 105.866V104.634Z" fill="#2AAB85"/> <path d="M277.854 123.589C277.443 122.836 277.078 121.73 276.759 120.27C274.638 122.939 271.672 124.273 267.863 124.273C264.373 124.273 261.408 123.224 258.967 121.126C256.526 119.004 255.306 116.347 255.306 113.153C255.306 109.139 256.789 106.105 259.754 104.052C262.719 101.999 267.031 100.973 272.687 100.973H276.246V99.0225C276.246 95.6237 274.775 93.9244 271.832 93.9244C269.095 93.9244 267.726 95.2702 267.726 97.9618H256.196C256.196 94.3806 257.713 91.4722 260.746 89.2368C263.803 87.0014 267.692 85.8837 272.414 85.8837C277.135 85.8837 280.865 87.0356 283.602 89.3395C286.339 91.6433 287.742 94.8026 287.811 98.8172V115.206C287.856 118.605 288.381 121.205 289.385 123.007V123.589H277.854ZM270.635 116.062C272.072 116.062 273.258 115.754 274.193 115.138C275.151 114.522 275.835 113.826 276.246 113.051V107.132H272.893C268.878 107.132 266.871 108.934 266.871 112.538C266.871 113.587 267.224 114.442 267.932 115.104C268.639 115.742 269.54 116.062 270.635 116.062Z" fill="#2AAB85"/> <path d="M309.88 115.377C311.499 115.377 312.754 114.944 313.643 114.077C314.533 113.188 314.966 111.956 314.944 110.382H325.756C325.756 114.442 324.296 117.773 321.376 120.373C318.479 122.973 314.738 124.273 310.153 124.273C304.77 124.273 300.527 122.586 297.425 119.21C294.323 115.834 292.772 111.158 292.772 105.181V104.702C292.772 100.961 293.456 97.6652 294.825 94.814C296.216 91.9399 298.212 89.7387 300.813 88.2104C303.413 86.6593 306.492 85.8837 310.051 85.8837C314.864 85.8837 318.684 87.2181 321.513 89.8869C324.341 92.5557 325.756 96.1712 325.756 100.733H314.944C314.944 98.8172 314.476 97.3459 313.541 96.3194C312.606 95.293 311.351 94.7797 309.777 94.7797C306.789 94.7797 305.044 96.6844 304.542 100.494C304.382 101.703 304.303 103.368 304.303 105.489C304.303 109.207 304.747 111.785 305.637 113.222C306.527 114.659 307.941 115.377 309.88 115.377Z" fill="#2AAB85"/> <path d="M345.498 109.8L342.248 113.051V123.589H330.717V71H342.248V98.9198L343.411 97.3801L352.102 86.568H365.925L352.957 101.794L366.78 123.589H353.573L345.498 109.8Z" fill="#2AAB85"/> <path d="M389.807 123.589C389.396 122.836 389.031 121.73 388.712 120.27C386.591 122.939 383.625 124.273 379.816 124.273C376.326 124.273 373.361 123.224 370.92 121.126C368.479 119.004 367.259 116.347 367.259 113.153C367.259 109.139 368.742 106.105 371.707 104.052C374.672 101.999 378.983 100.973 384.64 100.973H388.199V99.0225C388.199 95.6237 386.728 93.9244 383.785 93.9244C381.048 93.9244 379.679 95.2702 379.679 97.9618H368.149C368.149 94.3806 369.665 91.4722 372.699 89.2368C375.756 87.0014 379.645 85.8837 384.367 85.8837C389.088 85.8837 392.818 87.0356 395.555 89.3395C398.292 91.6433 399.695 94.8026 399.764 98.8172V115.206C399.809 118.605 400.334 121.205 401.338 123.007V123.589H389.807ZM382.588 116.062C384.025 116.062 385.211 115.754 386.146 115.138C387.104 114.522 387.788 113.826 388.199 113.051V107.132H384.846C380.831 107.132 378.824 108.934 378.824 112.538C378.824 113.587 379.177 114.442 379.884 115.104C380.592 115.742 381.493 116.062 382.588 116.062Z" fill="#2AAB85"/> <path d="M404.828 104.805C404.828 101.064 405.443 97.7565 406.675 94.8824C407.907 92.0083 409.675 89.7957 411.979 88.2446C414.282 86.6707 416.963 85.8837 420.019 85.8837C423.874 85.8837 426.885 87.1839 429.052 89.7843L429.463 86.568H439.933V122.186C439.933 125.448 439.168 128.277 437.64 130.672C436.135 133.09 433.945 134.937 431.071 136.215C428.197 137.515 424.866 138.165 421.08 138.165C418.365 138.165 415.731 137.652 413.176 136.625C410.644 135.599 408.705 134.264 407.36 132.622L412.184 125.847C414.328 128.379 417.157 129.645 420.669 129.645C425.779 129.645 428.334 127.022 428.334 121.776V120.612C426.121 123.053 423.327 124.273 419.951 124.273C415.434 124.273 411.785 122.551 409.002 119.107C406.219 115.64 404.828 111.009 404.828 105.215V104.805ZM416.392 105.523C416.392 108.557 416.963 110.964 418.103 112.743C419.244 114.499 420.84 115.377 422.893 115.377C425.38 115.377 427.193 114.545 428.334 112.88V97.3117C427.216 95.6237 425.425 94.7797 422.962 94.7797C420.909 94.7797 419.301 95.7036 418.137 97.5512C416.974 99.376 416.392 102.033 416.392 105.523Z" fill="#2AAB85"/> <path d="M464.397 124.273C458.717 124.273 454.121 122.586 450.608 119.21C447.095 115.811 445.339 111.397 445.339 105.968V105.01C445.339 101.224 446.034 97.8819 447.426 94.985C448.84 92.0881 450.893 89.8527 453.585 88.2788C456.276 86.6821 459.47 85.8837 463.165 85.8837C468.366 85.8837 472.472 87.5033 475.482 90.7423C478.493 93.9586 479.999 98.4522 479.999 104.223V108.705H457.075C457.485 110.781 458.386 112.412 459.778 113.598C461.169 114.784 462.971 115.377 465.184 115.377C468.833 115.377 471.685 114.1 473.737 111.545L479.007 117.773C477.57 119.757 475.528 121.342 472.882 122.528C470.259 123.692 467.43 124.273 464.397 124.273ZM463.096 94.7797C459.721 94.7797 457.713 97.0152 457.075 101.486H468.708V100.596C468.753 98.7487 468.286 97.3231 467.305 96.3194C466.324 95.293 464.921 94.7797 463.096 94.7797Z" fill="#2AAB85"/> <path d="M21.001 150.902L9.00098 150.902V152.902H21.001V150.902Z" fill="#E35555"/> <path d="M38.0007 150.902L26.0007 150.902V152.902H38.0007V150.902Z" fill="#E35555"/> <path d="M55.0007 150.902L43.0006 150.902V152.902H55.0007V150.902Z" fill="#E35555"/> <path d="M72.0007 150.902L60.0006 150.902V152.902H72.0007V150.902Z" fill="#E35555"/> <path d="M89.0006 150.902L77.0006 150.902V152.902H89.0006V150.902Z" fill="#E35555"/> <path d="M106.001 150.902L94.0006 150.902V152.902H106.001V150.902Z" fill="#E35555"/> <path d="M123.001 150.902L111.001 150.902V152.902H123.001V150.902Z" fill="#E35555"/> <path d="M140.001 150.902L128.001 150.902V152.902H140.001V150.902Z" fill="#E35555"/> <path d="M157.001 150.902L145.001 150.902V152.902H157.001V150.902Z" fill="#E35555"/> <path d="M174.001 150.902L162.001 150.902V152.902H174.001V150.902Z" fill="#E35555"/> <path d="M191.001 150.902L179.001 150.902V152.902H191.001V150.902Z" fill="#E35555"/> <path d="M208.001 150.902L196.001 150.902V152.902H208.001V150.902Z" fill="#E35555"/> <path d="M225.001 150.902L213.001 150.902V152.902H225.001V150.902Z" fill="#E35555"/> <path d="M242.001 150.902L230.001 150.902V152.902H242.001V150.902Z" fill="#E35555"/> <path d="M259.001 150.902L247.001 150.902V152.902H259.001V150.902Z" fill="#E35555"/> <path d="M276.001 150.902L264.001 150.902V152.902H276.001V150.902Z" fill="#E35555"/> <path d="M293.001 150.902L281.001 150.902V152.902H293.001V150.902Z" fill="#E35555"/> <path d="M310.001 150.902L298.001 150.902V152.902H310.001V150.902Z" fill="#E35555"/> <path d="M327.001 150.902L315.001 150.902V152.902H327.001V150.902Z" fill="#E35555"/> <path d="M344.001 150.902L332.001 150.902V152.902H344.001V150.902Z" fill="#E35555"/> <path d="M361.001 150.902L349.001 150.902V152.902H361.001V150.902Z" fill="#E35555"/> <path d="M378.001 150.902L366.001 150.902V152.902H378.001V150.902Z" fill="#E35555"/> <path d="M395.001 150.902L383.001 150.902V152.902H395.001V150.902Z" fill="#E35555"/> <path d="M412.001 150.902L400.001 150.902V152.902H412.001V150.902Z" fill="#E35555"/> <path d="M429.001 150.902L417.001 150.902V152.902H429.001V150.902Z" fill="#E35555"/> <path d="M446.001 150.902L434.001 150.902V152.902H446.001V150.902Z" fill="#E35555"/> <path d="M463.001 150.902L451.001 150.902V152.902H463.001V150.902Z" fill="#E35555"/> <path d="M480.001 150.902L468.001 150.902V152.902H480.001V150.902Z" fill="#E35555"/> <path d="M16.0305 164.902L21 164.902V166.902H16L16.0305 171.902H14V166.902H9V164.902L14 164.902V159.902L16.0305 159.902V164.902Z" fill="#2AAB85"/> <path d="M33.0305 164.902L38 164.902V166.902H33L33.0305 171.902H31V166.902H26V164.902L31 164.902V159.902L33.0305 159.902V164.902Z" fill="#2AAB85"/> <path d="M50.0304 164.902L55 164.902V166.902H50L50.0304 171.902H48V166.902H43V164.902L48 164.902V159.902L50.0304 159.902V164.902Z" fill="#2AAB85"/> <path d="M67.0304 164.902L72 164.902V166.902H67L67.0304 171.902H65V166.902H60V164.902L65 164.902V159.902L67.0304 159.902V164.902Z" fill="#2AAB85"/> <path d="M84.0304 164.902L89 164.902V166.902H84L84.0304 171.902H82V166.902H77V164.902L82 164.902V159.902L84.0304 159.902V164.902Z" fill="#2AAB85"/> <path d="M101.03 164.902L106 164.902V166.902H101L101.03 171.902H99V166.902H94V164.902L99 164.902V159.902L101.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M118.03 164.902L123 164.902V166.902H118L118.03 171.902H116V166.902H111V164.902L116 164.902V159.902L118.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M135.03 164.902L140 164.902V166.902H135L135.03 171.902H133V166.902H128V164.902L133 164.902V159.902L135.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M152.03 164.902L157 164.902V166.902H152L152.03 171.902H150V166.902H145V164.902L150 164.902V159.902L152.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M169.03 164.902L174 164.902V166.902H169L169.03 171.902H167V166.902H162V164.902L167 164.902V159.902L169.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M186.03 164.902L191 164.902V166.902H186L186.03 171.902H184V166.902H179V164.902L184 164.902V159.902L186.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M203.03 164.902L208 164.902V166.902H203L203.03 171.902H201V166.902H196V164.902L201 164.902V159.902L203.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M220.03 164.902L225 164.902V166.902H220L220.03 171.902H218V166.902H213V164.902L218 164.902V159.902L220.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M237.03 164.902L242 164.902V166.902H237L237.03 171.902H235V166.902H230V164.902L235 164.902V159.902L237.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M254.03 164.902L259 164.902V166.902H254L254.03 171.902H252V166.902H247V164.902L252 164.902V159.902L254.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M271.03 164.902L276 164.902V166.902H271L271.03 171.902H269V166.902H264V164.902L269 164.902V159.902L271.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M288.03 164.902L293 164.902V166.902H288L288.03 171.902H286V166.902H281V164.902L286 164.902V159.902L288.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M305.03 164.902L310 164.902V166.902H305L305.03 171.902H303V166.902H298V164.902L303 164.902V159.902L305.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M322.03 164.902L327 164.902V166.902H322L322.03 171.902H320V166.902H315V164.902L320 164.902V159.902L322.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M339.03 164.902L344 164.902V166.902H339L339.03 171.902H337V166.902H332V164.902L337 164.902V159.902L339.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M356.03 164.902L361 164.902V166.902H356L356.03 171.902H354V166.902H349V164.902L354 164.902V159.902L356.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M373.03 164.902L378 164.902V166.902H373L373.03 171.902H371V166.902H366V164.902L371 164.902V159.902L373.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M390.03 164.902L395 164.902V166.902H390L390.03 171.902H388V166.902H383V164.902L388 164.902V159.902L390.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M407.03 164.902L412 164.902V166.902H407L407.03 171.902H405V166.902H400V164.902L405 164.902V159.902L407.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M424.03 164.902L429 164.902V166.902H424L424.03 171.902H422V166.902H417V164.902L422 164.902V159.902L424.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M441.03 164.902L446 164.902V166.902H441L441.03 171.902H439V166.902H434V164.902L439 164.902V159.902L441.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M458.03 164.902L463 164.902V166.902H458L458.03 171.902H456V166.902H451V164.902L456 164.902V159.902L458.03 159.902V164.902Z" fill="#2AAB85"/> <path d="M475.03 164.902L480 164.902V166.902H475L475.03 171.902H473V166.902H468V164.902L473 164.902V159.902L475.03 159.902V164.902Z" fill="#2AAB85"/> </svg> 07070100000106000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000002900000000patch-package-6.4.7/property-based-tests07070100000107000081A400000000000000000000000160521147000010BD000000000000000000000000000000000000003C00000000patch-package-6.4.7/property-based-tests/executeTestCase.tsimport * as tmp from "tmp" import * as path from "path" import { spawnSafeSync } from "../src/spawnSafe" import { executeEffects } from "../src/patch/apply" import { parsePatchFile } from "../src/patch/parse" import { reversePatch } from "../src/patch/reverse" import { TestCase, Files } from "./testCases" import { appendFileSync, existsSync, writeFileSync } from "fs" jest.mock("fs-extra", () => { let workingFiles: Files function setWorkingFiles(files: Files) { workingFiles = files } function getWorkingFiles() { return workingFiles } return { setWorkingFiles, getWorkingFiles, ensureDirSync: jest.fn(), readFileSync: jest.fn(path => getWorkingFiles()[path].contents), writeFileSync: jest.fn( (path: string, contents: string, opts?: { mode?: number }) => { getWorkingFiles()[path] = { contents, mode: opts && typeof opts.mode === "number" ? opts.mode : 0o644, } }, ), unlinkSync: jest.fn(path => delete getWorkingFiles()[path]), moveSync: jest.fn((from, to) => { getWorkingFiles()[to] = getWorkingFiles()[from] delete getWorkingFiles()[from] }), statSync: jest.fn(path => getWorkingFiles()[path]), chmodSync: jest.fn((path, mode) => { const { contents } = getWorkingFiles()[path] getWorkingFiles()[path] = { contents, mode } }), } }) function writeFiles(cwd: string, files: Files): void { const mkdirpSync = require("fs-extra/lib/mkdirs/index.js").mkdirpSync const writeFileSync = require("fs").writeFileSync Object.keys(files).forEach(filePath => { if (!filePath.startsWith(".git/")) { mkdirpSync(path.join(cwd, path.dirname(filePath))) writeFileSync(path.join(cwd, filePath), files[filePath].contents, { mode: files[filePath].mode, }) } }) } function removeLeadingSpaceOnBlankLines(patchFileContents: string): string { return patchFileContents .split("\n") .map(line => (line === " " ? "" : line)) .join("\n") } export function executeTestCase(testCase: TestCase) { const fs = require("fs-extra") function reportingFailures(f: () => void): void { try { f() } catch (e) { const data = JSON.stringify(testCase) + "\n\n" if (!existsSync("generative-test-errors.log")) { writeFileSync("generative-test-errors.log", data) } else { appendFileSync("generative-test-errors.log", data) } throw e } } const tmpDir = tmp.dirSync({ unsafeCleanup: true, mode: 0o100777 }) spawnSafeSync("git", ["init"], { cwd: tmpDir.name }) writeFiles(tmpDir.name, testCase.cleanFiles) spawnSafeSync("git", ["add", "-A"], { cwd: tmpDir.name }) spawnSafeSync("git", ["commit", "--allow-empty", "-m", "blah"], { cwd: tmpDir.name, }) if (Object.keys(testCase.cleanFiles).length > 0) { spawnSafeSync("git", ["rm", "-rf", "*"], { cwd: tmpDir.name, }) } writeFiles(tmpDir.name, testCase.modifiedFiles) spawnSafeSync("git", ["add", "-A"], { cwd: tmpDir.name }) const patchResult = spawnSafeSync( "git", ["diff", "--color=never", "--cached"], { cwd: tmpDir.name, logStdErrOnError: true, throwOnError: true, }, ) const patchFileContents = patchResult.stdout.toString() const patchFileContentsWithBlankLines = removeLeadingSpaceOnBlankLines( patchFileContents, ) it("looks the same whether parsed with blank lines or not", () => { reportingFailures(() => { expect(parsePatchFile(patchFileContents)).toEqual( parsePatchFile(patchFileContentsWithBlankLines), ) }) }) // console.log(patchFileContents) it("works forwards", () => { fs.setWorkingFiles({ ...testCase.cleanFiles }) reportingFailures(() => { const effects = parsePatchFile(patchFileContents) executeEffects(effects, { dryRun: false }) expect(fs.getWorkingFiles()).toEqual(testCase.modifiedFiles) }) }) it("works backwards", () => { fs.setWorkingFiles({ ...testCase.modifiedFiles }) reportingFailures(() => { const effects = reversePatch(parsePatchFile(patchFileContents)) executeEffects(effects, { dryRun: false }) expect(fs.getWorkingFiles()).toEqual(testCase.cleanFiles) }) }) } 07070100000108000081A40000000000000000000000016052114700000104000000000000000000000000000000000000004100000000patch-package-6.4.7/property-based-tests/generativeTests.test.tsimport { generateTestCase } from "./testCases" import { executeTestCase } from "./executeTestCase" describe("property based tests", () => { for (let i = 0; i < 200; i++) { describe(`${i}`, () => { executeTestCase(generateTestCase()) }) } }) 07070100000109000081A400000000000000000000000160521147000013AA000000000000000000000000000000000000004100000000patch-package-6.4.7/property-based-tests/regressionTests.test.tsimport { executeTestCase } from "./executeTestCase" describe("regression tests", () => { describe("0", () => { executeTestCase({ cleanFiles: { blah: { contents: "\n\n\na\nb\rc\rd\ne\nf\ng\rh\ni\n", mode: 420 }, }, modifiedFiles: { blah: { contents: "z\n\na\nb\rc\rd\ne\nf\ng\rh\ni\n_", mode: 420 }, }, }) }) describe("1", () => { executeTestCase({ cleanFiles: { blah: { contents: "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk\nl", mode: 420 }, }, modifiedFiles: { blah: { contents: "d\ne\nf\ng\nh\ni\nj\nk\nm\nl", mode: 420 }, }, }) }) describe("2", () => { executeTestCase({ cleanFiles: { b: { contents: "\n", mode: 420 } }, modifiedFiles: { b: { contents: "", mode: 420 } }, }) }) describe("3", () => { executeTestCase({ cleanFiles: { b: { contents: "", mode: 420 } }, modifiedFiles: { b: { contents: "\n", mode: 420 } }, }) }) describe("4", () => { executeTestCase({ cleanFiles: { "qc-s.4me": { contents: "a\nl\nb\nG", mode: 420 } }, modifiedFiles: { "qc-s.4me": { contents: "\na\nl\nb\nG", mode: 420 } }, }) }) describe("5", () => { executeTestCase({ cleanFiles: { banana: { contents: "\r", mode: 420 } }, modifiedFiles: { banana: { contents: "", mode: 420 } }, }) }) describe("6", () => { executeTestCase({ cleanFiles: { f: { contents: "5\n", mode: 420 } }, modifiedFiles: { f: { contents: "5\n7\n", mode: 420 } }, }) }) describe("7", () => { executeTestCase({ cleanFiles: { nugs: { contents: "a", mode: 420 } }, modifiedFiles: { nugs: { contents: "a\n\n", mode: 420 } }, }) }) describe("8", () => { executeTestCase({ cleanFiles: { b: { contents: "\n", mode: 420 } }, modifiedFiles: { b: { contents: "ba\n", mode: 420 } }, }) }) describe("9", () => { executeTestCase({ cleanFiles: { banana: { contents: "WMo^", mode: 420 } }, modifiedFiles: { banana: { contents: "\n\n", mode: 420 } }, }) }) describe("10", () => { executeTestCase({ cleanFiles: { b: { contents: "a", mode: 420 } }, modifiedFiles: { b: { contents: "a", mode: 420 }, c: { contents: "a\n", mode: 420 }, }, }) }) describe("11", () => { executeTestCase({ cleanFiles: { "c-qZ0Qznn1.RWOZ": { contents: "$xs\rwim\t}pJ(;£BZxc\\bg9k|zvBufcaa", mode: 420, }, "tK/NEDQ-hff.iaQK": { contents: ";4l", mode: 420 }, "KbYXh8-Dk3J/vcjQ.mz": { contents: "+4:", mode: 420 }, "r6LXXaS/DO3VbFBswE6.WmHQ": { contents: "rX]bnT%j+,\t\r~xc&`lLh^\\n*-J$z<4xu", mode: 420, }, "Fa/lQgW3c/G8LsUj-YFoS.4hoY": { contents: "NS", mode: 420 }, }, modifiedFiles: { "c-qZ0Qznn1.RWOZ": { contents: "$xs\rwim\t}pJ(;£BZxc\\bg9k|zvBufcaa", mode: 420, }, "tK/NEDQ-hff.iaQK": { contents: ";4l", mode: 420 }, "KbYXh8-Dk3J/vcjQ.mz": { contents: "+4:", mode: 420 }, "r6LXXaS/DO3VbFBswE6.WmHQ": { contents: "", mode: 420 }, "Fa/lQgW3c/G8LsUj-YFoS.4hoY": { contents: "NS", mode: 420 }, wW1UMkaGn: { contents: "F", mode: 420 }, }, }) }) describe("12", () => { executeTestCase({ cleanFiles: { banana: { contents: "M_7P /c$Y%ldTF=o\nKv_caoM|A\rZ^i!+", mode: 420 }, }, modifiedFiles: { banana: { contents: "B-§s\r\nM_7P /c$Y%ldTF=o\nKv_caoM|A\rZ^i!+", mode: 420, }, jimmy: { contents: "", mode: 420 }, }, }) }) describe("13", () => { executeTestCase({ cleanFiles: { "QBgzpme/jN/Rvr8SP1gZ.9": { contents: "Zk$@", mode: 420 } }, modifiedFiles: { "QBgzpme/jN/Rvr8SP1gZ.9": { contents: ".6f\n7tD*\nZk$@", mode: 420 }, }, }) }) describe("14", () => { executeTestCase({ cleanFiles: { "1dkfI.J": { contents: "lineend\n", mode: 420 } }, modifiedFiles: { "1dkfI.J": { contents: "nout", mode: 420 } }, }) }) describe("15", () => { executeTestCase({ cleanFiles: { "1dkfI.J": { contents: "a\nb\nc", mode: 420 } }, modifiedFiles: { "1dkfI.J": { contents: "b\nb\nc", mode: 420 } }, }) }) describe("16", () => { executeTestCase({ cleanFiles: { "k/1dt4myqe.e1": { contents: "a\n\n\n\nbanana\n", mode: 420, }, }, modifiedFiles: { "k/1dt4myqe.e1": { contents: "b\n\n\n\nbanana\n", mode: 420, }, }, }) }) describe("17", () => { executeTestCase({ cleanFiles: { abc: { contents: "E\n", mode: 420 }, }, modifiedFiles: { cpz: { contents: "E\n", mode: 420 } }, }) }) describe("18", () => { executeTestCase({ cleanFiles: {}, modifiedFiles: { ww: { contents: "banana", mode: 420, }, }, }) }) }) 0707010000010A000081A400000000000000000000000160521147000014F2000000000000000000000000000000000000003600000000patch-package-6.4.7/property-based-tests/testCases.tsimport { generate } from "randomstring" import { NON_EXECUTABLE_FILE_MODE, EXECUTABLE_FILE_MODE, } from "../src/patch/parse" import { assertNever } from "../src/assertNever" export interface File { contents: string mode: number } export interface Files { [filePath: string]: File } export interface TestCase { cleanFiles: Files modifiedFiles: Files } const fileCharSet = ` \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789!@£$%^&*()-=_+[]{};'i\\:"|<>?,./\`~§± 0123456789!@£$%^&*()-=_+[]{};'i\\:"|<>?,./\`~§± \r\r\r\r\t\t\t\t ` function makeFileContents(): File { return { contents: generate({ length: Math.floor(Math.random() * 1000), charset: fileCharSet, }) || "", mode: Math.random() > 0.5 ? 0o644 : 0o755, } } function makeFileName(ext?: boolean) { const name = generate({ length: Math.ceil(Math.random() * 10), charset: "abcdefghijklmnopqrstuvwxyz-_0987654321", }) return ext ? name + "." + generate(Math.ceil(Math.random() * 4)) : name } function makeFilePath() { const numParts = Math.floor(Math.random() * 3) const parts = [] for (let i = 0; i < numParts; i++) { parts.push(makeFileName()) } parts.push(makeFileName(true)) return parts.join("/") } function makeFiles(): Files { const fileSystem: Files = {} const numFiles = Math.random() * 3 + 1 for (let i = 0; i < numFiles; i++) { fileSystem[makeFilePath()] = makeFileContents() } return fileSystem } type MutationKind = | "deleteFile" | "createFile" | "deleteLine" | "insertLine" | "renameFile" | "changeFileMode" const mutationKindLikelihoods: Array<[MutationKind, number]> = [ ["deleteFile", 1], ["createFile", 1], ["renameFile", 1], ["changeFileMode", 1], ["deleteLine", 10], ["insertLine", 10], ] const liklihoodSum = mutationKindLikelihoods.reduce((acc, [_, n]) => acc + n, 0) function getNextMutationKind(): MutationKind { const n = Math.random() * liklihoodSum let sum = 0 for (const [kind, likelihood] of mutationKindLikelihoods) { sum += likelihood if (n < sum) { return kind } } return "insertLine" } function selectRandomElement<T>(ts: T[]): T { return ts[Math.floor(Math.random() * ts.length)] } function deleteLinesFromFile(file: File): File { const numLinesToDelete = Math.ceil(Math.random() * 1) const lines = file.contents.split("\n") const index = Math.max(Math.random() * (lines.length - numLinesToDelete), 0) lines.splice(index, numLinesToDelete) return { ...file, contents: lines.join("\n") } } function insertLinesIntoFile(file: File): File { const lines = file.contents.split("\n") const index = Math.floor(Math.random() * lines.length) const length = Math.ceil(Math.random() * 5) lines.splice(index, 0, generate({ length, charset: fileCharSet })) return { ...file, contents: lines.join("\n") } } function getUniqueFilename(files: Files) { let filename = makeFileName() const ks = Object.keys(files) while (ks.some(k => k.startsWith(filename))) { filename = makeFileName() } return filename } function mutateFiles(files: Files): Files { const mutatedFiles = { ...files } const numMutations = Math.ceil(Math.random() * 1000) for (let i = 0; i < numMutations; i++) { const mutationKind = getNextMutationKind() switch (mutationKind) { case "deleteFile": { if (Object.keys(mutatedFiles).length === 1) { break } // select a file at random and delete it const pathToDelete = selectRandomElement(Object.keys(mutatedFiles)) delete mutatedFiles[pathToDelete] break } case "createFile": { mutatedFiles[getUniqueFilename(mutatedFiles)] = makeFileContents() break } case "deleteLine": { const pathToDeleteFrom = selectRandomElement(Object.keys(mutatedFiles)) mutatedFiles[pathToDeleteFrom] = deleteLinesFromFile( mutatedFiles[pathToDeleteFrom], ) break } case "insertLine": const pathToInsertTo = selectRandomElement(Object.keys(mutatedFiles)) mutatedFiles[pathToInsertTo] = insertLinesIntoFile( mutatedFiles[pathToInsertTo], ) // select a file at random and insert some text in there break case "renameFile": const pathToRename = selectRandomElement(Object.keys(mutatedFiles)) mutatedFiles[getUniqueFilename(mutatedFiles)] = mutatedFiles[pathToRename] delete mutatedFiles[pathToRename] break case "changeFileMode": const pathToChange = selectRandomElement(Object.keys(mutatedFiles)) const { mode, contents } = mutatedFiles[pathToChange] mutatedFiles[pathToChange] = { contents, mode: mode === NON_EXECUTABLE_FILE_MODE ? EXECUTABLE_FILE_MODE : NON_EXECUTABLE_FILE_MODE, } break default: assertNever(mutationKind) } } return { ...mutatedFiles } } export function generateTestCase(): TestCase { const cleanFiles = makeFiles() return { cleanFiles, modifiedFiles: mutateFiles(cleanFiles), } } 0707010000010B000081ED0000000000000000000000016052114700000160000000000000000000000000000000000000002100000000patch-package-6.4.7/run-tests.sh#!/usr/bin/env bash set -e export CI=true yarn clean yarn build version=$(node -e 'console.log(require("./package.json").version)') yarn version --new-version 0.0.0 --no-git-tag-version --no-commit-hooks yarn pack --filename patch-package.test.$(date +%s).tgz yarn version --new-version $version --no-git-tag-version --no-commit-hooks yarn jest "$@" 0707010000010C000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000001800000000patch-package-6.4.7/src0707010000010D000081A40000000000000000000000016052114700001C35000000000000000000000000000000000000002F00000000patch-package-6.4.7/src/PackageDetails.test.tsimport { getPackageDetailsFromPatchFilename, getPatchDetailsFromCliString, } from "./PackageDetails" describe("getPackageDetailsFromPatchFilename", () => { it("parses old-style patch filenames", () => { expect( getPackageDetailsFromPatchFilename("@types/banana:3.4.2-beta.2.patch"), ).toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "@types/banana", "isDevOnly": false, "isNested": false, "name": "@types/banana", "packageNames": Array [ "@types/banana", ], "patchFilename": "@types/banana:3.4.2-beta.2.patch", "path": "node_modules/@types/banana", "pathSpecifier": "@types/banana", "version": "3.4.2-beta.2", } `) expect(getPackageDetailsFromPatchFilename("banana:0.4.2.patch")) .toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "banana", "isDevOnly": false, "isNested": false, "name": "banana", "packageNames": Array [ "banana", ], "patchFilename": "banana:0.4.2.patch", "path": "node_modules/banana", "pathSpecifier": "banana", "version": "0.4.2", } `) expect(getPackageDetailsFromPatchFilename("banana+0.4.2.patch")) .toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "banana", "isDevOnly": false, "isNested": false, "name": "banana", "packageNames": Array [ "banana", ], "patchFilename": "banana+0.4.2.patch", "path": "node_modules/banana", "pathSpecifier": "banana", "version": "0.4.2", } `) expect(getPackageDetailsFromPatchFilename("banana-0.4.2.patch")).toBe(null) expect( getPackageDetailsFromPatchFilename("@types+banana-0.4.2.patch"), ).toBe(null) expect(getPackageDetailsFromPatchFilename("banana+0.4.2.dev.patch")) .toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "banana", "isDevOnly": true, "isNested": false, "name": "banana", "packageNames": Array [ "banana", ], "patchFilename": "banana+0.4.2.dev.patch", "path": "node_modules/banana", "pathSpecifier": "banana", "version": "0.4.2", } `) }) it("parses new-style patch filenames", () => { expect(getPackageDetailsFromPatchFilename("banana++apple+0.4.2.patch")) .toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "banana => apple", "isDevOnly": false, "isNested": true, "name": "apple", "packageNames": Array [ "banana", "apple", ], "patchFilename": "banana++apple+0.4.2.patch", "path": "node_modules/banana/node_modules/apple", "pathSpecifier": "banana/apple", "version": "0.4.2", } `) expect( getPackageDetailsFromPatchFilename( "@types+banana++@types+apple++@mollusc+man+0.4.2-banana-tree.patch", ), ).toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "@types/banana => @types/apple => @mollusc/man", "isDevOnly": false, "isNested": true, "name": "@mollusc/man", "packageNames": Array [ "@types/banana", "@types/apple", "@mollusc/man", ], "patchFilename": "@types+banana++@types+apple++@mollusc+man+0.4.2-banana-tree.patch", "path": "node_modules/@types/banana/node_modules/@types/apple/node_modules/@mollusc/man", "pathSpecifier": "@types/banana/@types/apple/@mollusc/man", "version": "0.4.2-banana-tree", } `) expect( getPackageDetailsFromPatchFilename( "@types+banana.patch++hello+0.4.2-banana-tree.patch", ), ).toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "@types/banana.patch => hello", "isDevOnly": false, "isNested": true, "name": "hello", "packageNames": Array [ "@types/banana.patch", "hello", ], "patchFilename": "@types+banana.patch++hello+0.4.2-banana-tree.patch", "path": "node_modules/@types/banana.patch/node_modules/hello", "pathSpecifier": "@types/banana.patch/hello", "version": "0.4.2-banana-tree", } `) expect( getPackageDetailsFromPatchFilename( "@types+banana.patch++hello+0.4.2-banana-tree.dev.patch", ), ).toMatchInlineSnapshot(` Object { "humanReadablePathSpecifier": "@types/banana.patch => hello", "isDevOnly": true, "isNested": true, "name": "hello", "packageNames": Array [ "@types/banana.patch", "hello", ], "patchFilename": "@types+banana.patch++hello+0.4.2-banana-tree.dev.patch", "path": "node_modules/@types/banana.patch/node_modules/hello", "pathSpecifier": "@types/banana.patch/hello", "version": "0.4.2-banana-tree", } `) }) }) describe("getPatchDetailsFromCliString", () => { it("handles a minimal package name", () => { expect(getPatchDetailsFromCliString("patch-package")).toMatchInlineSnapshot( ` Object { "humanReadablePathSpecifier": "patch-package", "isNested": false, "name": "patch-package", "packageNames": Array [ "patch-package", ], "path": "node_modules/patch-package", "pathSpecifier": "patch-package", } `, ) }) it("handles a scoped package name", () => { expect( getPatchDetailsFromCliString("@david/patch-package"), ).toMatchInlineSnapshot( ` Object { "humanReadablePathSpecifier": "@david/patch-package", "isNested": false, "name": "@david/patch-package", "packageNames": Array [ "@david/patch-package", ], "path": "node_modules/@david/patch-package", "pathSpecifier": "@david/patch-package", } `, ) }) it("handles a nested package name", () => { expect( getPatchDetailsFromCliString("david/patch-package"), ).toMatchInlineSnapshot( ` Object { "humanReadablePathSpecifier": "david => patch-package", "isNested": true, "name": "patch-package", "packageNames": Array [ "david", "patch-package", ], "path": "node_modules/david/node_modules/patch-package", "pathSpecifier": "david/patch-package", } `, ) }) it("handles a nested package name with scopes", () => { expect( getPatchDetailsFromCliString("@david/patch-package/banana"), ).toMatchInlineSnapshot( ` Object { "humanReadablePathSpecifier": "@david/patch-package => banana", "isNested": true, "name": "banana", "packageNames": Array [ "@david/patch-package", "banana", ], "path": "node_modules/@david/patch-package/node_modules/banana", "pathSpecifier": "@david/patch-package/banana", } `, ) expect( getPatchDetailsFromCliString("@david/patch-package/@david/banana"), ).toMatchInlineSnapshot( ` Object { "humanReadablePathSpecifier": "@david/patch-package => @david/banana", "isNested": true, "name": "@david/banana", "packageNames": Array [ "@david/patch-package", "@david/banana", ], "path": "node_modules/@david/patch-package/node_modules/@david/banana", "pathSpecifier": "@david/patch-package/@david/banana", } `, ) expect( getPatchDetailsFromCliString("david/patch-package/@david/banana"), ).toMatchInlineSnapshot( ` Object { "humanReadablePathSpecifier": "david => patch-package => @david/banana", "isNested": true, "name": "@david/banana", "packageNames": Array [ "david", "patch-package", "@david/banana", ], "path": "node_modules/david/node_modules/patch-package/node_modules/@david/banana", "pathSpecifier": "david/patch-package/@david/banana", } `, ) }) }) 0707010000010E000081A40000000000000000000000016052114700000C30000000000000000000000000000000000000002A00000000patch-package-6.4.7/src/PackageDetails.tsimport { join } from "./path" export interface PackageDetails { humanReadablePathSpecifier: string pathSpecifier: string path: string name: string isNested: boolean packageNames: string[] } export interface PatchedPackageDetails extends PackageDetails { version: string patchFilename: string isDevOnly: boolean } function parseNameAndVersion( s: string, ): { name: string version?: string } | null { const parts = s.split("+") switch (parts.length) { case 1: { return { name: parts[0] } } case 2: { const [nameOrScope, versionOrName] = parts if (versionOrName.match(/^\d+/)) { return { name: nameOrScope, version: versionOrName, } } return { name: `${nameOrScope}/${versionOrName}` } } case 3: { const [scope, name, version] = parts return { name: `${scope}/${name}`, version } } } return null } export function getPackageDetailsFromPatchFilename( patchFilename: string, ): PatchedPackageDetails | null { const legacyMatch = patchFilename.match( /^([^+=]+?)(:|\+)(\d+\.\d+\.\d+.*?)(\.dev)?\.patch$/, ) if (legacyMatch) { const name = legacyMatch[1] const version = legacyMatch[3] return { packageNames: [name], pathSpecifier: name, humanReadablePathSpecifier: name, path: join("node_modules", name), name, version, isNested: false, patchFilename, isDevOnly: patchFilename.endsWith(".dev.patch"), } } const parts = patchFilename .replace(/(\.dev)?\.patch$/, "") .split("++") .map(parseNameAndVersion) .filter((x): x is NonNullable<typeof x> => x !== null) if (parts.length === 0) { return null } const lastPart = parts[parts.length - 1] if (!lastPart.version) { return null } return { name: lastPart.name, version: lastPart.version, path: join( "node_modules", parts.map(({ name }) => name).join("/node_modules/"), ), patchFilename, pathSpecifier: parts.map(({ name }) => name).join("/"), humanReadablePathSpecifier: parts.map(({ name }) => name).join(" => "), isNested: parts.length > 1, packageNames: parts.map(({ name }) => name), isDevOnly: patchFilename.endsWith(".dev.patch"), } } export function getPatchDetailsFromCliString( specifier: string, ): PackageDetails | null { const parts = specifier.split("/") const packageNames = [] let scope: string | null = null for (let i = 0; i < parts.length; i++) { if (parts[i].startsWith("@")) { if (scope) { return null } scope = parts[i] } else { if (scope) { packageNames.push(`${scope}/${parts[i]}`) scope = null } else { packageNames.push(parts[i]) } } } const path = join("node_modules", packageNames.join("/node_modules/")) return { packageNames, path, name: packageNames[packageNames.length - 1], humanReadablePathSpecifier: packageNames.join(" => "), isNested: packageNames.length > 1, pathSpecifier: specifier, } } 0707010000010F000081A40000000000000000000000016052114700002563000000000000000000000000000000000000002800000000patch-package-6.4.7/src/applyPatches.tsimport chalk from "chalk" import { getPatchFiles } from "./patchFs" import { executeEffects } from "./patch/apply" import { existsSync } from "fs-extra" import { join, resolve, relative } from "./path" import { posix } from "path" import { getPackageDetailsFromPatchFilename, PackageDetails, } from "./PackageDetails" import { reversePatch } from "./patch/reverse" import semver from "semver" import { readPatch } from "./patch/read" import { packageIsDevDependency } from "./packageIsDevDependency" class PatchApplicationError extends Error { constructor(msg: string) { super(msg) } } function findPatchFiles(patchesDirectory: string): string[] { if (!existsSync(patchesDirectory)) { return [] } return getPatchFiles(patchesDirectory) as string[] } function getInstalledPackageVersion({ appPath, path, pathSpecifier, isDevOnly, patchFilename, }: { appPath: string path: string pathSpecifier: string isDevOnly: boolean patchFilename: string }): null | string { const packageDir = join(appPath, path) if (!existsSync(packageDir)) { if (process.env.NODE_ENV === "production" && isDevOnly) { return null } let err = `${chalk.red("Error:")} Patch file found for package ${posix.basename( pathSpecifier, )}` + ` which is not present at ${relative(".", packageDir)}` if (!isDevOnly && process.env.NODE_ENV === "production") { err += ` If this package is a dev dependency, rename the patch file to ${chalk.bold(patchFilename.replace(".patch", ".dev.patch"))} ` } throw new PatchApplicationError(err) } const { version } = require(join(packageDir, "package.json")) // normalize version for `npm ci` const result = semver.valid(version) if (result === null) { throw new PatchApplicationError( `${chalk.red( "Error:", )} Version string '${version}' cannot be parsed from ${join( packageDir, "package.json", )}`, ) } return result as string } export function applyPatchesForApp({ appPath, reverse, patchDir, shouldExitWithError, }: { appPath: string reverse: boolean patchDir: string shouldExitWithError: boolean }): void { const patchesDirectory = join(appPath, patchDir) const files = findPatchFiles(patchesDirectory) if (files.length === 0) { console.error(chalk.blueBright("No patch files found")) return } const errors: string[] = [] const warnings: string[] = [] for (const filename of files) { try { const packageDetails = getPackageDetailsFromPatchFilename(filename) if (!packageDetails) { warnings.push( `Unrecognized patch file in patches directory ${filename}`, ) continue } const { name, version, path, pathSpecifier, isDevOnly, patchFilename, } = packageDetails const installedPackageVersion = getInstalledPackageVersion({ appPath, path, pathSpecifier, isDevOnly: isDevOnly || // check for direct-dependents in prod (process.env.NODE_ENV === "production" && packageIsDevDependency({ appPath, packageDetails })), patchFilename, }) if (!installedPackageVersion) { // it's ok we're in production mode and this is a dev only package console.log( `Skipping dev-only ${chalk.bold( pathSpecifier, )}@${version} ${chalk.blue("✔")}`, ) continue } if ( applyPatch({ patchFilePath: resolve(patchesDirectory, filename) as string, reverse, packageDetails, patchDir, }) ) { // yay patch was applied successfully // print warning if version mismatch if (installedPackageVersion !== version) { warnings.push( createVersionMismatchWarning({ packageName: name, actualVersion: installedPackageVersion, originalVersion: version, pathSpecifier, path, }), ) } console.log( `${chalk.bold(pathSpecifier)}@${version} ${chalk.green("✔")}`, ) } else if (installedPackageVersion === version) { // completely failed to apply patch // TODO: propagate useful error messages from patch application errors.push( createBrokenPatchFileError({ packageName: name, patchFileName: filename, pathSpecifier, path, }), ) } else { errors.push( createPatchApplictionFailureError({ packageName: name, actualVersion: installedPackageVersion, originalVersion: version, patchFileName: filename, path, pathSpecifier, }), ) } } catch (error) { if (error instanceof PatchApplicationError) { errors.push(error.message) } else { errors.push(createUnexpectedError({ filename, error })) } } } for (const warning of warnings) { console.warn(warning) } for (const error of errors) { console.error(error) } const problemsSummary = [] if (warnings.length) { problemsSummary.push(chalk.yellow(`${warnings.length} warning(s)`)) } if (errors.length) { problemsSummary.push(chalk.red(`${errors.length} error(s)`)) } if (problemsSummary.length) { console.error("---") console.error( "patch-package finished with", problemsSummary.join(", ") + ".", ) } if (errors.length) { process.exit(shouldExitWithError ? 1 : 0) } } export function applyPatch({ patchFilePath, reverse, packageDetails, patchDir, }: { patchFilePath: string reverse: boolean packageDetails: PackageDetails patchDir: string }): boolean { const patch = readPatch({ patchFilePath, packageDetails, patchDir }) try { executeEffects(reverse ? reversePatch(patch) : patch, { dryRun: false }) } catch (e) { try { executeEffects(reverse ? patch : reversePatch(patch), { dryRun: true }) } catch (e) { return false } } return true } function createVersionMismatchWarning({ packageName, actualVersion, originalVersion, pathSpecifier, path, }: { packageName: string actualVersion: string originalVersion: string pathSpecifier: string path: string }) { return ` ${chalk.yellow("Warning:")} patch-package detected a patch file version mismatch Don't worry! This is probably fine. The patch was still applied successfully. Here's the deets: Patch file created for ${packageName}@${chalk.bold(originalVersion)} applied to ${packageName}@${chalk.bold(actualVersion)} At path ${path} This warning is just to give you a heads-up. There is a small chance of breakage even though the patch was applied successfully. Make sure the package still behaves like you expect (you wrote tests, right?) and then run ${chalk.bold(`patch-package ${pathSpecifier}`)} to update the version in the patch file name and make this warning go away. ` } function createBrokenPatchFileError({ packageName, patchFileName, path, pathSpecifier, }: { packageName: string patchFileName: string path: string pathSpecifier: string }) { return ` ${chalk.red.bold("**ERROR**")} ${chalk.red( `Failed to apply patch for package ${chalk.bold(packageName)} at path`, )} ${path} This error was caused because patch-package cannot apply the following patch file: patches/${patchFileName} Try removing node_modules and trying again. If that doesn't work, maybe there was an accidental change made to the patch file? Try recreating it by manually editing the appropriate files and running: patch-package ${pathSpecifier} If that doesn't work, then it's a bug in patch-package, so please submit a bug report. Thanks! https://github.com/ds300/patch-package/issues ` } function createPatchApplictionFailureError({ packageName, actualVersion, originalVersion, patchFileName, path, pathSpecifier, }: { packageName: string actualVersion: string originalVersion: string patchFileName: string path: string pathSpecifier: string }) { return ` ${chalk.red.bold("**ERROR**")} ${chalk.red( `Failed to apply patch for package ${chalk.bold(packageName)} at path`, )} ${path} This error was caused because ${chalk.bold(packageName)} has changed since you made the patch file for it. This introduced conflicts with your patch, just like a merge conflict in Git when separate incompatible changes are made to the same piece of code. Maybe this means your patch file is no longer necessary, in which case hooray! Just delete it! Otherwise, you need to generate a new patch file. To generate a new one, just repeat the steps you made to generate the first one. i.e. manually make the appropriate file changes, then run patch-package ${pathSpecifier} Info: Patch file: patches/${patchFileName} Patch was made for version: ${chalk.green.bold(originalVersion)} Installed version: ${chalk.red.bold(actualVersion)} ` } function createUnexpectedError({ filename, error, }: { filename: string error: Error }) { return ` ${chalk.red.bold("**ERROR**")} ${chalk.red( `Failed to apply patch file ${chalk.bold(filename)}`, )} ${error.stack} ` } 07070100000110000081A4000000000000000000000001605211470000005E000000000000000000000000000000000000002700000000patch-package-6.4.7/src/assertNever.tsexport function assertNever(x: never): never { throw new Error("Unexpected object: " + x) } 07070100000111000081A40000000000000000000000016052114700000BD2000000000000000000000000000000000000002700000000patch-package-6.4.7/src/createIssue.tsimport chalk from "chalk" import open from "open" import { stringify } from "querystring" import { PackageManager } from "./detectPackageManager" import { PackageDetails } from "./PackageDetails" import { join, resolve } from "./path" const repoSpecifier = /^([\w.-]+)\/([\w.-]+)$/ const githubURL = /github.com(:|\/)([\w.-]+\/[\w.-]+?)(.git|\/.*)?$/ function parseRepoString( repository: string, ): null | { repo: string; org: string; provider: "GitHub" } { if (repository.startsWith("github:")) { repository = repository.replace(/^github:/, "") } const urlMatch = repository.match(githubURL) if (urlMatch) { repository = urlMatch[2] } const specMatch = repository.match(repoSpecifier) if (!specMatch) { return null } const [, org, repo] = specMatch return { org, repo, provider: "GitHub" } } function getPackageVCSDetails(packageDetails: PackageDetails) { const repository = require(resolve(join(packageDetails.path, "package.json"))) .repository as undefined | string | { url: string } if (!repository) { return null } if (typeof repository === "string") { return parseRepoString(repository) } else if ( typeof repository === "object" && typeof repository.url === "string" ) { return parseRepoString(repository.url) } } export function maybePrintIssueCreationPrompt( packageDetails: PackageDetails, packageManager: PackageManager, ) { const vcs = getPackageVCSDetails(packageDetails) if (vcs) { console.log(`💡 ${chalk.bold(packageDetails.name)} is on ${ vcs.provider }! To draft an issue based on your patch run ${packageManager === "yarn" ? "yarn" : "npx"} patch-package ${ packageDetails.pathSpecifier } --create-issue `) } } export function openIssueCreationLink({ packageDetails, patchFileContents, packageVersion, }: { packageDetails: PackageDetails patchFileContents: string packageVersion: string }) { const vcs = getPackageVCSDetails(packageDetails) if (!vcs) { console.error( `Error: Couldn't find VCS details for ${packageDetails.pathSpecifier}`, ) process.exit(1) } // trim off trailing newline since we add an extra one in the markdown block if (patchFileContents.endsWith("\n")) { patchFileContents = patchFileContents.slice(0, -1) } open( `https://github.com/${vcs.org}/${vcs.repo}/issues/new?${stringify({ title: "", body: `Hi! 👋 Firstly, thanks for your work on this project! 🙂 Today I used [patch-package](https://github.com/ds300/patch-package) to patch \`${packageDetails.name}@${packageVersion}\` for the project I'm working on. <!-- 🔺️🔺️🔺️ PLEASE REPLACE THIS BLOCK with a description of your problem, and any other relevant context 🔺️🔺️🔺️ --> Here is the diff that solved my problem: \`\`\`diff ${patchFileContents} \`\`\` <em>This issue body was [partially generated by patch-package](https://github.com/ds300/patch-package/issues/296).</em> `, })}`, ) } 07070100000112000081A400000000000000000000000160521147000007E1000000000000000000000000000000000000003000000000patch-package-6.4.7/src/detectPackageManager.tsimport fs from "fs-extra" import { join } from "./path" import chalk from "chalk" import process from "process" import findWorkspaceRoot from "find-yarn-workspace-root" export type PackageManager = "yarn" | "npm" | "npm-shrinkwrap" function printNoYarnLockfileError() { console.error(` ${chalk.red.bold("**ERROR**")} ${chalk.red( `The --use-yarn option was specified but there is no yarn.lock file`, )} `) } function printNoLockfilesError() { console.error(` ${chalk.red.bold("**ERROR**")} ${chalk.red( `No package-lock.json, npm-shrinkwrap.json, or yarn.lock file. You must use either npm@>=5, yarn, or npm-shrinkwrap to manage this project's dependencies.`, )} `) } function printSelectingDefaultMessage() { console.info( `${chalk.bold( "patch-package", )}: you have both yarn.lock and package-lock.json Defaulting to using ${chalk.bold("npm")} You can override this setting by passing --use-yarn or deleting package-lock.json if you don't need it `, ) } export const detectPackageManager = ( appRootPath: string, overridePackageManager: PackageManager | null, ): PackageManager => { const packageLockExists = fs.existsSync( join(appRootPath, "package-lock.json"), ) const shrinkWrapExists = fs.existsSync( join(appRootPath, "npm-shrinkwrap.json"), ) const yarnLockExists = fs.existsSync(join(appRootPath, "yarn.lock")) if ((packageLockExists || shrinkWrapExists) && yarnLockExists) { if (overridePackageManager) { return overridePackageManager } else { printSelectingDefaultMessage() return shrinkWrapExists ? "npm-shrinkwrap" : "npm" } } else if (packageLockExists || shrinkWrapExists) { if (overridePackageManager === "yarn") { printNoYarnLockfileError() process.exit(1) } else { return shrinkWrapExists ? "npm-shrinkwrap" : "npm" } } else if (yarnLockExists || findWorkspaceRoot()) { return "yarn" } else { printNoLockfilesError() process.exit(1) } throw Error() } 07070100000113000081A400000000000000000000000160521147000001DE000000000000000000000000000000000000002700000000patch-package-6.4.7/src/filterFiles.tsimport { join } from "./path" import { removeSync } from "fs-extra" import klawSync from "klaw-sync" export function removeIgnoredFiles( dir: string, includePaths: RegExp, excludePaths: RegExp, ) { klawSync(dir, { nodir: true }) .map(item => item.path.slice(`${dir}/`.length)) .filter( relativePath => !relativePath.match(includePaths) || relativePath.match(excludePaths), ) .forEach(relativePath => removeSync(join(dir, relativePath))) } 07070100000114000081A40000000000000000000000016052114700000186000000000000000000000000000000000000002A00000000patch-package-6.4.7/src/getAppRootPath.tsimport { join, resolve } from "./path" import process from "process" import { existsSync } from "fs-extra" export const getAppRootPath = (): string => { let cwd = process.cwd() while (!existsSync(join(cwd, "package.json"))) { const up = resolve(cwd, "../") if (up === cwd) { throw new Error("no package.json found for this project") } cwd = up } return cwd } 07070100000115000081A40000000000000000000000016052114700000D29000000000000000000000000000000000000003000000000patch-package-6.4.7/src/getPackageResolution.tsimport { join, resolve } from "./path" import { PackageDetails, getPatchDetailsFromCliString } from "./PackageDetails" import { PackageManager, detectPackageManager } from "./detectPackageManager" import { readFileSync, existsSync } from "fs-extra" import { parse as parseYarnLockFile } from "@yarnpkg/lockfile" import findWorkspaceRoot from "find-yarn-workspace-root" import { getPackageVersion } from "./getPackageVersion" export function getPackageResolution({ packageDetails, packageManager, appPath, }: { packageDetails: PackageDetails packageManager: PackageManager appPath: string }) { if (packageManager === "yarn") { let lockFilePath = "yarn.lock" if (!existsSync(lockFilePath)) { const workspaceRoot = findWorkspaceRoot() if (!workspaceRoot) { throw new Error("Can't find yarn.lock file") } lockFilePath = join(workspaceRoot, "yarn.lock") } if (!existsSync(lockFilePath)) { throw new Error("Can't find yarn.lock file") } const appLockFile = parseYarnLockFile(readFileSync(lockFilePath).toString()) if (appLockFile.type !== "success") { throw new Error("Can't parse lock file") } const installedVersion = getPackageVersion( join(resolve(appPath, packageDetails.path), "package.json"), ) const entries = Object.entries(appLockFile.object).filter( ([k, v]) => k.startsWith(packageDetails.name + "@") && v.version === installedVersion, ) const resolutions = entries.map(([_, v]) => { return v.resolved }) if (resolutions.length === 0) { throw new Error( `Can't find lockfile entry for ${packageDetails.pathSpecifier}`, ) } if (new Set(resolutions).size !== 1) { console.warn( `Ambigious lockfile entries for ${packageDetails.pathSpecifier}. Using version ${installedVersion}`, ) return installedVersion } if (resolutions[0]) { return resolutions[0] } const resolution = entries[0][0].slice(packageDetails.name.length + 1) // resolve relative file path if (resolution.startsWith("file:.")) { return `file:${resolve(appPath, resolution.slice("file:".length))}` } return resolution } else { const lockfile = require(join( appPath, packageManager === "npm-shrinkwrap" ? "npm-shrinkwrap.json" : "package-lock.json", )) const lockFileStack = [lockfile] for (const name of packageDetails.packageNames.slice(0, -1)) { const child = lockFileStack[0].dependencies if (child && name in child) { lockFileStack.push(child[name]) } } lockFileStack.reverse() const relevantStackEntry = lockFileStack.find( (entry) => entry.dependencies && packageDetails.name in entry.dependencies, ) const pkg = relevantStackEntry.dependencies[packageDetails.name] return pkg.resolved || pkg.from || pkg.version } } if (require.main === module) { const packageDetails = getPatchDetailsFromCliString(process.argv[2]) if (!packageDetails) { console.error(`Can't find package ${process.argv[2]}`) process.exit(1) throw new Error() } console.log( getPackageResolution({ appPath: process.cwd(), packageDetails, packageManager: detectPackageManager(process.cwd(), null), }), ) } 07070100000116000081A400000000000000000000000160521147000000A1000000000000000000000000000000000000002D00000000patch-package-6.4.7/src/getPackageVersion.tsexport function getPackageVersion(packageJsonPath: string): string { // remove build metadata return require(packageJsonPath).version.replace(/\+.*$/, "") } 07070100000117000081A40000000000000000000000016052114700001434000000000000000000000000000000000000002100000000patch-package-6.4.7/src/index.tsimport chalk from "chalk" import process from "process" import minimist from "minimist" import { applyPatchesForApp } from "./applyPatches" import { getAppRootPath } from "./getAppRootPath" import { makePatch } from "./makePatch" import { makeRegExp } from "./makeRegExp" import { detectPackageManager } from "./detectPackageManager" import { join } from "./path" import { normalize, sep } from "path" import slash = require("slash") import isCi from "is-ci" const appPath = getAppRootPath() const argv = minimist(process.argv.slice(2), { boolean: [ "use-yarn", "case-sensitive-path-filtering", "reverse", "help", "version", "error-on-fail", "create-issue", ], string: ["patch-dir"], }) const packageNames = argv._ console.log( chalk.bold("patch-package"), // tslint:disable-next-line:no-var-requires require(join(__dirname, "../package.json")).version, ) if (argv.version || argv.v) { // noop } else if (argv.help || argv.h) { printHelp() } else { const patchDir = slash(normalize((argv["patch-dir"] || "patches") + sep)) if (patchDir.startsWith("/")) { throw new Error("--patch-dir must be a relative path") } if (packageNames.length) { const includePaths = makeRegExp( argv.include, "include", /.*/, argv["case-sensitive-path-filtering"], ) const excludePaths = makeRegExp( argv.exclude, "exclude", /package\.json$/, argv["case-sensitive-path-filtering"], ) const packageManager = detectPackageManager( appPath, argv["use-yarn"] ? "yarn" : null, ) const createIssue = argv["create-issue"] packageNames.forEach((packagePathSpecifier: string) => { makePatch({ packagePathSpecifier, appPath, packageManager, includePaths, excludePaths, patchDir, createIssue, }) }) } else { console.log("Applying patches...") const reverse = !!argv["reverse"] // don't want to exit(1) on postinsall locally. // see https://github.com/ds300/patch-package/issues/86 const shouldExitWithError = !!argv["error-on-fail"] || isCi || process.env.NODE_ENV === "test" applyPatchesForApp({ appPath, reverse, patchDir, shouldExitWithError }) } } function printHelp() { console.log(` Usage: 1. Patching packages ==================== ${chalk.bold("patch-package")} Without arguments, the ${chalk.bold( "patch-package", )} command will attempt to find and apply patch files to your project. It looks for files named like ./patches/<package-name>+<version>.patch Options: ${chalk.bold("--patch-dir <dirname>")} Specify the name for the directory in which the patch files are located. ${chalk.bold("--error-on-fail")} Forces patch-package to exit with code 1 after failing. When running locally patch-package always exits with 0 by default. This happens even after failing to apply patches because otherwise yarn.lock and package.json might get out of sync with node_modules, which can be very confusing. --error-on-fail is ${chalk.bold("switched on")} by default on CI. See https://github.com/ds300/patch-package/issues/86 for background. ${chalk.bold("--reverse")} Un-applies all patches. Note that this will fail if the patched files have changed since being patched. In that case, you'll probably need to re-install 'node_modules'. This option was added to help people using CircleCI avoid an issue around caching and patch file updates (https://github.com/ds300/patch-package/issues/37), but might be useful in other contexts too. 2. Creating patch files ======================= ${chalk.bold("patch-package")} <package-name>${chalk.italic( "[ <package-name>]", )} When given package names as arguments, patch-package will create patch files based on any changes you've made to the versions installed by yarn/npm. Options: ${chalk.bold("--create-issue")} For packages whose source is hosted on GitHub this option opens a web browser with a draft issue based on your diff. ${chalk.bold("--use-yarn")} By default, patch-package checks whether you use npm or yarn based on which lockfile you have. If you have both, it uses npm by default. Set this option to override that default and always use yarn. ${chalk.bold("--exclude <regexp>")} Ignore paths matching the regexp when creating patch files. Paths are relative to the root dir of the package to be patched. Default: 'package\\.json$' ${chalk.bold("--include <regexp>")} Only consider paths matching the regexp when creating patch files. Paths are relative to the root dir of the package to be patched. Default '.*' ${chalk.bold("--case-sensitive-path-filtering")} Make regexps used in --include or --exclude filters case-sensitive. ${chalk.bold("--patch-dir")} Specify the name for the directory in which to put the patch files. `) } 07070100000118000081A400000000000000000000000160521147000024B1000000000000000000000000000000000000002500000000patch-package-6.4.7/src/makePatch.tsimport chalk from "chalk" import { join, dirname, resolve } from "./path" import { spawnSafeSync } from "./spawnSafe" import { PackageManager } from "./detectPackageManager" import { removeIgnoredFiles } from "./filterFiles" import { writeFileSync, existsSync, mkdirSync, unlinkSync, mkdirpSync, realpathSync, } from "fs-extra" import { sync as rimraf } from "rimraf" import { copySync } from "fs-extra" import { dirSync } from "tmp" import { getPatchFiles } from "./patchFs" import { getPatchDetailsFromCliString, getPackageDetailsFromPatchFilename, PackageDetails, } from "./PackageDetails" import { resolveRelativeFileDependencies } from "./resolveRelativeFileDependencies" import { getPackageResolution } from "./getPackageResolution" import { parsePatchFile } from "./patch/parse" import { gzipSync } from "zlib" import { getPackageVersion } from "./getPackageVersion" import { maybePrintIssueCreationPrompt, openIssueCreationLink, } from "./createIssue" function printNoPackageFoundError( packageName: string, packageJsonPath: string, ) { console.error( `No such package ${packageName} File not found: ${packageJsonPath}`, ) } export function makePatch({ packagePathSpecifier, appPath, packageManager, includePaths, excludePaths, patchDir, createIssue, }: { packagePathSpecifier: string appPath: string packageManager: PackageManager includePaths: RegExp excludePaths: RegExp patchDir: string createIssue: boolean }) { const packageDetails = getPatchDetailsFromCliString(packagePathSpecifier) if (!packageDetails) { console.error("No such package", packagePathSpecifier) return } const appPackageJson = require(join(appPath, "package.json")) const packagePath = join(appPath, packageDetails.path) const packageJsonPath = join(packagePath, "package.json") if (!existsSync(packageJsonPath)) { printNoPackageFoundError(packagePathSpecifier, packageJsonPath) process.exit(1) } const tmpRepo = dirSync({ unsafeCleanup: true }) const tmpRepoPackagePath = join(tmpRepo.name, packageDetails.path) const tmpRepoNpmRoot = tmpRepoPackagePath.slice( 0, -`/node_modules/${packageDetails.name}`.length, ) const tmpRepoPackageJsonPath = join(tmpRepoNpmRoot, "package.json") try { const patchesDir = resolve(join(appPath, patchDir)) console.info(chalk.grey("•"), "Creating temporary folder") // make a blank package.json mkdirpSync(tmpRepoNpmRoot) writeFileSync( tmpRepoPackageJsonPath, JSON.stringify({ dependencies: { [packageDetails.name]: getPackageResolution({ packageDetails, packageManager, appPath, }), }, resolutions: resolveRelativeFileDependencies( appPath, appPackageJson.resolutions || {}, ), }), ) const packageVersion = getPackageVersion( join(resolve(packageDetails.path), "package.json"), ) // copy .npmrc/.yarnrc in case packages are hosted in private registry // tslint:disable-next-line:align ;[".npmrc", ".yarnrc"].forEach((rcFile) => { const rcPath = join(appPath, rcFile) if (existsSync(rcPath)) { copySync(rcPath, join(tmpRepo.name, rcFile)) } }) if (packageManager === "yarn") { console.info( chalk.grey("•"), `Installing ${packageDetails.name}@${packageVersion} with yarn`, ) try { // try first without ignoring scripts in case they are required // this works in 99.99% of cases spawnSafeSync(`yarn`, ["install", "--ignore-engines"], { cwd: tmpRepoNpmRoot, logStdErrOnError: false, }) } catch (e) { // try again while ignoring scripts in case the script depends on // an implicit context which we havn't reproduced spawnSafeSync( `yarn`, ["install", "--ignore-engines", "--ignore-scripts"], { cwd: tmpRepoNpmRoot, }, ) } } else { console.info( chalk.grey("•"), `Installing ${packageDetails.name}@${packageVersion} with npm`, ) try { // try first without ignoring scripts in case they are required // this works in 99.99% of cases spawnSafeSync(`npm`, ["i", "--force"], { cwd: tmpRepoNpmRoot, logStdErrOnError: false, stdio: "ignore", }) } catch (e) { // try again while ignoring scripts in case the script depends on // an implicit context which we havn't reproduced spawnSafeSync(`npm`, ["i", "--ignore-scripts", "--force"], { cwd: tmpRepoNpmRoot, stdio: "ignore", }) } } const git = (...args: string[]) => spawnSafeSync("git", args, { cwd: tmpRepo.name, env: { ...process.env, HOME: tmpRepo.name }, maxBuffer: 1024 * 1024 * 100, }) // remove nested node_modules just to be safe rimraf(join(tmpRepoPackagePath, "node_modules")) // remove .git just to be safe rimraf(join(tmpRepoPackagePath, ".git")) // commit the package console.info(chalk.grey("•"), "Diffing your files with clean files") writeFileSync(join(tmpRepo.name, ".gitignore"), "!/node_modules\n\n") git("init") git("config", "--local", "user.name", "patch-package") git("config", "--local", "user.email", "patch@pack.age") // remove ignored files first removeIgnoredFiles(tmpRepoPackagePath, includePaths, excludePaths) git("add", "-f", packageDetails.path) git("commit", "--allow-empty", "-m", "init") // replace package with user's version rimraf(tmpRepoPackagePath) // pnpm installs packages as symlinks, copySync would copy only the symlink copySync(realpathSync(packagePath), tmpRepoPackagePath) // remove nested node_modules just to be safe rimraf(join(tmpRepoPackagePath, "node_modules")) // remove .git just to be safe rimraf(join(tmpRepoPackagePath, ".git")) // also remove ignored files like before removeIgnoredFiles(tmpRepoPackagePath, includePaths, excludePaths) // stage all files git("add", "-f", packageDetails.path) // get diff of changes const diffResult = git( "diff", "--cached", "--no-color", "--ignore-space-at-eol", "--no-ext-diff", ) if (diffResult.stdout.length === 0) { console.warn( `⁉️ Not creating patch file for package '${packagePathSpecifier}'`, ) console.warn(`⁉️ There don't appear to be any changes.`) process.exit(1) return } try { parsePatchFile(diffResult.stdout.toString()) } catch (e) { if ( (e as Error).message.includes("Unexpected file mode string: 120000") ) { console.error(` ⛔️ ${chalk.red.bold("ERROR")} Your changes involve creating symlinks. patch-package does not yet support symlinks. ️Please use ${chalk.bold("--include")} and/or ${chalk.bold( "--exclude", )} to narrow the scope of your patch if this was unintentional. `) } else { const outPath = "./patch-package-error.json.gz" writeFileSync( outPath, gzipSync( JSON.stringify({ error: { message: e.message, stack: e.stack }, patch: diffResult.stdout.toString(), }), ), ) console.error(` ⛔️ ${chalk.red.bold("ERROR")} patch-package was unable to read the patch-file made by git. This should not happen. A diagnostic file was written to ${outPath} Please attach it to a github issue https://github.com/ds300/patch-package/issues/new?title=New+patch+parse+failed&body=Please+attach+the+diagnostic+file+by+dragging+it+into+here+🙏 Note that this diagnostic file will contain code from the package you were attempting to patch. `) } process.exit(1) return } // maybe delete existing getPatchFiles(patchDir).forEach((filename) => { const deets = getPackageDetailsFromPatchFilename(filename) if (deets && deets.path === packageDetails.path) { unlinkSync(join(patchDir, filename)) } }) const patchFileName = createPatchFileName({ packageDetails, packageVersion, }) const patchPath = join(patchesDir, patchFileName) if (!existsSync(dirname(patchPath))) { // scoped package mkdirSync(dirname(patchPath)) } writeFileSync(patchPath, diffResult.stdout) console.log( `${chalk.green("✔")} Created file ${join(patchDir, patchFileName)}\n`, ) if (createIssue) { openIssueCreationLink({ packageDetails, patchFileContents: diffResult.stdout.toString(), packageVersion, }) } else { maybePrintIssueCreationPrompt(packageDetails, packageManager) } } catch (e) { console.error(e) throw e } finally { tmpRepo.removeCallback() } } function createPatchFileName({ packageDetails, packageVersion, }: { packageDetails: PackageDetails packageVersion: string }) { const packageNames = packageDetails.packageNames .map((name) => name.replace(/\//g, "+")) .join("++") return `${packageNames}+${packageVersion}.patch` } 07070100000119000081A40000000000000000000000016052114700000223000000000000000000000000000000000000002600000000patch-package-6.4.7/src/makeRegExp.tsimport chalk from "chalk" export const makeRegExp = ( reString: string, name: string, defaultValue: RegExp, caseSensitive: boolean, ): RegExp => { if (!reString) { return defaultValue } else { try { return new RegExp(reString, caseSensitive ? "" : "i") } catch (_) { console.error(`${chalk.red.bold("***ERROR***")} Invalid format for option --${name} Unable to convert the string ${JSON.stringify( reString, )} to a regular expression. `) process.exit(1) return /unreachable/ } } } 0707010000011A000081A400000000000000000000000160521147000004FB000000000000000000000000000000000000003700000000patch-package-6.4.7/src/packageIsDevDependency.test.tsimport { packageIsDevDependency } from "./packageIsDevDependency" import { join } from "./path" import { normalize } from "path" import { getPackageDetailsFromPatchFilename } from "./PackageDetails" import { existsSync } from "fs" const appPath = normalize(join(__dirname, "../")) describe(packageIsDevDependency, () => { it("returns true if package is a dev dependency", () => { expect( packageIsDevDependency({ appPath, packageDetails: getPackageDetailsFromPatchFilename( "typescript+3.0.1.patch", )!, }), ).toBe(true) }) it("returns false if package is not a dev dependency", () => { expect( packageIsDevDependency({ appPath, packageDetails: getPackageDetailsFromPatchFilename( "chalk+3.0.1.patch", )!, }), ).toBe(false) }) it("returns false if package is a transitive dependency of a dev dependency", () => { expect(existsSync(join(appPath, "node_modules/cosmiconfig"))).toBe(true) expect( packageIsDevDependency({ appPath, packageDetails: getPackageDetailsFromPatchFilename( // cosmiconfig is a transitive dep of lint-staged "cosmiconfig+3.0.1.patch", )!, }), ).toBe(false) }) }) 0707010000011B000081A40000000000000000000000016052114700000203000000000000000000000000000000000000003200000000patch-package-6.4.7/src/packageIsDevDependency.tsimport { PatchedPackageDetails } from "./PackageDetails" import { join } from "./path" import { existsSync } from "fs" export function packageIsDevDependency({ appPath, packageDetails, }: { appPath: string packageDetails: PatchedPackageDetails }) { const packageJsonPath = join(appPath, "package.json") if (!existsSync(packageJsonPath)) { return false } const { devDependencies } = require(packageJsonPath) return Boolean(devDependencies && devDependencies[packageDetails.packageNames[0]]) } 0707010000011C000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000001E00000000patch-package-6.4.7/src/patch0707010000011D000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000002C00000000patch-package-6.4.7/src/patch/__snapshots__0707010000011E000081A40000000000000000000000016052114700002706000000000000000000000000000000000000003F00000000patch-package-6.4.7/src/patch/__snapshots__/parse.test.ts.snap// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`the patch parser can handle files with CRLF line breaks 1`] = ` Array [ Object { "hash": "3e1267f", "hunk": Object { "header": Object { "original": Object { "length": 0, "start": 1, }, "patched": Object { "length": 1, "start": 1, }, }, "parts": Array [ Object { "lines": Array [ "this is a new file ", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, ], }, "mode": 420, "path": "banana.ts", "type": "file creation", }, ] `; exports[`the patch parser parses old-style patches 1`] = ` Array [ Object { "afterHash": null, "beforeHash": null, "hunks": Array [ Object { "header": Object { "original": Object { "length": 10, "start": 41, }, "patched": Object { "length": 11, "start": 41, }, }, "parts": Array [ Object { "lines": Array [ " */", "function isValidNameError(name, node) {", " !(typeof name === 'string') ? (0, _invariant2.default)(0, 'Expected string') : void 0;", ], "noNewlineAtEndOfFile": false, "type": "context", }, Object { "lines": Array [ " if (name.length > 1 && name[0] === '_' && name[1] === '_') {", " return new _GraphQLError.GraphQLError('Name \\"' + name + '\\" must not begin with \\"__\\", which is reserved by ' + 'GraphQL introspection.', node);", " }", ], "noNewlineAtEndOfFile": false, "type": "deletion", }, Object { "lines": Array [ " // if (name.length > 1 && name[0] === '_' && name[1] === '_') {", " // return new _GraphQLError.GraphQLError('Name \\"' + name + '\\" must not begin with \\"__\\", which is reserved by ' + 'GraphQL introspection.', node);", " // }", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ " if (!NAME_RX.test(name)) {", " return new _GraphQLError.GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \\"' + name + '\\" does not.', node);", " }", ], "noNewlineAtEndOfFile": false, "type": "context", }, Object { "lines": Array [ "", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ "}", ], "noNewlineAtEndOfFile": true, "type": "context", }, ], }, ], "path": "node_modules/graphql/utilities/assertValidName.js", "type": "patch", }, Object { "afterHash": null, "beforeHash": null, "hunks": Array [ Object { "header": Object { "original": Object { "length": 9, "start": 29, }, "patched": Object { "length": 9, "start": 29, }, }, "parts": Array [ Object { "lines": Array [ " */", "export function isValidNameError(name, node) {", " !(typeof name === 'string') ? invariant(0, 'Expected string') : void 0;", ], "noNewlineAtEndOfFile": false, "type": "context", }, Object { "lines": Array [ " if (name.length > 1 && name[0] === '_' && name[1] === '_') {", " return new GraphQLError('Name \\"' + name + '\\" must not begin with \\"__\\", which is reserved by ' + 'GraphQL introspection.', node);", " }", ], "noNewlineAtEndOfFile": false, "type": "deletion", }, Object { "lines": Array [ " // if (name.length > 1 && name[0] === '_' && name[1] === '_') {", " // return new GraphQLError('Name \\"' + name + '\\" must not begin with \\"__\\", which is reserved by ' + 'GraphQL introspection.', node);", " // }", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ " if (!NAME_RX.test(name)) {", " return new GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but \\"' + name + '\\" does not.', node);", " }", ], "noNewlineAtEndOfFile": false, "type": "context", }, ], }, ], "path": "node_modules/graphql/utilities/assertValidName.mjs", "type": "patch", }, ] `; exports[`the patch parser works 1`] = ` Array [ Object { "fromPath": "numbers.txt", "toPath": "banana.txt", "type": "rename", }, Object { "newMode": 493, "oldMode": 420, "path": "banana.txt", "type": "mode change", }, Object { "afterHash": "92d2c5f", "beforeHash": "fbf1785", "hunks": Array [ Object { "header": Object { "original": Object { "length": 4, "start": 1, }, "patched": Object { "length": 4, "start": 1, }, }, "parts": Array [ Object { "lines": Array [ "one", ], "noNewlineAtEndOfFile": false, "type": "deletion", }, Object { "lines": Array [ "ne", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ "", "two", "", ], "noNewlineAtEndOfFile": false, "type": "context", }, ], }, ], "path": "banana.txt", "type": "patch", }, ] `; exports[`the patch parser works 2`] = ` Array [ Object { "afterHash": "842652c", "beforeHash": "2de83dd", "hunks": Array [ Object { "header": Object { "original": Object { "length": 5, "start": 1, }, "patched": Object { "length": 5, "start": 1, }, }, "parts": Array [ Object { "lines": Array [ "this", "is", "", ], "noNewlineAtEndOfFile": false, "type": "context", }, Object { "lines": Array [ "a", ], "noNewlineAtEndOfFile": false, "type": "deletion", }, Object { "lines": Array [ "", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ "file", ], "noNewlineAtEndOfFile": false, "type": "context", }, ], }, ], "path": "banana.ts", "type": "patch", }, ] `; exports[`the patch parser works 3`] = ` Array [ Object { "fromPath": "numbers.txt", "toPath": "banana.txt", "type": "rename", }, Object { "newMode": 493, "oldMode": 420, "path": "banana.txt", "type": "mode change", }, Object { "afterHash": "92d2c5f", "beforeHash": "fbf1785", "hunks": Array [ Object { "header": Object { "original": Object { "length": 4, "start": 1, }, "patched": Object { "length": 4, "start": 1, }, }, "parts": Array [ Object { "lines": Array [ "one", ], "noNewlineAtEndOfFile": false, "type": "deletion", }, Object { "lines": Array [ "ne", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ "", "two", "", ], "noNewlineAtEndOfFile": false, "type": "context", }, ], }, ], "path": "banana.txt", "type": "patch", }, ] `; exports[`the patch parser works for a simple case 1`] = ` Array [ Object { "afterHash": "842652c", "beforeHash": "2de83dd", "hunks": Array [ Object { "header": Object { "original": Object { "length": 5, "start": 1, }, "patched": Object { "length": 5, "start": 1, }, }, "parts": Array [ Object { "lines": Array [ "this", "is", "", ], "noNewlineAtEndOfFile": false, "type": "context", }, Object { "lines": Array [ "a", ], "noNewlineAtEndOfFile": false, "type": "deletion", }, Object { "lines": Array [ "", ], "noNewlineAtEndOfFile": false, "type": "insertion", }, Object { "lines": Array [ "file", ], "noNewlineAtEndOfFile": false, "type": "context", }, ], }, ], "path": "banana.ts", "type": "patch", }, ] `; 0707010000011F000081A400000000000000000000000160521147000018BD000000000000000000000000000000000000002700000000patch-package-6.4.7/src/patch/apply.tsimport fs from "fs-extra" import { dirname } from "path" import { ParsedPatchFile, FilePatch, Hunk } from "./parse" import { assertNever } from "../assertNever" export const executeEffects = ( effects: ParsedPatchFile, { dryRun }: { dryRun: boolean }, ) => { effects.forEach(eff => { switch (eff.type) { case "file deletion": if (dryRun) { if (!fs.existsSync(eff.path)) { throw new Error( "Trying to delete file that doesn't exist: " + eff.path, ) } } else { // TODO: integrity checks fs.unlinkSync(eff.path) } break case "rename": if (dryRun) { // TODO: see what patch files look like if moving to exising path if (!fs.existsSync(eff.fromPath)) { throw new Error( "Trying to move file that doesn't exist: " + eff.fromPath, ) } } else { fs.moveSync(eff.fromPath, eff.toPath) } break case "file creation": if (dryRun) { if (fs.existsSync(eff.path)) { throw new Error( "Trying to create file that already exists: " + eff.path, ) } // todo: check file contents matches } else { const fileContents = eff.hunk ? eff.hunk.parts[0].lines.join("\n") + (eff.hunk.parts[0].noNewlineAtEndOfFile ? "" : "\n") : "" fs.ensureDirSync(dirname(eff.path)) fs.writeFileSync(eff.path, fileContents, { mode: eff.mode }) } break case "patch": applyPatch(eff, { dryRun }) break case "mode change": const currentMode = fs.statSync(eff.path).mode if ( ((isExecutable(eff.newMode) && isExecutable(currentMode)) || (!isExecutable(eff.newMode) && !isExecutable(currentMode))) && dryRun ) { console.warn(`Mode change is not required for file ${eff.path}`) } fs.chmodSync(eff.path, eff.newMode) break default: assertNever(eff) } }) } function isExecutable(fileMode: number) { // tslint:disable-next-line:no-bitwise return (fileMode & 0b001_000_000) > 0 } const trimRight = (s: string) => s.replace(/\s+$/, "") function linesAreEqual(a: string, b: string) { return trimRight(a) === trimRight(b) } /** * How does noNewLineAtEndOfFile work? * * if you remove the newline from a file that had one without editing other bits: * * it creates an insertion/removal pair where the insertion has \ No new line at end of file * * if you edit a file that didn't have a new line and don't add one: * * both insertion and deletion have \ No new line at end of file * * if you edit a file that didn't have a new line and add one: * * deletion has \ No new line at end of file * but not insertion * * if you edit a file that had a new line and leave it in: * * neither insetion nor deletion have the annoation * */ function applyPatch( { hunks, path }: FilePatch, { dryRun }: { dryRun: boolean }, ): void { // modifying the file in place const fileContents = fs.readFileSync(path).toString() const mode = fs.statSync(path).mode const fileLines: string[] = fileContents.split(/\n/) const result: Modificaiton[][] = [] for (const hunk of hunks) { let fuzzingOffset = 0 while (true) { const modifications = evaluateHunk(hunk, fileLines, fuzzingOffset) if (modifications) { result.push(modifications) break } fuzzingOffset = fuzzingOffset < 0 ? fuzzingOffset * -1 : fuzzingOffset * -1 - 1 if (Math.abs(fuzzingOffset) > 20) { throw new Error( `Cant apply hunk ${hunks.indexOf(hunk)} for file ${path}`, ) } } } if (dryRun) { return } let diffOffset = 0 for (const modifications of result) { for (const modification of modifications) { switch (modification.type) { case "splice": fileLines.splice( modification.index + diffOffset, modification.numToDelete, ...modification.linesToInsert, ) diffOffset += modification.linesToInsert.length - modification.numToDelete break case "pop": fileLines.pop() break case "push": fileLines.push(modification.line) break default: assertNever(modification) } } } fs.writeFileSync(path, fileLines.join("\n"), { mode }) } interface Push { type: "push" line: string } interface Pop { type: "pop" } interface Splice { type: "splice" index: number numToDelete: number linesToInsert: string[] } type Modificaiton = Push | Pop | Splice function evaluateHunk( hunk: Hunk, fileLines: string[], fuzzingOffset: number, ): Modificaiton[] | null { const result: Modificaiton[] = [] let contextIndex = hunk.header.original.start - 1 + fuzzingOffset // do bounds checks for index if (contextIndex < 0) { return null } if (fileLines.length - contextIndex < hunk.header.original.length) { return null } for (const part of hunk.parts) { switch (part.type) { case "deletion": case "context": for (const line of part.lines) { const originalLine = fileLines[contextIndex] if (!linesAreEqual(originalLine, line)) { return null } contextIndex++ } if (part.type === "deletion") { result.push({ type: "splice", index: contextIndex - part.lines.length, numToDelete: part.lines.length, linesToInsert: [], }) if (part.noNewlineAtEndOfFile) { result.push({ type: "push", line: "", }) } } break case "insertion": result.push({ type: "splice", index: contextIndex, numToDelete: 0, linesToInsert: part.lines, }) if (part.noNewlineAtEndOfFile) { result.push({ type: "pop" }) } break default: assertNever(part.type) } } return result } 07070100000120000081A4000000000000000000000001605211470000121F000000000000000000000000000000000000002C00000000patch-package-6.4.7/src/patch/parse.test.ts// tslint:disable import { parsePatchFile } from "../patch/parse" const patch = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,5 +1,5 @@ this is -a + file ` const invalidHeaders1 = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,5 +1,4 @@ this is -a + file ` const invalidHeaders2 = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,4 +1,5 @@ this is -a + file ` const invalidHeaders3 = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,0 +1,5 @@ this is -a + file ` const invalidHeaders4 = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,5 +1,0 @@ this is -a + file ` const invalidHeaders5 = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,5 +1,5@@ this is -a + file ` const accidentalBlankLine = `diff --git a/banana.ts b/banana.ts index 2de83dd..842652c 100644 --- a/banana.ts +++ b/banana.ts @@ -1,5 +1,5 @@ this is -a + file ` const crlfLineBreaks = `diff --git a/banana.ts b/banana.ts new file mode 100644 index 0000000..3e1267f --- /dev/null +++ b/banana.ts @@ -0,0 +1 @@ +this is a new file `.replace(/\n/g, "\r\n") const modeChangeAndModifyAndRename = `diff --git a/numbers.txt b/banana.txt old mode 100644 new mode 100755 similarity index 96% rename from numbers.txt rename to banana.txt index fbf1785..92d2c5f --- a/numbers.txt +++ b/banana.txt @@ -1,4 +1,4 @@ -one +ne two ` const oldStylePatch = `patch-package --- a/node_modules/graphql/utilities/assertValidName.js +++ b/node_modules/graphql/utilities/assertValidName.js @@ -41,10 +41,11 @@ function assertValidName(name) { */ function isValidNameError(name, node) { !(typeof name === 'string') ? (0, _invariant2.default)(0, 'Expected string') : void 0; - if (name.length > 1 && name[0] === '_' && name[1] === '_') { - return new _GraphQLError.GraphQLError('Name "' + name + '" must not begin with "__", which is reserved by ' + 'GraphQL introspection.', node); - } + // if (name.length > 1 && name[0] === '_' && name[1] === '_') { + // return new _GraphQLError.GraphQLError('Name "' + name + '" must not begin with "__", which is reserved by ' + 'GraphQL introspection.', node); + // } if (!NAME_RX.test(name)) { return new _GraphQLError.GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "' + name + '" does not.', node); } + } \\ No newline at end of file --- a/node_modules/graphql/utilities/assertValidName.mjs +++ b/node_modules/graphql/utilities/assertValidName.mjs @@ -29,9 +29,9 @@ export function assertValidName(name) { */ export function isValidNameError(name, node) { !(typeof name === 'string') ? invariant(0, 'Expected string') : void 0; - if (name.length > 1 && name[0] === '_' && name[1] === '_') { - return new GraphQLError('Name "' + name + '" must not begin with "__", which is reserved by ' + 'GraphQL introspection.', node); - } + // if (name.length > 1 && name[0] === '_' && name[1] === '_') { + // return new GraphQLError('Name "' + name + '" must not begin with "__", which is reserved by ' + 'GraphQL introspection.', node); + // } if (!NAME_RX.test(name)) { return new GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "' + name + '" does not.', node); } ` describe("the patch parser", () => { it("works for a simple case", () => { expect(parsePatchFile(patch)).toMatchSnapshot() }) it("fails when the patch file has invalid headers", () => { expect(() => parsePatchFile(invalidHeaders1)).toThrow() expect(() => parsePatchFile(invalidHeaders2)).toThrow() expect(() => parsePatchFile(invalidHeaders3)).toThrow() expect(() => parsePatchFile(invalidHeaders4)).toThrow() expect(() => parsePatchFile(invalidHeaders5)).toThrow() }) it("is OK when blank lines are accidentally created", () => { expect(parsePatchFile(accidentalBlankLine)).toEqual(parsePatchFile(patch)) }) it(`can handle files with CRLF line breaks`, () => { expect(parsePatchFile(crlfLineBreaks)).toMatchSnapshot() }) it("works", () => { expect(parsePatchFile(modeChangeAndModifyAndRename)).toMatchSnapshot() expect(parsePatchFile(accidentalBlankLine)).toMatchSnapshot() expect(parsePatchFile(modeChangeAndModifyAndRename)).toMatchSnapshot() }) it.only("parses old-style patches", () => { expect(parsePatchFile(oldStylePatch)).toMatchSnapshot() }) }) 07070100000121000081A40000000000000000000000016052114700002D33000000000000000000000000000000000000002700000000patch-package-6.4.7/src/patch/parse.tsimport { assertNever } from "../assertNever" export interface HunkHeader { original: { start: number length: number } patched: { start: number length: number } } export const parseHunkHeaderLine = (headerLine: string): HunkHeader => { const match = headerLine .trim() .match(/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/) if (!match) { throw new Error(`Bad header line: '${headerLine}'`) } return { original: { start: Math.max(Number(match[1]), 1), length: Number(match[3] || 1), }, patched: { start: Math.max(Number(match[4]), 1), length: Number(match[6] || 1), }, } } export const NON_EXECUTABLE_FILE_MODE = 0o644 export const EXECUTABLE_FILE_MODE = 0o755 type FileMode = typeof NON_EXECUTABLE_FILE_MODE | typeof EXECUTABLE_FILE_MODE interface PatchMutationPart { type: "context" | "insertion" | "deletion" lines: string[] noNewlineAtEndOfFile: boolean } interface FileRename { type: "rename" fromPath: string toPath: string } interface FileModeChange { type: "mode change" path: string oldMode: FileMode newMode: FileMode } export interface FilePatch { type: "patch" path: string hunks: Hunk[] beforeHash: string | null afterHash: string | null } interface FileDeletion { type: "file deletion" path: string mode: FileMode hunk: Hunk | null hash: string | null } interface FileCreation { type: "file creation" mode: FileMode path: string hunk: Hunk | null hash: string | null } export type PatchFilePart = | FilePatch | FileDeletion | FileCreation | FileRename | FileModeChange export type ParsedPatchFile = PatchFilePart[] type State = "parsing header" | "parsing hunks" interface FileDeets { diffLineFromPath: string | null diffLineToPath: string | null oldMode: string | null newMode: string | null deletedFileMode: string | null newFileMode: string | null renameFrom: string | null renameTo: string | null beforeHash: string | null afterHash: string | null fromPath: string | null toPath: string | null hunks: Hunk[] | null } export interface Hunk { header: HunkHeader parts: PatchMutationPart[] } const emptyFilePatch = (): FileDeets => ({ diffLineFromPath: null, diffLineToPath: null, oldMode: null, newMode: null, deletedFileMode: null, newFileMode: null, renameFrom: null, renameTo: null, beforeHash: null, afterHash: null, fromPath: null, toPath: null, hunks: null, }) const emptyHunk = (headerLine: string): Hunk => ({ header: parseHunkHeaderLine(headerLine), parts: [], }) const hunkLinetypes: { [k: string]: PatchMutationPart["type"] | "pragma" | "header" } = { "@": "header", "-": "deletion", "+": "insertion", " ": "context", "\\": "pragma", // Treat blank lines as context undefined: "context", } function parsePatchLines( lines: string[], { supportLegacyDiffs }: { supportLegacyDiffs: boolean }, ): FileDeets[] { const result: FileDeets[] = [] let currentFilePatch: FileDeets = emptyFilePatch() let state: State = "parsing header" let currentHunk: Hunk | null = null let currentHunkMutationPart: PatchMutationPart | null = null function commitHunk() { if (currentHunk) { if (currentHunkMutationPart) { currentHunk.parts.push(currentHunkMutationPart) currentHunkMutationPart = null } currentFilePatch.hunks!.push(currentHunk) currentHunk = null } } function commitFilePatch() { commitHunk() result.push(currentFilePatch) currentFilePatch = emptyFilePatch() } for (let i = 0; i < lines.length; i++) { const line = lines[i] if (state === "parsing header") { if (line.startsWith("@@")) { state = "parsing hunks" currentFilePatch.hunks = [] i-- } else if (line.startsWith("diff --git ")) { if (currentFilePatch && currentFilePatch.diffLineFromPath) { commitFilePatch() } const match = line.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/) if (!match) { throw new Error("Bad diff line: " + line) } currentFilePatch.diffLineFromPath = match[1] currentFilePatch.diffLineToPath = match[2] } else if (line.startsWith("old mode ")) { currentFilePatch.oldMode = line.slice("old mode ".length).trim() } else if (line.startsWith("new mode ")) { currentFilePatch.newMode = line.slice("new mode ".length).trim() } else if (line.startsWith("deleted file mode ")) { currentFilePatch.deletedFileMode = line .slice("deleted file mode ".length) .trim() } else if (line.startsWith("new file mode ")) { currentFilePatch.newFileMode = line .slice("new file mode ".length) .trim() } else if (line.startsWith("rename from ")) { currentFilePatch.renameFrom = line.slice("rename from ".length).trim() } else if (line.startsWith("rename to ")) { currentFilePatch.renameTo = line.slice("rename to ".length).trim() } else if (line.startsWith("index ")) { const match = line.match(/(\w+)\.\.(\w+)/) if (!match) { continue } currentFilePatch.beforeHash = match[1] currentFilePatch.afterHash = match[2] } else if (line.startsWith("--- ")) { currentFilePatch.fromPath = line.slice("--- a/".length).trim() } else if (line.startsWith("+++ ")) { currentFilePatch.toPath = line.slice("+++ b/".length).trim() } } else { if (supportLegacyDiffs && line.startsWith("--- a/")) { state = "parsing header" commitFilePatch() i-- continue } // parsing hunks const lineType = hunkLinetypes[line[0]] || null switch (lineType) { case "header": commitHunk() currentHunk = emptyHunk(line) break case null: // unrecognized, bail out state = "parsing header" commitFilePatch() i-- break case "pragma": if (!line.startsWith("\\ No newline at end of file")) { throw new Error("Unrecognized pragma in patch file: " + line) } if (!currentHunkMutationPart) { throw new Error( "Bad parser state: No newline at EOF pragma encountered without context", ) } currentHunkMutationPart.noNewlineAtEndOfFile = true break case "insertion": case "deletion": case "context": if (!currentHunk) { throw new Error( "Bad parser state: Hunk lines encountered before hunk header", ) } if ( currentHunkMutationPart && currentHunkMutationPart.type !== lineType ) { currentHunk.parts.push(currentHunkMutationPart) currentHunkMutationPart = null } if (!currentHunkMutationPart) { currentHunkMutationPart = { type: lineType, lines: [], noNewlineAtEndOfFile: false, } } currentHunkMutationPart.lines.push(line.slice(1)) break default: // exhausitveness check assertNever(lineType) } } } commitFilePatch() for (const { hunks } of result) { if (hunks) { for (const hunk of hunks) { verifyHunkIntegrity(hunk) } } } return result } export function interpretParsedPatchFile(files: FileDeets[]): ParsedPatchFile { const result: ParsedPatchFile = [] for (const file of files) { const { diffLineFromPath, diffLineToPath, oldMode, newMode, deletedFileMode, newFileMode, renameFrom, renameTo, beforeHash, afterHash, fromPath, toPath, hunks, } = file const type: PatchFilePart["type"] = renameFrom ? "rename" : deletedFileMode ? "file deletion" : newFileMode ? "file creation" : hunks && hunks.length > 0 ? "patch" : "mode change" let destinationFilePath: string | null = null switch (type) { case "rename": if (!renameFrom || !renameTo) { throw new Error("Bad parser state: rename from & to not given") } result.push({ type: "rename", fromPath: renameFrom, toPath: renameTo, }) destinationFilePath = renameTo break case "file deletion": { const path = diffLineFromPath || fromPath if (!path) { throw new Error("Bad parse state: no path given for file deletion") } result.push({ type: "file deletion", hunk: (hunks && hunks[0]) || null, path, mode: parseFileMode(deletedFileMode!), hash: beforeHash, }) break } case "file creation": { const path = diffLineToPath || toPath if (!path) { throw new Error("Bad parse state: no path given for file creation") } result.push({ type: "file creation", hunk: (hunks && hunks[0]) || null, path, mode: parseFileMode(newFileMode!), hash: afterHash, }) break } case "patch": case "mode change": destinationFilePath = toPath || diffLineToPath break default: assertNever(type) } if (destinationFilePath && oldMode && newMode && oldMode !== newMode) { result.push({ type: "mode change", path: destinationFilePath, oldMode: parseFileMode(oldMode), newMode: parseFileMode(newMode), }) } if (destinationFilePath && hunks && hunks.length) { result.push({ type: "patch", path: destinationFilePath, hunks, beforeHash, afterHash, }) } } return result } function parseFileMode(mode: string): FileMode { // tslint:disable-next-line:no-bitwise const parsedMode = parseInt(mode, 8) & 0o777 if ( parsedMode !== NON_EXECUTABLE_FILE_MODE && parsedMode !== EXECUTABLE_FILE_MODE ) { throw new Error("Unexpected file mode string: " + mode) } return parsedMode } export function parsePatchFile(file: string): ParsedPatchFile { const lines = file.split(/\n/g) if (lines[lines.length - 1] === "") { lines.pop() } try { return interpretParsedPatchFile( parsePatchLines(lines, { supportLegacyDiffs: false }), ) } catch (e) { if ( e instanceof Error && e.message === "hunk header integrity check failed" ) { return interpretParsedPatchFile( parsePatchLines(lines, { supportLegacyDiffs: true }), ) } throw e } } export function verifyHunkIntegrity(hunk: Hunk) { // verify hunk integrity let originalLength = 0 let patchedLength = 0 for (const { type, lines } of hunk.parts) { switch (type) { case "context": patchedLength += lines.length originalLength += lines.length break case "deletion": originalLength += lines.length break case "insertion": patchedLength += lines.length break default: assertNever(type) } } if ( originalLength !== hunk.header.original.length || patchedLength !== hunk.header.patched.length ) { throw new Error("hunk header integrity check failed") } } 07070100000122000081A40000000000000000000000016052114700001A97000000000000000000000000000000000000002B00000000patch-package-6.4.7/src/patch/read.test.tsimport { readPatch } from "./read" import { getPackageDetailsFromPatchFilename } from "../PackageDetails" const removeAnsiCodes = (s: string) => s.replace( /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, "", ) jest.mock("fs-extra", () => ({ readFileSync: jest.fn(), })) jest.mock("./parse", () => ({ parsePatchFile: jest.fn(() => { throw new Error("hunk integrity check failed etc") }), })) const error = jest.fn() console.error = error process.cwd = jest.fn(() => "/test/root") process.exit = jest.fn() as any describe(readPatch, () => { beforeEach(() => { error.mockReset() }) it("throws an error for basic packages", () => { readPatch({ patchFilePath: "/test/root/patches/test+1.2.3.patch", packageDetails: getPackageDetailsFromPatchFilename("test+1.2.3.patch")!, patchDir: "patches/", }) expect(removeAnsiCodes(error.mock.calls[0][0])).toMatchInlineSnapshot(` " **ERROR** Failed to apply patch for package test This happened because the patch file patches/test+1.2.3.patch could not be parsed. If you just upgraded patch-package, you can try running: patch -p1 -i patches/test+1.2.3.patch npx patch-package test Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E " `) }) it("throws an error for scoped packages", () => { readPatch({ patchFilePath: "/test/root/patches/@david+test+1.2.3.patch", packageDetails: getPackageDetailsFromPatchFilename( "@david+test+1.2.3.patch", )!, patchDir: "patches/", }) expect(removeAnsiCodes(error.mock.calls[0][0])).toMatchInlineSnapshot(` " **ERROR** Failed to apply patch for package @david/test This happened because the patch file patches/@david+test+1.2.3.patch could not be parsed. If you just upgraded patch-package, you can try running: patch -p1 -i patches/@david+test+1.2.3.patch npx patch-package @david/test Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E " `) }) it("throws an error for nested packages", () => { const patchFileName = "@david+test++react-native+1.2.3.patch" readPatch({ patchFilePath: `/test/root/patches/${patchFileName}`, packageDetails: getPackageDetailsFromPatchFilename(patchFileName)!, patchDir: "patches/", }) expect(removeAnsiCodes(error.mock.calls[0][0])).toMatchInlineSnapshot(` " **ERROR** Failed to apply patch for package @david/test => react-native This happened because the patch file patches/@david+test++react-native+1.2.3.patch could not be parsed. If you just upgraded patch-package, you can try running: patch -p1 -i patches/@david+test++react-native+1.2.3.patch npx patch-package @david/test/react-native Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E " `) }) it("throws an error for with custom patch dir", () => { const patchFileName = "@david+test++react-native+1.2.3.patch" readPatch({ patchFilePath: `/test/root/.cruft/patches/${patchFileName}`, packageDetails: getPackageDetailsFromPatchFilename(patchFileName)!, patchDir: ".cruft/patches", }) expect(removeAnsiCodes(error.mock.calls[0][0])).toMatchInlineSnapshot(` " **ERROR** Failed to apply patch for package @david/test => react-native This happened because the patch file .cruft/patches/@david+test++react-native+1.2.3.patch could not be parsed. If you just upgraded patch-package, you can try running: patch -p1 -i .cruft/patches/@david+test++react-native+1.2.3.patch npx patch-package @david/test/react-native Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E " `) }) it("throws an error with cd instruction for unhoisted packages", () => { const patchFileName = "@david+test++react-native+1.2.3.patch" readPatch({ patchFilePath: `/test/root/packages/banana/patches/${patchFileName}`, packageDetails: getPackageDetailsFromPatchFilename(patchFileName)!, patchDir: "patches/", }) expect(process.cwd).toHaveBeenCalled() expect(removeAnsiCodes(error.mock.calls[0][0])).toMatchInlineSnapshot(` " **ERROR** Failed to apply patch for package @david/test => react-native This happened because the patch file packages/banana/patches/@david+test++react-native+1.2.3.patch could not be parsed. If you just upgraded patch-package, you can try running: cd packages/banana/ patch -p1 -i patches/@david+test++react-native+1.2.3.patch npx patch-package @david/test/react-native cd ../.. Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E " `) }) it("throws an error with cd instruction for unhoisted packages and custom patchDir", () => { const patchFileName = "@david+test++react-native+1.2.3.patch" readPatch({ patchFilePath: `/test/root/packages/banana/.patches/${patchFileName}`, packageDetails: getPackageDetailsFromPatchFilename(patchFileName)!, patchDir: ".patches/", }) expect(process.cwd).toHaveBeenCalled() expect(removeAnsiCodes(error.mock.calls[0][0])).toMatchInlineSnapshot(` " **ERROR** Failed to apply patch for package @david/test => react-native This happened because the patch file packages/banana/.patches/@david+test++react-native+1.2.3.patch could not be parsed. If you just upgraded patch-package, you can try running: cd packages/banana/ patch -p1 -i .patches/@david+test++react-native+1.2.3.patch npx patch-package @david/test/react-native cd ../.. Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E " `) }) }) 07070100000123000081A4000000000000000000000001605211470000074F000000000000000000000000000000000000002600000000patch-package-6.4.7/src/patch/read.tsimport chalk from "chalk" import { readFileSync } from "fs-extra" import { relative, resolve } from "../path" import { normalize } from "path" import { PackageDetails } from "../PackageDetails" import { parsePatchFile, PatchFilePart } from "./parse" export function readPatch({ patchFilePath, packageDetails, patchDir, }: { patchFilePath: string packageDetails: PackageDetails patchDir: string }): PatchFilePart[] { try { return parsePatchFile(readFileSync(patchFilePath).toString()) } catch (e) { const fixupSteps: string[] = [] const relativePatchFilePath = normalize( relative(process.cwd(), patchFilePath), ) const patchBaseDir = relativePatchFilePath.slice( 0, relativePatchFilePath.indexOf(patchDir), ) if (patchBaseDir) { fixupSteps.push(`cd ${patchBaseDir}`) } fixupSteps.push( `patch -p1 -i ${relativePatchFilePath.slice( relativePatchFilePath.indexOf(patchDir), )}`, ) fixupSteps.push(`npx patch-package ${packageDetails.pathSpecifier}`) if (patchBaseDir) { fixupSteps.push( `cd ${relative(resolve(process.cwd(), patchBaseDir), process.cwd())}`, ) } console.error(` ${chalk.red.bold("**ERROR**")} ${chalk.red( `Failed to apply patch for package ${chalk.bold( packageDetails.humanReadablePathSpecifier, )}`, )} This happened because the patch file ${relativePatchFilePath} could not be parsed. If you just upgraded patch-package, you can try running: ${fixupSteps.join("\n ")} Otherwise, try manually creating the patch file again. If the problem persists, please submit a bug report: https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E `) process.exit(1) } return [] } 07070100000124000081A4000000000000000000000001605211470000096E000000000000000000000000000000000000002900000000patch-package-6.4.7/src/patch/reverse.tsimport { ParsedPatchFile, PatchFilePart, Hunk, HunkHeader, verifyHunkIntegrity, } from "./parse" import { assertNever } from "../assertNever" function reverseHunk(hunk: Hunk): Hunk { const header: HunkHeader = { original: hunk.header.patched, patched: hunk.header.original, } const parts: Hunk["parts"] = [] for (const part of hunk.parts) { switch (part.type) { case "context": parts.push(part) break case "deletion": parts.push({ type: "insertion", lines: part.lines, noNewlineAtEndOfFile: part.noNewlineAtEndOfFile, }) break case "insertion": parts.push({ type: "deletion", lines: part.lines, noNewlineAtEndOfFile: part.noNewlineAtEndOfFile, }) break default: assertNever(part.type) } } // swap insertions and deletions over so deletions always come first for (let i = 0; i < parts.length - 1; i++) { if (parts[i].type === "insertion" && parts[i + 1].type === "deletion") { const tmp = parts[i] parts[i] = parts[i + 1] parts[i + 1] = tmp i += 1 } } const result: Hunk = { header, parts, } verifyHunkIntegrity(result) return result } function reversePatchPart(part: PatchFilePart): PatchFilePart { switch (part.type) { case "file creation": return { type: "file deletion", path: part.path, hash: part.hash, hunk: part.hunk && reverseHunk(part.hunk), mode: part.mode, } case "file deletion": return { type: "file creation", path: part.path, hunk: part.hunk && reverseHunk(part.hunk), mode: part.mode, hash: part.hash, } case "rename": return { type: "rename", fromPath: part.toPath, toPath: part.fromPath, } case "patch": return { type: "patch", path: part.path, hunks: part.hunks.map(reverseHunk), beforeHash: part.afterHash, afterHash: part.beforeHash, } case "mode change": return { type: "mode change", path: part.path, newMode: part.oldMode, oldMode: part.newMode, } } } export const reversePatch = (patch: ParsedPatchFile): ParsedPatchFile => { return patch.map(reversePatchPart).reverse() } 07070100000125000081A4000000000000000000000001605211470000013C000000000000000000000000000000000000002300000000patch-package-6.4.7/src/patchFs.tsimport { relative } from "./path" import klawSync from "klaw-sync" export const getPatchFiles = (patchesDir: string) => { try { return klawSync(patchesDir, { nodir: true }) .map(({ path }) => relative(patchesDir, path)) .filter(path => path.endsWith(".patch")) } catch (e) { return [] } } 07070100000126000081A40000000000000000000000016052114700000155000000000000000000000000000000000000002000000000patch-package-6.4.7/src/path.tsimport slash from "slash" import path from "path" export const join: typeof path.join = (...args) => slash(path.join(...args)) export { dirname } from "path" export const resolve: typeof path.resolve = (...args) => slash(path.resolve(...args)) export const relative: typeof path.relative = (...args) => slash(path.relative(...args)) 07070100000127000081A400000000000000000000000160521147000002D7000000000000000000000000000000000000004000000000patch-package-6.4.7/src/resolveRelativeFileDependencies.test.tsimport { resolveRelativeFileDependencies } from "./resolveRelativeFileDependencies" describe("resolveRelativeFileDependencies", () => { it("works for package.json", () => { const appRootPath = "/foo/bar" const resolutions = { absolute: "file:/not-foo/bar", relative: "file:../baz", remote: "git+https://blah.com/blah.git", version: "^434.34.34", } const expected = { absolute: "file:/not-foo/bar", relative: "file:/foo/baz", remote: "git+https://blah.com/blah.git", version: "^434.34.34", } expect( resolveRelativeFileDependencies( appRootPath, JSON.parse(JSON.stringify(resolutions)), ), ).toEqual(expected) }) }) 07070100000128000081A40000000000000000000000016052114700000276000000000000000000000000000000000000003B00000000patch-package-6.4.7/src/resolveRelativeFileDependencies.tsimport { resolve } from "./path" function transformVersionString(version: string, appRootPath: string) { if (version.startsWith("file:") && version[5] !== "/") { return "file:" + resolve(appRootPath, version.slice(5)) } else { return version } } export function resolveRelativeFileDependencies( appRootPath: string, resolutions: { [packageName: string]: string }, ) { const result = {} as { [packageName: string]: string } for (const packageName of Object.keys(resolutions)) { result[packageName] = transformVersionString( resolutions[packageName], appRootPath, ) } return result } 07070100000129000081A40000000000000000000000016052114700000390000000000000000000000000000000000000002500000000patch-package-6.4.7/src/spawnSafe.tsimport { sync as spawnSync } from "cross-spawn" import { SpawnOptions } from "child_process" export interface SpawnSafeOptions extends SpawnOptions { throwOnError?: boolean logStdErrOnError?: boolean maxBuffer?: number } const defaultOptions: SpawnSafeOptions = { logStdErrOnError: true, throwOnError: true, } export const spawnSafeSync = ( command: string, args?: string[], options?: SpawnSafeOptions, ) => { const mergedOptions = Object.assign({}, defaultOptions, options) const result = spawnSync(command, args, options) if (result.error || result.status !== 0) { if (mergedOptions.logStdErrOnError) { if (result.stderr) { console.error(result.stderr.toString()) } else if (result.error) { console.error(result.error) } } if (mergedOptions.throwOnError) { throw result } } return result } 0707010000012A000081A40000000000000000000000016052114700000063000000000000000000000000000000000000002800000000patch-package-6.4.7/tsconfig.build.json{ "extends": "./tsconfig.json", "exclude": ["./property-based-tests", "./integration-tests"] } 0707010000012B000081A400000000000000000000000160521147000001D5000000000000000000000000000000000000002200000000patch-package-6.4.7/tsconfig.json{ "compilerOptions": { "target": "es2015", "module": "commonjs", "lib": ["es2015", "es2016", "es2017"], "strict": true, "esModuleInterop": true, "outDir": "dist", "noUnusedLocals": true, "noUnusedParameters": true, "inlineSourceMap": true, "noEmitOnError": false, "inlineSources": true }, "include": ["typings/**/*.d.ts", "src/**/*.ts", "property-based-tests/**/*", "integration-tests/**/*"], "compileOnSave": true } 0707010000012C000081A40000000000000000000000016052114700000255000000000000000000000000000000000000002000000000patch-package-6.4.7/tslint.json{ "defaultSeverity": "error", "extends": ["tslint:recommended"], "jsRules": {}, "rules": { "prefer-for-of": false, "trailing-comma": [false], "ordered-imports": [false], "no-string-literal": false, "arrow-parens": false, "no-console": [false], "semicolon": [false], "whitespace": [false], "interface-name": [false], "one-line": [false], "object-literal-sort-keys": [false], "no-trailing-whitespace": [false], "object-literal-key-quotes": [false], "max-line-length": false, "no-default-export": true }, "rulesDirectory": [] } 0707010000012D000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000001C00000000patch-package-6.4.7/typings0707010000012E000041ED0000000000000000000000016052114700000000000000000000000000000000000000000000002500000000patch-package-6.4.7/typings/@yarnpkg0707010000012F000081A400000000000000000000000160521147000000E4000000000000000000000000000000000000003300000000patch-package-6.4.7/typings/@yarnpkg/lockfile.d.tsdeclare module "@yarnpkg/lockfile" { export function parse( s: string, ): { type: "success" | "error" object: { [identifier: string]: { resolved?: string version: string } } } } 07070100000130000081A40000000000000000000000016052114700000130000000000000000000000000000000000000002B00000000patch-package-6.4.7/typings/klaw-sync.d.tsinterface Options { nodir?: boolean nofile?: boolean depthLimit?: number fs?: object filter?: (item: Item) => boolean } interface Item { path: string stats: object } declare module "klaw-sync" { const klawSync: (dir: string, opts?: Options, ls?: Item[]) => Item[] export = klawSync } 07070100000131000081A400000000000000000000000160521147000000CA000000000000000000000000000000000000002E00000000patch-package-6.4.7/typings/randomstring.d.tsdeclare module "randomstring" { export function generate( opts: | number | { charset?: string length?: number readable?: boolean }, ): string } 07070100000132000081A40000000000000000000000016052114700000054000000000000000000000000000000000000002700000000patch-package-6.4.7/typings/slash.d.tsdeclare module "slash" { const slash: (path: string) => string export = slash } 07070100000133000081A4000000000000000000000001605211470003C526000000000000000000000000000000000000001E00000000patch-package-6.4.7/yarn.lock# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== dependencies: "@babel/highlight" "^7.0.0" "@babel/core@^7.1.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" integrity sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA== dependencies: "@babel/code-frame" "^7.0.0" "@babel/generator" "^7.4.0" "@babel/helpers" "^7.4.0" "@babel/parser" "^7.4.0" "@babel/template" "^7.4.0" "@babel/traverse" "^7.4.0" "@babel/types" "^7.4.0" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" lodash "^4.17.11" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" "@babel/generator@^7.0.0", "@babel/generator@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196" integrity sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ== dependencies: "@babel/types" "^7.4.0" jsesc "^2.5.1" lodash "^4.17.11" source-map "^0.5.0" trim-right "^1.0.1" "@babel/helper-function-name@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== dependencies: "@babel/helper-get-function-arity" "^7.0.0" "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== dependencies: "@babel/types" "^7.0.0" "@babel/helper-plugin-utils@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== "@babel/helper-split-export-declaration@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz#571bfd52701f492920d63b7f735030e9a3e10b55" integrity sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw== dependencies: "@babel/types" "^7.4.0" "@babel/helpers@^7.4.0": version "7.4.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.2.tgz#3bdfa46a552ca77ef5a0f8551be5f0845ae989be" integrity sha512-gQR1eQeroDzFBikhrCccm5Gs2xBjZ57DNjGbqTaHo911IpmSxflOQWMAHPw/TXk8L3isv7s9lYzUkexOeTQUYg== dependencies: "@babel/template" "^7.4.0" "@babel/traverse" "^7.4.0" "@babel/types" "^7.4.0" "@babel/highlight@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.0": version "7.4.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91" integrity sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g== "@babel/plugin-syntax-object-rest-spread@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/runtime@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" integrity sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA== dependencies: regenerator-runtime "^0.12.0" "@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.0.tgz#12474e9c077bae585c5d835a95c0b0b790c25c8b" integrity sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw== dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.4.0" "@babel/types" "^7.4.0" "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.0.tgz#14006967dd1d2b3494cdd650c686db9daf0ddada" integrity sha512-/DtIHKfyg2bBKnIN+BItaIlEg5pjAnzHOIQe5w+rHAw/rg9g0V7T4rqPX8BJPfW11kt3koyjAnTNwCzb28Y1PA== dependencies: "@babel/code-frame" "^7.0.0" "@babel/generator" "^7.4.0" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.0" "@babel/parser" "^7.4.0" "@babel/types" "^7.4.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.11" "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c" integrity sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA== dependencies: esutils "^2.0.2" lodash "^4.17.11" to-fast-properties "^2.0.0" "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== dependencies: exec-sh "^0.3.2" minimist "^1.2.0" "@jest/console@^24.3.0": version "24.3.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.3.0.tgz#7bd920d250988ba0bf1352c4493a48e1cb97671e" integrity sha512-NaCty/OOei6rSDcbPdMiCbYCI0KGFGPgGO6B09lwWt5QTxnkuhKYET9El5u5z1GAcSxkQmSMtM63e24YabCWqA== dependencies: "@jest/source-map" "^24.3.0" "@types/node" "*" chalk "^2.0.1" slash "^2.0.0" "@jest/core@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.5.0.tgz#2cefc6a69e9ebcae1da8f7c75f8a257152ba1ec0" integrity sha512-RDZArRzAs51YS7dXG1pbXbWGxK53rvUu8mCDYsgqqqQ6uSOaTjcVyBl2Jce0exT2rSLk38ca7az7t2f3b0/oYQ== dependencies: "@jest/console" "^24.3.0" "@jest/reporters" "^24.5.0" "@jest/test-result" "^24.5.0" "@jest/transform" "^24.5.0" "@jest/types" "^24.5.0" ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" graceful-fs "^4.1.15" jest-changed-files "^24.5.0" jest-config "^24.5.0" jest-haste-map "^24.5.0" jest-message-util "^24.5.0" jest-regex-util "^24.3.0" jest-resolve-dependencies "^24.5.0" jest-runner "^24.5.0" jest-runtime "^24.5.0" jest-snapshot "^24.5.0" jest-util "^24.5.0" jest-validate "^24.5.0" jest-watcher "^24.5.0" micromatch "^3.1.10" p-each-series "^1.0.0" pirates "^4.0.1" realpath-native "^1.1.0" rimraf "^2.5.4" strip-ansi "^5.0.0" "@jest/environment@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.5.0.tgz#a2557f7808767abea3f9e4cc43a172122a63aca8" integrity sha512-tzUHR9SHjMXwM8QmfHb/EJNbF0fjbH4ieefJBvtwO8YErLTrecc1ROj0uo2VnIT6SlpEGZnvdCK6VgKYBo8LsA== dependencies: "@jest/fake-timers" "^24.5.0" "@jest/transform" "^24.5.0" "@jest/types" "^24.5.0" "@types/node" "*" jest-mock "^24.5.0" "@jest/fake-timers@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.5.0.tgz#4a29678b91fd0876144a58f8d46e6c62de0266f0" integrity sha512-i59KVt3QBz9d+4Qr4QxsKgsIg+NjfuCjSOWj3RQhjF5JNy+eVJDhANQ4WzulzNCHd72srMAykwtRn5NYDGVraw== dependencies: "@jest/types" "^24.5.0" "@types/node" "*" jest-message-util "^24.5.0" jest-mock "^24.5.0" "@jest/reporters@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.5.0.tgz#9363a210d0daa74696886d9cb294eb8b3ad9b4d9" integrity sha512-vfpceiaKtGgnuC3ss5czWOihKOUSyjJA4M4udm6nH8xgqsuQYcyDCi4nMMcBKsHXWgz9/V5G7iisnZGfOh1w6Q== dependencies: "@jest/environment" "^24.5.0" "@jest/test-result" "^24.5.0" "@jest/transform" "^24.5.0" "@jest/types" "^24.5.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" istanbul-api "^2.1.1" istanbul-lib-coverage "^2.0.2" istanbul-lib-instrument "^3.0.1" istanbul-lib-source-maps "^3.0.1" jest-haste-map "^24.5.0" jest-resolve "^24.5.0" jest-runtime "^24.5.0" jest-util "^24.5.0" jest-worker "^24.4.0" node-notifier "^5.2.1" slash "^2.0.0" source-map "^0.6.0" string-length "^2.0.0" "@jest/source-map@^24.3.0": version "24.3.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== dependencies: callsites "^3.0.0" graceful-fs "^4.1.15" source-map "^0.6.0" "@jest/test-result@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.5.0.tgz#ab66fb7741a04af3363443084e72ea84861a53f2" integrity sha512-u66j2vBfa8Bli1+o3rCaVnVYa9O8CAFZeqiqLVhnarXtreSXG33YQ6vNYBogT7+nYiFNOohTU21BKiHlgmxD5A== dependencies: "@jest/console" "^24.3.0" "@jest/types" "^24.5.0" "@types/istanbul-lib-coverage" "^1.1.0" "@jest/transform@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.5.0.tgz#6709fc26db918e6af63a985f2cc3c464b4cf99d9" integrity sha512-XSsDz1gdR/QMmB8UCKlweAReQsZrD/DK7FuDlNo/pE8EcKMrfi2kqLRk8h8Gy/PDzgqJj64jNEzOce9pR8oj1w== dependencies: "@babel/core" "^7.1.0" "@jest/types" "^24.5.0" babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.15" jest-haste-map "^24.5.0" jest-regex-util "^24.3.0" jest-util "^24.5.0" micromatch "^3.1.10" realpath-native "^1.1.0" slash "^2.0.0" source-map "^0.6.1" write-file-atomic "2.4.1" "@jest/types@^24.5.0": version "24.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.5.0.tgz#feee214a4d0167b0ca447284e95a57aa10b3ee95" integrity sha512-kN7RFzNMf2R8UDadPOl6ReyI+MT8xfqRuAnuVL+i4gwjv/zubdDK+EDeLHYwq1j0CSSR2W/MmgaRlMZJzXdmVA== dependencies: "@types/istanbul-lib-coverage" "^1.1.0" "@types/yargs" "^12.0.9" "@nodelib/fs.scandir@2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== dependencies: "@nodelib/fs.stat" "2.0.4" run-parallel "^1.1.9" "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": version "2.0.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== "@nodelib/fs.walk@^1.2.3": version "1.2.6" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== dependencies: "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg== dependencies: any-observable "^0.3.0" "@samverschueren/stream-to-observable@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== dependencies: any-observable "^0.3.0" "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@sindresorhus/is@^2.0.0": version "2.1.1" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== "@sindresorhus/is@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: defer-to-connect "^1.0.1" "@szmarczak/http-timer@^4.0.0": version "4.0.5" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== dependencies: defer-to-connect "^2.0.0" "@types/app-root-path@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@types/app-root-path/-/app-root-path-1.2.4.tgz#a78b703282b32ac54de768f5512ecc3569919dc7" "@types/babel__core@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51" integrity sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": version "7.0.2" resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.0.2" resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== dependencies: "@babel/types" "^7.3.0" "@types/cacheable-request@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== dependencies: "@types/http-cache-semantics" "*" "@types/keyv" "*" "@types/node" "*" "@types/responselike" "*" "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== "@types/cross-spawn@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@types/cross-spawn/-/cross-spawn-6.0.0.tgz#320aaf1d1a12979f1b84fe7a5590a7e860bf3a80" integrity sha512-evp2ZGsFw9YKprDbg8ySgC9NA15g3YgiI8ANkGmKKvvi0P2aDGYLPxQIC5qfeKNUOe3TjABVGuah6omPRpIYhg== dependencies: "@types/node" "*" "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== "@types/fs-extra@^5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.5.tgz#080d90a792f3fa2c5559eb44bd8ef840aae9104b" integrity sha512-w7iqhDH9mN8eLClQOYTkhdYUOSpp25eXxfc6VbFOGtzxW34JcvctH2bKjj4jD4++z4R5iO5D+pg48W2e03I65A== dependencies: "@types/node" "*" "@types/glob@*": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== dependencies: "@types/events" "*" "@types/minimatch" "*" "@types/node" "*" "@types/http-cache-semantics@*": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== "@types/is-ci@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-1.1.0.tgz#583c5fbfcc461be9971106b9558930d67df49227" integrity sha512-NbyqP5D4hwl5UWnnW4Cz0gIRjhecgx/9OApcCIpp4+tjqjROGf/NBcKKDfbI3YFBTTkD3JBshiNSv5V7VoVJJg== "@types/istanbul-lib-coverage@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#2cc2ca41051498382b43157c8227fea60363f94a" integrity sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ== "@types/jest-diff@*": version "20.0.1" resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== "@types/jest@^24.0.11": version "24.0.11" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.11.tgz#1f099bea332c228ea6505a88159bfa86a5858340" integrity sha512-2kLuPC5FDnWIDvaJBzsGTBQaBbnDweznicvK7UGYzlIJP4RJR2a4A/ByLUXEyEgag6jz8eHdlWExGDtH3EYUXQ== dependencies: "@types/jest-diff" "*" "@types/keyv@*", "@types/keyv@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== dependencies: "@types/node" "*" "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/minimist@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" "@types/node@*": version "8.0.19" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.19.tgz#e46e2b0243de7d03f15b26b45c59ebb84f657a4e" "@types/node@^11.11.6": version "11.11.6" resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/responselike@*": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== dependencies: "@types/node" "*" "@types/rimraf@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.2.tgz#7f0fc3cf0ff0ad2a99bb723ae1764f30acaf8b6e" integrity sha512-Hm/bnWq0TCy7jmjeN5bKYij9vw5GrDFWME4IuxV08278NtU/VdGbzsBohcCUJ7+QMqmUq5hpRKB39HeQWJjztQ== dependencies: "@types/glob" "*" "@types/node" "*" "@types/semver@^5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== "@types/tmp@^0.0.34": version "0.0.34" resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.34.tgz#4d01c0afce0ac9be316c5fc52b6407c6fc8cd440" integrity sha512-Tx7JYeYR+pkAnDQjN1Cj43KuOuUvyybZHl+fAezReXuH/SQoxLhsuPvHZH/SA4XtrBEhaTcbb5gVc1WQcjQgdg== "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": version "12.0.10" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67" integrity sha512-WsVzTPshvCSbHThUduGGxbmnwcpkgSctHGHTqzWyFg4lYAuV5qXlyFPOsP3OWqCINfmg/8VXP+zJaa4OxEsBQQ== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== abab@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== acorn-globals@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" integrity sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" acorn-walk@^6.0.1: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== acorn@^5.5.3: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== acorn@^6.0.1: version "6.0.5" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.5.tgz#81730c0815f3f3b34d8efa95cb7430965f4d887a" integrity sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg== aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" ajv@^6.5.5: version "6.6.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" integrity sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== dependencies: string-width "^3.0.0" ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-escapes@^4.2.1: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== dependencies: type-fest "^0.8.1" ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== dependencies: "@types/color-name" "^1.1.1" color-convert "^2.0.1" any-observable@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== any-observable@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.5.1.tgz#ab7d49ff64ebe6dd3ae26760a3f5a881e8db791e" integrity sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA== anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" append-transform@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== dependencies: default-require-extensions "^2.0.0" arg@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.0.tgz#583c518199419e0037abb74062c37f8519e575f0" integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg== argparse@^1.0.7: version "1.0.9" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" dependencies: sprintf-js "~1.0.2" arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" dependencies: array-uniq "^1.0.1" array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array-uniq@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.2.tgz#5fcc373920775723cfd64d65c64bef53bf9eba6d" array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== async-exit-hook@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== async@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== dependencies: lodash "^4.17.11" asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== 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: chalk "^1.1.0" esutils "^2.0.2" js-tokens "^3.0.0" babel-jest@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.5.0.tgz#0ea042789810c2bec9065f7c8ab4dc18e1d28559" integrity sha512-0fKCXyRwxFTJL0UXDJiT2xYxO9Lu2vBd9n+cC+eDjESzcVG3s2DRGAxbzJX21fceB1WYoBjAh8pQ83dKcl003g== dependencies: "@jest/transform" "^24.5.0" "@jest/types" "^24.5.0" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" babel-preset-jest "^24.3.0" chalk "^2.4.2" slash "^2.0.0" babel-plugin-istanbul@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz#7981590f1956d75d67630ba46f0c22493588c893" integrity sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ== dependencies: find-up "^3.0.0" istanbul-lib-instrument "^3.0.0" test-exclude "^5.0.0" babel-plugin-jest-hoist@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.3.0.tgz#f2e82952946f6e40bb0a75d266a3790d854c8b5b" integrity sha512-nWh4N1mVH55Tzhx2isvUN5ebM5CDUvIpXPZYMRazQughie/EqGnbR+czzoQlhUmJG9pPJmYDRhvocotb2THl1w== dependencies: "@types/babel__traverse" "^7.0.6" babel-preset-jest@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.3.0.tgz#db88497e18869f15b24d9c0e547d8e0ab950796d" integrity sha512-VGTV2QYBa/Kn3WCOKdfS31j9qomaXSgJqi65B6o05/1GsJyj9LVhSljM9ro4S+IBGj/ENhNBuH9bpqzztKAQSw== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.3.0" balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: cache-base "^1.0.1" class-utils "^0.3.5" component-emitter "^1.2.1" define-property "^1.0.0" isobject "^3.0.1" mixin-deep "^1.2.0" pascalcase "^0.1.1" bcrypt-pbkdf@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" boxen@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz#64fe9b16066af815f51057adcc800c3730120854" integrity sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA== dependencies: ansi-align "^3.0.0" camelcase "^6.2.0" chalk "^4.1.0" cli-boxes "^2.2.1" string-width "^4.2.0" type-fest "^0.20.2" widest-line "^3.1.0" wrap-ansi "^7.0.0" brace-expansion@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" dependencies: balanced-match "^0.4.1" concat-map "0.0.1" braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" extend-shallow "^2.0.1" fill-range "^4.0.0" isobject "^3.0.1" repeat-element "^1.1.2" snapdragon "^0.8.1" snapdragon-node "^2.0.1" split-string "^3.0.2" to-regex "^3.0.1" braces@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browser-process-hrtime@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== browser-resolve@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== dependencies: resolve "1.1.7" bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== dependencies: fast-json-stable-stringify "2.x" bser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" dependencies: node-int64 "^0.4.0" buffer-from@1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer-from@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" get-value "^2.0.6" has-value "^1.0.0" isobject "^3.0.1" set-value "^2.0.0" to-object-path "^0.3.0" union-value "^1.0.0" unset-value "^1.0.0" cacheable-lookup@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz#87be64a18b925234875e10a9bb1ebca4adce6b38" integrity sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg== dependencies: "@types/keyv" "^3.1.1" keyv "^4.0.0" cacheable-request@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.0.0.tgz#4a1727414e02ac4af82560c4da1b61daa3fa2b63" integrity sha512-2N7AmszH/WPPpl5Z3XMw1HAP+8d+xugnKQAeKvxFZ/04dbT/CAznqwbl+7eSr3HkwdepNwtb2yx3CAMQWvG01Q== dependencies: clone-response "^1.0.2" get-stream "^4.0.0" http-cache-semantics "^4.0.0" keyv "^3.0.0" lowercase-keys "^1.0.1" normalize-url "^3.1.0" responselike "^1.0.2" cacheable-request@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== dependencies: clone-response "^1.0.2" get-stream "^5.1.0" http-cache-semantics "^4.0.0" keyv "^4.0.0" lowercase-keys "^2.0.0" normalize-url "^4.1.0" responselike "^2.0.0" caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= dependencies: caller-callsite "^2.0.0" callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" callsites@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== callsites@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== dependencies: camelcase "^5.3.1" map-obj "^4.0.0" quick-lru "^4.0.1" camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" camelcase@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== dependencies: rsvp "^4.8.4" caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" supports-color "^2.0.0" chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" chalk@^2.0.1: version "2.3.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" chalk@^4.0.0, chalk@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: arr-union "^3.1.0" define-property "^0.2.5" isobject "^3.0.0" static-extend "^0.1.1" clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-cursor@^2.0.0, 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 "^2.0.0" cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-truncate@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" dependencies: slice-ansi "0.0.4" string-width "^1.0.1" cli-width@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" wrap-ansi "^2.0.0" clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= dependencies: mimic-response "^1.0.0" co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 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" collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" object-visit "^1.0.0" color-convert@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" dependencies: color-name "^1.1.1" color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== dependencies: delayed-stream "~1.0.0" commander@^2.12.1, commander@^2.14.1, commander@~2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" compare-versions@^3.2.1: version "3.4.0" resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" integrity sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg== component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" configstore@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" graceful-fs "^4.1.2" make-dir "^3.0.0" unique-string "^2.0.0" write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" convert-source-map@^1.1.0, convert-source-map@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cosmiconfig@^5.0.2, cosmiconfig@^5.0.7: version "5.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.1.0.tgz#6c5c35e97f37f985061cdf653f114784231185cf" integrity sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" js-yaml "^3.9.0" lodash.get "^4.4.2" parse-json "^4.0.0" cosmiconfig@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" parse-json "^5.0.0" path-type "^4.0.0" yaml "^1.10.0" cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" semver "^5.5.0" shebang-command "^1.2.0" which "^1.2.9" cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" cssstyle@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" integrity sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog== dependencies: cssom "0.3.x" dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" data-urls@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== dependencies: abab "^2.0.0" whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" date-fns@^1.27.2: version "1.28.4" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.4.tgz#7938aec34ba31fc8bd134d2344bc2e0bbfd95165" debug@^2.2.0: version "2.6.6" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a" dependencies: ms "0.7.3" debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= dependencies: decamelize "^1.1.0" map-obj "^1.0.0" decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= dependencies: mimic-response "^1.0.0" decompress-response@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-5.0.0.tgz#7849396e80e3d1eba8cb2f75ef4930f76461cb0f" integrity sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw== dependencies: mimic-response "^2.0.0" dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" default-require-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= dependencies: strip-bom "^3.0.0" defer-to-connect@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw== defer-to-connect@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== define-properties@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" del@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= dependencies: globby "^6.1.0" is-path-cwd "^1.0.0" is-path-in-cwd "^1.0.0" p-map "^1.1.1" pify "^3.0.0" rimraf "^2.2.8" del@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== dependencies: globby "^11.0.1" graceful-fs "^4.2.4" is-glob "^4.0.1" is-path-cwd "^2.2.0" is-path-inside "^3.0.2" p-map "^4.0.0" rimraf "^3.0.2" slash "^3.0.0" delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= diff-sequences@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== diff@^3.1.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" diff@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== dependencies: webidl-conversions "^4.0.2" dot-prop@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== dependencies: is-obj "^2.0.0" dot-prop@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.5.1: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== dependencies: es-to-primitive "^1.2.0" function-bind "^1.1.1" has "^1.0.3" is-callable "^1.1.4" is-regex "^1.0.4" object-keys "^1.0.12" es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" escape-goat@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== escape-goat@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-3.0.0.tgz#e8b5fb658553fe8a3c4959c316c6ebb8c842b19c" integrity sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw== escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, 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" escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escodegen@^1.9.1: version "1.11.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" integrity sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw== dependencies: esprima "^3.1.3" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" esprima@^3.1.1, esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" exec-sh@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" signal-exit "^3.0.0" strip-eof "^1.0.0" execa@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.0" human-signals "^2.1.0" is-stream "^2.0.0" merge-stream "^2.0.0" npm-run-path "^4.0.1" onetime "^5.1.2" signal-exit "^3.0.3" strip-final-newline "^2.0.0" exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: debug "^2.3.3" define-property "^0.2.5" extend-shallow "^2.0.1" posix-character-classes "^0.1.0" regex-not "^1.0.0" snapdragon "^0.8.1" to-regex "^3.0.1" expect@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.5.0.tgz#492fb0df8378d8474cc84b827776b069f46294ed" integrity sha512-p2Gmc0CLxOgkyA93ySWmHFYHUPFIHG6XZ06l7WArWAsrqYVaVEkOU5NtT5i68KUyGKbkQgDCkiT65bWmdoL6Bw== dependencies: "@jest/types" "^24.5.0" ansi-styles "^3.2.0" jest-get-type "^24.3.0" jest-matcher-utils "^24.5.0" jest-message-util "^24.5.0" jest-regex-util "^24.3.0" extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: array-unique "^0.3.2" define-property "^1.0.0" expand-brackets "^2.1.4" extend-shallow "^2.0.1" fragment-cache "^0.2.1" regex-not "^1.0.0" snapdragon "^0.8.1" to-regex "^3.0.1" extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-glob@^3.1.1: version "3.2.5" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.0" merge2 "^1.3.0" micromatch "^4.0.2" picomatch "^2.2.1" fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" fastq@^1.6.0: version "1.11.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" dependencies: bser "^2.0.0" figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" dependencies: escape-string-regexp "^1.0.5" object-assign "^4.1.0" 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" figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" fileset@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= dependencies: glob "^7.0.3" minimatch "^3.0.3" fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range "^2.1.0" fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-parent-dir@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" path-exists "^4.0.0" find-yarn-workspace-root@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: micromatch "^4.0.2" fn-name@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc= for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" mime-types "^2.1.12" fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" universalify "^0.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" function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== g-status@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz#270fd32119e8fc9496f066fe5fe88e0a6bc78b97" integrity sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA== dependencies: arrify "^1.0.1" matcher "^1.0.0" simple-git "^1.85.0" get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" get-own-enumerable-property-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" get-stream@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== dependencies: pump "^3.0.0" get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-stream@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" github-url-from-git@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" integrity sha1-+YX+3MCpqledyI16/waNVcxiUaA= glob-parent@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" minimatch "^3.0.2" once "^1.3.0" path-is-absolute "^1.0.0" glob@^7.1.2, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 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" global-dirs@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== dependencies: ini "^1.3.5" global-dirs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== dependencies: ini "2.0.0" globals@^11.1.0: version "11.11.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" integrity sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw== globby@^11.0.1: version "11.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" fast-glob "^3.1.1" ignore "^5.1.4" merge2 "^1.3.0" slash "^3.0.0" globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= dependencies: array-union "^1.0.1" glob "^7.0.3" object-assign "^4.0.1" pify "^2.0.0" pinkie-promise "^2.0.0" got@^10.6.0: version "10.7.0" resolved "https://registry.yarnpkg.com/got/-/got-10.7.0.tgz#62889dbcd6cca32cd6a154cc2d0c6895121d091f" integrity sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg== dependencies: "@sindresorhus/is" "^2.0.0" "@szmarczak/http-timer" "^4.0.0" "@types/cacheable-request" "^6.0.1" cacheable-lookup "^2.0.0" cacheable-request "^7.0.1" decompress-response "^5.0.0" duplexer3 "^0.1.4" get-stream "^5.0.0" lowercase-keys "^2.0.0" mimic-response "^2.1.0" p-cancelable "^2.0.0" p-event "^4.0.0" responselike "^2.0.0" to-readable-stream "^2.0.0" type-fest "^0.10.0" got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" "@szmarczak/http-timer" "^1.1.2" cacheable-request "^6.0.0" decompress-response "^3.3.0" duplexer3 "^0.1.4" get-stream "^4.1.0" lowercase-keys "^1.0.1" mimic-response "^1.0.1" p-cancelable "^1.0.0" to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" graceful-fs@^4.1.15: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== graceful-fs@^4.2.4: version "4.2.6" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" handlebars@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.1.tgz#6e4e41c18ebe7719ae4d38e5aca3d32fa3dd23d3" integrity sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA== dependencies: neo-async "^2.6.0" optimist "^0.6.1" source-map "^0.6.1" optionalDependencies: uglify-js "^3.1.4" har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.0: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== dependencies: ajv "^6.5.5" har-schema "^2.0.0" hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" dependencies: ansi-regex "^2.0.0" has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" has-values "^0.1.4" isobject "^2.0.0" has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" has-values "^1.0.0" isobject "^3.0.0" has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" kind-of "^4.0.0" has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== has@^1.0.1, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hosted-git-info@^2.1.4: version "2.4.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" hosted-git-info@^3.0.6, hosted-git-info@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" html-encoding-sniffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== dependencies: whatwg-encoding "^1.0.1" http-cache-semantics@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" sshpk "^1.7.0" human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== husky@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0" integrity sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg== dependencies: cosmiconfig "^5.0.7" execa "^1.0.0" find-up "^3.0.0" get-stdin "^6.0.0" is-ci "^2.0.0" pkg-dir "^3.0.0" please-upgrade-node "^3.1.1" read-pkg "^4.0.1" run-node "^1.0.0" slash "^2.0.0" 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.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" ignore-walk@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== dependencies: minimatch "^3.0.4" ignore@^5.1.4: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== dependencies: pkg-dir "^3.0.0" resolve-cwd "^2.0.0" import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" indent-string@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d" indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" ini@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" inquirer-autosubmit-prompt@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/inquirer-autosubmit-prompt/-/inquirer-autosubmit-prompt-0.2.0.tgz#a10f952af4f7bac9c43010e3e9e0891d7e8d15a1" integrity sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q== dependencies: chalk "^2.4.1" inquirer "^6.2.1" rxjs "^6.3.3" inquirer@^6.2.1: version "6.2.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" external-editor "^3.0.3" figures "^2.0.0" lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" rxjs "^6.4.0" string-width "^2.1.0" strip-ansi "^5.0.0" through "^2.3.6" inquirer@^7.0.0: version "7.0.4" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== dependencies: ansi-escapes "^4.2.1" chalk "^2.4.2" cli-cursor "^3.1.0" cli-width "^2.0.0" external-editor "^3.0.3" figures "^3.0.0" lodash "^4.17.15" mute-stream "0.0.8" run-async "^2.2.0" rxjs "^6.5.3" string-width "^4.1.0" strip-ansi "^5.1.0" through "^2.3.6" inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" chalk "^4.1.0" cli-cursor "^3.1.0" cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" lodash "^4.17.19" mute-stream "0.0.8" run-async "^2.4.0" rxjs "^6.6.0" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== ip-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-3.0.0.tgz#0a934694b4066558c46294244a23cc33116bf732" integrity sha512-T8wDtjy+Qf2TAPDQmBp0eGKJ8GavlWlUnamr3wRn6vvdZlKVuJXXMlSncYFRYgVHOM3If5NR1H4+OvVQU9Idvg== is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== dependencies: kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" is-buffer@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" is-builtin-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" dependencies: builtin-modules "^1.0.0" is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" is-core-module@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== dependencies: has "^1.0.3" is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: kind-of "^6.0.0" is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" kind-of "^5.0.0" is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" kind-of "^6.0.2" is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" is-extendable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: is-plain-object "^2.0.4" is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 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" 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-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== is-glob@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= dependencies: is-extglob "^2.1.1" is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" is-installed-globally@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== dependencies: global-dirs "^2.0.1" is-path-inside "^3.0.1" is-installed-globally@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== dependencies: global-dirs "^3.0.0" is-path-inside "^3.0.2" is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== is-npm@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-observable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== dependencies: symbol-observable "^1.1.0" is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-in-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" dependencies: is-path-inside "^1.0.0" is-path-inside@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" dependencies: path-is-inside "^1.0.1" is-path-inside@^3.0.1, is-path-inside@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= is-scoped@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-2.1.0.tgz#fef0713772658bdf5bee418608267ddae6d3566d" integrity sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ== dependencies: scoped-regex "^2.0.0" is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== dependencies: has-symbols "^1.0.0" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" is-url-superb@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-url-superb/-/is-url-superb-4.0.0.tgz#b54d1d2499bb16792748ac967aa3ecb41a33a8c2" integrity sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" issue-regex@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/issue-regex/-/issue-regex-3.1.0.tgz#0671f094d6449c5b712fac3c9562aecb727d709e" integrity sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA== istanbul-api@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.1.tgz#194b773f6d9cbc99a9258446848b0f988951c4d0" integrity sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw== dependencies: async "^2.6.1" compare-versions "^3.2.1" fileset "^2.0.3" istanbul-lib-coverage "^2.0.3" istanbul-lib-hook "^2.0.3" istanbul-lib-instrument "^3.1.0" istanbul-lib-report "^2.0.4" istanbul-lib-source-maps "^3.0.2" istanbul-reports "^2.1.1" js-yaml "^3.12.0" make-dir "^1.3.0" minimatch "^3.0.4" once "^1.4.0" istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== istanbul-lib-hook@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz#e0e581e461c611be5d0e5ef31c5f0109759916fb" integrity sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA== dependencies: append-transform "^1.0.0" istanbul-lib-instrument@^3.0.0, istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== dependencies: "@babel/generator" "^7.0.0" "@babel/parser" "^7.0.0" "@babel/template" "^7.0.0" "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" istanbul-lib-coverage "^2.0.3" semver "^5.5.0" istanbul-lib-report@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz#bfd324ee0c04f59119cb4f07dab157d09f24d7e4" integrity sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA== dependencies: istanbul-lib-coverage "^2.0.3" make-dir "^1.3.0" supports-color "^6.0.0" istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== dependencies: debug "^4.1.1" istanbul-lib-coverage "^2.0.3" make-dir "^1.3.0" rimraf "^2.6.2" source-map "^0.6.1" istanbul-reports@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.1.1.tgz#72ef16b4ecb9a4a7bd0e2001e00f95d1eec8afa9" integrity sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw== dependencies: handlebars "^4.1.0" jest-changed-files@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.5.0.tgz#4075269ee115d87194fd5822e642af22133cf705" integrity sha512-Ikl29dosYnTsH9pYa1Tv9POkILBhN/TLZ37xbzgNsZ1D2+2n+8oEZS2yP1BrHn/T4Rs4Ggwwbp/x8CKOS5YJOg== dependencies: "@jest/types" "^24.5.0" execa "^1.0.0" throat "^4.0.0" jest-cli@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.5.0.tgz#598139d3446d1942fb7dc93944b9ba766d756d4b" integrity sha512-P+Jp0SLO4KWN0cGlNtC7JV0dW1eSFR7eRpoOucP2UM0sqlzp/bVHeo71Omonvigrj9AvCKy7NtQANtqJ7FXz8g== dependencies: "@jest/core" "^24.5.0" "@jest/test-result" "^24.5.0" "@jest/types" "^24.5.0" chalk "^2.0.1" exit "^0.1.2" import-local "^2.0.0" is-ci "^2.0.0" jest-config "^24.5.0" jest-util "^24.5.0" jest-validate "^24.5.0" prompts "^2.0.1" realpath-native "^1.1.0" yargs "^12.0.2" jest-config@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.5.0.tgz#404d1bc6bb81aed6bd1890d07e2dca9fbba2e121" integrity sha512-t2UTh0Z2uZhGBNVseF8wA2DS2SuBiLOL6qpLq18+OZGfFUxTM7BzUVKyHFN/vuN+s/aslY1COW95j1Rw81huOQ== dependencies: "@babel/core" "^7.1.0" "@jest/types" "^24.5.0" babel-jest "^24.5.0" chalk "^2.0.1" glob "^7.1.1" jest-environment-jsdom "^24.5.0" jest-environment-node "^24.5.0" jest-get-type "^24.3.0" jest-jasmine2 "^24.5.0" jest-regex-util "^24.3.0" jest-resolve "^24.5.0" jest-util "^24.5.0" jest-validate "^24.5.0" micromatch "^3.1.10" pretty-format "^24.5.0" realpath-native "^1.1.0" jest-diff@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.5.0.tgz#a2d8627964bb06a91893c0fbcb28ab228c257652" integrity sha512-mCILZd9r7zqL9Uh6yNoXjwGQx0/J43OD2vvWVKwOEOLZliQOsojXwqboubAQ+Tszrb6DHGmNU7m4whGeB9YOqw== dependencies: chalk "^2.0.1" diff-sequences "^24.3.0" jest-get-type "^24.3.0" pretty-format "^24.5.0" jest-docblock@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== dependencies: detect-newline "^2.1.0" jest-each@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.5.0.tgz#da14d017a1b7d0f01fb458d338314cafe7f72318" integrity sha512-6gy3Kh37PwIT5sNvNY2VchtIFOOBh8UCYnBlxXMb5sr5wpJUDPTUATX2Axq1Vfk+HWTMpsYPeVYp4TXx5uqUBw== dependencies: "@jest/types" "^24.5.0" chalk "^2.0.1" jest-get-type "^24.3.0" jest-util "^24.5.0" pretty-format "^24.5.0" jest-environment-jsdom@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.5.0.tgz#1c3143063e1374100f8c2723a8b6aad23b6db7eb" integrity sha512-62Ih5HbdAWcsqBx2ktUnor/mABBo1U111AvZWcLKeWN/n/gc5ZvDBKe4Og44fQdHKiXClrNGC6G0mBo6wrPeGQ== dependencies: "@jest/environment" "^24.5.0" "@jest/fake-timers" "^24.5.0" "@jest/types" "^24.5.0" jest-mock "^24.5.0" jest-util "^24.5.0" jsdom "^11.5.1" jest-environment-node@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.5.0.tgz#763eebdf529f75b60aa600c6cf8cb09873caa6ab" integrity sha512-du6FuyWr/GbKLsmAbzNF9mpr2Iu2zWSaq/BNHzX+vgOcts9f2ayXBweS7RAhr+6bLp6qRpMB6utAMF5Ygktxnw== dependencies: "@jest/environment" "^24.5.0" "@jest/fake-timers" "^24.5.0" "@jest/types" "^24.5.0" jest-mock "^24.5.0" jest-util "^24.5.0" jest-get-type@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.3.0.tgz#582cfd1a4f91b5cdad1d43d2932f816d543c65da" integrity sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow== jest-haste-map@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.5.0.tgz#3f17d0c548b99c0c96ed2893f9c0ccecb2eb9066" integrity sha512-mb4Yrcjw9vBgSvobDwH8QUovxApdimGcOkp+V1ucGGw4Uvr3VzZQBJhNm1UY3dXYm4XXyTW2G7IBEZ9pM2ggRQ== dependencies: "@jest/types" "^24.5.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" jest-serializer "^24.4.0" jest-util "^24.5.0" jest-worker "^24.4.0" micromatch "^3.1.10" sane "^4.0.3" jest-jasmine2@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.5.0.tgz#e6af4d7f73dc527d007cca5a5b177c0bcc29d111" integrity sha512-sfVrxVcx1rNUbBeyIyhkqZ4q+seNKyAG6iM0S2TYBdQsXjoFDdqWFfsUxb6uXSsbimbXX/NMkJIwUZ1uT9+/Aw== dependencies: "@babel/traverse" "^7.1.0" "@jest/environment" "^24.5.0" "@jest/test-result" "^24.5.0" "@jest/types" "^24.5.0" chalk "^2.0.1" co "^4.6.0" expect "^24.5.0" is-generator-fn "^2.0.0" jest-each "^24.5.0" jest-matcher-utils "^24.5.0" jest-message-util "^24.5.0" jest-runtime "^24.5.0" jest-snapshot "^24.5.0" jest-util "^24.5.0" pretty-format "^24.5.0" throat "^4.0.0" jest-leak-detector@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.5.0.tgz#21ae2b3b0da252c1171cd494f75696d65fb6fa89" integrity sha512-LZKBjGovFRx3cRBkqmIg+BZnxbrLqhQl09IziMk3oeh1OV81Hg30RUIx885mq8qBv1PA0comB9bjKcuyNO1bCQ== dependencies: pretty-format "^24.5.0" jest-matcher-utils@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.5.0.tgz#5995549dcf09fa94406e89526e877b094dad8770" integrity sha512-QM1nmLROjLj8GMGzg5VBra3I9hLpjMPtF1YqzQS3rvWn2ltGZLrGAO1KQ9zUCVi5aCvrkbS5Ndm2evIP9yZg1Q== dependencies: chalk "^2.0.1" jest-diff "^24.5.0" jest-get-type "^24.3.0" pretty-format "^24.5.0" jest-message-util@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.5.0.tgz#181420a65a7ef2e8b5c2f8e14882c453c6d41d07" integrity sha512-6ZYgdOojowCGiV0D8WdgctZEAe+EcFU+KrVds+0ZjvpZurUW2/oKJGltJ6FWY2joZwYXN5VL36GPV6pNVRqRnQ== dependencies: "@babel/code-frame" "^7.0.0" "@jest/test-result" "^24.5.0" "@jest/types" "^24.5.0" "@types/stack-utils" "^1.0.1" chalk "^2.0.1" micromatch "^3.1.10" slash "^2.0.0" stack-utils "^1.0.1" jest-mock@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.5.0.tgz#976912c99a93f2a1c67497a9414aa4d9da4c7b76" integrity sha512-ZnAtkWrKf48eERgAOiUxVoFavVBziO2pAi2MfZ1+bGXVkDfxWLxU0//oJBkgwbsv6OAmuLBz4XFFqvCFMqnGUw== dependencies: "@jest/types" "^24.5.0" jest-pnp-resolver@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== jest-regex-util@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== jest-resolve-dependencies@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.5.0.tgz#1a0dae9cdd41349ca4a84148b3e78da2ba33fd4b" integrity sha512-dRVM1D+gWrFfrq2vlL5P9P/i8kB4BOYqYf3S7xczZ+A6PC3SgXYSErX/ScW/469pWMboM1uAhgLF+39nXlirCQ== dependencies: "@jest/types" "^24.5.0" jest-regex-util "^24.3.0" jest-snapshot "^24.5.0" jest-resolve@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.5.0.tgz#8c16ba08f60a1616c3b1cd7afb24574f50a24d04" integrity sha512-ZIfGqLX1Rg8xJpQqNjdoO8MuxHV1q/i2OO1hLXjgCWFWs5bsedS8UrOdgjUqqNae6DXA+pCyRmdcB7lQEEbXew== dependencies: "@jest/types" "^24.5.0" browser-resolve "^1.11.3" chalk "^2.0.1" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" jest-runner@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.5.0.tgz#9be26ece4fd4ab3dfb528b887523144b7c5ffca8" integrity sha512-oqsiS9TkIZV5dVkD+GmbNfWBRPIvxqmlTQ+AQUJUQ07n+4xTSDc40r+aKBynHw9/tLzafC00DIbJjB2cOZdvMA== dependencies: "@jest/console" "^24.3.0" "@jest/environment" "^24.5.0" "@jest/test-result" "^24.5.0" "@jest/types" "^24.5.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" jest-config "^24.5.0" jest-docblock "^24.3.0" jest-haste-map "^24.5.0" jest-jasmine2 "^24.5.0" jest-leak-detector "^24.5.0" jest-message-util "^24.5.0" jest-resolve "^24.5.0" jest-runtime "^24.5.0" jest-util "^24.5.0" jest-worker "^24.4.0" source-map-support "^0.5.6" throat "^4.0.0" jest-runtime@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.5.0.tgz#3a76e0bfef4db3896d5116e9e518be47ba771aa2" integrity sha512-GTFHzfLdwpaeoDPilNpBrorlPoNZuZrwKKzKJs09vWwHo+9TOsIIuszK8cWOuKC7ss07aN1922Ge8fsGdsqCuw== dependencies: "@jest/console" "^24.3.0" "@jest/environment" "^24.5.0" "@jest/source-map" "^24.3.0" "@jest/transform" "^24.5.0" "@jest/types" "^24.5.0" "@types/yargs" "^12.0.2" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.1.15" jest-config "^24.5.0" jest-haste-map "^24.5.0" jest-message-util "^24.5.0" jest-mock "^24.5.0" jest-regex-util "^24.3.0" jest-resolve "^24.5.0" jest-snapshot "^24.5.0" jest-util "^24.5.0" jest-validate "^24.5.0" realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" yargs "^12.0.2" jest-serializer@^24.4.0: version "24.4.0" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== jest-snapshot@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.5.0.tgz#e5d224468a759fd19e36f01217aac912f500f779" integrity sha512-eBEeJb5ROk0NcpodmSKnCVgMOo+Qsu5z9EDl3tGffwPzK1yV37mjGWF2YeIz1NkntgTzP+fUL4s09a0+0dpVWA== dependencies: "@babel/types" "^7.0.0" "@jest/types" "^24.5.0" chalk "^2.0.1" expect "^24.5.0" jest-diff "^24.5.0" jest-matcher-utils "^24.5.0" jest-message-util "^24.5.0" jest-resolve "^24.5.0" mkdirp "^0.5.1" natural-compare "^1.4.0" pretty-format "^24.5.0" semver "^5.5.0" jest-util@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.5.0.tgz#9d9cb06d9dcccc8e7cc76df91b1635025d7baa84" integrity sha512-Xy8JsD0jvBz85K7VsTIQDuY44s+hYJyppAhcsHsOsGisVtdhar6fajf2UOf2mEVEgh15ZSdA0zkCuheN8cbr1Q== dependencies: "@jest/console" "^24.3.0" "@jest/fake-timers" "^24.5.0" "@jest/source-map" "^24.3.0" "@jest/test-result" "^24.5.0" "@jest/types" "^24.5.0" "@types/node" "*" callsites "^3.0.0" chalk "^2.0.1" graceful-fs "^4.1.15" is-ci "^2.0.0" mkdirp "^0.5.1" slash "^2.0.0" source-map "^0.6.0" jest-validate@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.5.0.tgz#62fd93d81214c070bb2d7a55f329a79d8057c7de" integrity sha512-gg0dYszxjgK2o11unSIJhkOFZqNRQbWOAB2/LOUdsd2LfD9oXiMeuee8XsT0iRy5EvSccBgB4h/9HRbIo3MHgQ== dependencies: "@jest/types" "^24.5.0" camelcase "^5.0.0" chalk "^2.0.1" jest-get-type "^24.3.0" leven "^2.1.0" pretty-format "^24.5.0" jest-watcher@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.5.0.tgz#da7bd9cb5967e274889b42078c8f501ae1c47761" integrity sha512-/hCpgR6bg0nKvD3nv4KasdTxuhwfViVMHUATJlnGCD0r1QrmIssimPbmc5KfAQblAVxkD8xrzuij9vfPUk1/rA== dependencies: "@jest/test-result" "^24.5.0" "@jest/types" "^24.5.0" "@types/node" "*" "@types/yargs" "^12.0.9" ansi-escapes "^3.0.0" chalk "^2.0.1" jest-util "^24.5.0" string-length "^2.0.0" jest-worker@^24.4.0: version "24.4.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.4.0.tgz#fbc452b0120bb5c2a70cdc88fa132b48eeb11dd0" integrity sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ== dependencies: "@types/node" "*" merge-stream "^1.0.1" supports-color "^6.1.0" jest@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.5.0.tgz#38f11ae2c2baa2f86c2bc4d8a91d2b51612cd19a" integrity sha512-lxL+Fq5/RH7inxxmfS2aZLCf8MsS+YCUBfeiNO6BWz/MmjhDGaIEA/2bzEf9q4Q0X+mtFHiinHFvQ0u+RvW/qQ== dependencies: import-local "^2.0.0" jest-cli "^24.5.0" jodid25519@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" dependencies: jsbn "~0.1.0" js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.12.0, js-yaml@^3.9.0: version "3.13.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ== dependencies: argparse "^1.0.7" esprima "^4.0.0" js-yaml@^3.7.0: version "3.8.4" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" dependencies: argparse "^1.0.7" esprima "^3.1.1" jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" jsdom@^11.5.1: version "11.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== dependencies: abab "^2.0.0" acorn "^5.5.3" acorn-globals "^4.1.0" array-equal "^1.0.0" cssom ">= 0.3.2 < 0.4.0" cssstyle "^1.0.0" data-urls "^1.0.0" domexception "^1.0.1" escodegen "^1.9.1" html-encoding-sniffer "^1.0.2" left-pad "^1.3.0" nwsapi "^2.0.7" parse5 "4.0.0" pn "^1.1.0" request "^2.87.0" request-promise-native "^1.0.5" sax "^1.2.4" symbol-tree "^3.2.2" tough-cookie "^2.3.4" w3c-hr-time "^1.0.1" webidl-conversions "^4.0.2" whatwg-encoding "^1.0.3" whatwg-mimetype "^2.1.0" whatwg-url "^6.4.1" ws "^5.2.0" xml-name-validator "^3.0.0" jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" json5@2.x, json5@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== dependencies: minimist "^1.2.0" jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" dependencies: assert-plus "1.0.0" extsprintf "1.0.2" json-schema "0.2.3" verror "1.3.6" keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== dependencies: json-buffer "3.0.0" keyv@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== dependencies: json-buffer "3.0.1" kind-of@^3.0.2: version "3.2.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07" dependencies: is-buffer "^1.1.5" kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klaw-sync@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== dependencies: graceful-fs "^4.1.11" kleur@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.2.tgz#83c7ec858a41098b613d5998a7b653962b504f68" integrity sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q== latest-version@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: package-json "^6.3.0" lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= lint-staged@^8.1.5: version "8.1.5" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.1.5.tgz#372476fe1a58b8834eb562ed4c99126bd60bdd79" integrity sha512-e5ZavfnSLcBJE1BTzRTqw6ly8OkqVyO3GL2M6teSmTBYQ/2BuueD5GIt2RPsP31u/vjKdexUyDCxSyK75q4BDA== dependencies: chalk "^2.3.1" commander "^2.14.1" cosmiconfig "^5.0.2" debug "^3.1.0" dedent "^0.7.0" del "^3.0.0" execa "^1.0.0" find-parent-dir "^0.3.0" g-status "^2.0.2" is-glob "^4.0.0" is-windows "^1.0.2" listr "^0.14.2" listr-update-renderer "^0.5.0" lodash "^4.17.11" log-symbols "^2.2.0" micromatch "^3.1.8" npm-which "^3.0.1" p-map "^1.1.1" path-is-inside "^1.0.2" pify "^3.0.0" please-upgrade-node "^3.0.2" staged-git-files "1.1.2" string-argv "^0.0.2" stringify-object "^3.2.2" yup "^0.26.10" listr-input@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/listr-input/-/listr-input-0.2.1.tgz#ce735c34530683580388fdf9462ecfebd3b66126" integrity sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg== dependencies: inquirer "^7.0.0" inquirer-autosubmit-prompt "^0.2.0" rxjs "^6.5.3" through "^2.3.8" listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" listr-update-renderer@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== dependencies: chalk "^1.1.3" cli-truncate "^0.2.1" elegant-spinner "^1.0.1" figures "^1.7.0" indent-string "^3.0.0" log-symbols "^1.0.2" log-update "^2.3.0" strip-ansi "^3.0.1" listr-verbose-renderer@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== dependencies: chalk "^2.4.1" cli-cursor "^2.1.0" date-fns "^1.27.2" figures "^2.0.0" listr@^0.14.2, listr@^0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== dependencies: "@samverschueren/stream-to-observable" "^0.3.0" is-observable "^1.1.0" is-promise "^2.1.0" is-stream "^1.1.0" listr-silent-renderer "^1.1.1" listr-update-renderer "^0.5.0" listr-verbose-renderer "^0.5.0" p-map "^2.0.0" rxjs "^6.3.3" load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" parse-json "^4.0.0" pify "^3.0.0" strip-bom "^3.0.0" locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= lodash.zip@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== lodash@^4.17.19: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" dependencies: chalk "^1.0.0" log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== dependencies: chalk "^2.0.1" log-symbols@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: chalk "^4.0.0" log-update@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= dependencies: ansi-escapes "^3.0.0" cli-cursor "^2.0.0" wrap-ansi "^3.0.1" loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: js-tokens "^3.0.0" lowercase-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" make-dir@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== dependencies: pify "^3.0.0" make-dir@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== dependencies: semver "^6.0.0" make-error@1.x: version "1.3.5" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== make-error@^1.1.1: version "1.3.4" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" dependencies: tmpl "1.0.x" map-age-cleaner@^0.1.1, map-age-cleaner@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" map-obj@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" matcher@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2" integrity sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg== dependencies: escape-string-regexp "^1.0.4" mem@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" p-is-promise "^2.0.0" mem@^6.0.1: version "6.1.1" resolved "https://registry.yarnpkg.com/mem/-/mem-6.1.1.tgz#ea110c2ebc079eca3022e6b08c85a795e77f6318" integrity sha512-Ci6bIfq/UgcxPTYa8dQQ5FY3BzKkT894bwXWXxC/zqs0XgMO2cT20CGkOqda7gZNkmK5VP4x89IGZ6K7hfbn3Q== dependencies: map-age-cleaner "^0.1.3" mimic-fn "^3.0.0" meow@^8.1.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" normalize-package-data "^3.0.0" read-pkg-up "^7.0.1" redent "^3.0.0" trim-newlines "^3.0.0" type-fest "^0.18.0" yargs-parser "^20.2.3" merge-stream@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= dependencies: readable-stream "^2.0.1" merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" braces "^2.3.1" define-property "^2.0.2" extend-shallow "^3.0.2" extglob "^2.0.4" fragment-cache "^0.2.1" kind-of "^6.0.2" nanomatch "^1.2.9" object.pick "^1.3.0" regex-not "^1.0.0" snapdragon "^0.8.1" to-regex "^3.0.2" micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== dependencies: braces "^3.0.1" picomatch "^2.0.5" mime-db@~1.27.0: version "1.27.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" mime-db@~1.37.0: version "1.37.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== mime-types@^2.1.12: version "2.1.15" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: mime-db "~1.27.0" mime-types@~2.1.19: version "2.1.21" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== dependencies: mime-db "~1.37.0" mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" mimic-fn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-fn@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== mimic-response@^2.0.0, mimic-response@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== min-indent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== dependencies: arrify "^1.0.1" is-plain-obj "^1.1.0" kind-of "^6.0.3" minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" mkdirp@0.x, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" ms@0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" define-property "^2.0.2" extend-shallow "^3.0.2" fragment-cache "^0.2.1" is-windows "^1.0.2" kind-of "^6.0.2" object.pick "^1.3.0" regex-not "^1.0.0" snapdragon "^0.8.1" to-regex "^3.0.1" natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" neo-async@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== new-github-release-url@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/new-github-release-url/-/new-github-release-url-1.0.0.tgz#493847e6fecce39c247e9d89929be773d2e7f777" integrity sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A== dependencies: type-fest "^0.4.1" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.2.1: version "5.3.0" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz#c77a4a7b84038733d5fb351aafd8a268bfe19a01" integrity sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q== dependencies: growly "^1.3.0" semver "^5.5.0" shellwords "^0.1.1" which "^1.3.0" normalize-package-data@^2.3.2: version "2.3.8" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" normalize-package-data@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a" integrity sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw== dependencies: hosted-git-info "^3.0.6" resolve "^1.17.0" semver "^7.3.2" validate-npm-package-license "^3.0.1" normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: remove-trailing-separator "^1.0.1" normalize-url@^3.1.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== normalize-url@^4.1.0: version "4.5.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== np@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/np/-/np-7.4.0.tgz#de33e07159c8d4065f42c280a7605deb88fcaf6a" integrity sha512-woJn5Bodg0/VDyUWx5EHIsi+8QlKSows0AVRBt47PG++cJAVE6jQFXcXDFDBMqY5PueFc4w0SA3gxqPklk6oGg== dependencies: "@samverschueren/stream-to-observable" "^0.3.1" any-observable "^0.5.1" async-exit-hook "^2.0.1" chalk "^4.1.0" cosmiconfig "^7.0.0" del "^6.0.0" escape-goat "^3.0.0" escape-string-regexp "^4.0.0" execa "^5.0.0" github-url-from-git "^1.5.0" has-yarn "^2.1.0" hosted-git-info "^3.0.7" ignore-walk "^3.0.3" import-local "^3.0.2" inquirer "^7.3.3" is-installed-globally "^0.3.2" is-interactive "^1.0.0" is-scoped "^2.1.0" issue-regex "^3.1.0" listr "^0.14.3" listr-input "^0.2.1" log-symbols "^4.0.0" meow "^8.1.0" minimatch "^3.0.4" new-github-release-url "^1.0.0" npm-name "^6.0.1" onetime "^5.1.2" open "^7.3.0" ow "^0.21.0" p-memoize "^4.0.1" p-timeout "^4.1.0" pkg-dir "^5.0.0" read-pkg-up "^7.0.1" rxjs "^6.6.3" semver "^7.3.4" split "^1.0.1" symbol-observable "^3.0.0" terminal-link "^2.1.1" update-notifier "^5.0.1" npm-name@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/npm-name/-/npm-name-6.0.1.tgz#73e05b4cb6332766a6727b2635e247bb4107255b" integrity sha512-fhKRvUAxaYzMEUZim4mXWyfFbVS+M1CbrCLdAo3txWzrctxKka/h+KaBW0O9Cz5uOM00Nldn2JLWhuwnyW3SUw== dependencies: got "^10.6.0" is-scoped "^2.1.0" is-url-superb "^4.0.0" lodash.zip "^4.2.0" org-regex "^1.0.0" p-map "^3.0.0" registry-auth-token "^4.0.0" registry-url "^5.1.0" validate-npm-package-name "^3.0.0" npm-path@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe" dependencies: which "^1.2.10" npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" dependencies: path-key "^2.0.0" npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npm-which@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" dependencies: commander "^2.9.0" npm-path "^2.0.2" which "^1.2.10" 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" nwsapi@^2.0.7: version "2.0.9" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" integrity sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ== oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" object-keys@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" es-abstract "^1.5.1" object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" 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" onetime@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== dependencies: mimic-fn "^2.1.0" onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^7.3.0, open@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" is-wsl "^2.1.1" optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: minimist "~0.0.1" wordwrap "~0.0.2" optionator@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.4" levn "~0.3.0" prelude-ls "~1.1.2" type-check "~0.3.2" wordwrap "~1.0.0" org-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/org-regex/-/org-regex-1.0.0.tgz#67ebb9ab3cb124fea5841289d60b59434f041a59" integrity sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ== os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" mem "^4.0.0" os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= ow@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/ow/-/ow-0.21.0.tgz#c2df2ad78d1bfc2ea9cdca311b7a6275258df621" integrity sha512-dlsoDe39g7mhdsdrC1R/YwjT7yjVqE3svWwOlMGvN690waBkgEZBmKBdkmKvSt5/wZ6E0Jn/nIesPqMZOpPKqw== dependencies: "@sindresorhus/is" "^4.0.0" callsites "^3.1.0" dot-prop "^6.0.1" lodash.isequal "^4.5.0" type-fest "^0.20.2" vali-date "^1.0.0" p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== p-cancelable@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-each-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= dependencies: p-reduce "^1.0.0" p-event@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== dependencies: p-timeout "^3.1.0" p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" p-is-promise@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== p-limit@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== dependencies: p-try "^2.0.0" p-limit@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-map@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a" p-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50" integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w== p-map@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== dependencies: aggregate-error "^3.0.0" p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-memoize@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/p-memoize/-/p-memoize-4.0.1.tgz#6f4231857fec10de2504611fe820c808fa8c5f8b" integrity sha512-km0sP12uE0dOZ5qP+s7kGVf07QngxyG0gS8sYFvFWhqlgzOsSy+m71aUejf/0akxj5W7gE//2G74qTv6b4iMog== dependencies: mem "^6.0.1" mimic-fn "^3.0.0" p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= p-timeout@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== dependencies: p-finally "^1.0.0" p-timeout@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-4.1.0.tgz#788253c0452ab0ffecf18a62dff94ff1bd09ca0a" integrity sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw== p-try@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505" integrity sha512-H2RyIJ7+A3rjkwKC2l5GGtU4H1vkxKCAGsWasNVd0Set+6i4znxbWy6/j16YDPJDWxhsgZiKAstMEP8wCdSpjA== package-json@^6.3.0: version "6.5.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: got "^9.6.0" registry-auth-token "^4.0.0" registry-url "^5.0.0" semver "^6.2.0" parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-json@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" json-parse-better-errors "^1.0.1" lines-and-columns "^1.1.6" parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 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.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== dependencies: node-modules-regexp "^1.0.0" pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pkg-dir@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== dependencies: find-up "^5.0.0" please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ== dependencies: semver-compare "^1.0.0" pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= prettier@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== pretty-format@^24.5.0: version "24.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.5.0.tgz#cc69a0281a62cd7242633fc135d6930cd889822d" integrity sha512-/3RuSghukCf8Riu5Ncve0iI+BzVkbRU5EeUoArKARZobREycuH5O4waxvaNIloEXdb0qwgmEAed5vTpX1HNROQ== dependencies: "@jest/types" "^24.5.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" react-is "^16.8.4" process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== prompts@^2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.4.tgz#179f9d4db3128b9933aa35f93a800d8fce76a682" integrity sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA== dependencies: kleur "^3.0.2" sisteransi "^1.0.0" property-expr@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f" integrity sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g== psl@^1.1.24, psl@^1.1.28: version "1.1.31" resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== pupa@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== dependencies: escape-goat "^2.0.0" qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== queue-microtask@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== randomstring@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/randomstring/-/randomstring-1.1.5.tgz#6df0628f75cbd5932930d9fe3ab4e956a18518c3" dependencies: array-uniq "1.0.2" rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" ini "~1.3.0" minimist "^1.2.0" strip-json-comments "~2.0.1" react-is@^16.8.4: version "16.8.5" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.5.tgz#c54ac229dd66b5afe0de5acbe47647c3da692ff8" integrity sha512-sudt2uq5P/2TznPV4Wtdi+Lnq3yaYW8LfvPKLM9BKD8jJNBkxMVyB0C9/GmVhLw7Jbdmndk/73n7XQGeN9A3QQ== read-pkg-up@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== dependencies: find-up "^3.0.0" read-pkg "^3.0.0" read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" read-pkg "^5.2.0" type-fest "^0.8.1" read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" path-type "^3.0.0" read-pkg@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= dependencies: normalize-package-data "^2.3.2" parse-json "^4.0.0" pify "^3.0.0" read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" parse-json "^5.0.0" type-fest "^0.6.0" readable-stream@^2.0.1: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" isarray "~1.0.0" process-nextick-args "~2.0.0" safe-buffer "~5.1.1" string_decoder "~1.1.1" util-deprecate "~1.0.1" realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== dependencies: util.promisify "^1.0.0" redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" strip-indent "^3.0.0" regenerator-runtime@^0.12.0: version "0.12.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" registry-auth-token@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== dependencies: rc "^1.2.8" registry-url@^5.0.0, registry-url@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: rc "^1.2.8" remove-trailing-separator@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" request-promise-core@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY= dependencies: lodash "^4.13.1" request-promise-native@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU= dependencies: request-promise-core "1.1.1" stealthy-require "^1.1.0" tough-cookie ">=2.3.3" request@^2.87.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" caseless "~0.12.0" combined-stream "~1.0.6" extend "~3.0.2" forever-agent "~0.6.1" form-data "~2.3.2" har-validator "~5.1.0" http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" json-stringify-safe "~5.0.1" mime-types "~2.1.19" oauth-sign "~0.9.0" performance-now "^2.1.0" qs "~6.5.2" safe-buffer "^5.1.2" tough-cookie "~2.4.3" tunnel-agent "^0.6.0" uuid "^3.3.2" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 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" resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= dependencies: resolve-from "^3.0.0" resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" resolve@1.x: version "1.9.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== dependencies: path-parse "^1.0.6" resolve@^1.10.0: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== dependencies: path-parse "^1.0.6" resolve@^1.17.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: is-core-module "^2.2.0" path-parse "^1.0.6" resolve@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: path-parse "^1.0.5" responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= dependencies: lowercase-keys "^1.0.0" responselike@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== dependencies: lowercase-keys "^2.0.0" restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" dependencies: onetime "^2.0.0" signal-exit "^3.0.2" restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" signal-exit "^3.0.2" ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^2.2.8: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" rimraf@^2.5.4, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rsvp@^4.8.4: version "4.8.4" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911" integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA== run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: is-promise "^2.1.0" run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" rxjs@^6.3.3, rxjs@^6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== dependencies: tslib "^1.9.0" rxjs@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== dependencies: tslib "^1.9.0" rxjs@^6.6.0, rxjs@^6.6.3: version "6.6.6" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== dependencies: tslib "^1.9.0" safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sane@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== dependencies: "@cnakazawa/watch" "^1.0.3" anymatch "^2.0.0" capture-exit "^2.0.0" exec-sh "^0.3.2" execa "^1.0.0" fb-watchman "^2.0.0" micromatch "^3.1.4" minimist "^1.1.1" walker "~1.0.5" sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== scoped-regex@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-2.1.0.tgz#7b9be845d81fd9d21d1ec97c61a0b7cf86d2015f" integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: semver "^6.3.0" "semver@2 || 3 || 4 || 5", semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.3.2, semver@^7.3.4: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== dependencies: lru-cache "^6.0.0" set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" set-value@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" is-plain-object "^2.0.1" to-object-path "^0.3.0" set-value@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" is-plain-object "^2.0.3" split-string "^3.0.1" shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== 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" signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== simple-git@^1.85.0: version "1.110.0" resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.110.0.tgz#54eb179089d055a7783d32399246cebc9d9933e9" integrity sha512-UYY0rQkknk0P5eb+KW+03F4TevZ9ou0H+LoGaj7iiVgpnZH4wdj/HTViy/1tNNkmIPcmtxuBqXWiYt2YwlRKOQ== dependencies: debug "^4.0.1" sisteransi@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: define-property "^1.0.0" isobject "^3.0.0" snapdragon-util "^3.0.1" snapdragon-util@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: base "^0.11.1" debug "^2.2.0" define-property "^0.2.5" extend-shallow "^2.0.1" map-cache "^0.2.2" source-map "^0.5.6" source-map-resolve "^0.5.0" use "^3.1.0" source-map-resolve@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== dependencies: atob "^2.1.1" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" urix "^0.1.0" source-map-support@^0.5.6: version "0.5.9" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= source-map@^0.5.0, source-map@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" dependencies: spdx-license-ids "^1.0.2" spdx-expression-parse@~1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" split@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== dependencies: through "2" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" dashdash "^1.12.0" getpass "^0.1.1" optionalDependencies: bcrypt-pbkdf "^1.0.0" ecc-jsbn "~0.1.1" jodid25519 "^1.0.0" jsbn "~0.1.0" tweetnacl "~0.14.0" stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== staged-git-files@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b" integrity sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA== static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" stealthy-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= string-argv@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= string-length@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= dependencies: astral-regex "^1.0.0" strip-ansi "^4.0.0" string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: code-point-at "^1.0.0" 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-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: emoji-regex "^7.0.1" is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" string-width@^4.0.0, string-width@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" string-width@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.1.tgz#1933ce1f470973d224368009bd1316cad81d5f4f" integrity sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-object@^3.2.2: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" is-obj "^1.0.1" is-regexp "^1.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" dependencies: ansi-regex "^2.0.0" strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" dependencies: ansi-regex "^3.0.0" strip-ansi@^5.0.0, strip-ansi@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: ansi-regex "^5.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" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" supports-color@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" dependencies: has-flag "^3.0.0" supports-color@^6.0.0, supports-color@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" symbol-observable@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== symbol-observable@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" integrity sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q== symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" synchronous-promise@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.6.tgz#de76e0ea2b3558c1e673942e47e714a930fa64aa" integrity sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g== terminal-link@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" test-exclude@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.1.0.tgz#6ba6b25179d2d38724824661323b73e03c0c1de1" integrity sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA== dependencies: arrify "^1.0.1" minimatch "^3.0.4" read-pkg-up "^4.0.0" require-main-filename "^1.0.1" throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= through@2, through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== to-readable-stream@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-2.1.0.tgz#82880316121bea662cdc226adb30addb50cb06e8" integrity sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w== to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" regex-not "^1.0.2" safe-regex "^1.1.0" toposort@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= tough-cookie@>=2.3.3: version "3.0.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.0.tgz#d2bceddebde633153ff20a52fa844a0dc71dacef" integrity sha512-LHMvg+RBP/mAVNqVbOX8t+iJ+tqhBA/t49DuI7+IDAWHrASnesqSu1vWbKB7UrE2yk+HMFUBMadRGMkB4VCfog== dependencies: ip-regex "^3.0.0" psl "^1.1.28" punycode "^2.1.1" tough-cookie@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: psl "^1.1.28" punycode "^2.1.1" tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== dependencies: psl "^1.1.24" punycode "^1.4.1" tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= dependencies: punycode "^2.1.0" trim-newlines@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" ts-jest@^24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6" integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw== dependencies: bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" json5 "2.x" make-error "1.x" mkdirp "0.x" resolve "1.x" semver "^5.5" yargs-parser "10.x" ts-node@8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.0.3.tgz#aa60b836a24dafd8bf21b54766841a232fdbc641" integrity sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA== dependencies: arg "^4.1.0" diff "^3.1.0" make-error "^1.1.1" source-map-support "^0.5.6" yn "^3.0.0" tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== tslint@^5.14.0: version "5.14.0" resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.14.0.tgz#be62637135ac244fc9b37ed6ea5252c9eba1616e" integrity sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ== dependencies: babel-code-frame "^6.22.0" builtin-modules "^1.1.1" chalk "^2.3.0" commander "^2.12.1" diff "^3.2.0" glob "^7.1.1" js-yaml "^3.7.0" minimatch "^3.0.4" mkdirp "^0.5.1" resolve "^1.3.2" semver "^5.3.0" tslib "^1.8.0" tsutils "^2.29.0" tsutils@^2.29.0: version "2.29.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== dependencies: tslib "^1.8.1" tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" dependencies: prelude-ls "~1.1.2" type-fest@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.10.0.tgz#7f06b2b9fbfc581068d1341ffabd0349ceafc642" integrity sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw== type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" typescript@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== uglify-js@^3.1.4: version "3.5.2" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.2.tgz#dc0c7ac2da0a4b7d15e84266818ff30e82529474" integrity sha512-imog1WIsi9Yb56yRt5TfYVxGmnWs3WSGU73ieSOlMVFwhJCA9W8fqFFMMj4kgDqiS/80LGdsYnWL7O9UcjEBlg== dependencies: commander "~2.19.0" source-map "~0.6.1" union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" set-value "^0.4.3" unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" universalify@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.0.tgz#9eb1c4651debcc670cc94f1a75762332bb967778" unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" isobject "^3.0.0" update-notifier@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== dependencies: boxen "^5.0.0" chalk "^4.1.0" configstore "^5.0.1" has-yarn "^2.1.0" import-lazy "^2.1.0" is-ci "^2.0.0" is-installed-globally "^0.4.0" is-npm "^5.0.0" is-yarn-global "^0.3.0" latest-version "^5.1.0" pupa "^2.1.1" semver "^7.3.4" semver-diff "^3.1.1" xdg-basedir "^4.0.0" uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= dependencies: prepend-http "^2.0.0" use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util.promisify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== dependencies: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== vali-date@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" dependencies: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" validate-npm-package-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= dependencies: builtins "^1.0.3" verror@1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" dependencies: extsprintf "1.0.2" w3c-hr-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= dependencies: browser-process-hrtime "^0.1.2" walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" dependencies: makeerror "1.0.x" webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== whatwg-encoding@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" dependencies: iconv-lite "0.4.13" whatwg-encoding@^1.0.3: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== dependencies: iconv-lite "0.4.24" whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== whatwg-url@^6.4.1: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" webidl-conversions "^4.0.2" whatwg-url@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" webidl-conversions "^4.0.2" which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" which@^1.2.10, which@^1.2.9: version "1.2.14" resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" dependencies: isexe "^2.0.0" which@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: string-width "^4.0.0" wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= dependencies: string-width "^2.1.1" strip-ansi "^4.0.0" wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" signal-exit "^3.0.2" write-file-atomic@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" is-typedarray "^1.0.0" signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== dependencies: async-limiter "~1.0.0" xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== "y18n@^3.2.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== yargs-parser@10.x: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== dependencies: camelcase "^4.1.0" yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs-parser@^20.2.3: version "20.2.6" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== yargs@^12.0.2: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" find-up "^3.0.0" get-caller-file "^1.0.1" os-locale "^3.0.0" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" yn@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-3.0.0.tgz#0073c6b56e92aed652fbdfd62431f2d6b9a7a091" integrity sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q== yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yup@^0.26.10: version "0.26.10" resolved "https://registry.yarnpkg.com/yup/-/yup-0.26.10.tgz#3545839663289038faf25facfc07e11fd67c0cb1" integrity sha512-keuNEbNSnsOTOuGCt3UJW69jDE3O4P+UHAakO7vSeFMnjaitcmlbij/a3oNb9g1Y1KvSKH/7O1R2PQ4m4TRylw== dependencies: "@babel/runtime" "7.0.0" fn-name "~2.0.1" lodash "^4.17.10" property-expr "^1.5.0" synchronous-promise "^2.0.5" toposort "^2.0.2" 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!1432 blocks
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor