chore(core): move relativeCwd out of workspaces (#18229)

This commit is contained in:
Emily Xiong 2023-08-03 13:36:28 -04:00 committed by GitHub
parent 64492ece8c
commit 6b43833d2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 7 additions and 21 deletions

View File

@ -3,6 +3,7 @@ import type { ExecutorContext } from 'nx/src/config/misc-interfaces';
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
import { combineOptionsForExecutor } from 'nx/src/utils/params';
import { requireNx } from '../../nx';
import { relative } from 'path';
const { Workspaces, getExecutorInformation, calculateDefaultProjectName } =
requireNx();
@ -21,6 +22,7 @@ export function readTargetOptions<T = any>(
).projects[project];
const targetConfiguration = projectConfiguration.targets[target];
// TODO(v18): remove Workspaces.
const ws = new Workspaces(context.root);
const [nodeModule, executorName] = targetConfiguration.executor.split(':');
const { schema } = getExecutorInformation
@ -48,6 +50,6 @@ export function readTargetOptions<T = any>(
targetConfiguration,
schema,
defaultProject,
ws.relativeCwd(context.cwd)
relative(context.cwd, context.root)
) as T;
}

View File

@ -6,7 +6,6 @@ import {
ProjectsConfigurations,
} from '../config/workspace-json-project-json';
import { renamePropertyWithStableKeys } from '../config/workspaces';
import { workspaceRoot } from '../utils/workspace-root';
export function shouldMergeAngularProjects(
root: string,

View File

@ -1,9 +1,9 @@
import * as chalk from 'chalk';
import { prompt } from 'enquirer';
import { relative } from 'path';
import { readNxJson } from '../../config/configuration';
import { ProjectsConfigurations } from '../../config/workspace-json-project-json';
import { Workspaces } from '../../config/workspaces';
import { FileChange, flushChanges, FsTree } from '../../generators/tree';
import {
createProjectGraphAsync,
@ -51,7 +51,6 @@ export function printChanges(fileChanges: FileChange[]) {
async function promptForCollection(
generatorName: string,
ws: Workspaces,
interactive: boolean,
projectsConfiguration: ProjectsConfigurations
): Promise<string> {
@ -202,7 +201,6 @@ function parseGeneratorString(value: string): {
async function convertToGenerateOptions(
generatorOptions: { [p: string]: any },
ws: Workspaces,
defaultCollectionName: string,
mode: 'generate' | 'new',
projectsConfiguration?: ProjectsConfigurations
@ -221,7 +219,6 @@ async function convertToGenerateOptions(
} else if (!defaultCollectionName) {
const generatorString = await promptForCollection(
generatorDescriptor,
ws,
interactive,
projectsConfiguration
);
@ -302,7 +299,6 @@ export async function generate(cwd: string, args: { [k: string]: any }) {
}
const verbose = process.env.NX_VERBOSE_LOGGING === 'true';
const ws = new Workspaces(workspaceRoot);
const nxJsonConfiguration = readNxJson();
const projectGraph = await createProjectGraphAsync({ exitOnError: true });
const projectsConfigurations =
@ -311,7 +307,6 @@ export async function generate(cwd: string, args: { [k: string]: any }) {
return handleErrors(verbose, async () => {
const opts = await convertToGenerateOptions(
args,
ws,
readDefaultCollection(nxJsonConfiguration),
'generate',
projectsConfigurations
@ -366,7 +361,7 @@ export async function generate(cwd: string, args: { [k: string]: any }) {
projectsConfigurations,
nxJsonConfiguration
),
ws.relativeCwd(cwd),
relative(cwd, workspaceRoot),
verbose
);

View File

@ -4,11 +4,10 @@ import {
Schema,
} from '../../utils/params';
import { printHelp } from '../../utils/print-help';
import { Workspaces } from '../../config/workspaces';
import { NxJsonConfiguration } from '../../config/nx-json';
import { readJsonFile } from '../../utils/fileutils';
import { buildTargetFromScript, PackageJson } from '../../utils/package-json';
import { join } from 'path';
import { join, relative } from 'path';
import { existsSync } from 'fs';
import {
loadNxPlugins,
@ -111,7 +110,6 @@ function createImplicitTargetConfig(
}
async function parseExecutorAndTarget(
ws: Workspaces,
{ project, target, configuration }: Target,
root: string,
projectsConfigurations: ProjectsConfigurations,
@ -147,9 +145,7 @@ async function printTargetRunHelpInternal(
projectsConfigurations: ProjectsConfigurations,
nxJsonConfiguration: NxJsonConfiguration
) {
const ws = new Workspaces(root);
const { executor, nodeModule, schema } = await parseExecutorAndTarget(
ws,
{ project, target, configuration },
root,
projectsConfigurations,
@ -176,10 +172,8 @@ async function runExecutorInternal<T extends { success: boolean }>(
): Promise<AsyncIterableIterator<T>> {
validateProject(projectsConfigurations, project);
const ws = new Workspaces(root);
const { executor, implementationFactory, nodeModule, schema, targetConfig } =
await parseExecutorAndTarget(
ws,
{ project, target, configuration },
root,
projectsConfigurations,
@ -193,7 +187,7 @@ async function runExecutorInternal<T extends { success: boolean }>(
targetConfig,
schema,
project,
ws.relativeCwd(cwd),
relative(cwd, root),
isVerbose
);

View File

@ -27,10 +27,6 @@ export class Workspaces {
constructor(private root: string) {}
relativeCwd(cwd: string) {
return path.relative(this.root, cwd).replace(/\\/g, '/') || null;
}
/**
* @deprecated
*/