Skip to content

Commit

Permalink
fix(core): do not override process.env with variables in dotenv files (
Browse files Browse the repository at this point in the history
  • Loading branch information
leosvelperez committed Jul 29, 2021
1 parent 117ee93 commit dc02ca9
Showing 1 changed file with 24 additions and 18 deletions.
42 changes: 24 additions & 18 deletions packages/workspace/src/tasks-runner/forked-process-task-runner.ts
Expand Up @@ -28,7 +28,7 @@ export class ForkedProcessTaskRunner {
public forkProcessForBatch({ executorName, taskGraph }: Batch) {
return new Promise<BatchResults>((res, rej) => {
try {
const env = this.envForForkedProcess(
const env = this.envForForkedProcessForTarget(
taskGraph.tasks[0].target.target,
process.env.FORCE_COLOR === undefined
? 'true'
Expand Down Expand Up @@ -212,20 +212,11 @@ export class ForkedProcessTaskRunner {
}

private envForForkedProcess(
target: string,
forceColor: string,
outputPath?: string,
forwardOutput?: boolean
) {
const envsFromFiles = {
...parseEnv('.env'),
...parseEnv('.local.env'),
...parseEnv(`.${target}.env`),
...parseEnv(`.env.${target}`),
};

const env: NodeJS.ProcessEnv = {
...envsFromFiles,
FORCE_COLOR: forceColor,
...process.env,
NX_INVOKED_BY_RUNNER: 'true',
Expand All @@ -245,18 +236,33 @@ export class ForkedProcessTaskRunner {
return env;
}

private envForForkedProcessForTarget(
target: string,
forceColor: string,
outputPath?: string,
forwardOutput?: boolean
) {
const envsFromFiles = {
...parseEnv('.env'),
...parseEnv('.local.env'),
...parseEnv(`.${target}.env`),
...parseEnv(`.env.${target}`),
};

const env: NodeJS.ProcessEnv = {
...envsFromFiles,
...this.envForForkedProcess(forceColor, outputPath, forwardOutput),
};

return env;
}

private envForForkedProcessForTask(
task: Task,
forceColor: string,
outputPath: string,
forwardOutput: boolean
) {
let env: NodeJS.ProcessEnv = this.envForForkedProcess(
task.target.target,
forceColor,
outputPath,
forwardOutput
);
const envsFromFiles = {
...parseEnv('.env'),
...parseEnv('.local.env'),
Expand All @@ -270,9 +276,9 @@ export class ForkedProcessTaskRunner {
...parseEnv(`${task.projectRoot}/.env.${task.target.target}`),
};

env = {
...env,
const env: NodeJS.ProcessEnv = {
...envsFromFiles,
...this.envForForkedProcess(forceColor, outputPath, forwardOutput),
NX_TASK_TARGET_PROJECT: task.target.project,
NX_TASK_HASH: task.hash,
};
Expand Down

0 comments on commit dc02ca9

Please sign in to comment.