├── .commit-msg ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── changelog.yml │ └── npmpublish.yml ├── .gitignore ├── .huskyrc.js ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── SETUP.md ├── bin └── git-commit-template.js ├── lint-staged.config.js ├── package-lock.json ├── package.json └── prettier.config.js /.commit-msg: -------------------------------------------------------------------------------- 1 | [FEATURE | BUG | DOCS | CHORE] One liner 2 | # One liner describing the change(<=50 chars) 3 | 4 | # FEATURE: When you are adding new feature then use this tag. Usually this 5 | # updates minor version for non-breaking change and major version for breaking 6 | # change. Command: `npm version minor` or `npm version major` 7 | # 8 | # BUG: When you are fixing an issue in the repository. Usually this changes the 9 | # patch version of the package. Command: `npm version patch` 10 | # 11 | # DOCS: When you are updating the documentation for the package. This is also a 12 | # patch version change as this does not breaks anything 13 | # 14 | # CHORE: When you are doing some minor code re-adjustments for re-factoring 15 | # which does not changes any interface or fixes any bug. This is also a patch 16 | # version change. 17 | 18 | # Description (<= 72 chars) 19 | # Should reach max 72 characters before wrapping to new 20 | # line. Keep this section descriptive. 21 | Describe the issue you are facing and how you solved it with the 22 | proposed changes. 23 | 24 | [TESTING] 25 | 26 | # Explain the how you tested the change. If possible also provide links 27 | # where your working solution is hosted so that reviewer can test it. 28 | How you tested this change. 29 | 30 | closes: #ISSUE_NUMBER 31 | 32 | # If you want to close multiple issues you can do: 33 | 34 | # closes: #ISSUE_NUMBER1 35 | 36 | # closes: #ISSUE_NUMBER2 37 | 38 | # Closes issue in another repository 39 | # closes: username/repository#ISSUE_NUMBER 40 | 41 | # For full list of available syntax and options you can read github 42 | # documentation on 43 | # [closing-issues-using-keywords](https://help.github.com/en/articles/closing-issues-using-keywords). 44 | 45 | # This is the default autogenerated template by git-commit-template 46 | # package. For more info read package documentation at 47 | # https://github.com/amzn/git-commit-template 48 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | 9 | # 2 space indentation 10 | indent_style = space 11 | indent_size = 2 12 | 13 | # Set default charset 14 | [*.{js,jsx,ts,tsx}] 15 | charset = utf-8 16 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # Ignore markdown files 2 | **/*.md 3 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | commonjs: true, 4 | es6: true, 5 | node: true, 6 | }, 7 | extends: "eslint:recommended", 8 | globals: { 9 | Atomics: "readonly", 10 | SharedArrayBuffer: "readonly", 11 | }, 12 | parserOptions: { 13 | ecmaVersion: 2018, 14 | }, 15 | plugins: ["json"], 16 | rules: { 17 | indent: ["error", 2, { SwitchCase: 1 }], 18 | "linebreak-style": ["error", "unix"], 19 | quotes: ["error", "double"], 20 | semi: ["error", "always"], 21 | "no-console": "off", 22 | curly: "warn", 23 | "arrow-parens": ["error", "always"], 24 | }, 25 | }; 26 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | *Issue #, if available:* 2 | 3 | *Description of changes:* 4 | 5 | 6 | By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. 7 | -------------------------------------------------------------------------------- /.github/workflows/changelog.yml: -------------------------------------------------------------------------------- 1 | name: changelog 2 | 3 | on: 4 | pull_request: 5 | types: [closed] 6 | 7 | release: 8 | types: [published] 9 | 10 | issues: 11 | types: [closed, edited] 12 | 13 | jobs: 14 | generate_changelog: 15 | runs-on: ubuntu-latest 16 | name: Generate changelog for master branch 17 | steps: 18 | - uses: actions/checkout@v2 19 | 20 | - name: Generate changelog 21 | uses: charmixer/auto-changelog-action@v1 22 | with: 23 | token: ${{ secrets.GITHUB_TOKEN }} 24 | 25 | - name: Commit files 26 | env: 27 | CI_USER: "CHANGELOG Bot" 28 | CI_EMAIL: "noreply@github.com" 29 | run: | 30 | git config --local user.email "$CI_EMAIL" 31 | git config --local user.name "$CI_USER" 32 | git add CHANGELOG.md 33 | git commit -m '[BOT] 🤖 Updated CHANGELOG.md' && echo ::set-env name=push::1 || echo "No changes to CHANGELOG.md" 34 | 35 | - name: Push changes 36 | # This will be true if we are able to commit changes 37 | if: env.push == 1 38 | env: 39 | CI_USER: "CHANGELOG Bot" 40 | CI_TOKEN: ${{ secrets.GITHUB_TOKEN }} 41 | run: | 42 | git push "https://$CI_USER:$CI_TOKEN@github.com/$GITHUB_REPOSITORY.git" HEAD:master 43 | -------------------------------------------------------------------------------- /.github/workflows/npmpublish.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | 4 | name: publish 5 | 6 | on: 7 | release: 8 | types: [created] 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - uses: actions/setup-node@v1 16 | with: 17 | node-version: 12 18 | - run: npm ci 19 | - run: npm test 20 | 21 | publish-npm: 22 | needs: build 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: actions/checkout@v2 26 | - uses: actions/setup-node@v1 27 | with: 28 | node-version: 12 29 | registry-url: https://registry.npmjs.org/ 30 | - run: npm ci 31 | # This will tell npm to publish your scoped package with public access. 32 | - run: npm publish --access public 33 | env: 34 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 35 | 36 | 37 | # Disabled job 38 | publish-gpr: 39 | # This doesn't work and read 40 | # https://github.com/actions/setup-node/issues/73#issuecomment-599199211 41 | # to know why. Github package repository doens't work for package 42 | # which are not scoped hence not publishing 43 | # Hence, disabling it 44 | if: 1 == 0 45 | needs: build 46 | runs-on: ubuntu-latest 47 | steps: 48 | - uses: actions/checkout@v2 49 | - uses: actions/setup-node@v1 50 | with: 51 | node-version: 12 52 | registry-url: https://npm.pkg.github.com/ 53 | - run: npm ci 54 | # Read https://joeattardi.codes/2019-11-16-github-package/ to know more 55 | # about this hack. I think the above issue should explain this 56 | - run: echo registry=https://npm.pkg.github.com/amzn >> $NPM_CONFIG_USERCONFIG 57 | - run: npm publish 58 | env: 59 | NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 60 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/vim,node,macos 3 | # Edit at https://www.gitignore.io/?templates=vim,node,macos 4 | 5 | ### macOS ### 6 | # General 7 | .DS_Store 8 | .AppleDouble 9 | .LSOverride 10 | 11 | # Icon must end with two \r 12 | Icon 13 | 14 | # Thumbnails 15 | ._* 16 | 17 | # Files that might appear in the root of a volume 18 | .DocumentRevisions-V100 19 | .fseventsd 20 | .Spotlight-V100 21 | .TemporaryItems 22 | .Trashes 23 | .VolumeIcon.icns 24 | .com.apple.timemachine.donotpresent 25 | 26 | # Directories potentially created on remote AFP share 27 | .AppleDB 28 | .AppleDesktop 29 | Network Trash Folder 30 | Temporary Items 31 | .apdisk 32 | 33 | ### Node ### 34 | # Logs 35 | logs 36 | *.log 37 | npm-debug.log* 38 | yarn-debug.log* 39 | yarn-error.log* 40 | lerna-debug.log* 41 | 42 | # Diagnostic reports (https://nodejs.org/api/report.html) 43 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 44 | 45 | # Runtime data 46 | pids 47 | *.pid 48 | *.seed 49 | *.pid.lock 50 | 51 | # Directory for instrumented libs generated by jscoverage/JSCover 52 | lib-cov 53 | 54 | # Coverage directory used by tools like istanbul 55 | coverage 56 | 57 | # nyc test coverage 58 | .nyc_output 59 | 60 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 61 | .grunt 62 | 63 | # Bower dependency directory (https://bower.io/) 64 | bower_components 65 | 66 | # node-waf configuration 67 | .lock-wscript 68 | 69 | # Compiled binary addons (https://nodejs.org/api/addons.html) 70 | build/Release 71 | 72 | # Dependency directories 73 | node_modules/ 74 | jspm_packages/ 75 | 76 | # TypeScript v1 declaration files 77 | typings/ 78 | 79 | # Optional npm cache directory 80 | .npm 81 | 82 | # Optional eslint cache 83 | .eslintcache 84 | 85 | # Optional REPL history 86 | .node_repl_history 87 | 88 | # Output of 'npm pack' 89 | *.tgz 90 | 91 | # Yarn Integrity file 92 | .yarn-integrity 93 | 94 | # dotenv environment variables file 95 | .env 96 | .env.test 97 | 98 | # parcel-bundler cache (https://parceljs.org/) 99 | .cache 100 | 101 | # next.js build output 102 | .next 103 | 104 | # nuxt.js build output 105 | .nuxt 106 | 107 | # vuepress build output 108 | .vuepress/dist 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | ### Vim ### 120 | # Swap 121 | [._]*.s[a-v][a-z] 122 | [._]*.sw[a-p] 123 | [._]s[a-rt-v][a-z] 124 | [._]ss[a-gi-z] 125 | [._]sw[a-p] 126 | 127 | # Session 128 | Session.vim 129 | 130 | # Temporary 131 | .netrwhist 132 | *~ 133 | # Auto-generated tag files 134 | tags 135 | # Persistent undo 136 | [._]*.un~ 137 | 138 | # End of https://www.gitignore.io/api/vim,node,macos 139 | 140 | 141 | # Our custom ignores 142 | build 143 | # From idea editor 144 | *.iml 145 | -------------------------------------------------------------------------------- /.huskyrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | hooks: { 3 | "pre-commit": "lint-staged", 4 | "prepare-commit-msg": "./bin/git-commit-template.js", 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [Unreleased](https://github.com/amzn/git-commit-template/tree/HEAD) 4 | 5 | [Full Changelog](https://github.com/amzn/git-commit-template/compare/v1.0.5...HEAD) 6 | 7 | **Merged pull requests:** 8 | 9 | - Bump lodash from 4.17.15 to 4.17.19 [\#17](https://github.com/amzn/git-commit-template/pull/17) ([dependabot[bot]](https://github.com/apps/dependabot)) 10 | 11 | ## [v1.0.5](https://github.com/amzn/git-commit-template/tree/v1.0.5) (2020-06-11) 12 | 13 | [Full Changelog](https://github.com/amzn/git-commit-template/compare/v1.0.4...v1.0.5) 14 | 15 | **Merged pull requests:** 16 | 17 | - \[BUG\] Fixs changelog for pull\_request close event [\#14](https://github.com/amzn/git-commit-template/pull/14) ([anshulguleria](https://github.com/anshulguleria)) 18 | 19 | ## [v1.0.4](https://github.com/amzn/git-commit-template/tree/v1.0.4) (2020-06-11) 20 | 21 | [Full Changelog](https://github.com/amzn/git-commit-template/compare/v1.0.3...v1.0.4) 22 | 23 | **Merged pull requests:** 24 | 25 | - \[BUG\] Fixes push on tag publish [\#13](https://github.com/amzn/git-commit-template/pull/13) ([anshulguleria](https://github.com/anshulguleria)) 26 | 27 | ## [v1.0.3](https://github.com/amzn/git-commit-template/tree/v1.0.3) (2020-06-11) 28 | 29 | [Full Changelog](https://github.com/amzn/git-commit-template/compare/v1.0.2...v1.0.3) 30 | 31 | **Closed issues:** 32 | 33 | - Generate changelog for changes published [\#11](https://github.com/amzn/git-commit-template/issues/11) 34 | 35 | **Merged pull requests:** 36 | 37 | - \[FEATURE\] Adds action to generate changelog [\#12](https://github.com/amzn/git-commit-template/pull/12) ([anshulguleria](https://github.com/anshulguleria)) 38 | - \[BUG\] Updates dependencies for security fixes [\#10](https://github.com/amzn/git-commit-template/pull/10) ([anshulguleria](https://github.com/anshulguleria)) 39 | 40 | ## [v1.0.2](https://github.com/amzn/git-commit-template/tree/v1.0.2) (2020-04-03) 41 | 42 | [Full Changelog](https://github.com/amzn/git-commit-template/compare/v1.0.1...v1.0.2) 43 | 44 | **Merged pull requests:** 45 | 46 | - \[CHORE\] Updates action name and docs for setup [\#9](https://github.com/amzn/git-commit-template/pull/9) ([anshulguleria](https://github.com/anshulguleria)) 47 | 48 | ## [v1.0.1](https://github.com/amzn/git-commit-template/tree/v1.0.1) (2020-04-03) 49 | 50 | [Full Changelog](https://github.com/amzn/git-commit-template/compare/26e4df7b5d03f890e29c0b8634a39ce86da9ce38...v1.0.1) 51 | 52 | **Merged pull requests:** 53 | 54 | - \[CHORE\] Fixes issue with gpr publish [\#8](https://github.com/amzn/git-commit-template/pull/8) ([anshulguleria](https://github.com/anshulguleria)) 55 | - Bump mixin-deep from 1.3.1 to 1.3.2 [\#7](https://github.com/amzn/git-commit-template/pull/7) ([dependabot[bot]](https://github.com/apps/dependabot)) 56 | - Bump acorn from 6.1.1 to 6.4.1 [\#6](https://github.com/amzn/git-commit-template/pull/6) ([dependabot[bot]](https://github.com/apps/dependabot)) 57 | - Bump lodash from 4.17.11 to 4.17.15 [\#4](https://github.com/amzn/git-commit-template/pull/4) ([dependabot[bot]](https://github.com/apps/dependabot)) 58 | - Bump eslint-utils from 1.3.1 to 1.4.2 [\#3](https://github.com/amzn/git-commit-template/pull/3) ([dependabot[bot]](https://github.com/apps/dependabot)) 59 | - \[CHORE\] Updates package publish name [\#2](https://github.com/amzn/git-commit-template/pull/2) ([anshulguleria](https://github.com/anshulguleria)) 60 | - \[FEATURE\] Adds code for setting commit template [\#1](https://github.com/amzn/git-commit-template/pull/1) ([anshulguleria](https://github.com/anshulguleria)) 61 | 62 | 63 | 64 | \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* 65 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Thank you for your interest in contributing to our project. Whether it's a bug 4 | report, new feature, correction, or additional documentation, we greatly value 5 | feedback and contributions from our community. 6 | 7 | Please read through this document before submitting any issues or pull requests 8 | to ensure we have all the necessary information to effectively respond to your 9 | bug report or contribution. 10 | 11 | ## Reporting Bugs/Feature Requests 12 | 13 | We welcome you to use the GitHub issue tracker to report bugs or suggest 14 | features. 15 | 16 | When filing an issue, please check 17 | [existing open](https://github.com/amzn/git-commit-template/issues), or 18 | [recently closed](https://github.com/amzn/git-commit-template/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), 19 | issues to make sure somebody else hasn't already reported the issue. Please try 20 | to include as much information as you can. Details like these are incredibly 21 | useful: 22 | 23 | - A reproducible test case or series of steps 24 | - The version of our code being used 25 | - Any modifications you've made relevant to the bug 26 | - Anything unusual about your environment or deployment 27 | 28 | ## Contributing via Pull Requests 29 | 30 | Contributions via pull requests are much appreciated. Before sending us a pull 31 | request, please ensure that: 32 | 33 | 1. You are working against the latest source on the _master_ branch. 34 | 2. You check existing open, and recently merged, pull requests to make sure 35 | someone else hasn't addressed the problem already. 36 | 3. You open an issue to discuss any significant work - we would hate for your 37 | time to be wasted. 38 | 39 | To send us a pull request, please: 40 | 41 | 1. Fork the repository. 42 | 2. Modify the source; please focus on the specific change you are contributing. 43 | If you also reformat all the code, it will be hard for us to focus on your 44 | change. 45 | 3. Ensure local tests pass. 46 | 4. Commit to your fork using clear commit messages. 47 | 5. Send us a pull request, answering any default questions in the pull request 48 | interface. 49 | 6. Pay attention to any automated CI failures reported in the pull request, and 50 | stay involved in the conversation. 51 | 52 | GitHub provides additional document on 53 | [forking a repository](https://help.github.com/articles/fork-a-repo/) and 54 | [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). 55 | 56 | ## Setting up project: 57 | 58 | Once you have forked and cloned the repository go ahead to 59 | [setup.md](./SETUP.md) file to know how to setup and test the repository. 60 | 61 | ## Finding contributions to work on 62 | 63 | Looking at the existing issues is a great way to find something to contribute 64 | on. As our projects, by default, use the default GitHub issue labels 65 | (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 66 | ['help wanted'](https://github.com/amzn/git-commit-template/labels/help%20wanted) 67 | issues is a great place to start. 68 | 69 | ## Code of Conduct 70 | 71 | This project has adopted the 72 | [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). For 73 | more information see the 74 | [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 75 | opensource-codeofconduct@amazon.com with any additional questions or comments. 76 | 77 | ## Security issue notifications 78 | 79 | If you discover a potential security issue in this project we ask that you 80 | notify AWS/Amazon Security via our 81 | [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). 82 | Please do **not** create a public github issue. 83 | 84 | ## Licensing 85 | 86 | See the 87 | [LICENSE](https://github.com/amzn/git-commit-template/blob/master/LICENSE) file 88 | for our project's licensing. We will ask you to confirm the licensing of your 89 | contribution. 90 | 91 | We may ask you to sign a 92 | [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) 93 | for larger changes. 94 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Git Commit Template 2 | Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # git-commit-template 2 | 3 | ![npm 4 | publish](https://github.com/amzn/git-commit-template/workflows/publish/badge.svg) 5 | ![changelog](https://github.com/amzn/git-commit-template/workflows/changelog/badge.svg) 6 | 7 | Sets commit template for your git projects. This is a husky plugin which should 8 | be used on `prepare-commit-msg` hook exposed by git. 9 | 10 | When we do git commits we usually follow a practice for the commit message, this 11 | package aims to streamline that practice by providing you a standard template to 12 | follow. It also enables you to set your own standard template. With this plugin 13 | setup, next time when you do `git commit` you will get the standard template for 14 | commit message set for you. 15 | 16 | ## Install 17 | 18 | For installing this plugin you need [husky](https://github.com/typicode/husky) 19 | `>= 1.x`. Use npm to install this plugin to your package: 20 | 21 | ```bash 22 | npm i --save-dev git-commit-template husky@1 23 | ``` 24 | 25 | > Note: We have tested the plugin with husky@1 but you can try with higher 26 | > versions too if that works for you 27 | 28 | It exposes a cli command with name `git-commit-template` which you can use in 29 | your husky configuration. For example: 30 | 31 | ```javascript 32 | // .huskyrc.js 33 | module.exports = { 34 | hooks: { 35 | "prepare-commit-msg": "git-commit-template", 36 | }, 37 | }; 38 | ``` 39 | 40 | ## `git-commit-template` command 41 | 42 | This command takes an optional parameter of your commit message file name. If 43 | provided, then it will read the file provided by you, otherwise uses its default 44 | configuration file. Read [`.commit-msg`](.commit-msg) file to see the default 45 | configuration added by us. 46 | 47 | Sample for providing file name: 48 | 49 | ```javascript 50 | // .huskyrc.js 51 | module.exports = { 52 | hooks: { 53 | "prepare-commit-msg": "git-commit-template .my-custom-git-msg-file", 54 | }, 55 | }; 56 | ``` 57 | 58 | > Note: This hooks provides you default commit message only if you haven't 59 | > provided any yet. This means that this plugin will not add message if you are 60 | > amending your commit(`git commit --amend`) or using interactive rebase 61 | > (`git rebase -i HEAD~3`). 62 | 63 | ## License 64 | 65 | This library is licensed under the Apache 2.0 License. 66 | -------------------------------------------------------------------------------- /SETUP.md: -------------------------------------------------------------------------------- 1 | ## Setup project: 2 | 3 | For setting up of the project you only need `npm` and `git`. 4 | 5 | Once you have forked and cloned the repository move to the package directory and 6 | run `npm` install: 7 | 8 | ```bash 9 | cd git-commit-template 10 | npm install 11 | ``` 12 | 13 | ## Testing the change 14 | 15 | This git commit tempalte uses itself to set the commit tmeplate using husky. So 16 | once you are done with your changes in the template just say `git add .` and 17 | `git commit`, you should be showed the message you changed. 18 | 19 | If things are not to your satishfaction then just reject the commit by deleting 20 | all the message and change the template. 21 | 22 | ## Releasing the changes: 23 | 24 | We use [github actions](https://github.com/features/actions) to automate the 25 | release process. Our current hook is on release create, this means when the 26 | created tag is released. 27 | 28 | Steps: 29 | 30 | 1. Make your changes(don't forget to up the package version [patch|minor|major] 31 | and raise a pull request. You can use 32 | `npm --no-git-tag-version version [major|minor|patch]` command to 33 | automatically update these versions. 34 | 2. Once the changes are merged if you have write permissions on the 35 | [repository](https://github.com/amzn/git-commit-template) you can create a 36 | tag ad push it. 37 | 38 | ```bash 39 | # create tag 40 | git tag v<> 41 | 42 | # push tags 43 | git push --tags 44 | ``` 45 | 46 | 3. After pushing the tags head over to releases section and go to tags tab. For 47 | the tag that you created if you click on ellipsis you will see an options to 48 | create a release. 49 | 4. Provide proper message and create a release. After this our github actions 50 | will take over and publish the master branch to npm repository. 51 | -------------------------------------------------------------------------------- /bin/git-commit-template.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * Script to set our template as commit message template. This depends on husky 5 | * parameters $HUSKY_GIT_PARAMS which gives me the git commit message template 6 | * being used for commit message. By default this is ./git/COMMIT_MSG file 7 | */ 8 | 9 | /** 10 | * Here we are using only the first parameter of $HUSKY_GIT_PARAMS variable i.e. 11 | * the commit message file. We will update that file with our template file 12 | * content 13 | */ 14 | 15 | /** 16 | * Usage examples: 17 | * Add this script in your hooks section of husky. We require 1.x version of 18 | * husky so this will not work for 0.x version of husky. 19 | * 20 | * Example: 21 | * ```javascript 22 | * // .huskyrc.js 23 | * module.exports = { 24 | * hooks: { 25 | * "prepare-commit-msg": "git-commit-template .gitmessage", 26 | * }, 27 | * }; 28 | * 29 | * ``` 30 | */ 31 | 32 | const fs = require("fs"); 33 | const path = require("path"); 34 | const COMMIT_MSG_FILE_NAME = ".commit-msg"; 35 | 36 | // Default template file but will be overridden with input argument if provided 37 | let templateFile = path.join(__dirname, `../${COMMIT_MSG_FILE_NAME}`); 38 | 39 | /** 40 | * If we have 3rd argument i.e. file name then use that as template 41 | * e.g. 42 | * ./bin/setup-template.js .gitmessage 43 | * // Then argv will look like this: 44 | * argv = [ "node", "./bin/setup-template.js", ".gitmessage" ] 45 | */ 46 | if (process.argv[2]) { 47 | templateFile = path.join(process.cwd(), process.argv[2]); 48 | } 49 | 50 | /** 51 | * Sample git params are [ "./git/COMMIT_MSG", "commit", "HEAD" ] in case of 52 | * --amend flag 53 | */ 54 | const gitParams = process.env["HUSKY_GIT_PARAMS"].split(" "); 55 | 56 | /** 57 | * We are running our logic only in case of empty commit message. In other 58 | * scenarios commit message would already be present and no longer needs our 59 | * template thus skip it. 60 | */ 61 | if (gitParams.length === 1) { 62 | const commitMsgFile = gitParams[0]; 63 | 64 | let gitFileContent = fs.readFileSync(commitMsgFile, { encoding: "utf8" }); 65 | const templateFileContent = fs.readFileSync(templateFile, { 66 | encoding: "utf8", 67 | }); 68 | 69 | gitFileContent = templateFileContent + gitFileContent; 70 | 71 | fs.writeFileSync(commitMsgFile, gitFileContent, { encoding: "utf8" }); 72 | } 73 | -------------------------------------------------------------------------------- /lint-staged.config.js: -------------------------------------------------------------------------------- 1 | // Since this module is set to use es6 thus module is giving error. Thus 2 | // defining module as global before hand 3 | module.exports = { 4 | "*.{js,json,md}": [ 5 | "npm run lint:files", 6 | // Assuming prettier doesn't add any linting issues 7 | "prettier --write", 8 | // Checking if anything broke because of prettier 9 | "npm run lint:files", 10 | ], 11 | }; 12 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "git-commit-template", 3 | "version": "1.0.5", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.0.0", 9 | "resolved": false, 10 | "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.0.0" 14 | } 15 | }, 16 | "@babel/highlight": { 17 | "version": "7.0.0", 18 | "resolved": false, 19 | "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", 20 | "dev": true, 21 | "requires": { 22 | "chalk": "^2.0.0", 23 | "esutils": "^2.0.2", 24 | "js-tokens": "^4.0.0" 25 | } 26 | }, 27 | "@types/color-name": { 28 | "version": "1.1.1", 29 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", 30 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", 31 | "dev": true 32 | }, 33 | "@types/normalize-package-data": { 34 | "version": "2.4.0", 35 | "resolved": false, 36 | "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", 37 | "dev": true 38 | }, 39 | "@types/parse-json": { 40 | "version": "4.0.0", 41 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 42 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", 43 | "dev": true 44 | }, 45 | "acorn": { 46 | "version": "7.2.0", 47 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", 48 | "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", 49 | "dev": true 50 | }, 51 | "acorn-jsx": { 52 | "version": "5.2.0", 53 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", 54 | "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", 55 | "dev": true 56 | }, 57 | "aggregate-error": { 58 | "version": "3.0.1", 59 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", 60 | "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", 61 | "dev": true, 62 | "requires": { 63 | "clean-stack": "^2.0.0", 64 | "indent-string": "^4.0.0" 65 | } 66 | }, 67 | "ajv": { 68 | "version": "6.12.2", 69 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", 70 | "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", 71 | "dev": true, 72 | "requires": { 73 | "fast-deep-equal": "^3.1.1", 74 | "fast-json-stable-stringify": "^2.0.0", 75 | "json-schema-traverse": "^0.4.1", 76 | "uri-js": "^4.2.2" 77 | } 78 | }, 79 | "ansi-colors": { 80 | "version": "3.2.4", 81 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", 82 | "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", 83 | "dev": true 84 | }, 85 | "ansi-escapes": { 86 | "version": "4.3.1", 87 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", 88 | "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", 89 | "dev": true, 90 | "requires": { 91 | "type-fest": "^0.11.0" 92 | }, 93 | "dependencies": { 94 | "type-fest": { 95 | "version": "0.11.0", 96 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", 97 | "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", 98 | "dev": true 99 | } 100 | } 101 | }, 102 | "ansi-regex": { 103 | "version": "5.0.0", 104 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 105 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 106 | "dev": true 107 | }, 108 | "ansi-styles": { 109 | "version": "3.2.1", 110 | "resolved": false, 111 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 112 | "dev": true, 113 | "requires": { 114 | "color-convert": "^1.9.0" 115 | } 116 | }, 117 | "argparse": { 118 | "version": "1.0.10", 119 | "resolved": false, 120 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 121 | "dev": true, 122 | "requires": { 123 | "sprintf-js": "~1.0.2" 124 | } 125 | }, 126 | "astral-regex": { 127 | "version": "1.0.0", 128 | "resolved": false, 129 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 130 | "dev": true 131 | }, 132 | "balanced-match": { 133 | "version": "1.0.0", 134 | "resolved": false, 135 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 136 | "dev": true 137 | }, 138 | "brace-expansion": { 139 | "version": "1.1.11", 140 | "resolved": false, 141 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 142 | "dev": true, 143 | "requires": { 144 | "balanced-match": "^1.0.0", 145 | "concat-map": "0.0.1" 146 | } 147 | }, 148 | "braces": { 149 | "version": "3.0.2", 150 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 151 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 152 | "dev": true, 153 | "requires": { 154 | "fill-range": "^7.0.1" 155 | } 156 | }, 157 | "caller-callsite": { 158 | "version": "2.0.0", 159 | "resolved": false, 160 | "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", 161 | "dev": true, 162 | "requires": { 163 | "callsites": "^2.0.0" 164 | }, 165 | "dependencies": { 166 | "callsites": { 167 | "version": "2.0.0", 168 | "resolved": false, 169 | "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", 170 | "dev": true 171 | } 172 | } 173 | }, 174 | "caller-path": { 175 | "version": "2.0.0", 176 | "resolved": false, 177 | "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", 178 | "dev": true, 179 | "requires": { 180 | "caller-callsite": "^2.0.0" 181 | } 182 | }, 183 | "callsites": { 184 | "version": "3.1.0", 185 | "resolved": false, 186 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 187 | "dev": true 188 | }, 189 | "chalk": { 190 | "version": "2.4.2", 191 | "resolved": false, 192 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 193 | "dev": true, 194 | "requires": { 195 | "ansi-styles": "^3.2.1", 196 | "escape-string-regexp": "^1.0.5", 197 | "supports-color": "^5.3.0" 198 | } 199 | }, 200 | "chardet": { 201 | "version": "0.7.0", 202 | "resolved": false, 203 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 204 | "dev": true 205 | }, 206 | "ci-info": { 207 | "version": "2.0.0", 208 | "resolved": false, 209 | "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", 210 | "dev": true 211 | }, 212 | "clean-stack": { 213 | "version": "2.2.0", 214 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 215 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 216 | "dev": true 217 | }, 218 | "cli-cursor": { 219 | "version": "3.1.0", 220 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 221 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 222 | "dev": true, 223 | "requires": { 224 | "restore-cursor": "^3.1.0" 225 | } 226 | }, 227 | "cli-truncate": { 228 | "version": "2.1.0", 229 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", 230 | "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", 231 | "dev": true, 232 | "requires": { 233 | "slice-ansi": "^3.0.0", 234 | "string-width": "^4.2.0" 235 | }, 236 | "dependencies": { 237 | "ansi-regex": { 238 | "version": "5.0.0", 239 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 240 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 241 | "dev": true 242 | }, 243 | "ansi-styles": { 244 | "version": "4.2.1", 245 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 246 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 247 | "dev": true, 248 | "requires": { 249 | "@types/color-name": "^1.1.1", 250 | "color-convert": "^2.0.1" 251 | } 252 | }, 253 | "astral-regex": { 254 | "version": "2.0.0", 255 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 256 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 257 | "dev": true 258 | }, 259 | "color-convert": { 260 | "version": "2.0.1", 261 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 262 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 263 | "dev": true, 264 | "requires": { 265 | "color-name": "~1.1.4" 266 | } 267 | }, 268 | "color-name": { 269 | "version": "1.1.4", 270 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 271 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 272 | "dev": true 273 | }, 274 | "emoji-regex": { 275 | "version": "8.0.0", 276 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 277 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 278 | "dev": true 279 | }, 280 | "is-fullwidth-code-point": { 281 | "version": "3.0.0", 282 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 283 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 284 | "dev": true 285 | }, 286 | "slice-ansi": { 287 | "version": "3.0.0", 288 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", 289 | "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", 290 | "dev": true, 291 | "requires": { 292 | "ansi-styles": "^4.0.0", 293 | "astral-regex": "^2.0.0", 294 | "is-fullwidth-code-point": "^3.0.0" 295 | } 296 | }, 297 | "string-width": { 298 | "version": "4.2.0", 299 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 300 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 301 | "dev": true, 302 | "requires": { 303 | "emoji-regex": "^8.0.0", 304 | "is-fullwidth-code-point": "^3.0.0", 305 | "strip-ansi": "^6.0.0" 306 | } 307 | }, 308 | "strip-ansi": { 309 | "version": "6.0.0", 310 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 311 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 312 | "dev": true, 313 | "requires": { 314 | "ansi-regex": "^5.0.0" 315 | } 316 | } 317 | } 318 | }, 319 | "cli-width": { 320 | "version": "2.2.1", 321 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", 322 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", 323 | "dev": true 324 | }, 325 | "color-convert": { 326 | "version": "1.9.3", 327 | "resolved": false, 328 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 329 | "dev": true, 330 | "requires": { 331 | "color-name": "1.1.3" 332 | } 333 | }, 334 | "color-name": { 335 | "version": "1.1.3", 336 | "resolved": false, 337 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 338 | "dev": true 339 | }, 340 | "commander": { 341 | "version": "5.1.0", 342 | "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", 343 | "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", 344 | "dev": true 345 | }, 346 | "concat-map": { 347 | "version": "0.0.1", 348 | "resolved": false, 349 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 350 | "dev": true 351 | }, 352 | "cosmiconfig": { 353 | "version": "5.2.0", 354 | "resolved": false, 355 | "integrity": "sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==", 356 | "dev": true, 357 | "requires": { 358 | "import-fresh": "^2.0.0", 359 | "is-directory": "^0.3.1", 360 | "js-yaml": "^3.13.0", 361 | "parse-json": "^4.0.0" 362 | }, 363 | "dependencies": { 364 | "import-fresh": { 365 | "version": "2.0.0", 366 | "resolved": false, 367 | "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", 368 | "dev": true, 369 | "requires": { 370 | "caller-path": "^2.0.0", 371 | "resolve-from": "^3.0.0" 372 | } 373 | }, 374 | "resolve-from": { 375 | "version": "3.0.0", 376 | "resolved": false, 377 | "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", 378 | "dev": true 379 | } 380 | } 381 | }, 382 | "cross-spawn": { 383 | "version": "6.0.5", 384 | "resolved": false, 385 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 386 | "dev": true, 387 | "requires": { 388 | "nice-try": "^1.0.4", 389 | "path-key": "^2.0.1", 390 | "semver": "^5.5.0", 391 | "shebang-command": "^1.2.0", 392 | "which": "^1.2.9" 393 | } 394 | }, 395 | "debug": { 396 | "version": "4.1.1", 397 | "resolved": false, 398 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 399 | "dev": true, 400 | "requires": { 401 | "ms": "^2.1.1" 402 | } 403 | }, 404 | "dedent": { 405 | "version": "0.7.0", 406 | "resolved": false, 407 | "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", 408 | "dev": true 409 | }, 410 | "deep-is": { 411 | "version": "0.1.3", 412 | "resolved": false, 413 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 414 | "dev": true 415 | }, 416 | "doctrine": { 417 | "version": "3.0.0", 418 | "resolved": false, 419 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 420 | "dev": true, 421 | "requires": { 422 | "esutils": "^2.0.2" 423 | } 424 | }, 425 | "emoji-regex": { 426 | "version": "8.0.0", 427 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 428 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 429 | "dev": true 430 | }, 431 | "end-of-stream": { 432 | "version": "1.4.1", 433 | "resolved": false, 434 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 435 | "dev": true, 436 | "requires": { 437 | "once": "^1.4.0" 438 | } 439 | }, 440 | "enquirer": { 441 | "version": "2.3.5", 442 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", 443 | "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", 444 | "dev": true, 445 | "requires": { 446 | "ansi-colors": "^3.2.1" 447 | } 448 | }, 449 | "error-ex": { 450 | "version": "1.3.2", 451 | "resolved": false, 452 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 453 | "dev": true, 454 | "requires": { 455 | "is-arrayish": "^0.2.1" 456 | } 457 | }, 458 | "escape-string-regexp": { 459 | "version": "1.0.5", 460 | "resolved": false, 461 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 462 | "dev": true 463 | }, 464 | "eslint": { 465 | "version": "7.2.0", 466 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", 467 | "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", 468 | "dev": true, 469 | "requires": { 470 | "@babel/code-frame": "^7.0.0", 471 | "ajv": "^6.10.0", 472 | "chalk": "^4.0.0", 473 | "cross-spawn": "^7.0.2", 474 | "debug": "^4.0.1", 475 | "doctrine": "^3.0.0", 476 | "eslint-scope": "^5.1.0", 477 | "eslint-utils": "^2.0.0", 478 | "eslint-visitor-keys": "^1.2.0", 479 | "espree": "^7.1.0", 480 | "esquery": "^1.2.0", 481 | "esutils": "^2.0.2", 482 | "file-entry-cache": "^5.0.1", 483 | "functional-red-black-tree": "^1.0.1", 484 | "glob-parent": "^5.0.0", 485 | "globals": "^12.1.0", 486 | "ignore": "^4.0.6", 487 | "import-fresh": "^3.0.0", 488 | "imurmurhash": "^0.1.4", 489 | "inquirer": "^7.0.0", 490 | "is-glob": "^4.0.0", 491 | "js-yaml": "^3.13.1", 492 | "json-stable-stringify-without-jsonify": "^1.0.1", 493 | "levn": "^0.4.1", 494 | "lodash": "^4.17.14", 495 | "minimatch": "^3.0.4", 496 | "natural-compare": "^1.4.0", 497 | "optionator": "^0.9.1", 498 | "progress": "^2.0.0", 499 | "regexpp": "^3.1.0", 500 | "semver": "^7.2.1", 501 | "strip-ansi": "^6.0.0", 502 | "strip-json-comments": "^3.1.0", 503 | "table": "^5.2.3", 504 | "text-table": "^0.2.0", 505 | "v8-compile-cache": "^2.0.3" 506 | }, 507 | "dependencies": { 508 | "ansi-styles": { 509 | "version": "4.2.1", 510 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 511 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 512 | "dev": true, 513 | "requires": { 514 | "@types/color-name": "^1.1.1", 515 | "color-convert": "^2.0.1" 516 | } 517 | }, 518 | "chalk": { 519 | "version": "4.1.0", 520 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 521 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 522 | "dev": true, 523 | "requires": { 524 | "ansi-styles": "^4.1.0", 525 | "supports-color": "^7.1.0" 526 | } 527 | }, 528 | "color-convert": { 529 | "version": "2.0.1", 530 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 531 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 532 | "dev": true, 533 | "requires": { 534 | "color-name": "~1.1.4" 535 | } 536 | }, 537 | "color-name": { 538 | "version": "1.1.4", 539 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 540 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 541 | "dev": true 542 | }, 543 | "cross-spawn": { 544 | "version": "7.0.3", 545 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 546 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 547 | "dev": true, 548 | "requires": { 549 | "path-key": "^3.1.0", 550 | "shebang-command": "^2.0.0", 551 | "which": "^2.0.1" 552 | } 553 | }, 554 | "has-flag": { 555 | "version": "4.0.0", 556 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 557 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 558 | "dev": true 559 | }, 560 | "path-key": { 561 | "version": "3.1.1", 562 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 563 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 564 | "dev": true 565 | }, 566 | "semver": { 567 | "version": "7.3.2", 568 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", 569 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", 570 | "dev": true 571 | }, 572 | "shebang-command": { 573 | "version": "2.0.0", 574 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 575 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 576 | "dev": true, 577 | "requires": { 578 | "shebang-regex": "^3.0.0" 579 | } 580 | }, 581 | "shebang-regex": { 582 | "version": "3.0.0", 583 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 584 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 585 | "dev": true 586 | }, 587 | "supports-color": { 588 | "version": "7.1.0", 589 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 590 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 591 | "dev": true, 592 | "requires": { 593 | "has-flag": "^4.0.0" 594 | } 595 | }, 596 | "which": { 597 | "version": "2.0.2", 598 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 599 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 600 | "dev": true, 601 | "requires": { 602 | "isexe": "^2.0.0" 603 | } 604 | } 605 | } 606 | }, 607 | "eslint-plugin-json": { 608 | "version": "2.1.1", 609 | "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.1.tgz", 610 | "integrity": "sha512-Ktsab8ij33V2KFLhh4alC1FYztdmbV32DeMZYYUCZm4kKLW1s4DrleKKgtbAHSJsmshCK5QGOZtfyc2r3jCRsg==", 611 | "dev": true, 612 | "requires": { 613 | "lodash": "^4.17.15", 614 | "vscode-json-languageservice": "^3.5.1" 615 | } 616 | }, 617 | "eslint-scope": { 618 | "version": "5.1.0", 619 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", 620 | "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", 621 | "dev": true, 622 | "requires": { 623 | "esrecurse": "^4.1.0", 624 | "estraverse": "^4.1.1" 625 | } 626 | }, 627 | "eslint-utils": { 628 | "version": "2.0.0", 629 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", 630 | "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", 631 | "dev": true, 632 | "requires": { 633 | "eslint-visitor-keys": "^1.1.0" 634 | } 635 | }, 636 | "eslint-visitor-keys": { 637 | "version": "1.2.0", 638 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz", 639 | "integrity": "sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==", 640 | "dev": true 641 | }, 642 | "espree": { 643 | "version": "7.1.0", 644 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz", 645 | "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==", 646 | "dev": true, 647 | "requires": { 648 | "acorn": "^7.2.0", 649 | "acorn-jsx": "^5.2.0", 650 | "eslint-visitor-keys": "^1.2.0" 651 | } 652 | }, 653 | "esprima": { 654 | "version": "4.0.1", 655 | "resolved": false, 656 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 657 | "dev": true 658 | }, 659 | "esquery": { 660 | "version": "1.3.1", 661 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", 662 | "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", 663 | "dev": true, 664 | "requires": { 665 | "estraverse": "^5.1.0" 666 | }, 667 | "dependencies": { 668 | "estraverse": { 669 | "version": "5.1.0", 670 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", 671 | "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", 672 | "dev": true 673 | } 674 | } 675 | }, 676 | "esrecurse": { 677 | "version": "4.2.1", 678 | "resolved": false, 679 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 680 | "dev": true, 681 | "requires": { 682 | "estraverse": "^4.1.0" 683 | } 684 | }, 685 | "estraverse": { 686 | "version": "4.3.0", 687 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 688 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 689 | "dev": true 690 | }, 691 | "esutils": { 692 | "version": "2.0.2", 693 | "resolved": false, 694 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 695 | "dev": true 696 | }, 697 | "execa": { 698 | "version": "1.0.0", 699 | "resolved": false, 700 | "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", 701 | "dev": true, 702 | "requires": { 703 | "cross-spawn": "^6.0.0", 704 | "get-stream": "^4.0.0", 705 | "is-stream": "^1.1.0", 706 | "npm-run-path": "^2.0.0", 707 | "p-finally": "^1.0.0", 708 | "signal-exit": "^3.0.0", 709 | "strip-eof": "^1.0.0" 710 | } 711 | }, 712 | "external-editor": { 713 | "version": "3.1.0", 714 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 715 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 716 | "dev": true, 717 | "requires": { 718 | "chardet": "^0.7.0", 719 | "iconv-lite": "^0.4.24", 720 | "tmp": "^0.0.33" 721 | } 722 | }, 723 | "fast-deep-equal": { 724 | "version": "3.1.3", 725 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 726 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 727 | "dev": true 728 | }, 729 | "fast-json-stable-stringify": { 730 | "version": "2.1.0", 731 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 732 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 733 | "dev": true 734 | }, 735 | "fast-levenshtein": { 736 | "version": "2.0.6", 737 | "resolved": false, 738 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 739 | "dev": true 740 | }, 741 | "figures": { 742 | "version": "3.2.0", 743 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 744 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 745 | "dev": true, 746 | "requires": { 747 | "escape-string-regexp": "^1.0.5" 748 | } 749 | }, 750 | "file-entry-cache": { 751 | "version": "5.0.1", 752 | "resolved": false, 753 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 754 | "dev": true, 755 | "requires": { 756 | "flat-cache": "^2.0.1" 757 | } 758 | }, 759 | "fill-range": { 760 | "version": "7.0.1", 761 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 762 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 763 | "dev": true, 764 | "requires": { 765 | "to-regex-range": "^5.0.1" 766 | } 767 | }, 768 | "find-up": { 769 | "version": "3.0.0", 770 | "resolved": false, 771 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 772 | "dev": true, 773 | "requires": { 774 | "locate-path": "^3.0.0" 775 | } 776 | }, 777 | "flat-cache": { 778 | "version": "2.0.1", 779 | "resolved": false, 780 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 781 | "dev": true, 782 | "requires": { 783 | "flatted": "^2.0.0", 784 | "rimraf": "2.6.3", 785 | "write": "1.0.3" 786 | } 787 | }, 788 | "flatted": { 789 | "version": "2.0.2", 790 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 791 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 792 | "dev": true 793 | }, 794 | "fs.realpath": { 795 | "version": "1.0.0", 796 | "resolved": false, 797 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 798 | "dev": true 799 | }, 800 | "functional-red-black-tree": { 801 | "version": "1.0.1", 802 | "resolved": false, 803 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 804 | "dev": true 805 | }, 806 | "get-own-enumerable-property-symbols": { 807 | "version": "3.0.2", 808 | "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", 809 | "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", 810 | "dev": true 811 | }, 812 | "get-stdin": { 813 | "version": "7.0.0", 814 | "resolved": false, 815 | "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", 816 | "dev": true 817 | }, 818 | "get-stream": { 819 | "version": "4.1.0", 820 | "resolved": false, 821 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 822 | "dev": true, 823 | "requires": { 824 | "pump": "^3.0.0" 825 | } 826 | }, 827 | "glob": { 828 | "version": "7.1.6", 829 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 830 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 831 | "dev": true, 832 | "requires": { 833 | "fs.realpath": "^1.0.0", 834 | "inflight": "^1.0.4", 835 | "inherits": "2", 836 | "minimatch": "^3.0.4", 837 | "once": "^1.3.0", 838 | "path-is-absolute": "^1.0.0" 839 | } 840 | }, 841 | "glob-parent": { 842 | "version": "5.1.1", 843 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", 844 | "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", 845 | "dev": true, 846 | "requires": { 847 | "is-glob": "^4.0.1" 848 | } 849 | }, 850 | "globals": { 851 | "version": "12.4.0", 852 | "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", 853 | "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", 854 | "dev": true, 855 | "requires": { 856 | "type-fest": "^0.8.1" 857 | }, 858 | "dependencies": { 859 | "type-fest": { 860 | "version": "0.8.1", 861 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 862 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 863 | "dev": true 864 | } 865 | } 866 | }, 867 | "has-flag": { 868 | "version": "3.0.0", 869 | "resolved": false, 870 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 871 | "dev": true 872 | }, 873 | "hosted-git-info": { 874 | "version": "2.7.1", 875 | "resolved": false, 876 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", 877 | "dev": true 878 | }, 879 | "human-signals": { 880 | "version": "1.1.1", 881 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", 882 | "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", 883 | "dev": true 884 | }, 885 | "husky": { 886 | "version": "2.3.0", 887 | "resolved": false, 888 | "integrity": "sha512-A/ZQSEILoq+mQM3yC3RIBSaw1bYXdkKnyyKVSUiJl+iBjVZc5LQEXdGY1ZjrDxC4IzfRPiJ0IqzEQGCN5TQa/A==", 889 | "dev": true, 890 | "requires": { 891 | "cosmiconfig": "^5.2.0", 892 | "execa": "^1.0.0", 893 | "find-up": "^3.0.0", 894 | "get-stdin": "^7.0.0", 895 | "is-ci": "^2.0.0", 896 | "pkg-dir": "^4.1.0", 897 | "please-upgrade-node": "^3.1.1", 898 | "read-pkg": "^5.1.1", 899 | "run-node": "^1.0.0", 900 | "slash": "^3.0.0" 901 | } 902 | }, 903 | "iconv-lite": { 904 | "version": "0.4.24", 905 | "resolved": false, 906 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 907 | "dev": true, 908 | "requires": { 909 | "safer-buffer": ">= 2.1.2 < 3" 910 | } 911 | }, 912 | "ignore": { 913 | "version": "4.0.6", 914 | "resolved": false, 915 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 916 | "dev": true 917 | }, 918 | "import-fresh": { 919 | "version": "3.2.1", 920 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", 921 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", 922 | "dev": true, 923 | "requires": { 924 | "parent-module": "^1.0.0", 925 | "resolve-from": "^4.0.0" 926 | } 927 | }, 928 | "imurmurhash": { 929 | "version": "0.1.4", 930 | "resolved": false, 931 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 932 | "dev": true 933 | }, 934 | "indent-string": { 935 | "version": "4.0.0", 936 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 937 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 938 | "dev": true 939 | }, 940 | "inflight": { 941 | "version": "1.0.6", 942 | "resolved": false, 943 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 944 | "dev": true, 945 | "requires": { 946 | "once": "^1.3.0", 947 | "wrappy": "1" 948 | } 949 | }, 950 | "inherits": { 951 | "version": "2.0.4", 952 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 953 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 954 | "dev": true 955 | }, 956 | "inquirer": { 957 | "version": "7.1.0", 958 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", 959 | "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", 960 | "dev": true, 961 | "requires": { 962 | "ansi-escapes": "^4.2.1", 963 | "chalk": "^3.0.0", 964 | "cli-cursor": "^3.1.0", 965 | "cli-width": "^2.0.0", 966 | "external-editor": "^3.0.3", 967 | "figures": "^3.0.0", 968 | "lodash": "^4.17.15", 969 | "mute-stream": "0.0.8", 970 | "run-async": "^2.4.0", 971 | "rxjs": "^6.5.3", 972 | "string-width": "^4.1.0", 973 | "strip-ansi": "^6.0.0", 974 | "through": "^2.3.6" 975 | }, 976 | "dependencies": { 977 | "ansi-styles": { 978 | "version": "4.2.1", 979 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 980 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 981 | "dev": true, 982 | "requires": { 983 | "@types/color-name": "^1.1.1", 984 | "color-convert": "^2.0.1" 985 | } 986 | }, 987 | "chalk": { 988 | "version": "3.0.0", 989 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", 990 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", 991 | "dev": true, 992 | "requires": { 993 | "ansi-styles": "^4.1.0", 994 | "supports-color": "^7.1.0" 995 | } 996 | }, 997 | "color-convert": { 998 | "version": "2.0.1", 999 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1000 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1001 | "dev": true, 1002 | "requires": { 1003 | "color-name": "~1.1.4" 1004 | } 1005 | }, 1006 | "color-name": { 1007 | "version": "1.1.4", 1008 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1009 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1010 | "dev": true 1011 | }, 1012 | "has-flag": { 1013 | "version": "4.0.0", 1014 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1015 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1016 | "dev": true 1017 | }, 1018 | "supports-color": { 1019 | "version": "7.1.0", 1020 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 1021 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 1022 | "dev": true, 1023 | "requires": { 1024 | "has-flag": "^4.0.0" 1025 | } 1026 | } 1027 | } 1028 | }, 1029 | "is-arrayish": { 1030 | "version": "0.2.1", 1031 | "resolved": false, 1032 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1033 | "dev": true 1034 | }, 1035 | "is-ci": { 1036 | "version": "2.0.0", 1037 | "resolved": false, 1038 | "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", 1039 | "dev": true, 1040 | "requires": { 1041 | "ci-info": "^2.0.0" 1042 | } 1043 | }, 1044 | "is-directory": { 1045 | "version": "0.3.1", 1046 | "resolved": false, 1047 | "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", 1048 | "dev": true 1049 | }, 1050 | "is-extglob": { 1051 | "version": "2.1.1", 1052 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1053 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1054 | "dev": true 1055 | }, 1056 | "is-fullwidth-code-point": { 1057 | "version": "3.0.0", 1058 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1059 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1060 | "dev": true 1061 | }, 1062 | "is-glob": { 1063 | "version": "4.0.1", 1064 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 1065 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 1066 | "dev": true, 1067 | "requires": { 1068 | "is-extglob": "^2.1.1" 1069 | } 1070 | }, 1071 | "is-number": { 1072 | "version": "7.0.0", 1073 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1074 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1075 | "dev": true 1076 | }, 1077 | "is-obj": { 1078 | "version": "1.0.1", 1079 | "resolved": false, 1080 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", 1081 | "dev": true 1082 | }, 1083 | "is-regexp": { 1084 | "version": "1.0.0", 1085 | "resolved": false, 1086 | "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", 1087 | "dev": true 1088 | }, 1089 | "is-stream": { 1090 | "version": "1.1.0", 1091 | "resolved": false, 1092 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 1093 | "dev": true 1094 | }, 1095 | "isexe": { 1096 | "version": "2.0.0", 1097 | "resolved": false, 1098 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1099 | "dev": true 1100 | }, 1101 | "js-tokens": { 1102 | "version": "4.0.0", 1103 | "resolved": false, 1104 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1105 | "dev": true 1106 | }, 1107 | "js-yaml": { 1108 | "version": "3.13.1", 1109 | "resolved": false, 1110 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 1111 | "dev": true, 1112 | "requires": { 1113 | "argparse": "^1.0.7", 1114 | "esprima": "^4.0.0" 1115 | } 1116 | }, 1117 | "json-parse-better-errors": { 1118 | "version": "1.0.2", 1119 | "resolved": false, 1120 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 1121 | "dev": true 1122 | }, 1123 | "json-schema-traverse": { 1124 | "version": "0.4.1", 1125 | "resolved": false, 1126 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1127 | "dev": true 1128 | }, 1129 | "json-stable-stringify-without-jsonify": { 1130 | "version": "1.0.1", 1131 | "resolved": false, 1132 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1133 | "dev": true 1134 | }, 1135 | "jsonc-parser": { 1136 | "version": "2.2.1", 1137 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz", 1138 | "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==", 1139 | "dev": true 1140 | }, 1141 | "levn": { 1142 | "version": "0.4.1", 1143 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1144 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1145 | "dev": true, 1146 | "requires": { 1147 | "prelude-ls": "^1.2.1", 1148 | "type-check": "~0.4.0" 1149 | } 1150 | }, 1151 | "lines-and-columns": { 1152 | "version": "1.1.6", 1153 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", 1154 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", 1155 | "dev": true 1156 | }, 1157 | "lint-staged": { 1158 | "version": "10.2.9", 1159 | "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.9.tgz", 1160 | "integrity": "sha512-ziRAuXEqvJLSXg43ezBpHxRW8FOJCXISaXU//BWrxRrp5cBdRkIx7g5IsB3OI45xYGE0S6cOacfekSjDyDKF2g==", 1161 | "dev": true, 1162 | "requires": { 1163 | "chalk": "^4.0.0", 1164 | "cli-truncate": "2.1.0", 1165 | "commander": "^5.1.0", 1166 | "cosmiconfig": "^6.0.0", 1167 | "debug": "^4.1.1", 1168 | "dedent": "^0.7.0", 1169 | "enquirer": "^2.3.5", 1170 | "execa": "^4.0.1", 1171 | "listr2": "^2.1.0", 1172 | "log-symbols": "^4.0.0", 1173 | "micromatch": "^4.0.2", 1174 | "normalize-path": "^3.0.0", 1175 | "please-upgrade-node": "^3.2.0", 1176 | "string-argv": "0.3.1", 1177 | "stringify-object": "^3.3.0" 1178 | }, 1179 | "dependencies": { 1180 | "ansi-styles": { 1181 | "version": "4.2.1", 1182 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 1183 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 1184 | "dev": true, 1185 | "requires": { 1186 | "@types/color-name": "^1.1.1", 1187 | "color-convert": "^2.0.1" 1188 | } 1189 | }, 1190 | "chalk": { 1191 | "version": "4.1.0", 1192 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 1193 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 1194 | "dev": true, 1195 | "requires": { 1196 | "ansi-styles": "^4.1.0", 1197 | "supports-color": "^7.1.0" 1198 | } 1199 | }, 1200 | "color-convert": { 1201 | "version": "2.0.1", 1202 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1203 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1204 | "dev": true, 1205 | "requires": { 1206 | "color-name": "~1.1.4" 1207 | } 1208 | }, 1209 | "color-name": { 1210 | "version": "1.1.4", 1211 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1212 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1213 | "dev": true 1214 | }, 1215 | "cosmiconfig": { 1216 | "version": "6.0.0", 1217 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", 1218 | "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", 1219 | "dev": true, 1220 | "requires": { 1221 | "@types/parse-json": "^4.0.0", 1222 | "import-fresh": "^3.1.0", 1223 | "parse-json": "^5.0.0", 1224 | "path-type": "^4.0.0", 1225 | "yaml": "^1.7.2" 1226 | } 1227 | }, 1228 | "cross-spawn": { 1229 | "version": "7.0.3", 1230 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1231 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1232 | "dev": true, 1233 | "requires": { 1234 | "path-key": "^3.1.0", 1235 | "shebang-command": "^2.0.0", 1236 | "which": "^2.0.1" 1237 | } 1238 | }, 1239 | "execa": { 1240 | "version": "4.0.2", 1241 | "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz", 1242 | "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==", 1243 | "dev": true, 1244 | "requires": { 1245 | "cross-spawn": "^7.0.0", 1246 | "get-stream": "^5.0.0", 1247 | "human-signals": "^1.1.1", 1248 | "is-stream": "^2.0.0", 1249 | "merge-stream": "^2.0.0", 1250 | "npm-run-path": "^4.0.0", 1251 | "onetime": "^5.1.0", 1252 | "signal-exit": "^3.0.2", 1253 | "strip-final-newline": "^2.0.0" 1254 | } 1255 | }, 1256 | "get-stream": { 1257 | "version": "5.1.0", 1258 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", 1259 | "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", 1260 | "dev": true, 1261 | "requires": { 1262 | "pump": "^3.0.0" 1263 | } 1264 | }, 1265 | "has-flag": { 1266 | "version": "4.0.0", 1267 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1268 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1269 | "dev": true 1270 | }, 1271 | "import-fresh": { 1272 | "version": "3.2.1", 1273 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", 1274 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", 1275 | "dev": true, 1276 | "requires": { 1277 | "parent-module": "^1.0.0", 1278 | "resolve-from": "^4.0.0" 1279 | } 1280 | }, 1281 | "is-stream": { 1282 | "version": "2.0.0", 1283 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", 1284 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", 1285 | "dev": true 1286 | }, 1287 | "mimic-fn": { 1288 | "version": "2.1.0", 1289 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1290 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1291 | "dev": true 1292 | }, 1293 | "npm-run-path": { 1294 | "version": "4.0.1", 1295 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 1296 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 1297 | "dev": true, 1298 | "requires": { 1299 | "path-key": "^3.0.0" 1300 | } 1301 | }, 1302 | "onetime": { 1303 | "version": "5.1.0", 1304 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 1305 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 1306 | "dev": true, 1307 | "requires": { 1308 | "mimic-fn": "^2.1.0" 1309 | } 1310 | }, 1311 | "parse-json": { 1312 | "version": "5.0.0", 1313 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", 1314 | "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", 1315 | "dev": true, 1316 | "requires": { 1317 | "@babel/code-frame": "^7.0.0", 1318 | "error-ex": "^1.3.1", 1319 | "json-parse-better-errors": "^1.0.1", 1320 | "lines-and-columns": "^1.1.6" 1321 | } 1322 | }, 1323 | "path-key": { 1324 | "version": "3.1.1", 1325 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1326 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1327 | "dev": true 1328 | }, 1329 | "please-upgrade-node": { 1330 | "version": "3.2.0", 1331 | "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", 1332 | "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", 1333 | "dev": true, 1334 | "requires": { 1335 | "semver-compare": "^1.0.0" 1336 | } 1337 | }, 1338 | "shebang-command": { 1339 | "version": "2.0.0", 1340 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1341 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1342 | "dev": true, 1343 | "requires": { 1344 | "shebang-regex": "^3.0.0" 1345 | } 1346 | }, 1347 | "shebang-regex": { 1348 | "version": "3.0.0", 1349 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1350 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1351 | "dev": true 1352 | }, 1353 | "supports-color": { 1354 | "version": "7.1.0", 1355 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 1356 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 1357 | "dev": true, 1358 | "requires": { 1359 | "has-flag": "^4.0.0" 1360 | } 1361 | }, 1362 | "which": { 1363 | "version": "2.0.2", 1364 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1365 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1366 | "dev": true, 1367 | "requires": { 1368 | "isexe": "^2.0.0" 1369 | } 1370 | } 1371 | } 1372 | }, 1373 | "listr2": { 1374 | "version": "2.1.3", 1375 | "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.1.3.tgz", 1376 | "integrity": "sha512-6oy3QhrZAlJGrG8oPcRp1hix1zUpb5AvyvZ5je979HCyf48tIj3Hn1TG5+rfyhz30t7HfySH/OIaVbwrI2kruA==", 1377 | "dev": true, 1378 | "requires": { 1379 | "chalk": "^4.0.0", 1380 | "cli-truncate": "^2.1.0", 1381 | "figures": "^3.2.0", 1382 | "indent-string": "^4.0.0", 1383 | "log-update": "^4.0.0", 1384 | "p-map": "^4.0.0", 1385 | "rxjs": "^6.5.5", 1386 | "through": "^2.3.8" 1387 | }, 1388 | "dependencies": { 1389 | "ansi-styles": { 1390 | "version": "4.2.1", 1391 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 1392 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 1393 | "dev": true, 1394 | "requires": { 1395 | "@types/color-name": "^1.1.1", 1396 | "color-convert": "^2.0.1" 1397 | } 1398 | }, 1399 | "chalk": { 1400 | "version": "4.1.0", 1401 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 1402 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 1403 | "dev": true, 1404 | "requires": { 1405 | "ansi-styles": "^4.1.0", 1406 | "supports-color": "^7.1.0" 1407 | } 1408 | }, 1409 | "color-convert": { 1410 | "version": "2.0.1", 1411 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1412 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1413 | "dev": true, 1414 | "requires": { 1415 | "color-name": "~1.1.4" 1416 | } 1417 | }, 1418 | "color-name": { 1419 | "version": "1.1.4", 1420 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1421 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1422 | "dev": true 1423 | }, 1424 | "figures": { 1425 | "version": "3.2.0", 1426 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 1427 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 1428 | "dev": true, 1429 | "requires": { 1430 | "escape-string-regexp": "^1.0.5" 1431 | } 1432 | }, 1433 | "has-flag": { 1434 | "version": "4.0.0", 1435 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1436 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1437 | "dev": true 1438 | }, 1439 | "rxjs": { 1440 | "version": "6.5.5", 1441 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", 1442 | "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", 1443 | "dev": true, 1444 | "requires": { 1445 | "tslib": "^1.9.0" 1446 | } 1447 | }, 1448 | "supports-color": { 1449 | "version": "7.1.0", 1450 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 1451 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 1452 | "dev": true, 1453 | "requires": { 1454 | "has-flag": "^4.0.0" 1455 | } 1456 | } 1457 | } 1458 | }, 1459 | "locate-path": { 1460 | "version": "3.0.0", 1461 | "resolved": false, 1462 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 1463 | "dev": true, 1464 | "requires": { 1465 | "p-locate": "^3.0.0", 1466 | "path-exists": "^3.0.0" 1467 | } 1468 | }, 1469 | "lodash": { 1470 | "version": "4.17.19", 1471 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", 1472 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", 1473 | "dev": true 1474 | }, 1475 | "log-symbols": { 1476 | "version": "4.0.0", 1477 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", 1478 | "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", 1479 | "dev": true, 1480 | "requires": { 1481 | "chalk": "^4.0.0" 1482 | }, 1483 | "dependencies": { 1484 | "ansi-styles": { 1485 | "version": "4.2.1", 1486 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 1487 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 1488 | "dev": true, 1489 | "requires": { 1490 | "@types/color-name": "^1.1.1", 1491 | "color-convert": "^2.0.1" 1492 | } 1493 | }, 1494 | "chalk": { 1495 | "version": "4.1.0", 1496 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", 1497 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", 1498 | "dev": true, 1499 | "requires": { 1500 | "ansi-styles": "^4.1.0", 1501 | "supports-color": "^7.1.0" 1502 | } 1503 | }, 1504 | "color-convert": { 1505 | "version": "2.0.1", 1506 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1507 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1508 | "dev": true, 1509 | "requires": { 1510 | "color-name": "~1.1.4" 1511 | } 1512 | }, 1513 | "color-name": { 1514 | "version": "1.1.4", 1515 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1516 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1517 | "dev": true 1518 | }, 1519 | "has-flag": { 1520 | "version": "4.0.0", 1521 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1522 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1523 | "dev": true 1524 | }, 1525 | "supports-color": { 1526 | "version": "7.1.0", 1527 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 1528 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 1529 | "dev": true, 1530 | "requires": { 1531 | "has-flag": "^4.0.0" 1532 | } 1533 | } 1534 | } 1535 | }, 1536 | "log-update": { 1537 | "version": "4.0.0", 1538 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", 1539 | "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", 1540 | "dev": true, 1541 | "requires": { 1542 | "ansi-escapes": "^4.3.0", 1543 | "cli-cursor": "^3.1.0", 1544 | "slice-ansi": "^4.0.0", 1545 | "wrap-ansi": "^6.2.0" 1546 | }, 1547 | "dependencies": { 1548 | "ansi-escapes": { 1549 | "version": "4.3.1", 1550 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", 1551 | "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", 1552 | "dev": true, 1553 | "requires": { 1554 | "type-fest": "^0.11.0" 1555 | } 1556 | }, 1557 | "ansi-styles": { 1558 | "version": "4.2.1", 1559 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 1560 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 1561 | "dev": true, 1562 | "requires": { 1563 | "@types/color-name": "^1.1.1", 1564 | "color-convert": "^2.0.1" 1565 | } 1566 | }, 1567 | "astral-regex": { 1568 | "version": "2.0.0", 1569 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 1570 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 1571 | "dev": true 1572 | }, 1573 | "cli-cursor": { 1574 | "version": "3.1.0", 1575 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 1576 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 1577 | "dev": true, 1578 | "requires": { 1579 | "restore-cursor": "^3.1.0" 1580 | } 1581 | }, 1582 | "color-convert": { 1583 | "version": "2.0.1", 1584 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1585 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1586 | "dev": true, 1587 | "requires": { 1588 | "color-name": "~1.1.4" 1589 | } 1590 | }, 1591 | "color-name": { 1592 | "version": "1.1.4", 1593 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1594 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1595 | "dev": true 1596 | }, 1597 | "is-fullwidth-code-point": { 1598 | "version": "3.0.0", 1599 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1600 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1601 | "dev": true 1602 | }, 1603 | "mimic-fn": { 1604 | "version": "2.1.0", 1605 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1606 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1607 | "dev": true 1608 | }, 1609 | "onetime": { 1610 | "version": "5.1.0", 1611 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 1612 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 1613 | "dev": true, 1614 | "requires": { 1615 | "mimic-fn": "^2.1.0" 1616 | } 1617 | }, 1618 | "restore-cursor": { 1619 | "version": "3.1.0", 1620 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1621 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1622 | "dev": true, 1623 | "requires": { 1624 | "onetime": "^5.1.0", 1625 | "signal-exit": "^3.0.2" 1626 | } 1627 | }, 1628 | "slice-ansi": { 1629 | "version": "4.0.0", 1630 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", 1631 | "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", 1632 | "dev": true, 1633 | "requires": { 1634 | "ansi-styles": "^4.0.0", 1635 | "astral-regex": "^2.0.0", 1636 | "is-fullwidth-code-point": "^3.0.0" 1637 | } 1638 | }, 1639 | "type-fest": { 1640 | "version": "0.11.0", 1641 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", 1642 | "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", 1643 | "dev": true 1644 | } 1645 | } 1646 | }, 1647 | "merge-stream": { 1648 | "version": "2.0.0", 1649 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1650 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1651 | "dev": true 1652 | }, 1653 | "micromatch": { 1654 | "version": "4.0.2", 1655 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", 1656 | "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", 1657 | "dev": true, 1658 | "requires": { 1659 | "braces": "^3.0.1", 1660 | "picomatch": "^2.0.5" 1661 | } 1662 | }, 1663 | "mimic-fn": { 1664 | "version": "2.1.0", 1665 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1666 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1667 | "dev": true 1668 | }, 1669 | "minimatch": { 1670 | "version": "3.0.4", 1671 | "resolved": false, 1672 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1673 | "dev": true, 1674 | "requires": { 1675 | "brace-expansion": "^1.1.7" 1676 | } 1677 | }, 1678 | "minimist": { 1679 | "version": "1.2.5", 1680 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1681 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 1682 | "dev": true 1683 | }, 1684 | "mkdirp": { 1685 | "version": "0.5.5", 1686 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 1687 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 1688 | "dev": true, 1689 | "requires": { 1690 | "minimist": "^1.2.5" 1691 | } 1692 | }, 1693 | "ms": { 1694 | "version": "2.1.1", 1695 | "resolved": false, 1696 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 1697 | "dev": true 1698 | }, 1699 | "mute-stream": { 1700 | "version": "0.0.8", 1701 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 1702 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 1703 | "dev": true 1704 | }, 1705 | "natural-compare": { 1706 | "version": "1.4.0", 1707 | "resolved": false, 1708 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1709 | "dev": true 1710 | }, 1711 | "nice-try": { 1712 | "version": "1.0.5", 1713 | "resolved": false, 1714 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 1715 | "dev": true 1716 | }, 1717 | "normalize-package-data": { 1718 | "version": "2.5.0", 1719 | "resolved": false, 1720 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 1721 | "dev": true, 1722 | "requires": { 1723 | "hosted-git-info": "^2.1.4", 1724 | "resolve": "^1.10.0", 1725 | "semver": "2 || 3 || 4 || 5", 1726 | "validate-npm-package-license": "^3.0.1" 1727 | } 1728 | }, 1729 | "normalize-path": { 1730 | "version": "3.0.0", 1731 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1732 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1733 | "dev": true 1734 | }, 1735 | "npm-run-path": { 1736 | "version": "2.0.2", 1737 | "resolved": false, 1738 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 1739 | "dev": true, 1740 | "requires": { 1741 | "path-key": "^2.0.0" 1742 | } 1743 | }, 1744 | "once": { 1745 | "version": "1.4.0", 1746 | "resolved": false, 1747 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1748 | "dev": true, 1749 | "requires": { 1750 | "wrappy": "1" 1751 | } 1752 | }, 1753 | "onetime": { 1754 | "version": "5.1.0", 1755 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 1756 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 1757 | "dev": true, 1758 | "requires": { 1759 | "mimic-fn": "^2.1.0" 1760 | } 1761 | }, 1762 | "optionator": { 1763 | "version": "0.9.1", 1764 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1765 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1766 | "dev": true, 1767 | "requires": { 1768 | "deep-is": "^0.1.3", 1769 | "fast-levenshtein": "^2.0.6", 1770 | "levn": "^0.4.1", 1771 | "prelude-ls": "^1.2.1", 1772 | "type-check": "^0.4.0", 1773 | "word-wrap": "^1.2.3" 1774 | } 1775 | }, 1776 | "os-tmpdir": { 1777 | "version": "1.0.2", 1778 | "resolved": false, 1779 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 1780 | "dev": true 1781 | }, 1782 | "p-finally": { 1783 | "version": "1.0.0", 1784 | "resolved": false, 1785 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", 1786 | "dev": true 1787 | }, 1788 | "p-limit": { 1789 | "version": "2.2.0", 1790 | "resolved": false, 1791 | "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", 1792 | "dev": true, 1793 | "requires": { 1794 | "p-try": "^2.0.0" 1795 | } 1796 | }, 1797 | "p-locate": { 1798 | "version": "3.0.0", 1799 | "resolved": false, 1800 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 1801 | "dev": true, 1802 | "requires": { 1803 | "p-limit": "^2.0.0" 1804 | } 1805 | }, 1806 | "p-map": { 1807 | "version": "4.0.0", 1808 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 1809 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 1810 | "dev": true, 1811 | "requires": { 1812 | "aggregate-error": "^3.0.0" 1813 | } 1814 | }, 1815 | "p-try": { 1816 | "version": "2.2.0", 1817 | "resolved": false, 1818 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1819 | "dev": true 1820 | }, 1821 | "parent-module": { 1822 | "version": "1.0.1", 1823 | "resolved": false, 1824 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1825 | "dev": true, 1826 | "requires": { 1827 | "callsites": "^3.0.0" 1828 | } 1829 | }, 1830 | "parse-json": { 1831 | "version": "4.0.0", 1832 | "resolved": false, 1833 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 1834 | "dev": true, 1835 | "requires": { 1836 | "error-ex": "^1.3.1", 1837 | "json-parse-better-errors": "^1.0.1" 1838 | } 1839 | }, 1840 | "path-exists": { 1841 | "version": "3.0.0", 1842 | "resolved": false, 1843 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1844 | "dev": true 1845 | }, 1846 | "path-is-absolute": { 1847 | "version": "1.0.1", 1848 | "resolved": false, 1849 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1850 | "dev": true 1851 | }, 1852 | "path-key": { 1853 | "version": "2.0.1", 1854 | "resolved": false, 1855 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 1856 | "dev": true 1857 | }, 1858 | "path-parse": { 1859 | "version": "1.0.6", 1860 | "resolved": false, 1861 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 1862 | "dev": true 1863 | }, 1864 | "path-type": { 1865 | "version": "4.0.0", 1866 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1867 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1868 | "dev": true 1869 | }, 1870 | "picomatch": { 1871 | "version": "2.2.2", 1872 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", 1873 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", 1874 | "dev": true 1875 | }, 1876 | "pkg-dir": { 1877 | "version": "4.1.0", 1878 | "resolved": false, 1879 | "integrity": "sha512-55k9QN4saZ8q518lE6EFgYiu95u3BWkSajCifhdQjvLvmr8IpnRbhI+UGpWJQfa0KzDguHeeWT1ccO1PmkOi3A==", 1880 | "dev": true, 1881 | "requires": { 1882 | "find-up": "^3.0.0" 1883 | } 1884 | }, 1885 | "please-upgrade-node": { 1886 | "version": "3.1.1", 1887 | "resolved": false, 1888 | "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", 1889 | "dev": true, 1890 | "requires": { 1891 | "semver-compare": "^1.0.0" 1892 | } 1893 | }, 1894 | "prelude-ls": { 1895 | "version": "1.2.1", 1896 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1897 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1898 | "dev": true 1899 | }, 1900 | "prettier": { 1901 | "version": "1.17.1", 1902 | "resolved": false, 1903 | "integrity": "sha512-TzGRNvuUSmPgwivDqkZ9tM/qTGW9hqDKWOE9YHiyQdixlKbv7kvEqsmDPrcHJTKwthU774TQwZXVtaQ/mMsvjg==", 1904 | "dev": true 1905 | }, 1906 | "progress": { 1907 | "version": "2.0.3", 1908 | "resolved": false, 1909 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1910 | "dev": true 1911 | }, 1912 | "pump": { 1913 | "version": "3.0.0", 1914 | "resolved": false, 1915 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1916 | "dev": true, 1917 | "requires": { 1918 | "end-of-stream": "^1.1.0", 1919 | "once": "^1.3.1" 1920 | } 1921 | }, 1922 | "punycode": { 1923 | "version": "2.1.1", 1924 | "resolved": false, 1925 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1926 | "dev": true 1927 | }, 1928 | "read-pkg": { 1929 | "version": "5.1.1", 1930 | "resolved": false, 1931 | "integrity": "sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==", 1932 | "dev": true, 1933 | "requires": { 1934 | "@types/normalize-package-data": "^2.4.0", 1935 | "normalize-package-data": "^2.5.0", 1936 | "parse-json": "^4.0.0", 1937 | "type-fest": "^0.4.1" 1938 | } 1939 | }, 1940 | "regexpp": { 1941 | "version": "3.1.0", 1942 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", 1943 | "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", 1944 | "dev": true 1945 | }, 1946 | "resolve": { 1947 | "version": "1.10.1", 1948 | "resolved": false, 1949 | "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", 1950 | "dev": true, 1951 | "requires": { 1952 | "path-parse": "^1.0.6" 1953 | } 1954 | }, 1955 | "resolve-from": { 1956 | "version": "4.0.0", 1957 | "resolved": false, 1958 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1959 | "dev": true 1960 | }, 1961 | "restore-cursor": { 1962 | "version": "3.1.0", 1963 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1964 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1965 | "dev": true, 1966 | "requires": { 1967 | "onetime": "^5.1.0", 1968 | "signal-exit": "^3.0.2" 1969 | } 1970 | }, 1971 | "rimraf": { 1972 | "version": "2.6.3", 1973 | "resolved": false, 1974 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1975 | "dev": true, 1976 | "requires": { 1977 | "glob": "^7.1.3" 1978 | } 1979 | }, 1980 | "run-async": { 1981 | "version": "2.4.1", 1982 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", 1983 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", 1984 | "dev": true 1985 | }, 1986 | "run-node": { 1987 | "version": "1.0.0", 1988 | "resolved": false, 1989 | "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", 1990 | "dev": true 1991 | }, 1992 | "rxjs": { 1993 | "version": "6.5.5", 1994 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", 1995 | "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", 1996 | "dev": true, 1997 | "requires": { 1998 | "tslib": "^1.9.0" 1999 | } 2000 | }, 2001 | "safer-buffer": { 2002 | "version": "2.1.2", 2003 | "resolved": false, 2004 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2005 | "dev": true 2006 | }, 2007 | "semver": { 2008 | "version": "5.7.0", 2009 | "resolved": false, 2010 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", 2011 | "dev": true 2012 | }, 2013 | "semver-compare": { 2014 | "version": "1.0.0", 2015 | "resolved": false, 2016 | "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", 2017 | "dev": true 2018 | }, 2019 | "shebang-command": { 2020 | "version": "1.2.0", 2021 | "resolved": false, 2022 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2023 | "dev": true, 2024 | "requires": { 2025 | "shebang-regex": "^1.0.0" 2026 | } 2027 | }, 2028 | "shebang-regex": { 2029 | "version": "1.0.0", 2030 | "resolved": false, 2031 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 2032 | "dev": true 2033 | }, 2034 | "signal-exit": { 2035 | "version": "3.0.2", 2036 | "resolved": false, 2037 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 2038 | "dev": true 2039 | }, 2040 | "slash": { 2041 | "version": "3.0.0", 2042 | "resolved": false, 2043 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 2044 | "dev": true 2045 | }, 2046 | "slice-ansi": { 2047 | "version": "2.1.0", 2048 | "resolved": false, 2049 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 2050 | "dev": true, 2051 | "requires": { 2052 | "ansi-styles": "^3.2.0", 2053 | "astral-regex": "^1.0.0", 2054 | "is-fullwidth-code-point": "^2.0.0" 2055 | }, 2056 | "dependencies": { 2057 | "is-fullwidth-code-point": { 2058 | "version": "2.0.0", 2059 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2060 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 2061 | "dev": true 2062 | } 2063 | } 2064 | }, 2065 | "spdx-correct": { 2066 | "version": "3.1.0", 2067 | "resolved": false, 2068 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 2069 | "dev": true, 2070 | "requires": { 2071 | "spdx-expression-parse": "^3.0.0", 2072 | "spdx-license-ids": "^3.0.0" 2073 | } 2074 | }, 2075 | "spdx-exceptions": { 2076 | "version": "2.2.0", 2077 | "resolved": false, 2078 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", 2079 | "dev": true 2080 | }, 2081 | "spdx-expression-parse": { 2082 | "version": "3.0.0", 2083 | "resolved": false, 2084 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 2085 | "dev": true, 2086 | "requires": { 2087 | "spdx-exceptions": "^2.1.0", 2088 | "spdx-license-ids": "^3.0.0" 2089 | } 2090 | }, 2091 | "spdx-license-ids": { 2092 | "version": "3.0.3", 2093 | "resolved": false, 2094 | "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", 2095 | "dev": true 2096 | }, 2097 | "sprintf-js": { 2098 | "version": "1.0.3", 2099 | "resolved": false, 2100 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2101 | "dev": true 2102 | }, 2103 | "string-argv": { 2104 | "version": "0.3.1", 2105 | "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", 2106 | "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", 2107 | "dev": true 2108 | }, 2109 | "string-width": { 2110 | "version": "4.2.0", 2111 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 2112 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 2113 | "dev": true, 2114 | "requires": { 2115 | "emoji-regex": "^8.0.0", 2116 | "is-fullwidth-code-point": "^3.0.0", 2117 | "strip-ansi": "^6.0.0" 2118 | } 2119 | }, 2120 | "stringify-object": { 2121 | "version": "3.3.0", 2122 | "resolved": false, 2123 | "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", 2124 | "dev": true, 2125 | "requires": { 2126 | "get-own-enumerable-property-symbols": "^3.0.0", 2127 | "is-obj": "^1.0.1", 2128 | "is-regexp": "^1.0.0" 2129 | } 2130 | }, 2131 | "strip-ansi": { 2132 | "version": "6.0.0", 2133 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 2134 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 2135 | "dev": true, 2136 | "requires": { 2137 | "ansi-regex": "^5.0.0" 2138 | } 2139 | }, 2140 | "strip-eof": { 2141 | "version": "1.0.0", 2142 | "resolved": false, 2143 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", 2144 | "dev": true 2145 | }, 2146 | "strip-final-newline": { 2147 | "version": "2.0.0", 2148 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 2149 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 2150 | "dev": true 2151 | }, 2152 | "strip-json-comments": { 2153 | "version": "3.1.0", 2154 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", 2155 | "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", 2156 | "dev": true 2157 | }, 2158 | "supports-color": { 2159 | "version": "5.5.0", 2160 | "resolved": false, 2161 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2162 | "dev": true, 2163 | "requires": { 2164 | "has-flag": "^3.0.0" 2165 | } 2166 | }, 2167 | "table": { 2168 | "version": "5.4.6", 2169 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 2170 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 2171 | "dev": true, 2172 | "requires": { 2173 | "ajv": "^6.10.2", 2174 | "lodash": "^4.17.14", 2175 | "slice-ansi": "^2.1.0", 2176 | "string-width": "^3.0.0" 2177 | }, 2178 | "dependencies": { 2179 | "ansi-regex": { 2180 | "version": "4.1.0", 2181 | "resolved": false, 2182 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 2183 | "dev": true 2184 | }, 2185 | "emoji-regex": { 2186 | "version": "7.0.3", 2187 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 2188 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 2189 | "dev": true 2190 | }, 2191 | "is-fullwidth-code-point": { 2192 | "version": "2.0.0", 2193 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2194 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 2195 | "dev": true 2196 | }, 2197 | "string-width": { 2198 | "version": "3.1.0", 2199 | "resolved": false, 2200 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 2201 | "dev": true, 2202 | "requires": { 2203 | "emoji-regex": "^7.0.1", 2204 | "is-fullwidth-code-point": "^2.0.0", 2205 | "strip-ansi": "^5.1.0" 2206 | } 2207 | }, 2208 | "strip-ansi": { 2209 | "version": "5.2.0", 2210 | "resolved": false, 2211 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 2212 | "dev": true, 2213 | "requires": { 2214 | "ansi-regex": "^4.1.0" 2215 | } 2216 | } 2217 | } 2218 | }, 2219 | "text-table": { 2220 | "version": "0.2.0", 2221 | "resolved": false, 2222 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 2223 | "dev": true 2224 | }, 2225 | "through": { 2226 | "version": "2.3.8", 2227 | "resolved": false, 2228 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 2229 | "dev": true 2230 | }, 2231 | "tmp": { 2232 | "version": "0.0.33", 2233 | "resolved": false, 2234 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 2235 | "dev": true, 2236 | "requires": { 2237 | "os-tmpdir": "~1.0.2" 2238 | } 2239 | }, 2240 | "to-regex-range": { 2241 | "version": "5.0.1", 2242 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2243 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2244 | "dev": true, 2245 | "requires": { 2246 | "is-number": "^7.0.0" 2247 | } 2248 | }, 2249 | "tslib": { 2250 | "version": "1.9.3", 2251 | "resolved": false, 2252 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", 2253 | "dev": true 2254 | }, 2255 | "type-check": { 2256 | "version": "0.4.0", 2257 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2258 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2259 | "dev": true, 2260 | "requires": { 2261 | "prelude-ls": "^1.2.1" 2262 | } 2263 | }, 2264 | "type-fest": { 2265 | "version": "0.4.1", 2266 | "resolved": false, 2267 | "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", 2268 | "dev": true 2269 | }, 2270 | "uri-js": { 2271 | "version": "4.2.2", 2272 | "resolved": false, 2273 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 2274 | "dev": true, 2275 | "requires": { 2276 | "punycode": "^2.1.0" 2277 | } 2278 | }, 2279 | "v8-compile-cache": { 2280 | "version": "2.1.1", 2281 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", 2282 | "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", 2283 | "dev": true 2284 | }, 2285 | "validate-npm-package-license": { 2286 | "version": "3.0.4", 2287 | "resolved": false, 2288 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 2289 | "dev": true, 2290 | "requires": { 2291 | "spdx-correct": "^3.0.0", 2292 | "spdx-expression-parse": "^3.0.0" 2293 | } 2294 | }, 2295 | "vscode-json-languageservice": { 2296 | "version": "3.7.0", 2297 | "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.7.0.tgz", 2298 | "integrity": "sha512-nGLqcBhTjdfkl8Dz9sYGK/ZCTjscYFoIjYw+qqkWB+vyNfM0k/AyIoT73DQvB/PArteCKjEVfQUF72GRZEDSbQ==", 2299 | "dev": true, 2300 | "requires": { 2301 | "jsonc-parser": "^2.2.1", 2302 | "vscode-languageserver-textdocument": "^1.0.1", 2303 | "vscode-languageserver-types": "^3.15.1", 2304 | "vscode-nls": "^4.1.2", 2305 | "vscode-uri": "^2.1.2" 2306 | } 2307 | }, 2308 | "vscode-languageserver-textdocument": { 2309 | "version": "1.0.1", 2310 | "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz", 2311 | "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==", 2312 | "dev": true 2313 | }, 2314 | "vscode-languageserver-types": { 2315 | "version": "3.15.1", 2316 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", 2317 | "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==", 2318 | "dev": true 2319 | }, 2320 | "vscode-nls": { 2321 | "version": "4.1.2", 2322 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz", 2323 | "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==", 2324 | "dev": true 2325 | }, 2326 | "vscode-uri": { 2327 | "version": "2.1.2", 2328 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", 2329 | "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", 2330 | "dev": true 2331 | }, 2332 | "which": { 2333 | "version": "1.3.1", 2334 | "resolved": false, 2335 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2336 | "dev": true, 2337 | "requires": { 2338 | "isexe": "^2.0.0" 2339 | } 2340 | }, 2341 | "word-wrap": { 2342 | "version": "1.2.3", 2343 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2344 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2345 | "dev": true 2346 | }, 2347 | "wrap-ansi": { 2348 | "version": "6.2.0", 2349 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 2350 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 2351 | "dev": true, 2352 | "requires": { 2353 | "ansi-styles": "^4.0.0", 2354 | "string-width": "^4.1.0", 2355 | "strip-ansi": "^6.0.0" 2356 | }, 2357 | "dependencies": { 2358 | "ansi-regex": { 2359 | "version": "5.0.0", 2360 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 2361 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 2362 | "dev": true 2363 | }, 2364 | "ansi-styles": { 2365 | "version": "4.2.1", 2366 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 2367 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 2368 | "dev": true, 2369 | "requires": { 2370 | "@types/color-name": "^1.1.1", 2371 | "color-convert": "^2.0.1" 2372 | } 2373 | }, 2374 | "color-convert": { 2375 | "version": "2.0.1", 2376 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2377 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2378 | "dev": true, 2379 | "requires": { 2380 | "color-name": "~1.1.4" 2381 | } 2382 | }, 2383 | "color-name": { 2384 | "version": "1.1.4", 2385 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2386 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2387 | "dev": true 2388 | }, 2389 | "emoji-regex": { 2390 | "version": "8.0.0", 2391 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2392 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2393 | "dev": true 2394 | }, 2395 | "is-fullwidth-code-point": { 2396 | "version": "3.0.0", 2397 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2398 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2399 | "dev": true 2400 | }, 2401 | "string-width": { 2402 | "version": "4.2.0", 2403 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 2404 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 2405 | "dev": true, 2406 | "requires": { 2407 | "emoji-regex": "^8.0.0", 2408 | "is-fullwidth-code-point": "^3.0.0", 2409 | "strip-ansi": "^6.0.0" 2410 | } 2411 | }, 2412 | "strip-ansi": { 2413 | "version": "6.0.0", 2414 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 2415 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 2416 | "dev": true, 2417 | "requires": { 2418 | "ansi-regex": "^5.0.0" 2419 | } 2420 | } 2421 | } 2422 | }, 2423 | "wrappy": { 2424 | "version": "1.0.2", 2425 | "resolved": false, 2426 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2427 | "dev": true 2428 | }, 2429 | "write": { 2430 | "version": "1.0.3", 2431 | "resolved": false, 2432 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 2433 | "dev": true, 2434 | "requires": { 2435 | "mkdirp": "^0.5.1" 2436 | } 2437 | }, 2438 | "yaml": { 2439 | "version": "1.10.0", 2440 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", 2441 | "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", 2442 | "dev": true 2443 | } 2444 | } 2445 | } 2446 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "git-commit-template", 3 | "version": "1.0.5", 4 | "description": "Set commit template for git packages", 5 | "bin": { 6 | "git-commit-template": "./bin/git-commit-template.js" 7 | }, 8 | "scripts": { 9 | "test": "echo \"No test specified yet.\" && exit 0", 10 | "lint:files": "eslint" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "peerDependencies": { 16 | "husky": ">1.x" 17 | }, 18 | "keywords": [ 19 | "git", 20 | "javascript", 21 | "husky", 22 | "commit", 23 | "hooks" 24 | ], 25 | "author": "anshulguleria@ymail.com", 26 | "license": "Apache 2.0", 27 | "devDependencies": { 28 | "eslint": "^7.2.0", 29 | "eslint-plugin-json": "^2.1.1", 30 | "husky": "^2.3.0", 31 | "lint-staged": "^10.2.9", 32 | "prettier": "^1.17.1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | /* globals module */ 2 | // Since this module is set to use es6 thus module is giving error. Thus 3 | // defining module as global before hand 4 | module.exports = { 5 | trailingComma: "es5", 6 | tabWidth: 2, 7 | arrowParens: "always", 8 | proseWrap: "always", 9 | }; 10 | --------------------------------------------------------------------------------