diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87b5a8a33a..c7ee4553b4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,7 +44,7 @@ jobs: cmd5: npx nx run-many --target=test --projects=\"libs-*,nx-*\" --parallel=3 # e2e tests for everything except the primary task runner - - run: PUBLISHED_VERSION=999.9.9-e2e.0 npx nx run-many --target=run-e2e-tests-process --parallel=2 + - run: PUBLISHED_VERSION=999.9.9-e2e.0 npx nx run-many --target=run-e2e-tests-process --parallel=1 - name: Stop all running agents for this CI run # It's important that we always run this step, otherwise in the case of any failures in preceding non-Nx steps, the agents will keep running and waste billable minutes diff --git a/CHANGELOG.md b/CHANGELOG.md index 37819456f0..542587fdbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +### Bug Fixes + +- **run:** add explicit nx dependency ([#3486](https://github.com/lerna/lerna/issues/3486)) ([7e39397](https://github.com/lerna/lerna/commit/7e3939780df597ba6f1f0352299c2b5e77c7e824)) +- **version:** recognize .prettierignore when formatting files ([#3482](https://github.com/lerna/lerna/issues/3482)) ([4e2c7a9](https://github.com/lerna/lerna/commit/4e2c7a9b883d36681474f0998dbe27ba5f8574f4)) + +### Features + +- **create:** support relative path from root as lerna create location ([#3478](https://github.com/lerna/lerna/issues/3478)) ([82825ce](https://github.com/lerna/lerna/commit/82825ce98b43720cb7034e98f2b388ab14882bbf)) +- **watch:** Add `lerna watch` command ([#3466](https://github.com/lerna/lerna/issues/3466)) ([008b995](https://github.com/lerna/lerna/commit/008b995caab549c0707068e748e4f429bd729afa)) + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) ### Features diff --git a/commands/add/CHANGELOG.md b/commands/add/CHANGELOG.md index 0ddc71e80b..17b7acce3c 100644 --- a/commands/add/CHANGELOG.md +++ b/commands/add/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/add + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/add diff --git a/commands/add/package.json b/commands/add/package.json index e23ae20c0d..ae2d96674c 100644 --- a/commands/add/package.json +++ b/commands/add/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/add", - "version": "6.3.0", + "version": "6.4.0", "description": "Add a dependency to matched packages", "keywords": [ "lerna", diff --git a/commands/bootstrap/CHANGELOG.md b/commands/bootstrap/CHANGELOG.md index c536ac2cc7..a27d04b318 100644 --- a/commands/bootstrap/CHANGELOG.md +++ b/commands/bootstrap/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/bootstrap + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/bootstrap diff --git a/commands/bootstrap/package.json b/commands/bootstrap/package.json index 196d1d2194..5e4319d0de 100644 --- a/commands/bootstrap/package.json +++ b/commands/bootstrap/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/bootstrap", - "version": "6.3.0", + "version": "6.4.0", "description": "Link local packages together and install remaining package dependencies", "keywords": [ "lerna", diff --git a/commands/changed/CHANGELOG.md b/commands/changed/CHANGELOG.md index 2d8f54d92b..16a2e67adb 100644 --- a/commands/changed/CHANGELOG.md +++ b/commands/changed/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/changed + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/changed diff --git a/commands/changed/package.json b/commands/changed/package.json index 1c57b3d6c2..bc422125fe 100644 --- a/commands/changed/package.json +++ b/commands/changed/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/changed", - "version": "6.3.0", + "version": "6.4.0", "description": "List local packages that have changed since the last tagged release", "keywords": [ "lerna", diff --git a/commands/clean/CHANGELOG.md b/commands/clean/CHANGELOG.md index edcdbde6e0..e45ea59ce4 100644 --- a/commands/clean/CHANGELOG.md +++ b/commands/clean/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/clean + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/clean diff --git a/commands/clean/package.json b/commands/clean/package.json index fc189f5ff8..32d44d7e87 100644 --- a/commands/clean/package.json +++ b/commands/clean/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/clean", - "version": "6.3.0", + "version": "6.4.0", "description": "Remove the node_modules directory from all packages", "keywords": [ "lerna", diff --git a/commands/create/CHANGELOG.md b/commands/create/CHANGELOG.md index 4e1c9bebc8..05f8a16faa 100644 --- a/commands/create/CHANGELOG.md +++ b/commands/create/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +### Features + +- **create:** support relative path from root as lerna create location ([#3478](https://github.com/lerna/lerna/issues/3478)) ([82825ce](https://github.com/lerna/lerna/commit/82825ce98b43720cb7034e98f2b388ab14882bbf)) + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/create diff --git a/commands/create/README.md b/commands/create/README.md index f2a411c20f..0c5b7c2248 100644 --- a/commands/create/README.md +++ b/commands/create/README.md @@ -15,8 +15,13 @@ Positionals: name The package name (including scope), which must be locally unique _and_ publicly available [string] [required] loc A custom package location, defaulting to the first configured package - location [string] + location. The location must match a configured packages directory. + [string] +``` + +**Note**: For more info on how Lerna package directories are configured, see https://lerna.js.org/docs/faq#how-does-lerna-detect-packages. +``` Command Options: --access When using a scope, set publishConfig.access value [choices: "public", "restricted"] [default: public] diff --git a/commands/create/index.js b/commands/create/index.js index 7c36368512..95560f3795 100644 --- a/commands/create/index.js +++ b/commands/create/index.js @@ -52,12 +52,18 @@ class CreateCommand extends Command { // npm-package-arg handles all the edge-cases with scopes const { name, scope } = npa(pkgName); + if (!name && pkgName.includes("/")) { + throw new ValidationError( + "ENOPKGNAME", + "Invalid package name. Use the positional to specify package directory.\nSee https://github.com/lerna/lerna/tree/main/commands/create#usage for details." + ); + } + // optional scope is _not_ included in the directory name this.dirName = scope ? name.split("/").pop() : name; this.pkgName = name; - this.pkgsDir = - this.project.packageParentDirs.find((pd) => pd.indexOf(pkgLocation) > -1) || - this.project.packageParentDirs[0]; + + this.pkgsDir = this._getPackagesDir(pkgLocation); this.camelName = camelCase(this.dirName); @@ -144,6 +150,31 @@ class CreateCommand extends Command { return Promise.resolve(this.setDependencies()); } + _getPackagesDir(pkgLocation) { + const packageParentDirs = this.project.packageParentDirs; + + if (!pkgLocation) { + return packageParentDirs[0]; + } + + const normalizedPkgLocation = path + .resolve(this.project.rootPath, path.normalize(pkgLocation)) + .toLowerCase(); + const packageParentDirsLower = packageParentDirs.map((p) => p.toLowerCase()); + + // using indexOf over includes due to platform differences (/private/tmp should match /tmp on macOS) + const matchingPathIndex = packageParentDirsLower.findIndex((p) => p.indexOf(normalizedPkgLocation) > -1); + + if (matchingPathIndex > -1) { + return packageParentDirs[matchingPathIndex]; + } + + throw new ValidationError( + "ENOPKGDIR", + `Location "${pkgLocation}" is not configured as a workspace directory.` + ); + } + execute() { let chain = Promise.resolve(); diff --git a/commands/create/package.json b/commands/create/package.json index e6259023d9..1a9608062b 100644 --- a/commands/create/package.json +++ b/commands/create/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/create", - "version": "6.3.0", + "version": "6.4.0", "description": "Create a new lerna-managed package", "keywords": [ "lerna", diff --git a/commands/diff/CHANGELOG.md b/commands/diff/CHANGELOG.md index 8622fbd04b..bfeebd657f 100644 --- a/commands/diff/CHANGELOG.md +++ b/commands/diff/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/diff + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/diff diff --git a/commands/diff/package.json b/commands/diff/package.json index 0b80aa3883..9b0a672462 100644 --- a/commands/diff/package.json +++ b/commands/diff/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/diff", - "version": "6.3.0", + "version": "6.4.0", "description": "Diff all packages or a single package since the last release", "keywords": [ "lerna", diff --git a/commands/exec/CHANGELOG.md b/commands/exec/CHANGELOG.md index c6c507f997..38118b0e9e 100644 --- a/commands/exec/CHANGELOG.md +++ b/commands/exec/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/exec + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/exec diff --git a/commands/exec/package.json b/commands/exec/package.json index c08526d385..4a468085fe 100644 --- a/commands/exec/package.json +++ b/commands/exec/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/exec", - "version": "6.3.0", + "version": "6.4.0", "description": "Execute an arbitrary command in each package", "keywords": [ "lerna", diff --git a/commands/import/CHANGELOG.md b/commands/import/CHANGELOG.md index 7ee6a80377..0e4bf6d3cb 100644 --- a/commands/import/CHANGELOG.md +++ b/commands/import/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/import + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/import diff --git a/commands/import/package.json b/commands/import/package.json index e7760dca11..01fd79f5bf 100644 --- a/commands/import/package.json +++ b/commands/import/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/import", - "version": "6.3.0", + "version": "6.4.0", "description": "Import a package into the monorepo with commit history", "keywords": [ "lerna", diff --git a/commands/info/CHANGELOG.md b/commands/info/CHANGELOG.md index 977202abd7..5d13c6dfd1 100644 --- a/commands/info/CHANGELOG.md +++ b/commands/info/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/info + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/info diff --git a/commands/info/package.json b/commands/info/package.json index 587d5799fd..85a6dc91bd 100644 --- a/commands/info/package.json +++ b/commands/info/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/info", - "version": "6.3.0", + "version": "6.4.0", "description": "Prints local environment information", "keywords": [ "lerna", diff --git a/commands/init/CHANGELOG.md b/commands/init/CHANGELOG.md index d5d12793f6..ec6919474c 100644 --- a/commands/init/CHANGELOG.md +++ b/commands/init/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/init + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/init diff --git a/commands/init/package.json b/commands/init/package.json index 74e663c63b..b39a0311bc 100644 --- a/commands/init/package.json +++ b/commands/init/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/init", - "version": "6.3.0", + "version": "6.4.0", "description": "Create a new Lerna repo or upgrade an existing repo to the current version of Lerna", "keywords": [ "lerna", diff --git a/commands/link/CHANGELOG.md b/commands/link/CHANGELOG.md index a2fd6f0490..8afdb11892 100644 --- a/commands/link/CHANGELOG.md +++ b/commands/link/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/link + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/link diff --git a/commands/link/package.json b/commands/link/package.json index fb26123fcf..d997905578 100644 --- a/commands/link/package.json +++ b/commands/link/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/link", - "version": "6.3.0", + "version": "6.4.0", "description": "Symlink together all packages that are dependencies of each other", "keywords": [ "lerna", diff --git a/commands/list/CHANGELOG.md b/commands/list/CHANGELOG.md index a9b586be4a..f399c2e24e 100644 --- a/commands/list/CHANGELOG.md +++ b/commands/list/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/list + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/list diff --git a/commands/list/package.json b/commands/list/package.json index 474131af7c..c98ab88f88 100644 --- a/commands/list/package.json +++ b/commands/list/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/list", - "version": "6.3.0", + "version": "6.4.0", "description": "List local packages", "keywords": [ "lerna", diff --git a/commands/publish/CHANGELOG.md b/commands/publish/CHANGELOG.md index 361da31ecd..7a0c91b598 100644 --- a/commands/publish/CHANGELOG.md +++ b/commands/publish/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/publish + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/publish diff --git a/commands/publish/package.json b/commands/publish/package.json index 820f4e437b..12b8405217 100644 --- a/commands/publish/package.json +++ b/commands/publish/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/publish", - "version": "6.3.0", + "version": "6.4.0", "description": "Publish packages in the current project", "keywords": [ "lerna", diff --git a/commands/run/CHANGELOG.md b/commands/run/CHANGELOG.md index ee674ffc68..a660a4ded0 100644 --- a/commands/run/CHANGELOG.md +++ b/commands/run/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +### Bug Fixes + +- **run:** add explicit nx dependency ([#3486](https://github.com/lerna/lerna/issues/3486)) ([7e39397](https://github.com/lerna/lerna/commit/7e3939780df597ba6f1f0352299c2b5e77c7e824)) + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/run diff --git a/commands/run/package.json b/commands/run/package.json index 27a2e0114c..c81f5d9fab 100644 --- a/commands/run/package.json +++ b/commands/run/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/run", - "version": "6.3.0", + "version": "6.4.0", "description": "Run an npm script in each package that contains that script", "keywords": [ "lerna", @@ -42,6 +42,7 @@ "@lerna/timer": "file:../../utils/timer", "@lerna/validation-error": "file:../../core/validation-error", "fs-extra": "^9.1.0", + "nx": ">=14.8.6 < 16", "p-map": "^4.0.0" } } diff --git a/commands/version/CHANGELOG.md b/commands/version/CHANGELOG.md index 6d8c1dcaca..284b0c4200 100644 --- a/commands/version/CHANGELOG.md +++ b/commands/version/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +### Bug Fixes + +- **version:** recognize .prettierignore when formatting files ([#3482](https://github.com/lerna/lerna/issues/3482)) ([4e2c7a9](https://github.com/lerna/lerna/commit/4e2c7a9b883d36681474f0998dbe27ba5f8574f4)) + +### Features + +- **watch:** Add `lerna watch` command ([#3466](https://github.com/lerna/lerna/issues/3466)) ([008b995](https://github.com/lerna/lerna/commit/008b995caab549c0707068e748e4f429bd729afa)) + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) ### Features diff --git a/commands/version/__tests__/__snapshots__/version-command.test.js.snap b/commands/version/__tests__/__snapshots__/version-command.test.js.snap index ca0698714a..bafde0d9a0 100644 --- a/commands/version/__tests__/__snapshots__/version-command.test.js.snap +++ b/commands/version/__tests__/__snapshots__/version-command.test.js.snap @@ -67,13 +67,9 @@ diff --git a/lerna.json b/lerna.json index SHA..SHA 100644 --- a/lerna.json +++ b/lerna.json -@@ -2,4 +2,2 @@ +@@ -2 +2 @@ - \\"version\\": \\"1.0.0\\", -- \\"packages\\": [ -- \\"packages/*\\" -- ] + \\"version\\": \\"1.0.1\\", -+ \\"packages\\": [\\"packages/*\\"] diff --git a/packages/package-1/package.json b/packages/package-1/package.json index SHA..SHA 100644 --- a/packages/package-1/package.json @@ -142,13 +138,9 @@ diff --git a/lerna.json b/lerna.json index SHA..SHA 100644 --- a/lerna.json +++ b/lerna.json -@@ -2,4 +2,2 @@ +@@ -2 +2 @@ - \\"version\\": \\"1.0.0\\", -- \\"packages\\": [ -- \\"packages/*\\" -- ] + \\"version\\": \\"1.0.1\\", -+ \\"packages\\": [\\"packages/*\\"] diff --git a/packages/package-1/package.json b/packages/package-1/package.json index SHA..SHA 100644 --- a/packages/package-1/package.json @@ -285,13 +277,9 @@ diff --git a/lerna.json b/lerna.json index SHA..SHA 100644 --- a/lerna.json +++ b/lerna.json -@@ -2,4 +2,2 @@ +@@ -2 +2 @@ - \\"version\\": \\"1.0.0\\", -- \\"packages\\": [ -- \\"packages/*\\" -- ] + \\"version\\": \\"2.0.0\\", -+ \\"packages\\": [\\"packages/*\\"] diff --git a/packages/package-1/package.json b/packages/package-1/package.json index SHA..SHA 100644 --- a/packages/package-1/package.json @@ -350,13 +338,9 @@ diff --git a/lerna.json b/lerna.json index SHA..SHA 100644 --- a/lerna.json +++ b/lerna.json -@@ -2,4 +2,2 @@ +@@ -2 +2 @@ - \\"version\\": \\"1.0.0\\", -- \\"packages\\": [ -- \\"packages/*\\" -- ] + \\"version\\": \\"1.1.0\\", -+ \\"packages\\": [\\"packages/*\\"] diff --git a/packages/package-3/package.json b/packages/package-3/package.json index SHA..SHA 100644 --- a/packages/package-3/package.json @@ -375,13 +359,9 @@ diff --git a/lerna.json b/lerna.json index SHA..SHA 100644 --- a/lerna.json +++ b/lerna.json -@@ -2,4 +2,2 @@ +@@ -2 +2 @@ - \\"version\\": \\"1.0.0\\", -- \\"packages\\": [ -- \\"packages/*\\" -- ] + \\"version\\": \\"1.0.1\\", -+ \\"packages\\": [\\"packages/*\\"] diff --git a/packages/package-1/package.json b/packages/package-1/package.json index SHA..SHA 100644 --- a/packages/package-1/package.json diff --git a/commands/version/lib/git-add.js b/commands/version/lib/git-add.js index 6a81c1426f..2f81a9056a 100644 --- a/commands/version/lib/git-add.js +++ b/commands/version/lib/git-add.js @@ -35,9 +35,20 @@ function maybeFormatFile(filePath) { return; } const config = resolvedPrettier.resolveConfig.sync(filePath); + const ignorePath = path.join(workspaceRoot, ".prettierignore"); + const fullFilePath = path.join(workspaceRoot, filePath); + + if (resolvedPrettier.getFileInfo.sync(fullFilePath, { ignorePath }).ignored) { + log.silly("version", `Skipped applying prettier to ignored file: ${filePath}`); + return; + } try { - const input = fs.readFileSync(filePath, "utf8"); - fs.writeFileSync(filePath, resolvedPrettier.format(input, { ...config, filepath: filePath }), "utf8"); + const input = fs.readFileSync(fullFilePath, "utf8"); + fs.writeFileSync( + fullFilePath, + resolvedPrettier.format(input, { ...config, filepath: fullFilePath }), + "utf8" + ); log.silly("version", `Successfully applied prettier to updated file: ${filePath}`); } catch { log.silly("version", `Failed to apply prettier to updated file: ${filePath}`); diff --git a/commands/version/package.json b/commands/version/package.json index 5ce646354c..07b1845c1c 100644 --- a/commands/version/package.json +++ b/commands/version/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/version", - "version": "6.3.0", + "version": "6.4.0", "description": "Bump version of packages changed since the last release", "keywords": [ "lerna", @@ -48,7 +48,7 @@ "@lerna/run-topologically": "file:../../utils/run-topologically", "@lerna/temp-write": "file:../../utils/temp-write", "@lerna/validation-error": "file:../../core/validation-error", - "@nrwl/devkit": ">=14.8.6 < 16", + "@nrwl/devkit": ">=15.4.2 < 16", "chalk": "^4.1.0", "dedent": "^0.7.0", "load-json-file": "^6.2.0", diff --git a/core/child-process/CHANGELOG.md b/core/child-process/CHANGELOG.md index 205341710a..10b5dfb3e8 100644 --- a/core/child-process/CHANGELOG.md +++ b/core/child-process/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/child-process + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/child-process diff --git a/core/child-process/package.json b/core/child-process/package.json index a8df78db73..5adbc8098a 100644 --- a/core/child-process/package.json +++ b/core/child-process/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/child-process", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's internal child_process wrapper", "keywords": [ "lerna", diff --git a/core/cli/CHANGELOG.md b/core/cli/CHANGELOG.md index 1180a1c217..c7f157d675 100644 --- a/core/cli/CHANGELOG.md +++ b/core/cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/cli + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/cli diff --git a/core/cli/package.json b/core/cli/package.json index a45c9f73f6..1ce98ec716 100644 --- a/core/cli/package.json +++ b/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/cli", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's CLI", "keywords": [ "lerna", diff --git a/core/command/CHANGELOG.md b/core/command/CHANGELOG.md index d474aa2914..1622b0057a 100644 --- a/core/command/CHANGELOG.md +++ b/core/command/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/command + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/command diff --git a/core/command/package.json b/core/command/package.json index 48ec1f06d4..af8b2984a1 100644 --- a/core/command/package.json +++ b/core/command/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/command", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's internal base class for commands", "keywords": [ "lerna", diff --git a/core/conventional-commits/CHANGELOG.md b/core/conventional-commits/CHANGELOG.md index 479459c43a..0ee2c5ecaf 100644 --- a/core/conventional-commits/CHANGELOG.md +++ b/core/conventional-commits/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/conventional-commits + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/conventional-commits diff --git a/core/conventional-commits/package.json b/core/conventional-commits/package.json index 8183965128..6224861537 100644 --- a/core/conventional-commits/package.json +++ b/core/conventional-commits/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/conventional-commits", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's internal interface to conventional-changelog and friends", "keywords": [ "lerna", diff --git a/core/filter-options/CHANGELOG.md b/core/filter-options/CHANGELOG.md index 1d90303243..1805fda93e 100644 --- a/core/filter-options/CHANGELOG.md +++ b/core/filter-options/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/filter-options + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/filter-options diff --git a/core/filter-options/package.json b/core/filter-options/package.json index 28c22f66c3..491fb971ef 100644 --- a/core/filter-options/package.json +++ b/core/filter-options/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/filter-options", - "version": "6.3.0", + "version": "6.4.0", "description": "Options for lerna sub-commands that need filtering", "keywords": [ "lerna", diff --git a/core/global-options/CHANGELOG.md b/core/global-options/CHANGELOG.md index 9eb30a536c..6c106b2ce5 100644 --- a/core/global-options/CHANGELOG.md +++ b/core/global-options/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/global-options + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/global-options diff --git a/core/global-options/package.json b/core/global-options/package.json index 2293428220..2696bf1163 100644 --- a/core/global-options/package.json +++ b/core/global-options/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/global-options", - "version": "6.3.0", + "version": "6.4.0", "description": "Global options applicable to _every_ lerna sub-command", "keywords": [ "lerna", diff --git a/core/lerna/CHANGELOG.md b/core/lerna/CHANGELOG.md index c9b41876b3..bc028bb14d 100644 --- a/core/lerna/CHANGELOG.md +++ b/core/lerna/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +### Features + +- **watch:** Add `lerna watch` command ([#3466](https://github.com/lerna/lerna/issues/3466)) ([008b995](https://github.com/lerna/lerna/commit/008b995caab549c0707068e748e4f429bd729afa)) + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) ### Features diff --git a/core/lerna/commands/watch/README.md b/core/lerna/commands/watch/README.md new file mode 100644 index 0000000000..3c189df6b6 --- /dev/null +++ b/core/lerna/commands/watch/README.md @@ -0,0 +1,49 @@ +# `lerna watch` + +> Watch for changes within packages and execute commands from the root of the repository + +Install [lerna](https://www.npmjs.com/package/lerna) for access to the `lerna` CLI. + +## Usage + +```sh +$ lerna watch -- +``` + +The values `$LERNA_PACKAGE_NAME` and `$LERNA_FILE_CHANGES` will be replaced with the package and the file(s) that changed, respectively. If multiple file changes are detected in one cycle, then `$LERNA_FILE_CHANGES` will list them all, separated by spaces. + +> 💡 When using `$LERNA_PACKAGE_NAME` and `$LERNA_FILE_CHANGES`, you will need to escape the dollar sign with a backslash (`\`). See the [examples](#examples) below. + +### Examples + +Watch all packages and echo the package name and the files that changed: + +```sh +$ lerna watch -- echo \$LERNA_PACKAGE_NAME \$LERNA_FILE_CHANGES +``` + +Watch only packages "package-1", "package-3" and their dependencies: + +```sh +$ lerna watch --scope "package-{1,3}" --include-dependencies -- echo \$LERNA_PACKAGE_NAME \$LERNA_FILE_CHANGES +``` + +Watch only package "package-4" and its dependencies and run the `test` script for the package that changed: + +```sh +$ lerna watch --scope="package-4" --include-dependencies -- lerna run test --scope=\$LERNA_PACKAGE_NAME +``` + +When using `npx`, the `-c` option must be used if also providing variables for substitution: + +```sh +$ npx -c 'lerna watch -- echo \$LERNA_PACKAGE_NAME \$LERNA_FILE_CHANGES' +``` + +## Options + +`lerna watch` accepts all [filter flags](https://www.npmjs.com/package/@lerna/filter-options). Filter flags can be used to select specific packages to watch. See the [examples](#examples) above. + +### `--verbose` + +Run `lerna watch` in verbose mode, where commands are logged before execution. diff --git a/core/lerna/commands/watch/command.js b/core/lerna/commands/watch/command.js new file mode 100644 index 0000000000..79f1b5a938 --- /dev/null +++ b/core/lerna/commands/watch/command.js @@ -0,0 +1,39 @@ +// @ts-check + +"use strict"; + +const { filterOptions } = require("@lerna/filter-options"); + +/** + * @see https://github.com/yargs/yargs/blob/master/docs/advanced.md#providing-a-command-module + */ +exports.command = "watch"; + +exports.describe = "Runs a command whenever packages or their dependents change."; + +exports.builder = (yargs) => { + yargs + .parserConfiguration({ + "populate--": true, + "strip-dashed": true, + }) + .option("command", { type: "string", hidden: true }) + .option("verbose", { + type: "boolean", + description: "Run watch mode in verbose mode, where commands are logged before execution.", + }) + .middleware((args) => { + const { "--": doubleDash } = args; + if (doubleDash && Array.isArray(doubleDash)) { + // eslint-disable-next-line no-param-reassign + args.command = doubleDash.join(" "); + } + }, true); + + return filterOptions(yargs); +}; + +exports.handler = function handler(argv) { + // eslint-disable-next-line global-require + return require(".")(argv); +}; diff --git a/core/lerna/commands/watch/index.js b/core/lerna/commands/watch/index.js new file mode 100644 index 0000000000..82ec312f39 --- /dev/null +++ b/core/lerna/commands/watch/index.js @@ -0,0 +1,64 @@ +// @ts-check + +"use strict"; + +const { Command } = require("@lerna/command"); +const { getFilteredPackages } = require("@lerna/filter-options"); +const { ValidationError } = require("@lerna/validation-error"); +const { watch } = require("nx/src/command-line/watch"); +const { readNxJson } = require("nx/src/config/configuration"); + +module.exports = factory; + +const getNxProjectNamesFromLernaPackageNames = (packageNames) => { + const nxJson = readNxJson(); + const nxConfiguredNpmScope = nxJson.npmScope; + + return nxConfiguredNpmScope + ? packageNames.map((name) => name.replace(`@${nxConfiguredNpmScope}/`, "")) + : packageNames; +}; + +function factory(argv) { + return new WatchCommand(argv); +} + +class WatchCommand extends Command { + get requiresGit() { + return false; + } + + async initialize() { + if (!this.options.command) { + throw new ValidationError("ENOCOMMAND", "A command to execute is required"); + } + + this.filteredPackages = await getFilteredPackages(this.packageGraph, this.execOpts, this.options); + + this.count = this.filteredPackages.length; + this.packagePlural = this.count === 1 ? "package" : "packages"; + } + + async execute() { + this.logger.info( + "watch", + "Executing command %j on changes in %d %s.", + this.options.command, + this.count, + this.packagePlural + ); + + const projectNames = getNxProjectNamesFromLernaPackageNames(this.filteredPackages.map((p) => p.name)); + + await watch({ + command: this.options.command, + projectNameEnvName: "LERNA_PACKAGE_NAME", + fileChangesEnvName: "LERNA_FILE_CHANGES", + includeDependentProjects: false, // dependent projects are accounted for via lerna filter options + projects: projectNames, + verbose: this.options.verbose, + }); + } +} + +module.exports.WatchCommand = WatchCommand; diff --git a/core/lerna/index.js b/core/lerna/index.js index 5d582c0eb8..2fe244b58f 100644 --- a/core/lerna/index.js +++ b/core/lerna/index.js @@ -22,6 +22,7 @@ const versionCmd = require("@lerna/version/command"); const repairCmd = require("./commands/repair/command"); const addCachingCmd = require("./commands/add-caching/command"); +const watchCmd = require("./commands/watch/command"); const pkg = require("./package.json"); @@ -51,6 +52,7 @@ function main(argv) { .command(publishCmd) .command(repairCmd) .command(runCmd) + .command(watchCmd) .command(versionCmd) .parse(argv, context); } diff --git a/core/lerna/package.json b/core/lerna/package.json index dbcd6e81c5..a8b54bdd82 100644 --- a/core/lerna/package.json +++ b/core/lerna/package.json @@ -1,6 +1,6 @@ { "name": "lerna", - "version": "6.3.0", + "version": "6.4.0", "description": "A tool for managing JavaScript projects with multiple packages.", "keywords": [ "lerna", @@ -51,6 +51,7 @@ "@lerna/create": "file:../../commands/create", "@lerna/diff": "file:../../commands/diff", "@lerna/exec": "file:../../commands/exec", + "@lerna/filter-options": "file:../filter-options", "@lerna/import": "file:../../commands/import", "@lerna/info": "file:../../commands/info", "@lerna/init": "file:../../commands/init", @@ -58,12 +59,13 @@ "@lerna/list": "file:../../commands/list", "@lerna/publish": "file:../../commands/publish", "@lerna/run": "file:../../commands/run", + "@lerna/validation-error": "file:../validation-error", "@lerna/version": "file:../../commands/version", - "@nrwl/devkit": ">=14.8.6 < 16", + "@nrwl/devkit": ">=15.4.2 < 16", "import-local": "^3.0.2", "inquirer": "^8.2.4", "npmlog": "^6.0.2", - "nx": ">=14.8.6 < 16", + "nx": ">=15.4.2 < 16", "typescript": "^3 || ^4" } } diff --git a/core/lerna/schemas/lerna-schema.json b/core/lerna/schemas/lerna-schema.json index 4db8c6eb07..e4fc571ed0 100644 --- a/core/lerna/schemas/lerna-schema.json +++ b/core/lerna/schemas/lerna-schema.json @@ -1120,6 +1120,33 @@ "$ref": "#/$defs/filters/continueIfNoMatch" } } + }, + "watch": { + "type": "object", + "description": "Options for the `watch` command.", + "properties": { + "scope": { + "$ref": "#/$defs/filters/scope" + }, + "ignore": { + "$ref": "#/$defs/filters/ignore" + }, + "private": { + "$ref": "#/$defs/filters/private" + }, + "since": { + "$ref": "#/$defs/filters/since" + }, + "excludeDependents": { + "$ref": "#/$defs/filters/excludeDependents" + }, + "includeDependents": { + "$ref": "#/$defs/filters/includeDependents" + }, + "includeDependencies": { + "$ref": "#/$defs/filters/includeDependencies" + } + } } } }, diff --git a/core/otplease/CHANGELOG.md b/core/otplease/CHANGELOG.md index 8c396d741e..12f587e5cc 100644 --- a/core/otplease/CHANGELOG.md +++ b/core/otplease/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/otplease + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/otplease diff --git a/core/otplease/package.json b/core/otplease/package.json index 046b75c422..fffe009257 100644 --- a/core/otplease/package.json +++ b/core/otplease/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/otplease", - "version": "6.3.0", + "version": "6.4.0", "description": "Prompt for OTP when wrapped Promise fails", "keywords": [ "lerna", diff --git a/core/package-graph/CHANGELOG.md b/core/package-graph/CHANGELOG.md index 584159d019..fec5f76b82 100644 --- a/core/package-graph/CHANGELOG.md +++ b/core/package-graph/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/package-graph + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/package-graph diff --git a/core/package-graph/package.json b/core/package-graph/package.json index ff9a7bcbdb..09943a4b8e 100644 --- a/core/package-graph/package.json +++ b/core/package-graph/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/package-graph", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's internal representation of a package graph", "keywords": [ "lerna", diff --git a/core/package/CHANGELOG.md b/core/package/CHANGELOG.md index 8ce99ee308..3c1cc472ba 100644 --- a/core/package/CHANGELOG.md +++ b/core/package/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/package + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/package diff --git a/core/package/package.json b/core/package/package.json index eaea32755a..1821b9d570 100644 --- a/core/package/package.json +++ b/core/package/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/package", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's internal representation of a package", "keywords": [ "lerna", diff --git a/core/project/CHANGELOG.md b/core/project/CHANGELOG.md index 3c44ea698f..21be6a2d75 100644 --- a/core/project/CHANGELOG.md +++ b/core/project/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/project + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/project diff --git a/core/project/package.json b/core/project/package.json index ddf22fa3de..ece9c86ace 100644 --- a/core/project/package.json +++ b/core/project/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/project", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna project configuration", "keywords": [ "lerna", diff --git a/core/prompt/CHANGELOG.md b/core/prompt/CHANGELOG.md index 5a38737c51..4de4a81a15 100644 --- a/core/prompt/CHANGELOG.md +++ b/core/prompt/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/prompt + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/prompt diff --git a/core/prompt/package.json b/core/prompt/package.json index 6deea14369..b2d142ca54 100644 --- a/core/prompt/package.json +++ b/core/prompt/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/prompt", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/core/validation-error/CHANGELOG.md b/core/validation-error/CHANGELOG.md index f4128c5d81..f319d929fa 100644 --- a/core/validation-error/CHANGELOG.md +++ b/core/validation-error/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/validation-error + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/validation-error diff --git a/core/validation-error/package.json b/core/validation-error/package.json index 3e1ff09d6e..a5c6391c60 100644 --- a/core/validation-error/package.json +++ b/core/validation-error/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/validation-error", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/e2e/create/src/create.spec.ts b/e2e/create/src/create.spec.ts index 270709f9cd..2de66937ac 100644 --- a/e2e/create/src/create.spec.ts +++ b/e2e/create/src/create.spec.ts @@ -27,6 +27,10 @@ describe("lerna-create", () => { runLernaInit: true, installDependencies: true, }); + await fixture.updateJson("lerna.json", (json) => ({ + ...json, + packages: ["packages/*", "apps/*", "libs/react/*"], + })); }); afterAll(() => fixture.destroy()); @@ -1175,6 +1179,92 @@ describe("lerna-create", () => { `); }); }); + + describe("and a location", () => { + it("one segment long", async () => { + const packageName = "one-segment"; + await fixture.lerna(`create @scope/${packageName} apps -y`); + + const fileExists = await fixture.workspaceFileExists(`apps/${packageName}/README.md`); + expect(fileExists).toBe(true); + }); + + it("two segments long", async () => { + const packageName = "two-segments"; + await fixture.lerna(`create @scope/${packageName} libs/react -y`); + + const fileExists = await fixture.workspaceFileExists(`libs/react/${packageName}/README.md`); + expect(fileExists).toBe(true); + }); + + it("two segments long with mismatched casing", async () => { + const packageName = "two-segments-case-sensitivity"; + await fixture.lerna(`create @scope/${packageName} Libs/React -y`); + + const fileExists = await fixture.workspaceFileExists(`libs/react/${packageName}/README.md`); + expect(fileExists).toBe(true); + }); + + it("two segments long relative path from the root", async () => { + const packageName = "two-segments-relative"; + await fixture.lerna(`create @scope/${packageName} ./libs/react -y`); + + const fileExists = await fixture.workspaceFileExists(`libs/react/${packageName}/README.md`); + expect(fileExists).toBe(true); + }); + + it("two segments long absolute path", async () => { + const packageName = "two-segments-absolute"; + const absolutePath = fixture.getWorkspacePath("libs/react"); + await fixture.lerna(`create @scope/${packageName} ${absolutePath} -y`); + + const fileExists = await fixture.workspaceFileExists(`libs/react/${packageName}/README.md`); + expect(fileExists).toBe(true); + }); + + describe("throws an error", () => { + it("when the location does not match a configured workspace directory", async () => { + const packageName = "invalid-location-with-scope"; + const result = await fixture.lerna(`create @scope/${packageName} invalid-location -y`, { + silenceError: true, + }); + + expect(result.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna ERR! ENOPKGDIR Location "invalid-location" is not configured as a workspace directory. + + `); + }); + }); + }); + + describe("throws an error", () => { + it("when the name is invalid and appears to be a path", async () => { + const packageName = "apps/@scope/invalid-package-name"; + const result = await fixture.lerna(`create ${packageName} -y`, { silenceError: true }); + + expect(result.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna ERR! ENOPKGNAME Invalid package name. Use the positional to specify package directory. + lerna ERR! ENOPKGNAME See https://github.com/lerna/lerna/tree/main/commands/create#usage for details. + + `); + }); + }); + }); + + describe("throws an error", () => { + it("when package name appears to be a path", async () => { + const packageName = "apps/invalid-package-name"; + const result = await fixture.lerna(`create ${packageName} -y`, { silenceError: true }); + + expect(result.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna ERR! ENOPKGNAME Invalid package name. Use the positional to specify package directory. + lerna ERR! ENOPKGNAME See https://github.com/lerna/lerna/tree/main/commands/create#usage for details. + + `); + }); }); describe("created test script", () => { diff --git a/e2e/publish/src/publish-pnpm-workspace-prefix.spec.ts b/e2e/publish/src/publish-pnpm-workspace-prefix.spec.ts new file mode 100644 index 0000000000..b375fdcabb --- /dev/null +++ b/e2e/publish/src/publish-pnpm-workspace-prefix.spec.ts @@ -0,0 +1,270 @@ +import { Fixture, normalizeCommitSHAs, normalizeEnvironment } from "@lerna/e2e-utils"; +import { writeJsonFile } from "@nrwl/devkit"; + +const randomInt = (min: number, max: number) => Math.floor(Math.random() * (max - min + 1)) + min; +const randomVersion = () => `${randomInt(10, 89)}.${randomInt(10, 89)}.${randomInt(10, 89)}`; + +expect.addSnapshotSerializer({ + serialize(str: string) { + return normalizeCommitSHAs(normalizeEnvironment(str)) + .replaceAll(/integrity:\s*.*/g, "integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") + .replaceAll(/\d*\.?\d+\s?[KMGTkmgt]?B/g, "XXXB"); + }, + test(val: string) { + return val != null && typeof val === "string"; + }, +}); + +describe("lerna-publish-workspace-prefix-pnpm", () => { + let fixture: Fixture; + + beforeEach(async () => { + fixture = await Fixture.create({ + e2eRoot: process.env.E2E_ROOT, + name: "lerna-publish-workspace-prefix", + packageManager: "pnpm", + initializeGit: true, + runLernaInit: true, + installDependencies: true, + }); + }); + afterEach(() => fixture.destroy()); + + describe("from-git", () => { + it("should publish to the remote registry, removing workspace: prefix from dependencies", async () => { + await fixture.lerna("create test-workspace-alias-star -y"); + await fixture.lerna("create test-workspace-alias-tilde -y"); + await fixture.lerna("create test-workspace-alias-caret -y"); + await fixture.lerna("create test-workspace-exact -y"); + await fixture.lerna("create test-workspace-compat -y"); + await fixture.lerna("create test-workspace-approx -y"); + await fixture.lerna("create test-no-workspace-prefix -y"); + await fixture.lerna("create test-main -y"); + + await fixture.updateJson(`packages/test-main/package.json`, (json) => ({ + ...json, + dependencies: { + ...(json.dependencies as Record), + "test-workspace-alias-star": "workspace:*", + "test-workspace-alias-tilde": "workspace:~", + "test-workspace-alias-caret": "workspace:^", + "test-workspace-exact": `workspace:0.0.0`, + "test-workspace-compat": `workspace:^0.0.0`, + "test-workspace-approx": `workspace:~0.0.0`, + "test-no-workspace-prefix": `^0.0.0`, + }, + })); + + const version = randomVersion(); + await fixture.createInitialGitCommit(); + await fixture.exec("git push origin test-main"); + + await fixture.lerna(`version ${version} -y`); + + const output = await fixture.lerna( + "publish from-git --registry=http://localhost:4872 -y --concurrency 1" + ); + + const replaceVersion = (str: string) => str.replaceAll(version, "XX.XX.XX"); + + const unpublish = async (packageName: string) => { + const unpublishOutput = await fixture.exec( + `npm unpublish ${packageName}@${version} --force --registry=http://localhost:4872` + ); + expect(replaceVersion(unpublishOutput.combinedOutput)).toContain(`${packageName}@XX.XX.XX`); + }; + + expect(replaceVersion(output.combinedOutput)).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + + Found 8 packages to publish: + - test-main => XX.XX.XX + - test-no-workspace-prefix => XX.XX.XX + - test-workspace-alias-caret => XX.XX.XX + - test-workspace-alias-star => XX.XX.XX + - test-workspace-alias-tilde => XX.XX.XX + - test-workspace-approx => XX.XX.XX + - test-workspace-compat => XX.XX.XX + - test-workspace-exact => XX.XX.XX + + lerna info auto-confirmed + lerna info publish Publishing packages to npm... + lerna notice Skipping all user and access validation due to third-party registry + lerna notice Make sure you're authenticated properly ¯\\_(ツ)_/¯ + lerna WARN ENOLICENSE Packages test-main, test-no-workspace-prefix, test-workspace-alias-caret, test-workspace-alias-star, test-workspace-alias-tilde, test-workspace-approx, test-workspace-compat, and test-workspace-exact are missing a license. + lerna WARN ENOLICENSE One way to fix this is to add a LICENSE.md file to the root of this repository. + lerna WARN ENOLICENSE See https://choosealicense.com for additional guidance. + lerna success published test-no-workspace-prefix XX.XX.XX + lerna notice + lerna notice 📦 test-no-workspace-prefix@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-no-workspace-prefix.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-no-workspace-prefix + lerna notice version: XX.XX.XX + lerna notice filename: test-no-workspace-prefix-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-workspace-alias-caret XX.XX.XX + lerna notice + lerna notice 📦 test-workspace-alias-caret@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-workspace-alias-caret.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-workspace-alias-caret + lerna notice version: XX.XX.XX + lerna notice filename: test-workspace-alias-caret-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-workspace-alias-star XX.XX.XX + lerna notice + lerna notice 📦 test-workspace-alias-star@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-workspace-alias-star.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-workspace-alias-star + lerna notice version: XX.XX.XX + lerna notice filename: test-workspace-alias-star-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-workspace-alias-tilde XX.XX.XX + lerna notice + lerna notice 📦 test-workspace-alias-tilde@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-workspace-alias-tilde.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-workspace-alias-tilde + lerna notice version: XX.XX.XX + lerna notice filename: test-workspace-alias-tilde-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-workspace-approx XX.XX.XX + lerna notice + lerna notice 📦 test-workspace-approx@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-workspace-approx.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-workspace-approx + lerna notice version: XX.XX.XX + lerna notice filename: test-workspace-approx-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-workspace-compat XX.XX.XX + lerna notice + lerna notice 📦 test-workspace-compat@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-workspace-compat.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-workspace-compat + lerna notice version: XX.XX.XX + lerna notice filename: test-workspace-compat-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-workspace-exact XX.XX.XX + lerna notice + lerna notice 📦 test-workspace-exact@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-workspace-exact.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-workspace-exact + lerna notice version: XX.XX.XX + lerna notice filename: test-workspace-exact-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + lerna success published test-main XX.XX.XX + lerna notice + lerna notice 📦 test-main@XX.XX.XX + lerna notice === Tarball Contents === + lerna notice XXXB lib/test-main.js + lerna notice XXXB package.json + lerna notice XXXB README.md + lerna notice === Tarball Details === + lerna notice name: test-main + lerna notice version: XX.XX.XX + lerna notice filename: test-main-XX.XX.XX.tgz + lerna notice package size: XXXB + lerna notice unpacked size: XXXB + lerna notice shasum: {FULL_COMMIT_SHA} + lerna notice integrity: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + lerna notice total files: 3 + lerna notice + Successfully published: + - test-main@XX.XX.XX + - test-no-workspace-prefix@XX.XX.XX + - test-workspace-alias-caret@XX.XX.XX + - test-workspace-alias-star@XX.XX.XX + - test-workspace-alias-tilde@XX.XX.XX + - test-workspace-approx@XX.XX.XX + - test-workspace-compat@XX.XX.XX + - test-workspace-exact@XX.XX.XX + lerna success published 8 packages + + `); + + await fixture.exec("mkdir test-install-published-packages"); + writeJsonFile(fixture.getWorkspacePath("test-install-published-packages/package.json"), { + name: "test-install-published-packages", + dependencies: { + "test-main": version, + }, + }); + + // ensure that the published packages can be installed + // this verifies the validity of the updated package.json file that was published by `lerna publish` + await fixture.exec( + "npm --prefix ./test-install-published-packages install --registry=http://localhost:4872" + ); + + await unpublish("test-workspace-alias-star"); + await unpublish("test-workspace-alias-tilde"); + await unpublish("test-workspace-alias-caret"); + await unpublish("test-workspace-exact"); + await unpublish("test-workspace-compat"); + await unpublish("test-workspace-approx"); + await unpublish("test-no-workspace-prefix"); + await unpublish("test-main"); + }); + }); +}); diff --git a/e2e/version/src/formatting.spec.ts b/e2e/version/src/formatting.spec.ts new file mode 100644 index 0000000000..4bc6ff6f25 --- /dev/null +++ b/e2e/version/src/formatting.spec.ts @@ -0,0 +1,122 @@ +import { Fixture, normalizeEnvironment } from "@lerna/e2e-utils"; +import { writeFile } from "fs-extra"; + +expect.addSnapshotSerializer({ + serialize(str: string) { + return normalizeEnvironment(str).replaceAll(/"author": ".*"/g, 'author: "XXXX"'); + }, + test(val: string) { + return val != null && typeof val === "string"; + }, +}); + +describe("lerna-version-formatting", () => { + let fixture: Fixture; + + beforeEach(async () => { + fixture = await Fixture.create({ + e2eRoot: process.env.E2E_ROOT, + name: "lerna-version-formatting", + packageManager: "npm", + initializeGit: true, + runLernaInit: true, + installDependencies: false, + }); + + await fixture.updateJson("package.json", (json: { devDependencies: Record }) => ({ + ...json, + devDependencies: { + ...json.devDependencies, + prettier: "^2.2.1", + }, + })); + await fixture.install(); + + await writeFile( + fixture.getWorkspacePath(".prettierrc"), + JSON.stringify({ + tabWidth: 6, + }) + ); + await writeFile(fixture.getWorkspacePath(".prettierignore"), "node_modules"); + + await fixture.lerna("create package-a -y"); + + await fixture.createInitialGitCommit(); + await fixture.exec("git push origin test-main"); + }); + afterEach(() => fixture.destroy()); + + it("should format file if not in .prettierignore.", async () => { + await fixture.lerna("version patch -y"); + + const packageJson = await fixture.readWorkspaceFile("packages/package-a/package.json"); + + expect(packageJson).toMatchInlineSnapshot(` + { + "name": "package-a", + "version": "0.0.1", + "description": "Now I’m the model of a modern major general / The venerated Virginian veteran whose men are all / Lining up, to put me up on a pedestal / Writin’ letters to relatives / Embellishin’ my elegance and eloquence / But the elephant is in the room / The truth is in ya face when ya hear the British cannons go / BOOM", + "keywords": [], + author: "XXXX", + "license": "ISC", + "main": "lib/package-a.js", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "/tmp/lerna-e2e/lerna-version-formatting/origin.git" + }, + "scripts": { + "test": "node ./__tests__/package-a.test.js" + } + } + + `); + }); + + it("should not format file if is in .prettierignore.", async () => { + await writeFile( + fixture.getWorkspacePath(".prettierignore"), + "node_modules\npackages/package-a/package.json" + ); + await fixture.exec("git add .prettierignore"); + await fixture.exec("git commit -m 'chore: add package-lock.json to .prettierignore'"); + + await fixture.lerna("version patch -y"); + + const packageJson = await fixture.readWorkspaceFile("packages/package-a/package.json"); + + expect(packageJson).toMatchInlineSnapshot(` + { + "name": "package-a", + "version": "0.0.1", + "description": "Now I’m the model of a modern major general / The venerated Virginian veteran whose men are all / Lining up, to put me up on a pedestal / Writin’ letters to relatives / Embellishin’ my elegance and eloquence / But the elephant is in the room / The truth is in ya face when ya hear the British cannons go / BOOM", + "keywords": [], + author: "XXXX", + "license": "ISC", + "main": "lib/package-a.js", + "directories": { + "lib": "lib", + "test": "__tests__" + }, + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "/tmp/lerna-e2e/lerna-version-formatting/origin.git" + }, + "scripts": { + "test": "node ./__tests__/package-a.test.js" + } + } + + `); + }); +}); diff --git a/e2e/watch/.eslintrc.json b/e2e/watch/.eslintrc.json new file mode 100644 index 0000000000..9d9c0db55b --- /dev/null +++ b/e2e/watch/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/e2e/watch/jest.config.ts b/e2e/watch/jest.config.ts new file mode 100644 index 0000000000..9657011628 --- /dev/null +++ b/e2e/watch/jest.config.ts @@ -0,0 +1,18 @@ +/* eslint-disable */ +export default { + displayName: "e2e-watch", + preset: "../../jest.preset.js", + globals: { + "ts-jest": { + tsconfig: "/tsconfig.spec.json", + }, + }, + transform: { + "^.+\\.[tj]s$": "ts-jest", + }, + moduleFileExtensions: ["ts", "js", "html"], + coverageDirectory: "../../coverage/e2e/watch", + maxWorkers: 1, + testTimeout: 60000, + setupFiles: ["/src/test-setup.ts"], +}; diff --git a/e2e/watch/project.json b/e2e/watch/project.json new file mode 100644 index 0000000000..4ec503bf79 --- /dev/null +++ b/e2e/watch/project.json @@ -0,0 +1,52 @@ +{ + "name": "e2e-watch", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "tags": [], + "targets": { + "e2e": { + "executor": "nx:run-commands", + "options": { + "commands": [ + { + "command": "npm run e2e-start-local-registry" + }, + { + "command": "npm run e2e-build-package-publish" + }, + { + "command": "E2E_ROOT=$(npx ts-node scripts/set-e2e-root.ts) nx run-e2e-tests e2e-watch" + } + ], + "parallel": false + } + }, + "run-e2e-tests-process": { + "executor": "nx:run-commands", + "options": { + "commands": [ + { + "command": "E2E_ROOT=$(npx ts-node scripts/set-e2e-root.ts) nx run-e2e-tests e2e-watch", + "description": "This additional wrapper target exists so that we can ensure that the e2e tests run in a dedicated process with enough memory" + } + ], + "parallel": false + } + }, + "run-e2e-tests": { + "executor": "@nrwl/jest:jest", + "options": { + "jestConfig": "e2e/watch/jest.config.ts", + "passWithNoTests": true, + "runInBand": true + }, + "outputs": ["{workspaceRoot}/coverage/e2e/watch"] + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["e2e/watch/**/*.ts"] + } + } + } +} diff --git a/e2e/watch/src/test-setup.ts b/e2e/watch/src/test-setup.ts new file mode 100644 index 0000000000..bb0b4613b6 --- /dev/null +++ b/e2e/watch/src/test-setup.ts @@ -0,0 +1 @@ +jest.retryTimes(3); diff --git a/e2e/watch/src/watch-with-nx.spec.ts b/e2e/watch/src/watch-with-nx.spec.ts new file mode 100644 index 0000000000..9712f8127a --- /dev/null +++ b/e2e/watch/src/watch-with-nx.spec.ts @@ -0,0 +1,110 @@ +import { Fixture, normalizeEnvironment, wait } from "@lerna/e2e-utils"; +import { createFile } from "fs-extra"; + +expect.addSnapshotSerializer({ + serialize(str) { + return normalizeEnvironment(str); + }, + test(val) { + return val != null && typeof val === "string"; + }, +}); + +describe("lerna-watch-with-nx", () => { + let fixture: Fixture; + + beforeEach(async () => { + fixture = await Fixture.create({ + e2eRoot: process.env.E2E_ROOT, + name: "lerna-watch-with-nx", + packageManager: "npm", + initializeGit: true, + runLernaInit: true, + installDependencies: true, + }); + + await fixture.lerna("create package-a -y"); + await fixture.lerna("create package-b --dependencies package-a -y"); + await fixture.updateJson("packages/package-b/package.json", (json) => ({ + ...json, + name: "@unknown-scope/package-b", + })); + await fixture.lerna("create package-c -y"); + await fixture.updateJson("packages/package-c/package.json", (json) => ({ + ...json, + name: "@scope/package-c", + })); + + await fixture.addNxJsonToWorkspace(); + await fixture.updateJson("nx.json", (json) => ({ + ...json, + npmScope: "scope", + })); + + await fixture.createInitialGitCommit(); + }); + + afterAll(() => fixture.destroy()); + + it("should watch all packages by default, removing nx.json's 'npmScope' from package names", async () => { + const getWatchResult = await fixture.lernaWatch("-- echo \\$LERNA_PACKAGE_NAME: \\$LERNA_FILE_CHANGES"); + + await createFile(fixture.getWorkspacePath("packages/package-a/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-b/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-c/my-file.txt")); + await wait(200); + + const output = await getWatchResult(); + + // package-c will be printed without its scope since Nx automatically removes it when substituting $LERNA_PACKAGE_NAME + expect(output.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna verb rootPath /tmp/lerna-e2e/lerna-watch-with-nx/lerna-workspace + lerna info watch Executing command "echo $LERNA_PACKAGE_NAME: $LERNA_FILE_CHANGES" on changes in 3 packages. + + > NX running with args: {"command":"echo $LERNA_PACKAGE_NAME: $LERNA_FILE_CHANGES","projectNameEnvName":"LERNA_PACKAGE_NAME","fileChangesEnvName":"LERNA_FILE_CHANGES","includeDependentProjects":false,"projects":["package-a","@unknown-scope/package-b","package-c"],"verbose":true} + + + > NX starting watch process + + + > NX watch process waiting... + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"package-a","LERNA_FILE_CHANGES":"packages/package-a/my-file.txt"}] + + package-a: packages/package-a/my-file.txt + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"@unknown-scope/package-b","LERNA_FILE_CHANGES":"packages/package-b/my-file.txt"}] + + @unknown-scope/package-b: packages/package-b/my-file.txt + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"package-c","LERNA_FILE_CHANGES":"packages/package-c/my-file.txt"}] + + package-c: packages/package-c/my-file.txt + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + `); + }); +}); diff --git a/e2e/watch/src/watch.spec.ts b/e2e/watch/src/watch.spec.ts new file mode 100644 index 0000000000..397c4fdf84 --- /dev/null +++ b/e2e/watch/src/watch.spec.ts @@ -0,0 +1,274 @@ +import { Fixture, normalizeEnvironment, wait } from "@lerna/e2e-utils"; +import { createFile } from "fs-extra"; + +expect.addSnapshotSerializer({ + serialize(str) { + return normalizeEnvironment(str); + }, + test(val) { + return val != null && typeof val === "string"; + }, +}); + +describe("lerna-watch", () => { + let fixture: Fixture; + + beforeEach(async () => { + fixture = await Fixture.create({ + e2eRoot: process.env.E2E_ROOT, + name: "lerna-watch", + packageManager: "npm", + initializeGit: true, + runLernaInit: true, + installDependencies: true, + }); + + await fixture.lerna("create package-a -y"); + await fixture.lerna("create package-b --dependencies package-a -y"); + await fixture.lerna("create package-c -y"); + await fixture.updateJson("packages/package-c/package.json", (json) => ({ + ...json, + name: "@scope/package-c", + })); + + await fixture.createInitialGitCommit(); + }); + + afterAll(() => fixture.destroy()); + + it("should watch all packages by default", async () => { + const getWatchResult = await fixture.lernaWatch('-- "echo watch triggered"'); + + await createFile(fixture.getWorkspacePath("packages/package-a/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-b/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-c/my-file.txt")); + await wait(200); + + const output = await getWatchResult(); + + expect(output.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna verb rootPath /tmp/lerna-e2e/lerna-watch/lerna-workspace + lerna info watch Executing command "echo watch triggered" on changes in 3 packages. + + > NX running with args: {"command":"echo watch triggered","projectNameEnvName":"LERNA_PACKAGE_NAME","fileChangesEnvName":"LERNA_FILE_CHANGES","includeDependentProjects":false,"projects":["package-a","package-b","@scope/package-c"],"verbose":true} + + + > NX starting watch process + + + > NX watch process waiting... + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-a/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-b/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-c/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + `); + }); + + describe("with --scope", () => { + it("should watch only specified packages", async () => { + const getWatchResult = await fixture.lernaWatch( + '--scope="package-a" --scope="@scope/package-c" -- "echo watch triggered"' + ); + + await createFile(fixture.getWorkspacePath("packages/package-a/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-b/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-c/my-file.txt")); + await wait(200); + + const output = await getWatchResult(); + + expect(output.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna verb rootPath /tmp/lerna-e2e/lerna-watch/lerna-workspace + lerna notice filter including ["package-a","@scope/package-c"] + lerna info filter [ 'package-a', '@scope/package-c' ] + lerna info watch Executing command "echo watch triggered" on changes in 2 packages. + + > NX running with args: {"command":"echo watch triggered","projectNameEnvName":"LERNA_PACKAGE_NAME","fileChangesEnvName":"LERNA_FILE_CHANGES","includeDependentProjects":false,"projects":["package-a","@scope/package-c"],"verbose":true} + + + > NX starting watch process + + + > NX watch process waiting... + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-a/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-c/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + `); + }); + describe("and --include-dependencies", () => { + it("should watch one package and its dependencies", async () => { + const getWatchResult = await fixture.lernaWatch( + '--scope="package-b" --include-dependencies -- "echo watch triggered"' + ); + + await createFile(fixture.getWorkspacePath("packages/package-a/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-b/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-c/my-file.txt")); + await wait(200); + + const output = await getWatchResult(); + + expect(output.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna verb rootPath /tmp/lerna-e2e/lerna-watch/lerna-workspace + lerna notice filter including "package-b" + lerna notice filter including dependencies + lerna info filter [ 'package-b' ] + lerna info watch Executing command "echo watch triggered" on changes in 2 packages. + + > NX running with args: {"command":"echo watch triggered","projectNameEnvName":"LERNA_PACKAGE_NAME","fileChangesEnvName":"LERNA_FILE_CHANGES","includeDependentProjects":false,"projects":["package-b","package-a"],"verbose":true} + + + > NX starting watch process + + + > NX watch process waiting... + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-a/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"","LERNA_FILE_CHANGES":"packages/package-b/my-file.txt"}] + + watch triggered + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + `); + }); + }); + }); + + it("should replace package name and changed file names", async () => { + const getWatchResult = await fixture.lernaWatch("-- echo \\$LERNA_PACKAGE_NAME: \\$LERNA_FILE_CHANGES"); + + await createFile(fixture.getWorkspacePath("packages/package-a/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-b/my-file.txt")); + await wait(200); + + await createFile(fixture.getWorkspacePath("packages/package-c/my-file.txt")); + await wait(200); + + const output = await getWatchResult(); + + expect(output.combinedOutput).toMatchInlineSnapshot(` + lerna notice cli v999.9.9-e2e.0 + lerna verb rootPath /tmp/lerna-e2e/lerna-watch/lerna-workspace + lerna info watch Executing command "echo $LERNA_PACKAGE_NAME: $LERNA_FILE_CHANGES" on changes in 3 packages. + + > NX running with args: {"command":"echo $LERNA_PACKAGE_NAME: $LERNA_FILE_CHANGES","projectNameEnvName":"LERNA_PACKAGE_NAME","fileChangesEnvName":"LERNA_FILE_CHANGES","includeDependentProjects":false,"projects":["package-a","package-b","@scope/package-c"],"verbose":true} + + + > NX starting watch process + + + > NX watch process waiting... + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"package-a","LERNA_FILE_CHANGES":"packages/package-a/my-file.txt"}] + + package-a: packages/package-a/my-file.txt + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"package-b","LERNA_FILE_CHANGES":"packages/package-b/my-file.txt"}] + + package-b: packages/package-b/my-file.txt + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + > NX about to run commands with these environments: [{"LERNA_PACKAGE_NAME":"@scope/package-c","LERNA_FILE_CHANGES":"packages/package-c/my-file.txt"}] + + @scope/package-c: packages/package-c/my-file.txt + + > NX running complete, processing the next batch + + + > NX no more commands to process + + + `); + }); +}); diff --git a/e2e/watch/tsconfig.json b/e2e/watch/tsconfig.json new file mode 100644 index 0000000000..19b9eece4d --- /dev/null +++ b/e2e/watch/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs" + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/e2e/watch/tsconfig.lib.json b/e2e/watch/tsconfig.lib.json new file mode 100644 index 0000000000..33eca2c2cd --- /dev/null +++ b/e2e/watch/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/e2e/watch/tsconfig.spec.json b/e2e/watch/tsconfig.spec.json new file mode 100644 index 0000000000..3feb815215 --- /dev/null +++ b/e2e/watch/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts", "src/test-setup.ts"] +} diff --git a/lerna.json b/lerna.json index 9296fd8f8a..fa1e0614a1 100644 --- a/lerna.json +++ b/lerna.json @@ -17,5 +17,5 @@ }, "ignoreChanges": ["**/__fixtures__/**", "**/__tests__/**", "**/*.md"], "useWorkspaces": true, - "version": "6.3.0" + "version": "6.4.0" } diff --git a/libs/e2e-utils/src/index.ts b/libs/e2e-utils/src/index.ts index 5fa3d0ab32..4f933e9458 100644 --- a/libs/e2e-utils/src/index.ts +++ b/libs/e2e-utils/src/index.ts @@ -1,2 +1,3 @@ export * from "./lib/fixture"; export * from "./lib/snapshot-serializer-utils"; +export * from "./lib/wait"; diff --git a/libs/e2e-utils/src/lib/fixture.ts b/libs/e2e-utils/src/lib/fixture.ts index 2d50c6b1e2..5484aa38bb 100644 --- a/libs/e2e-utils/src/lib/fixture.ts +++ b/libs/e2e-utils/src/lib/fixture.ts @@ -24,7 +24,7 @@ interface FixtureCreateOptions { type RunCommandResult = { stdout: string; stderr: string; combinedOutput: string }; -const PNPM_STORE = "../.pnpm-store"; +const PNPM_STORE = "pnpm.store"; const ORIGIN_GIT = "origin.git"; const REGISTRY = "http://localhost:4872/"; @@ -40,6 +40,7 @@ export class Fixture { private readonly fixtureRootPath = joinPathFragments(this.e2eRoot, this.name); private readonly fixtureWorkspacePath = joinPathFragments(this.fixtureRootPath, "lerna-workspace"); private readonly fixtureOriginPath = joinPathFragments(this.fixtureRootPath, ORIGIN_GIT); + private readonly fixturePnpmStorePath = joinPathFragments(this.fixtureRootPath, PNPM_STORE); constructor( private readonly e2eRoot: string, @@ -118,9 +119,9 @@ export class Fixture { private async setNpmRegistry(): Promise { if (this.packageManager === "pnpm") { - await this.exec(`mkdir ${PNPM_STORE}`); + await this.exec(`mkdir ${this.fixturePnpmStorePath}`); await this.exec( - `echo "registry=${REGISTRY}\nstore-dir = ${PNPM_STORE}\nverify-store-integrity=false" > .npmrc` + `echo "registry=${REGISTRY}\nstore-dir=${this.fixturePnpmStorePath}\nverify-store-integrity=false" > .npmrc` ); } } @@ -162,6 +163,13 @@ export class Fixture { return readFile(this.getWorkspacePath(file), "utf-8"); } + /** + * Check if a workspace file exists. + */ + async workspaceFileExists(file: string): Promise { + return existsSync(this.getWorkspacePath(file)); + } + /** * Execute a given command in the root of the lerna workspace under test within the fixture. * This has been given a terse name to help with readability in the spec files. @@ -265,6 +273,68 @@ export class Fixture { } } + async lernaWatch(inputArgs: string): Promise<(timeoutMs?: number) => Promise> { + return new Promise((resolve, reject) => { + const command = `npx --offline --no -c 'lerna watch --verbose ${inputArgs}'`; + + let stdout = ""; + let stderr = ""; + let combinedOutput = ""; + let error: Error | null = null; + + const createResult = (): RunCommandResult => ({ + stdout: stripConsoleColors(stdout), + stderr: stripConsoleColors(stderr), + combinedOutput: stripConsoleColors(combinedOutput), + }); + + const childProcess = spawn(command, { + shell: true, + cwd: this.fixtureWorkspacePath, + env: { + ...process.env, + FORCE_COLOR: "false", + }, + }); + + childProcess.stdout.setEncoding("utf8"); + childProcess.stdout.on("data", (chunk) => { + stdout += chunk; + combinedOutput += chunk; + + if (chunk.toString().trim().includes("watch process waiting")) { + resolve( + (timeoutMs = 6000) => + new Promise((resolve) => { + setTimeout(() => { + childProcess.kill(); + resolve(createResult()); + }, timeoutMs); + }) + ); + } + }); + + childProcess.stderr.setEncoding("utf8"); + childProcess.stderr.on("data", (chunk) => { + stderr += chunk; + combinedOutput += chunk; + }); + + childProcess.on("error", (err) => { + error = err; + }); + + childProcess.on("close", () => { + if (error) { + reject(error); + } else if (stderr.includes("lerna ERR!")) { + reject(new Error(stderr)); + } + }); + }); + } + async addNxJsonToWorkspace(): Promise { writeJsonFile(this.getWorkspacePath("nx.json"), { extends: "nx/presets/npm.json", diff --git a/libs/e2e-utils/src/lib/wait.ts b/libs/e2e-utils/src/lib/wait.ts new file mode 100644 index 0000000000..3b7662bc39 --- /dev/null +++ b/libs/e2e-utils/src/lib/wait.ts @@ -0,0 +1 @@ +export const wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); diff --git a/package-lock.json b/package-lock.json index 6db8ca9b4d..866357f854 100644 --- a/package-lock.json +++ b/package-lock.json @@ -84,12 +84,12 @@ }, "devDependencies": { "@lerna-test/helpers": "file:helpers", - "@nrwl/devkit": "15.4.1", - "@nrwl/eslint-plugin-nx": "15.4.1", - "@nrwl/jest": "15.4.1", - "@nrwl/js": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/eslint-plugin-nx": "15.4.2", + "@nrwl/jest": "15.4.2", + "@nrwl/js": "15.4.2", "@nrwl/nx-cloud": "15.0.2", - "@nrwl/nx-plugin": "15.4.1", + "@nrwl/nx-plugin": "15.4.2", "@swc-node/register": "^1.4.2", "@swc/cli": "~0.1.55", "@swc/core": "^1.2.173", @@ -122,7 +122,7 @@ "node-jq": "^2.3.3", "normalize-newline": "^3.0.0", "normalize-path": "^3.0.0", - "nx": "15.4.1", + "nx": "15.4.2", "path-key": "^3.1.1", "prettier": "^2.2.1", "tacks": "1.2.6", @@ -140,7 +140,7 @@ }, "commands/add": { "name": "@lerna/add", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/bootstrap": "file:../bootstrap", @@ -160,7 +160,7 @@ }, "commands/bootstrap": { "name": "@lerna/bootstrap", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/command": "file:../../core/command", @@ -192,7 +192,7 @@ }, "commands/changed": { "name": "@lerna/changed", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/collect-updates": "file:../../utils/collect-updates", @@ -206,7 +206,7 @@ }, "commands/clean": { "name": "@lerna/clean", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/command": "file:../../core/command", @@ -224,7 +224,7 @@ }, "commands/create": { "name": "@lerna/create", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -250,7 +250,7 @@ }, "commands/diff": { "name": "@lerna/diff", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -264,7 +264,7 @@ }, "commands/exec": { "name": "@lerna/exec", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -281,7 +281,7 @@ }, "commands/import": { "name": "@lerna/import", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -299,7 +299,7 @@ }, "commands/info": { "name": "@lerna/info", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/command": "file:../../core/command", @@ -312,7 +312,7 @@ }, "commands/init": { "name": "@lerna/init", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -328,7 +328,7 @@ }, "commands/link": { "name": "@lerna/link", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/command": "file:../../core/command", @@ -344,7 +344,7 @@ }, "commands/list": { "name": "@lerna/list", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/command": "file:../../core/command", @@ -358,7 +358,7 @@ }, "commands/publish": { "name": "@lerna/publish", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/check-working-tree": "file:../../utils/check-working-tree", @@ -396,7 +396,7 @@ }, "commands/run": { "name": "@lerna/run", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/command": "file:../../core/command", @@ -408,6 +408,7 @@ "@lerna/timer": "file:../../utils/timer", "@lerna/validation-error": "file:../../core/validation-error", "fs-extra": "^9.1.0", + "nx": ">=14.8.6 < 16", "p-map": "^4.0.0" }, "engines": { @@ -416,7 +417,7 @@ }, "commands/version": { "name": "@lerna/version", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/check-working-tree": "file:../../utils/check-working-tree", @@ -433,7 +434,7 @@ "@lerna/run-topologically": "file:../../utils/run-topologically", "@lerna/temp-write": "file:../../utils/temp-write", "@lerna/validation-error": "file:../../core/validation-error", - "@nrwl/devkit": ">=14.8.6 < 16", + "@nrwl/devkit": ">=15.4.2 < 16", "chalk": "^4.1.0", "dedent": "^0.7.0", "load-json-file": "^6.2.0", @@ -453,7 +454,7 @@ }, "core/child-process": { "name": "@lerna/child-process", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "chalk": "^4.1.0", @@ -466,7 +467,7 @@ }, "core/cli": { "name": "@lerna/cli", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/global-options": "file:../global-options", @@ -480,7 +481,7 @@ }, "core/command": { "name": "@lerna/command", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../child-process", @@ -500,7 +501,7 @@ }, "core/conventional-commits": { "name": "@lerna/conventional-commits", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/validation-error": "file:../validation-error", @@ -520,7 +521,7 @@ }, "core/filter-options": { "name": "@lerna/filter-options", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/collect-updates": "file:../../utils/collect-updates", @@ -534,14 +535,14 @@ }, "core/global-options": { "name": "@lerna/global-options", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "engines": { "node": "^14.15.0 || >=16.0.0" } }, "core/lerna": { - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/add": "file:../../commands/add", @@ -553,6 +554,7 @@ "@lerna/create": "file:../../commands/create", "@lerna/diff": "file:../../commands/diff", "@lerna/exec": "file:../../commands/exec", + "@lerna/filter-options": "file:../filter-options", "@lerna/import": "file:../../commands/import", "@lerna/info": "file:../../commands/info", "@lerna/init": "file:../../commands/init", @@ -560,12 +562,13 @@ "@lerna/list": "file:../../commands/list", "@lerna/publish": "file:../../commands/publish", "@lerna/run": "file:../../commands/run", + "@lerna/validation-error": "file:../validation-error", "@lerna/version": "file:../../commands/version", - "@nrwl/devkit": ">=14.8.6 < 16", + "@nrwl/devkit": ">=15.4.2 < 16", "import-local": "^3.0.2", "inquirer": "^8.2.4", "npmlog": "^6.0.2", - "nx": ">=14.8.6 < 16", + "nx": ">=15.4.2 < 16", "typescript": "^3 || ^4" }, "bin": { @@ -577,7 +580,7 @@ }, "core/otplease": { "name": "@lerna/otplease", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/prompt": "file:../prompt" @@ -588,7 +591,7 @@ }, "core/package": { "name": "@lerna/package", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "load-json-file": "^6.2.0", @@ -601,7 +604,7 @@ }, "core/package-graph": { "name": "@lerna/package-graph", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/prerelease-id-from-version": "file:../../utils/prerelease-id-from-version", @@ -616,7 +619,7 @@ }, "core/project": { "name": "@lerna/project", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/package": "file:../package", @@ -639,7 +642,7 @@ }, "core/prompt": { "name": "@lerna/prompt", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "inquirer": "^8.2.4", @@ -651,7 +654,7 @@ }, "core/validation-error": { "name": "@lerna/validation-error", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "npmlog": "^6.0.2" @@ -2949,17 +2952,17 @@ } }, "node_modules/@nrwl/cli": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.1.tgz", - "integrity": "sha512-n/bhYH/nT+9k0otYgTX2Up3oPzk841NwUzxZrLHKklJkzPVAGuTOOcKF8yuBhzAnDdpZAmU3z+8YlbdtjoHb9Q==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.2.tgz", + "integrity": "sha512-k/sGhqHhXsZakJxaWLmbyDJkQd/klqBEBChax3IHXAgIO9kG0lVwXHzENRqbfw3Z8TdKEZQ4IFwBJt9Dao6bCg==", "dependencies": { - "nx": "15.4.1" + "nx": "15.4.2" } }, "node_modules/@nrwl/devkit": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.4.1.tgz", - "integrity": "sha512-6AWWXyUpoqWkVARgUeARSmFanvgqlb81GN8SBwUQhezTbalOPmi0TsUN6n7MHAc611MAFE9eZBd+29UM+sFXeg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.4.2.tgz", + "integrity": "sha512-dg+2xF+RAWCGF9eUoIa1NRSQqO4s3goFb3XvT0Xw7V91To6XC1NL7YIcYcsdphdYcOSXs4K4MXzd/oZAEZFZ1A==", "dependencies": { "@phenomnomnominal/tsquery": "4.1.1", "ejs": "^3.1.7", @@ -2972,12 +2975,12 @@ } }, "node_modules/@nrwl/eslint-plugin-nx": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-15.4.1.tgz", - "integrity": "sha512-8EMTxLBtff8pR0MKdgDn8UAiSLuwtpff8rzAUHzZP46WcNeJPKFpUH1PWpSD9y00+Hjx5Kla3ydqw5Efjul39A==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-15.4.2.tgz", + "integrity": "sha512-5Et+G1ZvIhk4KrcqpxKUqncXjP2ozygcArMk20C/TBcU/NLJewDdY7k/9daXs1Dp14CoSqhyDI7tV9DVyrsvCg==", "dev": true, "dependencies": { - "@nrwl/devkit": "15.4.1", + "@nrwl/devkit": "15.4.2", "@typescript-eslint/utils": "^5.36.1", "chalk": "4.1.0", "confusing-browser-globals": "^1.0.9", @@ -2994,14 +2997,14 @@ } }, "node_modules/@nrwl/jest": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-15.4.1.tgz", - "integrity": "sha512-mwHFL1BQvDC1mbqSd9se7li5RzwPmDTHx6PQSeMFD86+0WhwgYee4GqFDvhF+HdRhjna3KELipQNKneOwhhhpg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-15.4.2.tgz", + "integrity": "sha512-4NL7RUMR+lkVQgJU3MSMDY0GdRjfWCwFPrhhcLi6+OFegNYtvgyHXYM3u5PvQupfChxYk8gc2c9eVunwU3B1hQ==", "dev": true, "dependencies": { "@jest/reporters": "28.1.1", "@jest/test-result": "28.1.1", - "@nrwl/devkit": "15.4.1", + "@nrwl/devkit": "15.4.2", "@phenomnomnominal/tsquery": "4.1.1", "chalk": "4.1.0", "dotenv": "~10.0.0", @@ -3149,14 +3152,14 @@ } }, "node_modules/@nrwl/js": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-15.4.1.tgz", - "integrity": "sha512-qsb720YFTnzTqB+lDnlRpHRlf/UrAKiXanRpOMqaOo9x2tMhSSiJcXuirq418SdEpBop/+0FIKBor5cPVFQbqg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-15.4.2.tgz", + "integrity": "sha512-L/uBjbuHRf3iylrczcFruVZDLgOfBHnHcoYAa9qBcEn3XuSGJYzxrBetO+MSobMTbUAzmysPdT2rj1v6Q4Qi8A==", "dev": true, "dependencies": { - "@nrwl/devkit": "15.4.1", - "@nrwl/linter": "15.4.1", - "@nrwl/workspace": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/linter": "15.4.2", + "@nrwl/workspace": "15.4.2", "chalk": "4.1.0", "fast-glob": "3.2.7", "fs-extra": "^10.1.0", @@ -3182,12 +3185,12 @@ } }, "node_modules/@nrwl/linter": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/linter/-/linter-15.4.1.tgz", - "integrity": "sha512-bkixkG/OsSrfVAySpId7U5y34VDkpGccp0etvrqfW4SlJZpRu4u11GIKRdyJrJ8uki7m4rtK1lxi3h2KIhxeDw==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/linter/-/linter-15.4.2.tgz", + "integrity": "sha512-S5gSzqxTRLLzTOE5mY6FOu6MYC2v355lI0zyK02RLx29XoFrnggh74QaGJDZAVwqXvQHOXXBJwo6hXWosNn3/g==", "dev": true, "dependencies": { - "@nrwl/devkit": "15.4.1", + "@nrwl/devkit": "15.4.2", "@phenomnomnominal/tsquery": "4.1.1", "tmp": "~0.2.1", "tslib": "^2.3.0" @@ -3244,15 +3247,15 @@ } }, "node_modules/@nrwl/nx-plugin": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-15.4.1.tgz", - "integrity": "sha512-N7Da00HshKhgr29Unp1ir6QDK01o6jtvPdgNbxI0joslK8SEbCjP6unYR4UJeouAjY9dEN8Y8ihf5DRzT0i0tw==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-15.4.2.tgz", + "integrity": "sha512-WObYu+dEl8UZurLuGrtAY/qwxm5UstZhE2r5gb3CEqT3cWjpXas0HWNgbJTxdqhMLXU7GqR60tZl9ahxIim6gg==", "dev": true, "dependencies": { - "@nrwl/devkit": "15.4.1", - "@nrwl/jest": "15.4.1", - "@nrwl/js": "15.4.1", - "@nrwl/linter": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/jest": "15.4.2", + "@nrwl/js": "15.4.2", + "@nrwl/linter": "15.4.2", "dotenv": "~10.0.0", "fs-extra": "^10.1.0", "tslib": "^2.3.0" @@ -3273,24 +3276,24 @@ } }, "node_modules/@nrwl/tao": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.1.tgz", - "integrity": "sha512-WPCvzr1kTPcEN4suTQs0CJ4OHMszatR+kD7j2inLyZKz3sltyw2HiancrWpHKPgAMfQNyjHezpjlBFTgZeT3dw==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.2.tgz", + "integrity": "sha512-c/hYhWMjEBvucO9cGL2h2lqH7f+4gb8DJJiuNRPwfvF+sQITLXpl9wASHlpG2unDrtnLjGFo73u5XUUqGiSKvA==", "dependencies": { - "nx": "15.4.1" + "nx": "15.4.2" }, "bin": { "tao": "index.js" } }, "node_modules/@nrwl/workspace": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-15.4.1.tgz", - "integrity": "sha512-OL993pwsMBT5dYOYhuRWeoLIlfzHFsRBEBeNZWJKz5fKQq5wbu4F3MjfGXLuWTG8ybk+g/RsUi7ahzTep/GMbQ==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-15.4.2.tgz", + "integrity": "sha512-5CgLiDeQnkaEy/kXv+Ba678dNfkKx2pDOrpiO2ZfT8MMYbrhOOKQ1xlXcUuC95YN0nMCKii+sApB/9R1BiKzyw==", "dev": true, "dependencies": { - "@nrwl/devkit": "15.4.1", - "@nrwl/linter": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/linter": "15.4.2", "@parcel/watcher": "2.0.4", "chalk": "4.1.0", "chokidar": "^3.5.1", @@ -3306,7 +3309,7 @@ "jsonc-parser": "3.2.0", "minimatch": "3.0.5", "npm-run-path": "^4.0.1", - "nx": "15.4.1", + "nx": "15.4.2", "open": "^8.4.0", "rxjs": "^6.5.4", "semver": "7.3.4", @@ -12912,9 +12915,9 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -14566,13 +14569,13 @@ "dev": true }, "node_modules/nx": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.1.tgz", - "integrity": "sha512-BQXxlUZhO3QsrGDsHFYBH8ncrauaTkGE5gW5TpHVZqlrqldhDMVxg+lGZwnj+hJPdW5BgO3rc1OGKAJlwkxELg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.2.tgz", + "integrity": "sha512-np8eJfiBy2I8RZOWCKHr1oeUMHdqLQc7V6ihrzEQe2ZYUl9CSibtKvx0v8YGToHj/vYCiolRPhliFV5sFxgWlg==", "hasInstallScript": true, "dependencies": { - "@nrwl/cli": "15.4.1", - "@nrwl/tao": "15.4.1", + "@nrwl/cli": "15.4.2", + "@nrwl/tao": "15.4.2", "@parcel/watcher": "2.0.4", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0-rc.18", @@ -17506,9 +17509,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -18484,7 +18487,7 @@ }, "utils/check-working-tree": { "name": "@lerna/check-working-tree", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/collect-uncommitted": "file:../collect-uncommitted", @@ -18497,7 +18500,7 @@ }, "utils/collect-uncommitted": { "name": "@lerna/collect-uncommitted", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18510,7 +18513,7 @@ }, "utils/collect-updates": { "name": "@lerna/collect-updates", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18525,7 +18528,7 @@ }, "utils/create-symlink": { "name": "@lerna/create-symlink", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "cmd-shim": "^5.0.0", @@ -18538,7 +18541,7 @@ }, "utils/describe-ref": { "name": "@lerna/describe-ref", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18550,7 +18553,7 @@ }, "utils/filter-packages": { "name": "@lerna/filter-packages", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/validation-error": "file:../../core/validation-error", @@ -18563,7 +18566,7 @@ }, "utils/get-npm-exec-opts": { "name": "@lerna/get-npm-exec-opts", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "npmlog": "^6.0.2" @@ -18574,7 +18577,7 @@ }, "utils/get-packed": { "name": "@lerna/get-packed", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "fs-extra": "^9.1.0", @@ -18587,7 +18590,7 @@ }, "utils/github-client": { "name": "@lerna/github-client", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18602,7 +18605,7 @@ }, "utils/gitlab-client": { "name": "@lerna/gitlab-client", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "node-fetch": "^2.6.1", @@ -18614,7 +18617,7 @@ }, "utils/has-npm-version": { "name": "@lerna/has-npm-version", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18626,7 +18629,7 @@ }, "utils/listable": { "name": "@lerna/listable", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/query-graph": "file:../query-graph", @@ -18639,7 +18642,7 @@ }, "utils/log-packed": { "name": "@lerna/log-packed", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "byte-size": "^7.0.0", @@ -18653,7 +18656,7 @@ }, "utils/map-to-registry": { "name": "@lerna/map-to-registry", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "npm-package-arg": "8.1.1", @@ -18665,7 +18668,7 @@ }, "utils/npm-conf": { "name": "@lerna/npm-conf", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "config-chain": "^1.1.12", @@ -18677,7 +18680,7 @@ }, "utils/npm-dist-tag": { "name": "@lerna/npm-dist-tag", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/otplease": "file:../../core/otplease", @@ -18691,7 +18694,7 @@ }, "utils/npm-install": { "name": "@lerna/npm-install", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18708,7 +18711,7 @@ }, "utils/npm-publish": { "name": "@lerna/npm-publish", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/otplease": "file:../../core/otplease", @@ -18726,7 +18729,7 @@ }, "utils/npm-run-script": { "name": "@lerna/npm-run-script", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18739,7 +18742,7 @@ }, "utils/output": { "name": "@lerna/output", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "npmlog": "^6.0.2" @@ -18750,7 +18753,7 @@ }, "utils/pack-directory": { "name": "@lerna/pack-directory", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/get-packed": "file:../get-packed", @@ -18767,7 +18770,7 @@ }, "utils/prerelease-id-from-version": { "name": "@lerna/prerelease-id-from-version", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "semver": "^7.3.4" @@ -18778,7 +18781,7 @@ }, "utils/profiler": { "name": "@lerna/profiler", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "fs-extra": "^9.1.0", @@ -18791,7 +18794,7 @@ }, "utils/pulse-till-done": { "name": "@lerna/pulse-till-done", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "npmlog": "^6.0.2" @@ -18802,7 +18805,7 @@ }, "utils/query-graph": { "name": "@lerna/query-graph", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/package-graph": "file:../../core/package-graph" @@ -18813,7 +18816,7 @@ }, "utils/resolve-symlink": { "name": "@lerna/resolve-symlink", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "fs-extra": "^9.1.0", @@ -18826,7 +18829,7 @@ }, "utils/rimraf-dir": { "name": "@lerna/rimraf-dir", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/child-process": "file:../../core/child-process", @@ -18840,7 +18843,7 @@ }, "utils/run-lifecycle": { "name": "@lerna/run-lifecycle", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/npm-conf": "file:../npm-conf", @@ -18854,7 +18857,7 @@ }, "utils/run-topologically": { "name": "@lerna/run-topologically", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/query-graph": "file:../query-graph", @@ -18866,7 +18869,7 @@ }, "utils/symlink-binary": { "name": "@lerna/symlink-binary", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/create-symlink": "file:../create-symlink", @@ -18880,7 +18883,7 @@ }, "utils/symlink-dependencies": { "name": "@lerna/symlink-dependencies", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "@lerna/create-symlink": "file:../create-symlink", @@ -18896,7 +18899,7 @@ }, "utils/temp-write": { "name": "@lerna/temp-write", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "graceful-fs": "^4.1.15", @@ -18908,7 +18911,7 @@ }, "utils/timer": { "name": "@lerna/timer", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "engines": { "node": "^14.15.0 || >=16.0.0" @@ -18916,7 +18919,7 @@ }, "utils/write-log-file": { "name": "@lerna/write-log-file", - "version": "6.3.0", + "version": "6.4.0", "license": "MIT", "dependencies": { "npmlog": "^6.0.2", @@ -20853,6 +20856,7 @@ "@lerna/timer": "file:../../utils/timer", "@lerna/validation-error": "file:../../core/validation-error", "fs-extra": "^9.1.0", + "nx": ">=14.8.6 < 16", "p-map": "^4.0.0" } }, @@ -20928,7 +20932,7 @@ "@lerna/run-topologically": "file:../../utils/run-topologically", "@lerna/temp-write": "file:../../utils/temp-write", "@lerna/validation-error": "file:../../core/validation-error", - "@nrwl/devkit": ">=14.8.6 < 16", + "@nrwl/devkit": ">=15.4.2 < 16", "chalk": "^4.1.0", "dedent": "^0.7.0", "load-json-file": "^6.2.0", @@ -21229,17 +21233,17 @@ } }, "@nrwl/cli": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.1.tgz", - "integrity": "sha512-n/bhYH/nT+9k0otYgTX2Up3oPzk841NwUzxZrLHKklJkzPVAGuTOOcKF8yuBhzAnDdpZAmU3z+8YlbdtjoHb9Q==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.4.2.tgz", + "integrity": "sha512-k/sGhqHhXsZakJxaWLmbyDJkQd/klqBEBChax3IHXAgIO9kG0lVwXHzENRqbfw3Z8TdKEZQ4IFwBJt9Dao6bCg==", "requires": { - "nx": "15.4.1" + "nx": "15.4.2" } }, "@nrwl/devkit": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.4.1.tgz", - "integrity": "sha512-6AWWXyUpoqWkVARgUeARSmFanvgqlb81GN8SBwUQhezTbalOPmi0TsUN6n7MHAc611MAFE9eZBd+29UM+sFXeg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.4.2.tgz", + "integrity": "sha512-dg+2xF+RAWCGF9eUoIa1NRSQqO4s3goFb3XvT0Xw7V91To6XC1NL7YIcYcsdphdYcOSXs4K4MXzd/oZAEZFZ1A==", "requires": { "@phenomnomnominal/tsquery": "4.1.1", "ejs": "^3.1.7", @@ -21249,12 +21253,12 @@ } }, "@nrwl/eslint-plugin-nx": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-15.4.1.tgz", - "integrity": "sha512-8EMTxLBtff8pR0MKdgDn8UAiSLuwtpff8rzAUHzZP46WcNeJPKFpUH1PWpSD9y00+Hjx5Kla3ydqw5Efjul39A==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-15.4.2.tgz", + "integrity": "sha512-5Et+G1ZvIhk4KrcqpxKUqncXjP2ozygcArMk20C/TBcU/NLJewDdY7k/9daXs1Dp14CoSqhyDI7tV9DVyrsvCg==", "dev": true, "requires": { - "@nrwl/devkit": "15.4.1", + "@nrwl/devkit": "15.4.2", "@typescript-eslint/utils": "^5.36.1", "chalk": "4.1.0", "confusing-browser-globals": "^1.0.9", @@ -21262,14 +21266,14 @@ } }, "@nrwl/jest": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-15.4.1.tgz", - "integrity": "sha512-mwHFL1BQvDC1mbqSd9se7li5RzwPmDTHx6PQSeMFD86+0WhwgYee4GqFDvhF+HdRhjna3KELipQNKneOwhhhpg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-15.4.2.tgz", + "integrity": "sha512-4NL7RUMR+lkVQgJU3MSMDY0GdRjfWCwFPrhhcLi6+OFegNYtvgyHXYM3u5PvQupfChxYk8gc2c9eVunwU3B1hQ==", "dev": true, "requires": { "@jest/reporters": "28.1.1", "@jest/test-result": "28.1.1", - "@nrwl/devkit": "15.4.1", + "@nrwl/devkit": "15.4.2", "@phenomnomnominal/tsquery": "4.1.1", "chalk": "4.1.0", "dotenv": "~10.0.0", @@ -21390,14 +21394,14 @@ } }, "@nrwl/js": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-15.4.1.tgz", - "integrity": "sha512-qsb720YFTnzTqB+lDnlRpHRlf/UrAKiXanRpOMqaOo9x2tMhSSiJcXuirq418SdEpBop/+0FIKBor5cPVFQbqg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-15.4.2.tgz", + "integrity": "sha512-L/uBjbuHRf3iylrczcFruVZDLgOfBHnHcoYAa9qBcEn3XuSGJYzxrBetO+MSobMTbUAzmysPdT2rj1v6Q4Qi8A==", "dev": true, "requires": { - "@nrwl/devkit": "15.4.1", - "@nrwl/linter": "15.4.1", - "@nrwl/workspace": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/linter": "15.4.2", + "@nrwl/workspace": "15.4.2", "chalk": "4.1.0", "fast-glob": "3.2.7", "fs-extra": "^10.1.0", @@ -21422,12 +21426,12 @@ } }, "@nrwl/linter": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/linter/-/linter-15.4.1.tgz", - "integrity": "sha512-bkixkG/OsSrfVAySpId7U5y34VDkpGccp0etvrqfW4SlJZpRu4u11GIKRdyJrJ8uki7m4rtK1lxi3h2KIhxeDw==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/linter/-/linter-15.4.2.tgz", + "integrity": "sha512-S5gSzqxTRLLzTOE5mY6FOu6MYC2v355lI0zyK02RLx29XoFrnggh74QaGJDZAVwqXvQHOXXBJwo6hXWosNn3/g==", "dev": true, "requires": { - "@nrwl/devkit": "15.4.1", + "@nrwl/devkit": "15.4.2", "@phenomnomnominal/tsquery": "4.1.1", "tmp": "~0.2.1", "tslib": "^2.3.0" @@ -21469,15 +21473,15 @@ } }, "@nrwl/nx-plugin": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-15.4.1.tgz", - "integrity": "sha512-N7Da00HshKhgr29Unp1ir6QDK01o6jtvPdgNbxI0joslK8SEbCjP6unYR4UJeouAjY9dEN8Y8ihf5DRzT0i0tw==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-plugin/-/nx-plugin-15.4.2.tgz", + "integrity": "sha512-WObYu+dEl8UZurLuGrtAY/qwxm5UstZhE2r5gb3CEqT3cWjpXas0HWNgbJTxdqhMLXU7GqR60tZl9ahxIim6gg==", "dev": true, "requires": { - "@nrwl/devkit": "15.4.1", - "@nrwl/jest": "15.4.1", - "@nrwl/js": "15.4.1", - "@nrwl/linter": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/jest": "15.4.2", + "@nrwl/js": "15.4.2", + "@nrwl/linter": "15.4.2", "dotenv": "~10.0.0", "fs-extra": "^10.1.0", "tslib": "^2.3.0" @@ -21497,21 +21501,21 @@ } }, "@nrwl/tao": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.1.tgz", - "integrity": "sha512-WPCvzr1kTPcEN4suTQs0CJ4OHMszatR+kD7j2inLyZKz3sltyw2HiancrWpHKPgAMfQNyjHezpjlBFTgZeT3dw==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.4.2.tgz", + "integrity": "sha512-c/hYhWMjEBvucO9cGL2h2lqH7f+4gb8DJJiuNRPwfvF+sQITLXpl9wASHlpG2unDrtnLjGFo73u5XUUqGiSKvA==", "requires": { - "nx": "15.4.1" + "nx": "15.4.2" } }, "@nrwl/workspace": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-15.4.1.tgz", - "integrity": "sha512-OL993pwsMBT5dYOYhuRWeoLIlfzHFsRBEBeNZWJKz5fKQq5wbu4F3MjfGXLuWTG8ybk+g/RsUi7ahzTep/GMbQ==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-15.4.2.tgz", + "integrity": "sha512-5CgLiDeQnkaEy/kXv+Ba678dNfkKx2pDOrpiO2ZfT8MMYbrhOOKQ1xlXcUuC95YN0nMCKii+sApB/9R1BiKzyw==", "dev": true, "requires": { - "@nrwl/devkit": "15.4.1", - "@nrwl/linter": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/linter": "15.4.2", "@parcel/watcher": "2.0.4", "chalk": "4.1.0", "chokidar": "^3.5.1", @@ -21527,7 +21531,7 @@ "jsonc-parser": "3.2.0", "minimatch": "3.0.5", "npm-run-path": "^4.0.1", - "nx": "15.4.1", + "nx": "15.4.2", "open": "^8.4.0", "rxjs": "^6.5.4", "semver": "7.3.4", @@ -28940,9 +28944,9 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonc-eslint-parser": { @@ -29112,6 +29116,7 @@ "@lerna/create": "file:../../commands/create", "@lerna/diff": "file:../../commands/diff", "@lerna/exec": "file:../../commands/exec", + "@lerna/filter-options": "file:../filter-options", "@lerna/import": "file:../../commands/import", "@lerna/info": "file:../../commands/info", "@lerna/init": "file:../../commands/init", @@ -29119,12 +29124,13 @@ "@lerna/list": "file:../../commands/list", "@lerna/publish": "file:../../commands/publish", "@lerna/run": "file:../../commands/run", + "@lerna/validation-error": "file:../validation-error", "@lerna/version": "file:../../commands/version", - "@nrwl/devkit": ">=14.8.6 < 16", + "@nrwl/devkit": ">=15.4.2 < 16", "import-local": "^3.0.2", "inquirer": "^8.2.4", "npmlog": "^6.0.2", - "nx": ">=14.8.6 < 16", + "nx": ">=15.4.2 < 16", "typescript": "^3 || ^4" } }, @@ -30244,12 +30250,12 @@ "dev": true }, "nx": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.1.tgz", - "integrity": "sha512-BQXxlUZhO3QsrGDsHFYBH8ncrauaTkGE5gW5TpHVZqlrqldhDMVxg+lGZwnj+hJPdW5BgO3rc1OGKAJlwkxELg==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-15.4.2.tgz", + "integrity": "sha512-np8eJfiBy2I8RZOWCKHr1oeUMHdqLQc7V6ihrzEQe2ZYUl9CSibtKvx0v8YGToHj/vYCiolRPhliFV5sFxgWlg==", "requires": { - "@nrwl/cli": "15.4.1", - "@nrwl/tao": "15.4.1", + "@nrwl/cli": "15.4.2", + "@nrwl/tao": "15.4.2", "@parcel/watcher": "2.0.4", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0-rc.18", @@ -32445,9 +32451,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } diff --git a/package.json b/package.json index a77f27b8a5..de05763a01 100644 --- a/package.json +++ b/package.json @@ -114,12 +114,12 @@ }, "devDependencies": { "@lerna-test/helpers": "file:helpers", - "@nrwl/devkit": "15.4.1", - "@nrwl/eslint-plugin-nx": "15.4.1", - "@nrwl/jest": "15.4.1", - "@nrwl/js": "15.4.1", + "@nrwl/devkit": "15.4.2", + "@nrwl/eslint-plugin-nx": "15.4.2", + "@nrwl/jest": "15.4.2", + "@nrwl/js": "15.4.2", "@nrwl/nx-cloud": "15.0.2", - "@nrwl/nx-plugin": "15.4.1", + "@nrwl/nx-plugin": "15.4.2", "@swc-node/register": "^1.4.2", "@swc/cli": "~0.1.55", "@swc/core": "^1.2.173", @@ -152,7 +152,7 @@ "node-jq": "^2.3.3", "normalize-newline": "^3.0.0", "normalize-path": "^3.0.0", - "nx": "15.4.1", + "nx": "15.4.2", "path-key": "^3.1.1", "prettier": "^2.2.1", "tacks": "1.2.6", diff --git a/utils/check-working-tree/CHANGELOG.md b/utils/check-working-tree/CHANGELOG.md index ae9816c8ad..fb9d6cac37 100644 --- a/utils/check-working-tree/CHANGELOG.md +++ b/utils/check-working-tree/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/check-working-tree + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/check-working-tree diff --git a/utils/check-working-tree/package.json b/utils/check-working-tree/package.json index b16a04665f..a3e56cc4d7 100644 --- a/utils/check-working-tree/package.json +++ b/utils/check-working-tree/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/check-working-tree", - "version": "6.3.0", + "version": "6.4.0", "description": "Check git working tree status and error appropriately", "keywords": [ "lerna", diff --git a/utils/collect-uncommitted/CHANGELOG.md b/utils/collect-uncommitted/CHANGELOG.md index fc700e0fd4..8cb9761b70 100644 --- a/utils/collect-uncommitted/CHANGELOG.md +++ b/utils/collect-uncommitted/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/collect-uncommitted + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/collect-uncommitted diff --git a/utils/collect-uncommitted/package.json b/utils/collect-uncommitted/package.json index 256209e1dd..f2ded86067 100644 --- a/utils/collect-uncommitted/package.json +++ b/utils/collect-uncommitted/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/collect-uncommitted", - "version": "6.3.0", + "version": "6.4.0", "description": "Collect uncommitted changes to working tree for display in error messages", "keywords": [ "lerna", diff --git a/utils/collect-updates/CHANGELOG.md b/utils/collect-updates/CHANGELOG.md index 00c632cb67..c0c730c059 100644 --- a/utils/collect-updates/CHANGELOG.md +++ b/utils/collect-updates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/collect-updates + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/collect-updates diff --git a/utils/collect-updates/package.json b/utils/collect-updates/package.json index b0f6a92c30..13e6e15be1 100644 --- a/utils/collect-updates/package.json +++ b/utils/collect-updates/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/collect-updates", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/create-symlink/CHANGELOG.md b/utils/create-symlink/CHANGELOG.md index a08d88e869..34b04830d3 100644 --- a/utils/create-symlink/CHANGELOG.md +++ b/utils/create-symlink/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/create-symlink + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/create-symlink diff --git a/utils/create-symlink/package.json b/utils/create-symlink/package.json index a2e28616ad..6f753f2b5e 100644 --- a/utils/create-symlink/package.json +++ b/utils/create-symlink/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/create-symlink", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/describe-ref/CHANGELOG.md b/utils/describe-ref/CHANGELOG.md index 4f81bc5e4d..6ec2b9b47c 100644 --- a/utils/describe-ref/CHANGELOG.md +++ b/utils/describe-ref/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/describe-ref + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/describe-ref diff --git a/utils/describe-ref/package.json b/utils/describe-ref/package.json index 06d6e465b6..d366d970da 100644 --- a/utils/describe-ref/package.json +++ b/utils/describe-ref/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/describe-ref", - "version": "6.3.0", + "version": "6.4.0", "description": "Parse git describe output for lerna-related tags", "keywords": [ "lerna", diff --git a/utils/filter-packages/CHANGELOG.md b/utils/filter-packages/CHANGELOG.md index 60c880da4c..f255856a0b 100644 --- a/utils/filter-packages/CHANGELOG.md +++ b/utils/filter-packages/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/filter-packages + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/filter-packages diff --git a/utils/filter-packages/package.json b/utils/filter-packages/package.json index af29188f9b..41990aa6c5 100644 --- a/utils/filter-packages/package.json +++ b/utils/filter-packages/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/filter-packages", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/get-npm-exec-opts/CHANGELOG.md b/utils/get-npm-exec-opts/CHANGELOG.md index dcf8b6174a..6fc767cb3b 100644 --- a/utils/get-npm-exec-opts/CHANGELOG.md +++ b/utils/get-npm-exec-opts/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/get-npm-exec-opts + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/get-npm-exec-opts diff --git a/utils/get-npm-exec-opts/package.json b/utils/get-npm-exec-opts/package.json index d40d51ba05..72da043448 100644 --- a/utils/get-npm-exec-opts/package.json +++ b/utils/get-npm-exec-opts/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/get-npm-exec-opts", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/get-packed/CHANGELOG.md b/utils/get-packed/CHANGELOG.md index 3c292b8754..2ba030f45d 100644 --- a/utils/get-packed/CHANGELOG.md +++ b/utils/get-packed/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/get-packed + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/get-packed diff --git a/utils/get-packed/package.json b/utils/get-packed/package.json index e65079cf20..c3b7666eff 100644 --- a/utils/get-packed/package.json +++ b/utils/get-packed/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/get-packed", - "version": "6.3.0", + "version": "6.4.0", "description": "Read contents of package tarball created by npm pack", "keywords": [ "lerna", diff --git a/utils/github-client/CHANGELOG.md b/utils/github-client/CHANGELOG.md index 8807291d86..ad2e395415 100644 --- a/utils/github-client/CHANGELOG.md +++ b/utils/github-client/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/github-client + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/github-client diff --git a/utils/github-client/package.json b/utils/github-client/package.json index 0b9fec7326..a226ab08c3 100644 --- a/utils/github-client/package.json +++ b/utils/github-client/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/github-client", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/gitlab-client/CHANGELOG.md b/utils/gitlab-client/CHANGELOG.md index e9032524f2..2a505a795a 100644 --- a/utils/gitlab-client/CHANGELOG.md +++ b/utils/gitlab-client/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://gitlab.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/gitlab-client + # [6.3.0](https://gitlab.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/gitlab-client diff --git a/utils/gitlab-client/package.json b/utils/gitlab-client/package.json index 0b24bde54d..bbdd883aa4 100644 --- a/utils/gitlab-client/package.json +++ b/utils/gitlab-client/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/gitlab-client", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/has-npm-version/CHANGELOG.md b/utils/has-npm-version/CHANGELOG.md index cff2e74f96..ab15b08a4b 100644 --- a/utils/has-npm-version/CHANGELOG.md +++ b/utils/has-npm-version/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/has-npm-version + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/has-npm-version diff --git a/utils/has-npm-version/package.json b/utils/has-npm-version/package.json index ecd44209f0..30db49a0e8 100644 --- a/utils/has-npm-version/package.json +++ b/utils/has-npm-version/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/has-npm-version", - "version": "6.3.0", + "version": "6.4.0", "description": "Test if the current version of npm satisfies a given semver range", "keywords": [ "lerna", diff --git a/utils/listable/CHANGELOG.md b/utils/listable/CHANGELOG.md index dce094b404..6d9283e94b 100644 --- a/utils/listable/CHANGELOG.md +++ b/utils/listable/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/listable + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/listable diff --git a/utils/listable/package.json b/utils/listable/package.json index 603b642b56..fd59eb028c 100644 --- a/utils/listable/package.json +++ b/utils/listable/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/listable", - "version": "6.3.0", + "version": "6.4.0", "description": "Shared logic for listing package information", "keywords": [ "lerna", diff --git a/utils/log-packed/CHANGELOG.md b/utils/log-packed/CHANGELOG.md index c07e670fae..fddd0ca7ea 100644 --- a/utils/log-packed/CHANGELOG.md +++ b/utils/log-packed/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/log-packed + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/log-packed diff --git a/utils/log-packed/package.json b/utils/log-packed/package.json index 73d2de6754..859808a947 100644 --- a/utils/log-packed/package.json +++ b/utils/log-packed/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/log-packed", - "version": "6.3.0", + "version": "6.4.0", "description": "Log the result of npm pack --json", "keywords": [ "lerna", diff --git a/utils/map-to-registry/CHANGELOG.md b/utils/map-to-registry/CHANGELOG.md index 7f6bab55bf..28b1f5f5a7 100644 --- a/utils/map-to-registry/CHANGELOG.md +++ b/utils/map-to-registry/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/map-to-registry + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/map-to-registry diff --git a/utils/map-to-registry/package.json b/utils/map-to-registry/package.json index 4e62b4ddc6..2d038edb1d 100644 --- a/utils/map-to-registry/package.json +++ b/utils/map-to-registry/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/map-to-registry", - "version": "6.3.0", + "version": "6.4.0", "description": "Produce registry uri and auth of package name from npm config", "keywords": [ "lerna", diff --git a/utils/npm-conf/CHANGELOG.md b/utils/npm-conf/CHANGELOG.md index f82363a812..c8a520c7b1 100644 --- a/utils/npm-conf/CHANGELOG.md +++ b/utils/npm-conf/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/npm-conf + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/npm-conf diff --git a/utils/npm-conf/package.json b/utils/npm-conf/package.json index e20245c0d8..15d80d594d 100644 --- a/utils/npm-conf/package.json +++ b/utils/npm-conf/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/npm-conf", - "version": "6.3.0", + "version": "6.4.0", "description": "Vendored npm-conf with updates", "keywords": [ "lerna", diff --git a/utils/npm-dist-tag/CHANGELOG.md b/utils/npm-dist-tag/CHANGELOG.md index 2630cc7e87..f42a9a3ae7 100644 --- a/utils/npm-dist-tag/CHANGELOG.md +++ b/utils/npm-dist-tag/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/npm-dist-tag + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/npm-dist-tag diff --git a/utils/npm-dist-tag/package.json b/utils/npm-dist-tag/package.json index 1074e4c24d..52685e80ae 100644 --- a/utils/npm-dist-tag/package.json +++ b/utils/npm-dist-tag/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/npm-dist-tag", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/npm-install/CHANGELOG.md b/utils/npm-install/CHANGELOG.md index 63513c610f..9e76b43248 100644 --- a/utils/npm-install/CHANGELOG.md +++ b/utils/npm-install/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/npm-install + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/npm-install diff --git a/utils/npm-install/package.json b/utils/npm-install/package.json index b5c94a7efd..dd2e9a357f 100644 --- a/utils/npm-install/package.json +++ b/utils/npm-install/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/npm-install", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/npm-publish/CHANGELOG.md b/utils/npm-publish/CHANGELOG.md index 9f0ea0c4ca..20a8456974 100644 --- a/utils/npm-publish/CHANGELOG.md +++ b/utils/npm-publish/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/npm-publish + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/npm-publish diff --git a/utils/npm-publish/package.json b/utils/npm-publish/package.json index c108a2fdc9..9269d2f558 100644 --- a/utils/npm-publish/package.json +++ b/utils/npm-publish/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/npm-publish", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/npm-run-script/CHANGELOG.md b/utils/npm-run-script/CHANGELOG.md index 51c1618a90..1d21ccdeb1 100644 --- a/utils/npm-run-script/CHANGELOG.md +++ b/utils/npm-run-script/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/npm-run-script + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/npm-run-script diff --git a/utils/npm-run-script/package.json b/utils/npm-run-script/package.json index 4f76e7c43b..9c9ea342cb 100644 --- a/utils/npm-run-script/package.json +++ b/utils/npm-run-script/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/npm-run-script", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/output/CHANGELOG.md b/utils/output/CHANGELOG.md index 59e76dfd40..fb623cc95d 100644 --- a/utils/output/CHANGELOG.md +++ b/utils/output/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/output + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/output diff --git a/utils/output/package.json b/utils/output/package.json index 29e88e77dd..18b436fb0e 100644 --- a/utils/output/package.json +++ b/utils/output/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/output", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/pack-directory/CHANGELOG.md b/utils/pack-directory/CHANGELOG.md index 2f3dfecd43..e0bab3b8bc 100644 --- a/utils/pack-directory/CHANGELOG.md +++ b/utils/pack-directory/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/pack-directory + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/pack-directory diff --git a/utils/pack-directory/package.json b/utils/pack-directory/package.json index 6782e673a4..ea731f7ad7 100644 --- a/utils/pack-directory/package.json +++ b/utils/pack-directory/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/pack-directory", - "version": "6.3.0", + "version": "6.4.0", "description": "Pack a directory into an npm package tarball", "keywords": [ "lerna", diff --git a/utils/prerelease-id-from-version/CHANGELOG.md b/utils/prerelease-id-from-version/CHANGELOG.md index 03e89e2ca0..c2bd6e260b 100644 --- a/utils/prerelease-id-from-version/CHANGELOG.md +++ b/utils/prerelease-id-from-version/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/prerelease-id-from-version + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/prerelease-id-from-version diff --git a/utils/prerelease-id-from-version/package.json b/utils/prerelease-id-from-version/package.json index 859c5e72e0..4eaf955fa8 100644 --- a/utils/prerelease-id-from-version/package.json +++ b/utils/prerelease-id-from-version/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/prerelease-id-from-version", - "version": "6.3.0", + "version": "6.4.0", "description": "Get the prerelease ID from a version string", "keywords": [ "lerna", diff --git a/utils/profiler/CHANGELOG.md b/utils/profiler/CHANGELOG.md index e232973d4d..76838d3bc2 100644 --- a/utils/profiler/CHANGELOG.md +++ b/utils/profiler/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/profiler + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/profiler diff --git a/utils/profiler/package.json b/utils/profiler/package.json index b446fa899f..eec0b8495b 100644 --- a/utils/profiler/package.json +++ b/utils/profiler/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/profiler", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/pulse-till-done/CHANGELOG.md b/utils/pulse-till-done/CHANGELOG.md index e6aee081e0..54f63dae5c 100644 --- a/utils/pulse-till-done/CHANGELOG.md +++ b/utils/pulse-till-done/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/pulse-till-done + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/pulse-till-done diff --git a/utils/pulse-till-done/package.json b/utils/pulse-till-done/package.json index 68b7818dcb..4856d9e95b 100644 --- a/utils/pulse-till-done/package.json +++ b/utils/pulse-till-done/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/pulse-till-done", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/query-graph/CHANGELOG.md b/utils/query-graph/CHANGELOG.md index 0eae2c624a..0ec7f512f7 100644 --- a/utils/query-graph/CHANGELOG.md +++ b/utils/query-graph/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/query-graph + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/query-graph diff --git a/utils/query-graph/package.json b/utils/query-graph/package.json index fd04b211ca..22334fafb7 100644 --- a/utils/query-graph/package.json +++ b/utils/query-graph/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/query-graph", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/resolve-symlink/CHANGELOG.md b/utils/resolve-symlink/CHANGELOG.md index 5d159bb5be..b70fa90292 100644 --- a/utils/resolve-symlink/CHANGELOG.md +++ b/utils/resolve-symlink/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/resolve-symlink + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/resolve-symlink diff --git a/utils/resolve-symlink/package.json b/utils/resolve-symlink/package.json index 7ee1a4e2de..c69cfd2c53 100644 --- a/utils/resolve-symlink/package.json +++ b/utils/resolve-symlink/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/resolve-symlink", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/rimraf-dir/CHANGELOG.md b/utils/rimraf-dir/CHANGELOG.md index df8e974296..8c3940e956 100644 --- a/utils/rimraf-dir/CHANGELOG.md +++ b/utils/rimraf-dir/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/rimraf-dir + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/rimraf-dir diff --git a/utils/rimraf-dir/package.json b/utils/rimraf-dir/package.json index de5c1933be..4e95087b05 100644 --- a/utils/rimraf-dir/package.json +++ b/utils/rimraf-dir/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/rimraf-dir", - "version": "6.3.0", + "version": "6.4.0", "description": "Run rimraf on a directory in a subprocess to hack around slowness", "keywords": [ "lerna", diff --git a/utils/run-lifecycle/CHANGELOG.md b/utils/run-lifecycle/CHANGELOG.md index 99a193d084..a116b2ed16 100644 --- a/utils/run-lifecycle/CHANGELOG.md +++ b/utils/run-lifecycle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/run-lifecycle + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/run-lifecycle diff --git a/utils/run-lifecycle/package.json b/utils/run-lifecycle/package.json index 68656e980c..8ddb5289af 100644 --- a/utils/run-lifecycle/package.json +++ b/utils/run-lifecycle/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/run-lifecycle", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/run-topologically/CHANGELOG.md b/utils/run-topologically/CHANGELOG.md index e8762a0ccc..6965272738 100644 --- a/utils/run-topologically/CHANGELOG.md +++ b/utils/run-topologically/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/run-topologically + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/run-topologically diff --git a/utils/run-topologically/package.json b/utils/run-topologically/package.json index 2b17d8e254..b17bc7066d 100644 --- a/utils/run-topologically/package.json +++ b/utils/run-topologically/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/run-topologically", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/symlink-binary/CHANGELOG.md b/utils/symlink-binary/CHANGELOG.md index a9725784bd..91003bbc58 100644 --- a/utils/symlink-binary/CHANGELOG.md +++ b/utils/symlink-binary/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/symlink-binary + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/symlink-binary diff --git a/utils/symlink-binary/package.json b/utils/symlink-binary/package.json index 4dc20a375f..277b0e1bf4 100644 --- a/utils/symlink-binary/package.json +++ b/utils/symlink-binary/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/symlink-binary", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/symlink-dependencies/CHANGELOG.md b/utils/symlink-dependencies/CHANGELOG.md index 792482fd08..cdd82758b2 100644 --- a/utils/symlink-dependencies/CHANGELOG.md +++ b/utils/symlink-dependencies/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/symlink-dependencies + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/symlink-dependencies diff --git a/utils/symlink-dependencies/package.json b/utils/symlink-dependencies/package.json index 7875046746..a9aabe9001 100644 --- a/utils/symlink-dependencies/package.json +++ b/utils/symlink-dependencies/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/symlink-dependencies", - "version": "6.3.0", + "version": "6.4.0", "description": "Lerna's internal symlinking tool", "keywords": [ "lerna", diff --git a/utils/temp-write/CHANGELOG.md b/utils/temp-write/CHANGELOG.md index 3ad409fade..46679d176a 100644 --- a/utils/temp-write/CHANGELOG.md +++ b/utils/temp-write/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/temp-write + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/temp-write diff --git a/utils/temp-write/package.json b/utils/temp-write/package.json index 0e30937aba..494b744ed4 100644 --- a/utils/temp-write/package.json +++ b/utils/temp-write/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/temp-write", - "version": "6.3.0", + "version": "6.4.0", "description": "Write string/buffer/stream to a random temp file", "homepage": "https://lerna.js.org", "license": "MIT", diff --git a/utils/timer/CHANGELOG.md b/utils/timer/CHANGELOG.md index 8c330f7720..035a24d562 100644 --- a/utils/timer/CHANGELOG.md +++ b/utils/timer/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/timer + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/timer diff --git a/utils/timer/package.json b/utils/timer/package.json index f1c21ac534..9054fcc232 100644 --- a/utils/timer/package.json +++ b/utils/timer/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/timer", - "version": "6.3.0", + "version": "6.4.0", "description": "An internal Lerna tool", "keywords": [ "lerna", diff --git a/utils/write-log-file/CHANGELOG.md b/utils/write-log-file/CHANGELOG.md index 0e29446191..279b53bfeb 100644 --- a/utils/write-log-file/CHANGELOG.md +++ b/utils/write-log-file/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.4.0](https://github.com/lerna/lerna/compare/v6.3.0...v6.4.0) (2023-01-05) + +**Note:** Version bump only for package @lerna/write-log-file + # [6.3.0](https://github.com/lerna/lerna/compare/v6.2.0...v6.3.0) (2022-12-26) **Note:** Version bump only for package @lerna/write-log-file diff --git a/utils/write-log-file/package.json b/utils/write-log-file/package.json index 889e7f68cc..91a5a66ef8 100644 --- a/utils/write-log-file/package.json +++ b/utils/write-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@lerna/write-log-file", - "version": "6.3.0", + "version": "6.4.0", "description": "What lerna uses to dump logs", "keywords": [ "lerna", diff --git a/website/docs/faq.md b/website/docs/faq.md index 43e8f187e8..dac688450b 100644 --- a/website/docs/faq.md +++ b/website/docs/faq.md @@ -89,3 +89,11 @@ dependencies: post: - npm run bootstrap ``` + +## How does Lerna detect packages? + +By default, Lerna uses the `workspaces` property in `package.json` to search for packages. For details on this property, see the [npm documentation](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#workspaces) or the [Yarn documentation](https://classic.yarnpkg.com/lang/en/docs/workspaces/). + +If you are using `pnpm`, you might have set `npmClient` to `pnpm` in `lerna.json`. In this case, Lerna will use the `packages` property in `pnpm-workspace.yaml` to search for packages. For details on this property, see the [pnpm documentation](https://pnpm.io/workspaces). + +If you are using an older version of Lerna or have explicitly opted out of using workspaces, then Lerna will use the `packages` property in `lerna.json` to search for packages. diff --git a/website/package-lock.json b/website/package-lock.json index 2d917f46ae..c44492fab4 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -7402,9 +7402,9 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -17736,9 +17736,9 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonfile": { "version": "6.1.0",