From c2d0f5ed3a85f9ce326d34f04069d7bbcc1675ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Lenon?= Date: Wed, 17 Nov 2021 23:26:18 -0300 Subject: [PATCH] feat(convention): add project templates and commit conventions --- .github/COMMIT_CONVENTION.md | 67 ++ .github/FUNDING.yml | 1 + .github/ISSUE_TEMPLATE.md | 21 + .github/PULL_REQUEST_TEMPLATE.md | 28 + .github/validator.png | Bin 33058 -> 2627 bytes .github/workflows/cd.yml | 2 +- .gitignore | 10 +- CONTRIBUTING.md | 48 + README.md | 8 + package-lock.json | 1731 +++++++++++++++++++++++++++++- package.json | 18 +- 11 files changed, 1919 insertions(+), 15 deletions(-) create mode 100644 .github/COMMIT_CONVENTION.md create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CONTRIBUTING.md diff --git a/.github/COMMIT_CONVENTION.md b/.github/COMMIT_CONVENTION.md new file mode 100644 index 0000000..b715554 --- /dev/null +++ b/.github/COMMIT_CONVENTION.md @@ -0,0 +1,67 @@ +## Git Commit Message Convention + +Using conventional commit messages, we can automate the process of generating the CHANGELOG file. All commits messages will automatically be validated against the following regex. + +``` js +/^(revert: )?(feat|fix|docs|style|refactor|perf|test|workflow|ci|chore|types|build|improvement)((.+))?: .{1,50}/ +``` + +## Commit Message Format +A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: + +> The **scope** is optional + +``` +feat(router): add support for prefix + +Prefix makes it easier to append a path to a group of routes +``` + +1. `feat` is type. +2. `router` is scope and is optional +3. `add support for prefix` is the subject +4. The **body** is followed by a blank line. +5. The optional **footer** can be added after the body, followed by a blank line. + +## Types +Only one type can be used at a time and only following types are allowed. + +- feat +- fix +- docs +- style +- refactor +- perf +- test +- workflow +- ci +- chore +- types +- build + +If a type is `feat` or `fix`, then the commit will appear in the CHANGELOG.md file. However if there is any BREAKING CHANGE, the commit will always appear in the changelog. + +### Revert +If the commit reverts a previous commit, it should begin with `revert:`, followed by the header of the reverted commit. In the body it should say: `This reverts commit `., where the hash is the SHA of the commit being reverted. + +## Scope +The scope could be anything specifying place of the commit change. For example: `router`, `view`, `querybuilder`, `database`, `model` and so on. + +## Subject +The subject contains succinct description of the change: + +- use the imperative, present tense: "change" not "changed" nor "changes". +- don't capitalize first letter +- no dot (.) at the end + +## Body + +Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". +The body should include the motivation for the change and contrast this with previous behavior. + +## Footer + +The footer should contain any information about **Breaking Changes** and is also the place to +reference GitHub issues that this commit **Closes**. + +**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this. diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..8d082d3 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +open_collective: secjs diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..71e9f98 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,21 @@ + + +## Prerequisites + +- Ensure the issue isn't already reported. +- Ensure you are reporting the bug in the correct repository. + +*Delete the above section and the instructions in the sections below before submitting* + +## Description + +If this is a feature request, explain why it should be added. Specific use-cases and problems that it solve are best. + +For bug reports, please provide as much *relevant* info as possible. + +## Package version + + +## Error Message & Stack Trace + +## Relevant Information diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..4c52d39 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,28 @@ + + +## Proposed changes + +Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue. + +## Types of changes + +What types of changes does your code introduce? + +_Put an `x` in the boxes that apply_ + +- [ ] Bugfix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) + +## Checklist + +_Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code._ + +- [ ] I have read the [CONTRIBUTING](https://github.com/SecJS/Validator/blob/master/CONTRIBUTING.md) documentation +- [ ] Lint and unit tests pass locally with my changes +- [ ] I have added tests that prove my fix is effective or that my feature works. +- [ ] I have added necessary documentation (if appropriate) + +## Further comments + +If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc... diff --git a/.github/validator.png b/.github/validator.png index 8256ed944a8823d09e2d959f24bdeb95ffd9ffd5..8d7d67063ffbf5ce4e5cdf181cfb6eecdad44f1f 100644 GIT binary patch literal 2627 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 L38za>lA`_tXIRTi literal 33058 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 ~jR!jt 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 TF~_w4 + Buy Me A Coffee +

