diff --git a/packages/nx/src/command-line/migrate.spec.ts b/packages/nx/src/command-line/migrate.spec.ts index a9448d17a7..bbad6f8949 100644 --- a/packages/nx/src/command-line/migrate.spec.ts +++ b/packages/nx/src/command-line/migrate.spec.ts @@ -768,6 +768,12 @@ describe('Migration', () => { targetVersion: '12.0.0', } ); + expect( + parseMigrationsOptions({ packageAndVersion: '8.12.0-beta.0' }) + ).toMatchObject({ + targetPackage: '@nrwl/workspace', + targetVersion: '8.12.0-beta.0', + }); expect( parseMigrationsOptions({ packageAndVersion: 'next' }) ).toMatchObject({ diff --git a/packages/nx/src/command-line/migrate.ts b/packages/nx/src/command-line/migrate.ts index adddfc926c..f30a26a8fe 100644 --- a/packages/nx/src/command-line/migrate.ts +++ b/packages/nx/src/command-line/migrate.ts @@ -394,14 +394,14 @@ function parseTargetPackageAndVersion(args: string) { } } else { if ( - args.match(/^\d+(?:\.\d+)?(?:\.\d+)?$/) || args === 'latest' || - args === 'next' + args === 'next' || + valid(args) || + args.match(/^\d+(?:\.\d+)?(?:\.\d+)?$/) ) { const targetVersion = normalizeVersionWithTagCheck(args); const targetPackage = - args.match(/^\d+(?:\.\d+)?(?:\.\d+)?$/) && - lt(targetVersion, '14.0.0-beta.0') + !['latest', 'next'].includes(args) && lt(targetVersion, '14.0.0-beta.0') ? '@nrwl/workspace' : 'nx';