chore(js): pass full context to parseTargetString (#19136)

This commit is contained in:
Craigory Coppola 2023-09-20 09:08:10 -04:00 committed by GitHub
parent a020f1d933
commit 3069f3e165
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 21 deletions

View File

@ -45,10 +45,7 @@ export async function* nodeExecutor(
) { ) {
process.env.NODE_ENV ??= context?.configurationName ?? 'development'; process.env.NODE_ENV ??= context?.configurationName ?? 'development';
const project = context.projectGraph.nodes[context.projectName]; const project = context.projectGraph.nodes[context.projectName];
const buildTarget = parseTargetString( const buildTarget = parseTargetString(options.buildTarget, context);
options.buildTarget,
context.projectGraph
);
if (!project.data.targets[buildTarget.target]) { if (!project.data.targets[buildTarget.target]) {
throw new Error( throw new Error(
@ -313,7 +310,7 @@ function calculateResolveMappings(
context: ExecutorContext, context: ExecutorContext,
options: NodeExecutorOptions options: NodeExecutorOptions
) { ) {
const parsed = parseTargetString(options.buildTarget, context.projectGraph); const parsed = parseTargetString(options.buildTarget, context);
const { dependencies } = calculateProjectBuildableDependencies( const { dependencies } = calculateProjectBuildableDependencies(
context.taskGraph, context.taskGraph,
context.projectGraph, context.projectGraph,
@ -336,7 +333,7 @@ function runWaitUntilTargets(
): Promise<{ success: boolean }[]> { ): Promise<{ success: boolean }[]> {
return Promise.all( return Promise.all(
options.waitUntilTargets.map(async (waitUntilTarget) => { options.waitUntilTargets.map(async (waitUntilTarget) => {
const target = parseTargetString(waitUntilTarget, context.projectGraph); const target = parseTargetString(waitUntilTarget, context);
const output = await runExecutor(target, {}, context); const output = await runExecutor(target, {}, context);
return new Promise<{ success: boolean }>(async (resolve) => { return new Promise<{ success: boolean }>(async (resolve) => {
let event = await output.next(); let event = await output.next();

View File

@ -75,7 +75,7 @@ function createTaskInfo(
context: ExecutorContext, context: ExecutorContext,
tsConfig: TypescriptInMemoryTsConfig tsConfig: TypescriptInMemoryTsConfig
): TaskInfo { ): TaskInfo {
const target = parseTargetString(taskName, context.projectGraph); const target = parseTargetString(taskName, context);
const taskContext = { const taskContext = {
...context, ...context,

View File

@ -11,7 +11,7 @@ export function normalizeTasksOptions(
context: ExecutorContext context: ExecutorContext
): Record<string, NormalizedExecutorOptions> { ): Record<string, NormalizedExecutorOptions> {
return Object.entries(inputs).reduce((tasksOptions, [taskName, options]) => { return Object.entries(inputs).reduce((tasksOptions, [taskName, options]) => {
const { project } = parseTargetString(taskName, context.projectGraph); const { project } = parseTargetString(taskName, context);
const { sourceRoot, root } = const { sourceRoot, root } =
context.projectsConfigurations.projects[project]; context.projectsConfigurations.projects[project];
tasksOptions[taskName] = normalizeOptions( tasksOptions[taskName] = normalizeOptions(

View File

@ -39,7 +39,7 @@ function generateTaskProjectTsConfig(
context: ExecutorContext, context: ExecutorContext,
taskInMemoryTsConfigMap: Record<string, TypescriptInMemoryTsConfig> taskInMemoryTsConfigMap: Record<string, TypescriptInMemoryTsConfig>
): string { ): string {
const { project } = parseTargetString(task, context.projectGraph); const { project } = parseTargetString(task, context);
if (projectTsConfigCache.has(project)) { if (projectTsConfigCache.has(project)) {
const { tsConfig, tsConfigPath } = projectTsConfigCache.get(project); const { tsConfig, tsConfigPath } = projectTsConfigCache.get(project);
taskInMemoryTsConfigMap[task] = tsConfig; taskInMemoryTsConfigMap[task] = tsConfig;
@ -104,9 +104,7 @@ function getDependencyTasksInOtherProjects(
context: ExecutorContext context: ExecutorContext
): string[] { ): string[] {
return context.taskGraph.dependencies[task].filter( return context.taskGraph.dependencies[task].filter(
(t) => (t) => t !== task && parseTargetString(t, context).project !== project
t !== task &&
parseTargetString(t, context.projectGraph).project !== project
); );
} }
@ -114,15 +112,10 @@ function getDependencyTasksInSameProject(
task: string, task: string,
context: ExecutorContext context: ExecutorContext
): string[] { ): string[] {
const { project: taskProject } = parseTargetString( const { project: taskProject } = parseTargetString(task, context);
task,
context.projectGraph
);
return Object.keys(context.taskGraph.tasks).filter( return Object.keys(context.taskGraph.tasks).filter(
(t) => (t) => t !== task && parseTargetString(t, context).project === taskProject
t !== task &&
parseTargetString(t, context.projectGraph).project === taskProject
); );
} }
@ -167,7 +160,7 @@ function getInMemoryTsConfig(
} }
function hasTscExecutor(task: string, context: ExecutorContext): boolean { function hasTscExecutor(task: string, context: ExecutorContext): boolean {
const { project, target } = parseTargetString(task, context.projectGraph); const { project, target } = parseTargetString(task, context);
return ( return (
context.projectGraph.nodes[project].data.targets[target].executor === context.projectGraph.nodes[project].data.targets[target].executor ===

View File

@ -265,7 +265,7 @@ function createTypescriptCompilationContext(
Object.entries(taskInMemoryTsConfigMap).forEach(([task, tsConfig]) => { Object.entries(taskInMemoryTsConfigMap).forEach(([task, tsConfig]) => {
if (!tsCompilationContext[tsConfig.path]) { if (!tsCompilationContext[tsConfig.path]) {
tsCompilationContext[tsConfig.path] = { tsCompilationContext[tsConfig.path] = {
project: parseTargetString(task, context.projectGraph).project, project: parseTargetString(task, context).project,
transformers: [], transformers: [],
tsConfig: tsConfig, tsConfig: tsConfig,
}; };