+

GitHub language count Repository size License + + Commitizen

The intention behind this repository is to maintain a payload validator package to use inside any NodeJS project. @@ -249,4 +255,6 @@ export class ExtendSanitizer { --- +## License + Made with 🖤 by [jlenon7](https://github.com/jlenon7) :wave: diff --git a/package-lock.json b/package-lock.json index 114aa08..76352d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@secjs/validator", - "version": "1.0.0", + "version": "1.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@secjs/validator", - "version": "1.0.0", + "version": "1.0.2", "license": "MIT", "dependencies": { "indicative": "7.4.4" @@ -17,6 +17,8 @@ "@types/node": "14.17.0", "@typescript-eslint/eslint-plugin": "4.31.0", "@typescript-eslint/parser": "4.31.0", + "commitizen": "4.2.4", + "cz-conventional-changelog": "3.3.0", "eslint": "7.32.0", "eslint-config-prettier": "8.3.0", "eslint-config-standard": "16.0.3", @@ -686,6 +688,189 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@commitlint/execute-rule": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-15.0.0.tgz", + "integrity": "sha512-pyE4ApxjbWhb1TXz5vRiGwI2ssdMMgZbaaheZq1/7WC0xRnqnIhE1yUC1D2q20qPtvkZPstTYvMiRVtF+DvjUg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=v12" + } + }, + "node_modules/@commitlint/load": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-15.0.0.tgz", + "integrity": "sha512-Ak1YPeOhvxmY3ioe0o6m1yLGvUAYb4BdfGgShU8jiTCmU3Mnmms0Xh/kfQz8AybhezCC3AmVTyBLaBZxOHR8kg==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/execute-rule": "^15.0.0", + "@commitlint/resolve-extends": "^15.0.0", + "@commitlint/types": "^15.0.0", + "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", + "chalk": "^4.0.0", + "cosmiconfig": "^7.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "typescript": "^4.4.3" + }, + "engines": { + "node": ">=v12" + } + }, + "node_modules/@commitlint/load/node_modules/@endemolshinegroup/cosmiconfig-typescript-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", + "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", + "dev": true, + "optional": true, + "dependencies": { + "lodash.get": "^4", + "make-error": "^1", + "ts-node": "^9", + "tslib": "^2" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "cosmiconfig": ">=6" + } + }, + "node_modules/@commitlint/load/node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "optional": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/load/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/load/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/load/node_modules/ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "optional": true, + "dependencies": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/@commitlint/load/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true, + "optional": true + }, + "node_modules/@commitlint/load/node_modules/typescript": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true, + "optional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-15.0.0.tgz", + "integrity": "sha512-7apfRJjgJsKja7lHsPfEFixKjA/fk/UeD3owkOw1174yYu4u8xBDLSeU3IinGPdMuF9m245eX8wo7vLUy+EBSg==", + "dev": true, + "optional": true, + "dependencies": { + "import-fresh": "^3.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v12" + } + }, + "node_modules/@commitlint/resolve-extends/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/types": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-15.0.0.tgz", + "integrity": "sha512-OMSLX+QJnyNoTwws54ULv9sOvuw9GdVezln76oyUd4YbMMJyaav62aSXDuCdWyL2sm9hTkSzyEi52PNaIj/vqw==", + "dev": true, + "optional": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=v12" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -2163,6 +2348,15 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/cachedir": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", + "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -2262,6 +2456,12 @@ "node": ">=10" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "node_modules/charmap": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/charmap/-/charmap-1.1.6.tgz", @@ -2329,6 +2529,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -2401,12 +2607,165 @@ "node": ">= 10" } }, + "node_modules/commitizen": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.4.tgz", + "integrity": "sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw==", + "dev": true, + "dependencies": { + "cachedir": "2.2.0", + "cz-conventional-changelog": "3.2.0", + "dedent": "0.7.0", + "detect-indent": "6.0.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "8.1.0", + "glob": "7.1.4", + "inquirer": "6.5.2", + "is-utf8": "^0.2.1", + "lodash": "^4.17.20", + "minimist": "1.2.5", + "strip-bom": "4.0.0", + "strip-json-comments": "3.0.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commitizen/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/commitizen/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/commitizen/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/commitizen/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/commitizen/node_modules/cz-conventional-changelog": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz", + "integrity": "sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/commitizen/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/commitizen/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/commitizen/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/commitizen/node_modules/strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/commitizen/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -2497,13 +2856,104 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", "dev": true, "dependencies": { - "abab": "^2.0.3", + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/cz-conventional-changelog/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.0.0" }, @@ -2581,6 +3031,24 @@ "node": ">=0.4.0" } }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -3555,6 +4023,18 @@ "node": ">= 0.8.0" } }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expect": { "version": "27.2.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.1.tgz", @@ -3584,6 +4064,20 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3642,6 +4136,27 @@ "bser": "2.1.1" } }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3666,6 +4181,22 @@ "node": ">=8" } }, + "node_modules/find-node-modules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.2.tgz", + "integrity": "sha512-x+3P4mbtRPlSiVE1Qco0Z4YLU8WFiFcuWTf3m75OV9Uzcfs2Bg+O9N+r/K0AnmINBW06KpfqKwYJbFlFq4qNug==", + "dev": true, + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.0" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -3678,6 +4209,21 @@ "node": ">=4" } }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -3711,6 +4257,20 @@ "node": ">= 6" } }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3866,6 +4426,61 @@ "dev": true, "peer": true }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "optional": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/globals": { "version": "13.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", @@ -3987,6 +4602,18 @@ "he": "bin/he" } }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -4453,6 +5080,226 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -4739,6 +5586,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5704,6 +6566,15 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -5952,6 +6823,12 @@ "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -6034,6 +6911,15 @@ "node": ">=8" } }, + "node_modules/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha1-eB4YMpaqlPbU2RbcM10NF676I/g=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -6085,6 +6971,12 @@ "tmpl": "1.0.x" } }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6167,6 +7059,12 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6367,6 +7265,15 @@ "node": ">= 0.8.0" } }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -6461,6 +7368,15 @@ "node": ">=4" } }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -6882,6 +7798,19 @@ "node": ">=8" } }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -6891,6 +7820,19 @@ "node": ">=4" } }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "optional": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -6929,6 +7871,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/run-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", @@ -7561,6 +8512,18 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -8739,6 +9702,141 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@commitlint/execute-rule": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-15.0.0.tgz", + "integrity": "sha512-pyE4ApxjbWhb1TXz5vRiGwI2ssdMMgZbaaheZq1/7WC0xRnqnIhE1yUC1D2q20qPtvkZPstTYvMiRVtF+DvjUg==", + "dev": true, + "optional": true + }, + "@commitlint/load": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-15.0.0.tgz", + "integrity": "sha512-Ak1YPeOhvxmY3ioe0o6m1yLGvUAYb4BdfGgShU8jiTCmU3Mnmms0Xh/kfQz8AybhezCC3AmVTyBLaBZxOHR8kg==", + "dev": true, + "optional": true, + "requires": { + "@commitlint/execute-rule": "^15.0.0", + "@commitlint/resolve-extends": "^15.0.0", + "@commitlint/types": "^15.0.0", + "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", + "chalk": "^4.0.0", + "cosmiconfig": "^7.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "typescript": "^4.4.3" + }, + "dependencies": { + "@endemolshinegroup/cosmiconfig-typescript-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", + "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", + "dev": true, + "optional": true, + "requires": { + "lodash.get": "^4", + "make-error": "^1", + "ts-node": "^9", + "tslib": "^2" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "optional": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true + }, + "ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "optional": true, + "requires": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true, + "optional": true + }, + "typescript": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true, + "optional": true + } + } + }, + "@commitlint/resolve-extends": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-15.0.0.tgz", + "integrity": "sha512-7apfRJjgJsKja7lHsPfEFixKjA/fk/UeD3owkOw1174yYu4u8xBDLSeU3IinGPdMuF9m245eX8wo7vLUy+EBSg==", + "dev": true, + "optional": true, + "requires": { + "import-fresh": "^3.0.0", + "lodash": "^4.17.19", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true + } + } + }, + "@commitlint/types": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-15.0.0.tgz", + "integrity": "sha512-OMSLX+QJnyNoTwws54ULv9sOvuw9GdVezln76oyUd4YbMMJyaav62aSXDuCdWyL2sm9hTkSzyEi52PNaIj/vqw==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.0.0" + } + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -9927,6 +11025,12 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "cachedir": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", + "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==", + "dev": true + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -9997,6 +11101,12 @@ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "charmap": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/charmap/-/charmap-1.1.6.tgz", @@ -10049,6 +11159,12 @@ "string-width": "^4.2.0" } }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -10108,12 +11224,133 @@ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, + "commitizen": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.4.tgz", + "integrity": "sha512-LlZChbDzg3Ir3O2S7jSo/cgWp5/QwylQVr59K4xayVq8S4/RdKzSyJkghAiZZHfhh5t4pxunUoyeg0ml1q/7aw==", + "dev": true, + "requires": { + "cachedir": "2.2.0", + "cz-conventional-changelog": "3.2.0", + "dedent": "0.7.0", + "detect-indent": "6.0.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "8.1.0", + "glob": "7.1.4", + "inquirer": "6.5.2", + "is-utf8": "^0.2.1", + "lodash": "^4.17.20", + "minimist": "1.2.5", + "strip-bom": "4.0.0", + "strip-json-comments": "3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "cz-conventional-changelog": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz", + "integrity": "sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==", + "dev": true, + "requires": { + "@commitlint/load": ">6.1.1", + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -10193,6 +11430,79 @@ } } }, + "cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "requires": { + "@commitlint/load": ">6.1.1", + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -10257,6 +11567,18 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", + "dev": true + }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -10966,6 +12288,15 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "expect": { "version": "27.2.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.2.1.tgz", @@ -10988,6 +12319,17 @@ } } }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -11043,6 +12385,23 @@ "bser": "2.1.1" } }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -11061,6 +12420,22 @@ "to-regex-range": "^5.0.1" } }, + "find-node-modules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.2.tgz", + "integrity": "sha512-x+3P4mbtRPlSiVE1Qco0Z4YLU8WFiFcuWTf3m75OV9Uzcfs2Bg+O9N+r/K0AnmINBW06KpfqKwYJbFlFq4qNug==", + "dev": true, + "requires": { + "findup-sync": "^4.0.0", + "merge": "^2.1.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -11070,6 +12445,18 @@ "locate-path": "^2.0.0" } }, + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + } + }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -11097,6 +12484,17 @@ "mime-types": "^2.1.12" } }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -11212,6 +12610,51 @@ "dev": true, "peer": true }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "globals": { "version": "13.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", @@ -11296,6 +12739,15 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -11659,6 +13111,179 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -11854,6 +13479,18 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -12599,6 +14236,15 @@ "minimist": "^1.2.5" } }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -12788,6 +14434,12 @@ "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -12851,6 +14503,12 @@ } } }, + "longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha1-eB4YMpaqlPbU2RbcM10NF676I/g=", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -12892,6 +14550,12 @@ "tmpl": "1.0.x" } }, + "merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -12956,6 +14620,12 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -13115,6 +14785,12 @@ "word-wrap": "^1.2.3" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, "p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -13179,6 +14855,12 @@ "json-parse-better-errors": "^1.0.1" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", @@ -13489,12 +15171,32 @@ } } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, + "resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "optional": true, + "requires": { + "global-dirs": "^0.1.1" + } + }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -13520,6 +15222,12 @@ "glob": "^7.1.3" } }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, "run-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", @@ -13994,6 +15702,15 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, "tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", diff --git a/package.json b/package.json index 706d042..50fc58f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@secjs/validator", - "version": "1.0.1", + "version": "1.0.2", "license": "MIT", "author": "João Lenon", "repository": "https://github.com/SecJS/Validator.git", @@ -18,6 +18,8 @@ "@types/node": "14.17.0", "@typescript-eslint/eslint-plugin": "4.31.0", "@typescript-eslint/parser": "4.31.0", + "commitizen": "4.2.4", + "cz-conventional-changelog": "3.3.0", "eslint": "7.32.0", "eslint-config-prettier": "8.3.0", "eslint-config-standard": "16.0.3", @@ -52,7 +54,8 @@ }, "husky": { "hooks": { - "pre-commit": "lint-staged" + "pre-commit": "lint-staged", + "prepare-commit-msg": "exec < /dev/tty && git cz --hook || true" } }, "jest": { @@ -137,11 +140,18 @@ } }, "files": [ + "src/*.js", + "src/*.d.ts", "src/**/*.js", "src/**/*.d.ts", - "index.js", - "index.d.ts" + "*.js", + "*.d.ts" ], + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + }, "dependencies": { "indicative": "7.4.4" }