feat(devkit): reexport package manager methods in devkit
This commit is contained in:
parent
632d2f72ae
commit
5e6cf9646b
@ -60,9 +60,11 @@
|
||||
- [applyChangesToString](../../angular/nx-devkit/index#applychangestostring)
|
||||
- [convertNxExecutor](../../angular/nx-devkit/index#convertnxexecutor)
|
||||
- [convertNxGenerator](../../angular/nx-devkit/index#convertnxgenerator)
|
||||
- [detectPackageManager](../../angular/nx-devkit/index#detectpackagemanager)
|
||||
- [formatFiles](../../angular/nx-devkit/index#formatfiles)
|
||||
- [generateFiles](../../angular/nx-devkit/index#generatefiles)
|
||||
- [getPackageManagerCommand](../../angular/nx-devkit/index#getpackagemanagercommand)
|
||||
- [getPackageManagerVersion](../../angular/nx-devkit/index#getpackagemanagerversion)
|
||||
- [getProjects](../../angular/nx-devkit/index#getprojects)
|
||||
- [getWorkspaceLayout](../../angular/nx-devkit/index#getworkspacelayout)
|
||||
- [getWorkspacePath](../../angular/nx-devkit/index#getworkspacepath)
|
||||
@ -578,6 +580,22 @@ Convert an Nx Generator into an Angular Devkit Schematic
|
||||
|
||||
---
|
||||
|
||||
### detectPackageManager
|
||||
|
||||
▸ **detectPackageManager**(`dir?`: _string_): [_PackageManager_](../../angular/nx-devkit/index#packagemanager)
|
||||
|
||||
Detects which package manager is used in the workspace based on the lock file.
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Default value |
|
||||
| :---- | :------- | :------------ |
|
||||
| `dir` | _string_ | '' |
|
||||
|
||||
**Returns:** [_PackageManager_](../../angular/nx-devkit/index#packagemanager)
|
||||
|
||||
---
|
||||
|
||||
### formatFiles
|
||||
|
||||
▸ **formatFiles**(`host`: [_Tree_](../../angular/nx-devkit/index#tree)): _Promise_<void\>
|
||||
@ -635,7 +653,7 @@ doesn't get confused about incorrect TypeScript files.
|
||||
|
||||
### getPackageManagerCommand
|
||||
|
||||
▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../angular/nx-devkit/index#packagemanager)): _object_
|
||||
▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../angular/nx-devkit/index#packagemanager)): PackageManagerCommands
|
||||
|
||||
Returns commands for the package manager used in the workspace.
|
||||
By default, the package manager is derived based on the lock file,
|
||||
@ -653,17 +671,25 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`);
|
||||
| :--------------- | :--------------------------------------------------------------- |
|
||||
| `packageManager` | [_PackageManager_](../../angular/nx-devkit/index#packagemanager) |
|
||||
|
||||
**Returns:** _object_
|
||||
**Returns:** PackageManagerCommands
|
||||
|
||||
| Name | Type |
|
||||
| :-------- | :------------------------------------------------- |
|
||||
| `add` | _string_ |
|
||||
| `addDev` | _string_ |
|
||||
| `exec` | _string_ |
|
||||
| `install` | _string_ |
|
||||
| `list` | _string_ |
|
||||
| `rm` | _string_ |
|
||||
| `run` | (`script`: _string_, `args`: _string_) => _string_ |
|
||||
---
|
||||
|
||||
### getPackageManagerVersion
|
||||
|
||||
▸ **getPackageManagerVersion**(`packageManager?`: [_PackageManager_](../../angular/nx-devkit/index#packagemanager)): _string_
|
||||
|
||||
Returns the version of the package manager used in the workspace.
|
||||
By default, the package manager is derived based on the lock file,
|
||||
but it can also be passed in explicitly.
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :--------------- | :--------------------------------------------------------------- |
|
||||
| `packageManager` | [_PackageManager_](../../angular/nx-devkit/index#packagemanager) |
|
||||
|
||||
**Returns:** _string_
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -60,9 +60,11 @@
|
||||
- [applyChangesToString](../../node/nx-devkit/index#applychangestostring)
|
||||
- [convertNxExecutor](../../node/nx-devkit/index#convertnxexecutor)
|
||||
- [convertNxGenerator](../../node/nx-devkit/index#convertnxgenerator)
|
||||
- [detectPackageManager](../../node/nx-devkit/index#detectpackagemanager)
|
||||
- [formatFiles](../../node/nx-devkit/index#formatfiles)
|
||||
- [generateFiles](../../node/nx-devkit/index#generatefiles)
|
||||
- [getPackageManagerCommand](../../node/nx-devkit/index#getpackagemanagercommand)
|
||||
- [getPackageManagerVersion](../../node/nx-devkit/index#getpackagemanagerversion)
|
||||
- [getProjects](../../node/nx-devkit/index#getprojects)
|
||||
- [getWorkspaceLayout](../../node/nx-devkit/index#getworkspacelayout)
|
||||
- [getWorkspacePath](../../node/nx-devkit/index#getworkspacepath)
|
||||
@ -578,6 +580,22 @@ Convert an Nx Generator into an Angular Devkit Schematic
|
||||
|
||||
---
|
||||
|
||||
### detectPackageManager
|
||||
|
||||
▸ **detectPackageManager**(`dir?`: _string_): [_PackageManager_](../../node/nx-devkit/index#packagemanager)
|
||||
|
||||
Detects which package manager is used in the workspace based on the lock file.
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Default value |
|
||||
| :---- | :------- | :------------ |
|
||||
| `dir` | _string_ | '' |
|
||||
|
||||
**Returns:** [_PackageManager_](../../node/nx-devkit/index#packagemanager)
|
||||
|
||||
---
|
||||
|
||||
### formatFiles
|
||||
|
||||
▸ **formatFiles**(`host`: [_Tree_](../../node/nx-devkit/index#tree)): _Promise_<void\>
|
||||
@ -635,7 +653,7 @@ doesn't get confused about incorrect TypeScript files.
|
||||
|
||||
### getPackageManagerCommand
|
||||
|
||||
▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../node/nx-devkit/index#packagemanager)): _object_
|
||||
▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../node/nx-devkit/index#packagemanager)): PackageManagerCommands
|
||||
|
||||
Returns commands for the package manager used in the workspace.
|
||||
By default, the package manager is derived based on the lock file,
|
||||
@ -653,17 +671,25 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`);
|
||||
| :--------------- | :------------------------------------------------------------ |
|
||||
| `packageManager` | [_PackageManager_](../../node/nx-devkit/index#packagemanager) |
|
||||
|
||||
**Returns:** _object_
|
||||
**Returns:** PackageManagerCommands
|
||||
|
||||
| Name | Type |
|
||||
| :-------- | :------------------------------------------------- |
|
||||
| `add` | _string_ |
|
||||
| `addDev` | _string_ |
|
||||
| `exec` | _string_ |
|
||||
| `install` | _string_ |
|
||||
| `list` | _string_ |
|
||||
| `rm` | _string_ |
|
||||
| `run` | (`script`: _string_, `args`: _string_) => _string_ |
|
||||
---
|
||||
|
||||
### getPackageManagerVersion
|
||||
|
||||
▸ **getPackageManagerVersion**(`packageManager?`: [_PackageManager_](../../node/nx-devkit/index#packagemanager)): _string_
|
||||
|
||||
Returns the version of the package manager used in the workspace.
|
||||
By default, the package manager is derived based on the lock file,
|
||||
but it can also be passed in explicitly.
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :--------------- | :------------------------------------------------------------ |
|
||||
| `packageManager` | [_PackageManager_](../../node/nx-devkit/index#packagemanager) |
|
||||
|
||||
**Returns:** _string_
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -60,9 +60,11 @@
|
||||
- [applyChangesToString](../../react/nx-devkit/index#applychangestostring)
|
||||
- [convertNxExecutor](../../react/nx-devkit/index#convertnxexecutor)
|
||||
- [convertNxGenerator](../../react/nx-devkit/index#convertnxgenerator)
|
||||
- [detectPackageManager](../../react/nx-devkit/index#detectpackagemanager)
|
||||
- [formatFiles](../../react/nx-devkit/index#formatfiles)
|
||||
- [generateFiles](../../react/nx-devkit/index#generatefiles)
|
||||
- [getPackageManagerCommand](../../react/nx-devkit/index#getpackagemanagercommand)
|
||||
- [getPackageManagerVersion](../../react/nx-devkit/index#getpackagemanagerversion)
|
||||
- [getProjects](../../react/nx-devkit/index#getprojects)
|
||||
- [getWorkspaceLayout](../../react/nx-devkit/index#getworkspacelayout)
|
||||
- [getWorkspacePath](../../react/nx-devkit/index#getworkspacepath)
|
||||
@ -578,6 +580,22 @@ Convert an Nx Generator into an Angular Devkit Schematic
|
||||
|
||||
---
|
||||
|
||||
### detectPackageManager
|
||||
|
||||
▸ **detectPackageManager**(`dir?`: _string_): [_PackageManager_](../../react/nx-devkit/index#packagemanager)
|
||||
|
||||
Detects which package manager is used in the workspace based on the lock file.
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Default value |
|
||||
| :---- | :------- | :------------ |
|
||||
| `dir` | _string_ | '' |
|
||||
|
||||
**Returns:** [_PackageManager_](../../react/nx-devkit/index#packagemanager)
|
||||
|
||||
---
|
||||
|
||||
### formatFiles
|
||||
|
||||
▸ **formatFiles**(`host`: [_Tree_](../../react/nx-devkit/index#tree)): _Promise_<void\>
|
||||
@ -635,7 +653,7 @@ doesn't get confused about incorrect TypeScript files.
|
||||
|
||||
### getPackageManagerCommand
|
||||
|
||||
▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../react/nx-devkit/index#packagemanager)): _object_
|
||||
▸ **getPackageManagerCommand**(`packageManager?`: [_PackageManager_](../../react/nx-devkit/index#packagemanager)): PackageManagerCommands
|
||||
|
||||
Returns commands for the package manager used in the workspace.
|
||||
By default, the package manager is derived based on the lock file,
|
||||
@ -653,17 +671,25 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`);
|
||||
| :--------------- | :------------------------------------------------------------- |
|
||||
| `packageManager` | [_PackageManager_](../../react/nx-devkit/index#packagemanager) |
|
||||
|
||||
**Returns:** _object_
|
||||
**Returns:** PackageManagerCommands
|
||||
|
||||
| Name | Type |
|
||||
| :-------- | :------------------------------------------------- |
|
||||
| `add` | _string_ |
|
||||
| `addDev` | _string_ |
|
||||
| `exec` | _string_ |
|
||||
| `install` | _string_ |
|
||||
| `list` | _string_ |
|
||||
| `rm` | _string_ |
|
||||
| `run` | (`script`: _string_, `args`: _string_) => _string_ |
|
||||
---
|
||||
|
||||
### getPackageManagerVersion
|
||||
|
||||
▸ **getPackageManagerVersion**(`packageManager?`: [_PackageManager_](../../react/nx-devkit/index#packagemanager)): _string_
|
||||
|
||||
Returns the version of the package manager used in the workspace.
|
||||
By default, the package manager is derived based on the lock file,
|
||||
but it can also be passed in explicitly.
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :--------------- | :------------------------------------------------------------- |
|
||||
| `packageManager` | [_PackageManager_](../../react/nx-devkit/index#packagemanager) |
|
||||
|
||||
**Returns:** _string_
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -20,7 +20,11 @@ export type {
|
||||
} from '@nrwl/tao/src/shared/nx';
|
||||
export { logger } from '@nrwl/tao/src/shared/logger';
|
||||
export type { PackageManager } from '@nrwl/tao/src/shared/package-manager';
|
||||
export { getPackageManagerCommand } from '@nrwl/tao/src/shared/package-manager';
|
||||
export {
|
||||
getPackageManagerCommand,
|
||||
detectPackageManager,
|
||||
getPackageManagerVersion,
|
||||
} from '@nrwl/tao/src/shared/package-manager';
|
||||
export type { Target } from '@nrwl/tao/src/commands/run';
|
||||
export { runExecutor } from '@nrwl/tao/src/commands/run';
|
||||
|
||||
|
||||
@ -6,11 +6,7 @@ import { gt, lte } from 'semver';
|
||||
import { dirSync } from 'tmp';
|
||||
import { logger } from '../shared/logger';
|
||||
import { convertToCamelCase, handleErrors } from '../shared/params';
|
||||
import {
|
||||
detectPackageManager,
|
||||
getPackageManagerCommand,
|
||||
PackageManager,
|
||||
} from '../shared/package-manager';
|
||||
import { getPackageManagerCommand } from '../shared/package-manager';
|
||||
import { FsTree } from '../shared/tree';
|
||||
import { flushChanges } from './generate';
|
||||
import {
|
||||
@ -424,7 +420,7 @@ function versions(root: string, from: { [p: string]: string }) {
|
||||
}
|
||||
|
||||
// testing-fetch-start
|
||||
function createFetcher(packageManager: PackageManager) {
|
||||
function createFetcher() {
|
||||
const cache = {};
|
||||
return async function f(
|
||||
packageName: string,
|
||||
@ -433,7 +429,7 @@ function createFetcher(packageManager: PackageManager) {
|
||||
if (!cache[`${packageName}-${packageVersion}`]) {
|
||||
const dir = dirSync().name;
|
||||
logger.info(`Fetching ${packageName}@${packageVersion}`);
|
||||
const pmc = getPackageManagerCommand(packageManager);
|
||||
const pmc = getPackageManagerCommand();
|
||||
execSync(`${pmc.add} ${packageName}@${packageVersion}`, {
|
||||
stdio: [],
|
||||
cwd: dir,
|
||||
@ -539,14 +535,13 @@ async function generateMigrationsJsonAndUpdatePackageJson(
|
||||
to: { [p: string]: string };
|
||||
}
|
||||
) {
|
||||
const packageManager = detectPackageManager();
|
||||
const pmc = getPackageManagerCommand(packageManager);
|
||||
const pmc = getPackageManagerCommand();
|
||||
try {
|
||||
logger.info(`Fetching meta data about packages.`);
|
||||
logger.info(`It may take a few minutes.`);
|
||||
const migrator = new Migrator({
|
||||
versions: versions(root, opts.from),
|
||||
fetch: createFetcher(packageManager),
|
||||
fetch: createFetcher(),
|
||||
from: opts.from,
|
||||
to: opts.to,
|
||||
});
|
||||
@ -611,7 +606,7 @@ function installAngularDevkitIfNecessaryToExecuteLegacyMigrations(
|
||||
);
|
||||
if (!hasAngularDevkitMigrations) return false;
|
||||
|
||||
const pmCommands = getPackageManagerCommand(detectPackageManager());
|
||||
const pmCommands = getPackageManagerCommand();
|
||||
const devkitInstalled =
|
||||
execSync(`${pmCommands.list} @angular-devkit/schematics`)
|
||||
.toString()
|
||||
@ -630,13 +625,13 @@ function installAngularDevkitIfNecessaryToExecuteLegacyMigrations(
|
||||
}
|
||||
|
||||
function removeAngularDevkitMigrations() {
|
||||
const pmCommands = getPackageManagerCommand(detectPackageManager());
|
||||
const pmCommands = getPackageManagerCommand();
|
||||
execSync(`${pmCommands.rm} @angular-devkit/schematics`);
|
||||
execSync(`${pmCommands.rm} @angular-devkit/core`);
|
||||
}
|
||||
|
||||
function runInstall() {
|
||||
const pmCommands = getPackageManagerCommand(detectPackageManager());
|
||||
const pmCommands = getPackageManagerCommand();
|
||||
logger.info(
|
||||
`NX Running '${pmCommands.install}' to make sure necessary packages are installed`
|
||||
);
|
||||
|
||||
@ -22,7 +22,7 @@ import {
|
||||
toNewFormatOrNull,
|
||||
toOldFormatOrNull,
|
||||
workspaceConfigName,
|
||||
} from '@nrwl/tao/src/shared/workspace';
|
||||
} from '../shared/workspace';
|
||||
import { dirname, extname, resolve, join } from 'path';
|
||||
import { FileBuffer } from '@angular-devkit/core/src/virtual-fs/host/interface';
|
||||
import { EMPTY, Observable, of, concat } from 'rxjs';
|
||||
|
||||
@ -4,6 +4,19 @@ import { join } from 'path';
|
||||
|
||||
export type PackageManager = 'yarn' | 'pnpm' | 'npm';
|
||||
|
||||
export interface PackageManagerCommands {
|
||||
install: string;
|
||||
add: string;
|
||||
addDev: string;
|
||||
rm: string;
|
||||
exec: string;
|
||||
list: string;
|
||||
run: (script: string, args: string) => string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Detects which package manager is used in the workspace based on the lock file.
|
||||
*/
|
||||
export function detectPackageManager(dir: string = ''): PackageManager {
|
||||
return existsSync(join(dir, 'yarn.lock'))
|
||||
? 'yarn'
|
||||
@ -22,45 +35,32 @@ export function detectPackageManager(dir: string = ''): PackageManager {
|
||||
* ```javascript
|
||||
* execSync(`${getPackageManagerCommand().addDev} my-dev-package`);
|
||||
* ```
|
||||
*
|
||||
*/
|
||||
export function getPackageManagerCommand(
|
||||
packageManager: PackageManager = detectPackageManager()
|
||||
): {
|
||||
install: string;
|
||||
add: string;
|
||||
addDev: string;
|
||||
rm: string;
|
||||
exec: string;
|
||||
list: string;
|
||||
run: (script: string, args: string) => string;
|
||||
} {
|
||||
switch (packageManager) {
|
||||
case 'yarn':
|
||||
return {
|
||||
install: 'yarn',
|
||||
add: 'yarn add',
|
||||
addDev: 'yarn add -D',
|
||||
rm: 'yarn remove',
|
||||
exec: 'yarn',
|
||||
run: (script: string, args: string) => `yarn ${script} ${args}`,
|
||||
list: 'yarn list',
|
||||
};
|
||||
): PackageManagerCommands {
|
||||
const commands: { [pm in PackageManager]: () => PackageManagerCommands } = {
|
||||
yarn: () => ({
|
||||
install: 'yarn',
|
||||
add: 'yarn add',
|
||||
addDev: 'yarn add -D',
|
||||
rm: 'yarn remove',
|
||||
exec: 'yarn',
|
||||
run: (script: string, args: string) => `yarn ${script} ${args}`,
|
||||
list: 'yarn list',
|
||||
}),
|
||||
pnpm: () => ({
|
||||
install: 'pnpm install --no-frozen-lockfile', // explicitly disable in case of CI
|
||||
add: 'pnpm add',
|
||||
addDev: 'pnpm add -D',
|
||||
rm: 'pnpm rm',
|
||||
exec: 'pnpx',
|
||||
run: (script: string, args: string) => `pnpm run ${script} -- ${args}`,
|
||||
list: 'pnpm ls --depth 100',
|
||||
}),
|
||||
npm: () => {
|
||||
process.env.npm_config_legacy_peer_deps ??= 'true';
|
||||
|
||||
case 'pnpm':
|
||||
return {
|
||||
install: 'pnpm install --no-frozen-lockfile', // explicitly disable in case of CI
|
||||
add: 'pnpm add',
|
||||
addDev: 'pnpm add -D',
|
||||
rm: 'pnpm rm',
|
||||
exec: 'pnpx',
|
||||
run: (script: string, args: string) => `pnpm run ${script} -- ${args}`,
|
||||
list: 'pnpm ls --depth 100',
|
||||
};
|
||||
|
||||
case 'npm':
|
||||
process.env.npm_config_legacy_peer_deps =
|
||||
process.env.npm_config_legacy_peer_deps ?? 'true';
|
||||
return {
|
||||
install: 'npm install',
|
||||
add: 'npm install',
|
||||
@ -70,11 +70,19 @@ export function getPackageManagerCommand(
|
||||
run: (script: string, args: string) => `npm run ${script} -- ${args}`,
|
||||
list: 'npm ls',
|
||||
};
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
return commands[packageManager]();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the version of the package manager used in the workspace.
|
||||
* By default, the package manager is derived based on the lock file,
|
||||
* but it can also be passed in explicitly.
|
||||
*/
|
||||
export function getPackageManagerVersion(
|
||||
packageManager: PackageManager
|
||||
packageManager: PackageManager = detectPackageManager()
|
||||
): string {
|
||||
return execSync(`${packageManager} --version`).toString('utf-8').trim();
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { readNxJson } from '../core/file-utils';
|
||||
import { output } from '../utilities/output';
|
||||
import { getPackageManagerCommand } from '@nrwl/tao/src/shared/package-manager';
|
||||
import { getPackageManagerCommand } from '@nrwl/devkit';
|
||||
import { execSync } from 'child_process';
|
||||
|
||||
export async function connectToNxCloudUsingScan(scan: boolean): Promise<void> {
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
import { execSync } from 'child_process';
|
||||
import { getPackageManagerCommand } from '@nrwl/tao/src/shared/package-manager';
|
||||
import { getPackageManagerCommand, writeJsonFile } from '@nrwl/devkit';
|
||||
import * as yargs from 'yargs';
|
||||
import { nxVersion } from '../utils/versions';
|
||||
import { writeFileSync } from 'fs';
|
||||
import * as path from 'path';
|
||||
|
||||
const noop = (yargs: yargs.Argv): yargs.Argv => yargs;
|
||||
@ -445,20 +444,17 @@ function taoPath() {
|
||||
|
||||
const { dirSync } = require('tmp');
|
||||
const tmpDir = dirSync().name;
|
||||
writeFileSync(
|
||||
path.join(tmpDir, 'package.json'),
|
||||
JSON.stringify({
|
||||
dependencies: {
|
||||
'@nrwl/tao': 'latest',
|
||||
writeJsonFile(path.join(tmpDir, 'package.json'), {
|
||||
dependencies: {
|
||||
'@nrwl/tao': 'latest',
|
||||
|
||||
// these deps are required for migrations written using angular devkit
|
||||
'@angular-devkit/architect': 'latest',
|
||||
'@angular-devkit/schematics': 'latest',
|
||||
'@angular-devkit/core': 'latest',
|
||||
},
|
||||
license: 'MIT',
|
||||
})
|
||||
);
|
||||
// these deps are required for migrations written using angular devkit
|
||||
'@angular-devkit/architect': 'latest',
|
||||
'@angular-devkit/schematics': 'latest',
|
||||
'@angular-devkit/core': 'latest',
|
||||
},
|
||||
license: 'MIT',
|
||||
});
|
||||
|
||||
execSync(packageManager.install, {
|
||||
cwd: tmpDir,
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
import * as chalk from 'chalk';
|
||||
import { execSync } from 'child_process';
|
||||
import { appRootPath } from '../utilities/app-root';
|
||||
import { detectPackageManager } from '@nrwl/tao/src/shared/package-manager';
|
||||
import {
|
||||
detectPackageManager,
|
||||
getPackageManagerVersion,
|
||||
readJsonFile,
|
||||
} from '@nrwl/devkit';
|
||||
import { output } from '../utilities/output';
|
||||
import { readJsonFile } from '../utilities/fileutils';
|
||||
|
||||
export const packagesWeCareAbout = [
|
||||
'nx',
|
||||
@ -45,7 +47,7 @@ export const report = {
|
||||
*/
|
||||
function reportHandler() {
|
||||
const pm = detectPackageManager();
|
||||
const pmVersion = execSync(`${pm} --version`).toString('utf-8').trim();
|
||||
const pmVersion = getPackageManagerVersion(pm);
|
||||
|
||||
const bodyLines = [
|
||||
`Node : ${process.versions.node}`,
|
||||
|
||||
@ -5,19 +5,18 @@ import { copySync, removeSync } from 'fs-extra';
|
||||
import * as path from 'path';
|
||||
import * as yargsParser from 'yargs-parser';
|
||||
import { appRootPath } from '../utilities/app-root';
|
||||
import {
|
||||
detectPackageManager,
|
||||
getPackageManagerCommand,
|
||||
} from '@nrwl/tao/src/shared/package-manager';
|
||||
import {
|
||||
fileExists,
|
||||
readJsonFile,
|
||||
writeJsonFile,
|
||||
} from '../utilities/fileutils';
|
||||
import { fileExists } from '../utilities/fileutils';
|
||||
import { output } from '../utilities/output';
|
||||
import type { CompilerOptions } from 'typescript';
|
||||
import { Workspaces } from '@nrwl/tao/src/shared/workspace';
|
||||
import { logger, normalizePath } from '@nrwl/devkit';
|
||||
import {
|
||||
logger,
|
||||
normalizePath,
|
||||
getPackageManagerCommand,
|
||||
detectPackageManager,
|
||||
readJsonFile,
|
||||
writeJsonFile,
|
||||
} from '@nrwl/devkit';
|
||||
import { generate } from '@nrwl/tao/src/commands/generate';
|
||||
|
||||
const rootDirectory = appRootPath;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { execSync } from 'child_process';
|
||||
import { getPackageManagerCommand } from '@nrwl/tao/src/shared/package-manager';
|
||||
import { ExecutorContext } from '@nrwl/devkit';
|
||||
import { getPackageManagerCommand } from '@nrwl/devkit';
|
||||
import type { ExecutorContext } from '@nrwl/devkit';
|
||||
import * as path from 'path';
|
||||
|
||||
export interface RunScriptOptions {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import * as chalk from 'chalk';
|
||||
import { getPackageManagerCommand } from '@nrwl/tao/src/shared/package-manager';
|
||||
import { getPackageManagerCommand, readJsonFile } from '@nrwl/devkit';
|
||||
import { appRootPath } from '../app-root';
|
||||
import { readJsonFile } from '../fileutils';
|
||||
import { output } from '../output';
|
||||
import type { PluginCapabilities } from './models';
|
||||
import { hasElements } from './shared';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user