diff --git a/@alias/commitlint-config-nx-scopes/README.md b/@alias/commitlint-config-nx-scopes/README.md new file mode 100644 index 0000000000..056e9e5af4 --- /dev/null +++ b/@alias/commitlint-config-nx-scopes/README.md @@ -0,0 +1,3 @@ +# commitlint-config-nx-scopes + +> Alias of [@commitlint/config-nx-scopes](https://www.npmjs.com/package/@commitlint/config-nx-scopes) diff --git a/@alias/commitlint-config-nx-scopes/index.js b/@alias/commitlint-config-nx-scopes/index.js new file mode 100644 index 0000000000..b52b6a5bd0 --- /dev/null +++ b/@alias/commitlint-config-nx-scopes/index.js @@ -0,0 +1 @@ +module.exports = require('@commitlint/config-nx-scopes'); diff --git a/@alias/commitlint-config-nx-scopes/license.md b/@alias/commitlint-config-nx-scopes/license.md new file mode 100644 index 0000000000..d53adb06e4 --- /dev/null +++ b/@alias/commitlint-config-nx-scopes/license.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 - present Florian Guitton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/@alias/commitlint-config-nx-scopes/package.json b/@alias/commitlint-config-nx-scopes/package.json new file mode 100644 index 0000000000..058dda0d8b --- /dev/null +++ b/@alias/commitlint-config-nx-scopes/package.json @@ -0,0 +1,39 @@ +{ + "name": "commitlint-config-nx-scopes", + "version": "16.0.0", + "description": "Shareable commitlint config enforcing nx project names as scopes", + "files": [ + "index.js" + ], + "scripts": { + "deps": "dep-check", + "pkg": "pkg-check" + }, + "repository": { + "type": "git", + "url": "https://github.com/conventional-changelog/commitlint.git", + "directory": "@alias/commitlint-config-nx-scopes" + }, + "keywords": [ + "conventional-changelog", + "commitlint", + "commitlint-config", + "nx" + ], + "author": "Florian Guitton ", + "license": "MIT", + "bugs": { + "url": "https://github.com/conventional-changelog/commitlint/issues" + }, + "homepage": "https://commitlint.js.org/", + "engines": { + "node": ">=v12" + }, + "dependencies": { + "@commitlint/config-nx-scopes": "^16.0.0" + }, + "devDependencies": { + "@commitlint/utils": "^16.0.0" + }, + "gitHead": "70f7f4688b51774e7ac5e40e896cdaa3f132b2bc" +} diff --git a/@commitlint/config-nx-scopes/fixtures/basic/nx.json b/@commitlint/config-nx-scopes/fixtures/basic/nx.json new file mode 100644 index 0000000000..483585b25b --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/nx.json @@ -0,0 +1,40 @@ +{ + "extends": "@nrwl/workspace/presets/core.json", + "npmScope": "secretarium", + "affected": { + "defaultBase": "main" + }, + "cli": { + "defaultCollection": "@nrwl/react" + }, + "tasksRunnerOptions": { + "default": { + "runner": "@nrwl/nx-cloud", + "options": { + "cacheableOperations": [ + "build", + "lint", + "test", + "e2e" + ] + } + } + }, + "generators": { + "@nrwl/react": { + "application": { + "style": "css", + "linter": "eslint", + "babel": true + }, + "component": { + "style": "css" + }, + "library": { + "style": "css", + "linter": "eslint" + } + } + }, + "defaultProject": "a" +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/basic/nx/a/package.json b/@commitlint/config-nx-scopes/fixtures/basic/nx/a/package.json new file mode 100644 index 0000000000..9113c2528e --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/nx/a/package.json @@ -0,0 +1,4 @@ +{ + "name": "a", + "version": "1.0.0" +} diff --git a/@commitlint/config-nx-scopes/fixtures/basic/nx/a/project.json b/@commitlint/config-nx-scopes/fixtures/basic/nx/a/project.json new file mode 100644 index 0000000000..643c9f86eb --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/nx/a/project.json @@ -0,0 +1,29 @@ +{ + "root": "nx/a", + "sourceRoot": "nx/a/src", + "projectType": "library", + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": [ + "{options.outputFile}" + ], + "options": { + "lintFilePatterns": [ + "nx/a/**/*.ts" + ] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": [ + "coverage/nx/a" + ], + "options": { + "jestConfig": "nx/a/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/basic/nx/b/package.json b/@commitlint/config-nx-scopes/fixtures/basic/nx/b/package.json new file mode 100644 index 0000000000..c2d84cc127 --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/nx/b/package.json @@ -0,0 +1,4 @@ +{ + "name": "b", + "version": "1.0.0" +} diff --git a/@commitlint/config-nx-scopes/fixtures/basic/nx/b/project.json b/@commitlint/config-nx-scopes/fixtures/basic/nx/b/project.json new file mode 100644 index 0000000000..734fca153d --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/nx/b/project.json @@ -0,0 +1,29 @@ +{ + "root": "nx/b", + "sourceRoot": "nx/b/src", + "projectType": "library", + "targets": { + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": [ + "{options.outputFile}" + ], + "options": { + "lintFilePatterns": [ + "nx/b/**/*.ts" + ] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": [ + "coverage/nx/b" + ], + "options": { + "jestConfig": "nx/b/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/basic/package.json b/@commitlint/config-nx-scopes/fixtures/basic/package.json new file mode 100644 index 0000000000..ed3248859d --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/package.json @@ -0,0 +1,7 @@ +{ + "name": "basic", + "version": "1.0.0", + "devDependencies": { + "@nrwl/tao": "^13.0.0" + } +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/basic/workspace.json b/@commitlint/config-nx-scopes/fixtures/basic/workspace.json new file mode 100644 index 0000000000..81b6247b45 --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/basic/workspace.json @@ -0,0 +1,7 @@ +{ + "version": 2, + "projects": { + "a": "nx/a", + "b": "nx/b" + } +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/empty/nx.json b/@commitlint/config-nx-scopes/fixtures/empty/nx.json new file mode 100644 index 0000000000..b3fbc22df8 --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/empty/nx.json @@ -0,0 +1,37 @@ +{ + "npmScope": "empty", + "affected": { + "defaultBase": "main" + }, + "cli": { + "defaultCollection": "@nrwl/workspace" + }, + "implicitDependencies": { + "package.json": { + "dependencies": "*", + "devDependencies": "*" + }, + ".eslintrc.json": "*" + }, + "tasksRunnerOptions": { + "default": { + "runner": "@nrwl/workspace/tasks-runners/default", + "options": { + "cacheableOperations": [ + "build", + "lint", + "test", + "e2e" + ] + } + } + }, + "targetDependencies": { + "build": [ + { + "target": "build", + "projects": "dependencies" + } + ] + } +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/empty/package.json b/@commitlint/config-nx-scopes/fixtures/empty/package.json new file mode 100644 index 0000000000..95907805c5 --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/empty/package.json @@ -0,0 +1,7 @@ +{ + "name": "empty", + "version": "1.0.0", + "devDependencies": { + "@nrwl/tao": "^13.0.0" + } +} \ No newline at end of file diff --git a/@commitlint/config-nx-scopes/fixtures/empty/workspace.json b/@commitlint/config-nx-scopes/fixtures/empty/workspace.json new file mode 100644 index 0000000000..3701672da5 --- /dev/null +++ b/@commitlint/config-nx-scopes/fixtures/empty/workspace.json @@ -0,0 +1,4 @@ +{ + "version": 2, + "projects": {} +} diff --git a/@commitlint/config-nx-scopes/index.js b/@commitlint/config-nx-scopes/index.js new file mode 100644 index 0000000000..491d92ffdf --- /dev/null +++ b/@commitlint/config-nx-scopes/index.js @@ -0,0 +1,31 @@ +const {Workspaces} = require('@nrwl/tao/src/shared/workspace'); + +module.exports = { + utils: {getProjects}, + rules: { + 'scope-enum': (ctx) => + getProjects(ctx).then((packages) => [2, 'always', packages]), + }, +}; + +function getProjects(context) { + return Promise.resolve() + .then(() => { + const ctx = context || {}; + const cwd = ctx.cwd || process.cwd(); + const ws = new Workspaces(cwd); + const workspace = ws.readWorkspaceConfiguration(); + return Object.entries(workspace.projects || {}).map( + ([name, project]) => ({ + name, + ...project, + }) + ); + }) + .then((projects) => { + return projects + .filter((project) => project.targets) + .map((project) => project.name) + .map((name) => (name.charAt(0) === '@' ? name.split('/')[1] : name)); + }); +} diff --git a/@commitlint/config-nx-scopes/index.test.js b/@commitlint/config-nx-scopes/index.test.js new file mode 100644 index 0000000000..3acdb476b8 --- /dev/null +++ b/@commitlint/config-nx-scopes/index.test.js @@ -0,0 +1,60 @@ +import {npm} from '@commitlint/test'; +import config from '.'; + +test('exports rules key', () => { + expect(config).toHaveProperty('rules'); +}); + +test('rules hold object', () => { + expect(config).toMatchObject({ + rules: expect.any(Object), + }); +}); + +test('rules contain scope-enum', () => { + expect(config).toMatchObject({ + rules: { + 'scope-enum': expect.anything(), + }, + }); +}); + +test('scope-enum is function', () => { + expect(config).toMatchObject({ + rules: { + 'scope-enum': expect.any(Function), + }, + }); +}); + +test('scope-enum does not throw for missing context', async () => { + const {'scope-enum': fn} = config.rules; + await expect(fn()).resolves.toBeTruthy(); +}); + +test('scope-enum has expected severity', async () => { + const {'scope-enum': fn} = config.rules; + const [severity] = await fn(); + expect(severity).toBe(2); +}); + +test('scope-enum has expected modifier', async () => { + const {'scope-enum': fn} = config.rules; + const [, modifier] = await fn(); + expect(modifier).toBe('always'); +}); + +test('returns empty value for empty nx repository', async () => { + const {'scope-enum': fn} = config.rules; + const cwd = await npm.bootstrap('fixtures/empty', __dirname); + const [, , value] = await fn({cwd}); + expect(value).toEqual([]); +}); + +test('returns expected value for basic nx repository', async () => { + const {'scope-enum': fn} = config.rules; + const cwd = await npm.bootstrap('fixtures/basic', __dirname); + + const [, , value] = await fn({cwd}); + expect(value).toEqual(['a', 'b']); +}); diff --git a/@commitlint/config-nx-scopes/license.md b/@commitlint/config-nx-scopes/license.md new file mode 100644 index 0000000000..d53adb06e4 --- /dev/null +++ b/@commitlint/config-nx-scopes/license.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 - present Florian Guitton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/@commitlint/config-nx-scopes/package.json b/@commitlint/config-nx-scopes/package.json new file mode 100644 index 0000000000..ed55af6c90 --- /dev/null +++ b/@commitlint/config-nx-scopes/package.json @@ -0,0 +1,46 @@ +{ + "name": "@commitlint/config-nx-scopes", + "version": "16.0.0", + "description": "Shareable commitlint config enforcing nx project and workspace names as scopes", + "files": [ + "index.js" + ], + "scripts": { + "deps": "dep-check", + "pkg": "pkg-check" + }, + "repository": { + "type": "git", + "url": "https://github.com/conventional-changelog/commitlint.git", + "directory": "@commitlint/config-nx-scopes" + }, + "keywords": [ + "conventional-changelog", + "commitlint", + "commitlint-config", + "nx" + ], + "author": "Florian Guitton ", + "license": "MIT", + "bugs": { + "url": "https://github.com/conventional-changelog/commitlint/issues" + }, + "homepage": "https://commitlint.js.org/", + "peerDependencies": { + "@nrwl/tao": "^12.0.0 || ^13.0.0" + }, + "peerDependenciesMeta": { + "@nrwl/tao": { + "optional": true + } + }, + "engines": { + "node": ">=v12" + }, + "devDependencies": { + "@commitlint/test": "^16.0.0", + "@commitlint/utils": "^16.0.0", + "@nrwl/tao": "^13.0.0" + }, + "gitHead": "70f7f4688b51774e7ac5e40e896cdaa3f132b2bc" +} diff --git a/@commitlint/config-nx-scopes/readme.md b/@commitlint/config-nx-scopes/readme.md new file mode 100644 index 0000000000..ad3e92c762 --- /dev/null +++ b/@commitlint/config-nx-scopes/readme.md @@ -0,0 +1,44 @@ +> Lint your nx project commits + +# @commitlint/config-nx-scopes + +Shareable `commitlint` config enforcing nx project and workspace names as scopes. +Use with [@commitlint/cli](../cli) and [@commitlint/prompt-cli](../prompt-cli). + +## Getting started + +``` +npm install --save-dev @commitlint/config-nx-scopes @commitlint/cli +echo "module.exports = {extends: ['@commitlint/config-nx-scopes']};" > commitlint.config.js +``` + +## Examples + +``` +❯ cat commitlint.config.js +{ + extends: ['@commitlint/config-nx-scopes'] +} + +❯ tree packages + +packages +├── api +├── app +└── web + +❯ echo "build(api): change something in api's build" | commitlint +⧗ input: build(api): change something in api's build +✔ found 0 problems, 0 warnings + +❯ echo "test(foo): this won't pass" | commitlint +⧗ input: test(foo): this won't pass +✖ scope must be one of [api, app, web] [scope-enum] +✖ found 1 problems, 0 warnings + +❯ echo "ci: do some general maintenance" | commitlint +⧗ input: ci: do some general maintenance +✔ found 0 problems, 0 warnings +``` + +Consult [docs/rules](https://conventional-changelog.github.io/commitlint/#/reference-rules) for a list of available rules. diff --git a/README.md b/README.md index f55f556678..c936e8e615 100644 --- a/README.md +++ b/README.md @@ -156,6 +156,7 @@ A number of shared configurations are available to install and use with `commitl - [@commitlint/config-angular](./@commitlint/config-angular) - [@commitlint/config-conventional](./@commitlint/config-conventional) - [@commitlint/config-lerna-scopes](./@commitlint/config-lerna-scopes) +- [@commitlint/config-nx-scopes](./@commitlint/config-nx-scopes) - [@commitlint/config-patternplate](./@commitlint/config-patternplate) - [conventional-changelog-lint-config-atom](https://github.com/erikmueller/conventional-changelog-lint-config-atom) - [conventional-changelog-lint-config-canonical](https://github.com/gajus/conventional-changelog-lint-config-canonical) diff --git a/yarn.lock b/yarn.lock index 3f79ef64a7..3aae246a77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2115,6 +2115,36 @@ puka "^1.0.1" read-package-json-fast "^2.0.1" +"@nrwl/cli@13.5.1": + version "13.5.1" + resolved "https://registry.npmjs.org/@nrwl/cli/-/cli-13.5.1.tgz#f53a16ab373c5355bd599ea364ccd14a8d2b1aae" + integrity sha512-7DETXdSAs4Lr/Nywh44MXwoztdkmpPgHPgB8X1izrBGvGropVbMmjEsKLUGPS2CDPrCLfB9GcSdx04N3jy9NaA== + dependencies: + "@nrwl/tao" "13.5.1" + chalk "4.1.0" + enquirer "~2.3.6" + v8-compile-cache "2.3.0" + yargs-parser "20.0.0" + +"@nrwl/tao@13.5.1", "@nrwl/tao@^13.0.0": + version "13.5.1" + resolved "https://registry.npmjs.org/@nrwl/tao/-/tao-13.5.1.tgz#e08fa05d2e51d7a7474011c7fc25f304c0f7f68e" + integrity sha512-NYtGYs5jKC8U6aDR1wvgbOP7oE9guHKGrF9+4NBnE8wFpXQ7FmLlIVj1eOVxSvYAsCunwqE6lhILV9kmhULQ+g== + dependencies: + chalk "4.1.0" + enquirer "~2.3.6" + fast-glob "3.2.7" + fs-extra "^9.1.0" + ignore "^5.0.4" + jsonc-parser "3.0.0" + nx "13.5.1" + rxjs "^6.5.4" + rxjs-for-await "0.0.2" + semver "7.3.4" + tmp "~0.2.1" + tslib "^2.3.0" + yargs-parser "20.0.0" + "@octokit/auth-token@^2.4.4": version "2.4.5" resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" @@ -3165,6 +3195,14 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +chalk@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^1.1.1: version "1.1.3" resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -4068,7 +4106,7 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enquirer@^2.3.6: +enquirer@^2.3.6, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -4414,6 +4452,17 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-glob@3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" @@ -5138,7 +5187,7 @@ ignore@^4.0.6: resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.0.4, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -6165,6 +6214,11 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +jsonc-parser@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" + integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== + jsonc@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz#9e2a25100d164a9bb864c57517563717fa882551" @@ -7062,6 +7116,13 @@ nwsapi@^2.2.0: resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== +nx@13.5.1: + version "13.5.1" + resolved "https://registry.npmjs.org/nx/-/nx-13.5.1.tgz#4023364fcdfe142c211f8c4706570955a15666c4" + integrity sha512-x0qwxaC21RVLSwkWACHKRttAyaEFOM80znaN1DaZmAFtrjAjc8dDKxNbk529cabewgCGiyQeqZFqkoQOlel7Mw== + dependencies: + "@nrwl/cli" "13.5.1" + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -8128,6 +8189,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +rxjs-for-await@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/rxjs-for-await/-/rxjs-for-await-0.0.2.tgz#26598a1d6167147cc192172970e7eed4e620384b" + integrity sha512-IJ8R/ZCFMHOcDIqoABs82jal00VrZx8Xkgfe7TOKoaRPAW5nH/VFlG23bXpeGdrmtqI9UobFPgUKgCuFc7Lncw== + rxjs@^6.4.0, rxjs@^6.6.0: version "6.6.6" resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" @@ -8135,6 +8201,13 @@ rxjs@^6.4.0, rxjs@^6.6.0: dependencies: tslib "^1.9.0" +rxjs@^6.5.4: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + rxjs@^7.2.0: version "7.4.0" resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" @@ -8188,6 +8261,13 @@ semver@7.0.0: resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@7.3.4: + version "7.3.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + semver@7.3.5, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" @@ -8815,7 +8895,7 @@ tinydate@^1.3.0: resolved "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz#e6ca8e5a22b51bb4ea1c3a2a4fd1352dbd4c57fb" integrity sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w== -tmp@0.2.1: +tmp@0.2.1, tmp@~0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== @@ -8942,7 +9022,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0: +tslib@^2.1.0, tslib@^2.3.0: version "2.3.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -9204,7 +9284,7 @@ uuid@^3.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== -v8-compile-cache@^2.0.3: +v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -9511,6 +9591,11 @@ yargonaut@^1.1.2: figlet "^1.1.1" parent-require "^1.0.0" +yargs-parser@20.0.0: + version "20.0.0" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.0.0.tgz#c65a1daaa977ad63cebdd52159147b789a4e19a9" + integrity sha512-8eblPHTL7ZWRkyjIZJjnGf+TijiKJSwA24svzLRVvtgoi/RZiKa9fFQTrlx0OKLnyHSdt/enrdadji6WFfESVA== + yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"