diff --git a/dev-infra/commit-message/validate-range.ts b/dev-infra/commit-message/validate-range.ts index ab6a858c8c..485fa06b2f 100644 --- a/dev-infra/commit-message/validate-range.ts +++ b/dev-infra/commit-message/validate-range.ts @@ -5,9 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {exec} from 'shelljs'; - import {info} from '../utils/console'; +import {exec} from '../utils/shelljs'; import {parseCommitMessage, validateCommitMessage, ValidateCommitMessageOptions} from './validate'; @@ -26,7 +25,7 @@ export function validateCommitRange(range: string) { const gitLogFormat = `%s%n%n%b${randomValueSeparator}`; // Retrieve the commits in the provided range. - const result = exec(`git log --reverse --format=${gitLogFormat} ${range}`, {silent: true}); + const result = exec(`git log --reverse --format=${gitLogFormat} ${range}`); if (result.code) { throw new Error(`Failed to get all commits in the range: \n ${result.stderr}`); } diff --git a/dev-infra/release/env-stamp.ts b/dev-infra/release/env-stamp.ts index 1ee477dd40..b425e5ece0 100644 --- a/dev-infra/release/env-stamp.ts +++ b/dev-infra/release/env-stamp.ts @@ -6,9 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {exec as _exec} from 'shelljs'; - -import {info} from '../utils/console'; +import {exec as _exec} from '../utils/shelljs'; /** * Log the environment variables expected by bazel for stamping. @@ -32,7 +30,7 @@ export function buildEnvStamp() { /** Run the exec command and return the stdout as a trimmed string. */ function exec(cmd: string) { - return _exec(cmd, {silent: true}).toString().trim(); + return _exec(cmd).trim(); } /** Whether the repo has local changes. */ diff --git a/dev-infra/utils/config.ts b/dev-infra/utils/config.ts index 41dd00ee8e..8642fcdfc0 100644 --- a/dev-infra/utils/config.ts +++ b/dev-infra/utils/config.ts @@ -8,9 +8,9 @@ import {existsSync} from 'fs'; import {dirname, join} from 'path'; -import {exec} from 'shelljs'; import {error} from './console'; +import {exec} from './shelljs'; import {isTsNodeAvailable} from './ts-node'; /** @@ -119,7 +119,7 @@ export function assertNoErrors(errors: string[]) { /** Gets the path of the directory for the repository base. */ export function getRepoBaseDir() { - const baseRepoDir = exec(`git rev-parse --show-toplevel`, {silent: true}); + const baseRepoDir = exec(`git rev-parse --show-toplevel`); if (baseRepoDir.code) { throw Error( `Unable to find the path to the base directory of the repository.\n` + diff --git a/dev-infra/utils/git.ts b/dev-infra/utils/git.ts index a2a7db1b1f..cb5be5d560 100644 --- a/dev-infra/utils/git.ts +++ b/dev-infra/utils/git.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {exec} from '../utils/shelljs'; +import {exec} from './shelljs'; /** Whether the repo has any local changes. */ diff --git a/dev-infra/utils/repo-files.ts b/dev-infra/utils/repo-files.ts index cad7c46fc3..7cfbc09ec4 100644 --- a/dev-infra/utils/repo-files.ts +++ b/dev-infra/utils/repo-files.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.io/license */ -import {exec} from 'shelljs'; import {getRepoBaseDir} from './config'; +import {exec} from './shelljs'; /** * A list of all files currently in the repo which have been modified since the provided sha. @@ -33,8 +33,5 @@ export function allFiles() { function gitOutputAsArray(cmd: string) { - return exec(cmd, {cwd: getRepoBaseDir(), silent: true}) - .split('\n') - .map(x => x.trim()) - .filter(x => !!x); + return exec(cmd, {cwd: getRepoBaseDir()}).split('\n').map(x => x.trim()).filter(x => !!x); } diff --git a/dev-infra/utils/shelljs.ts b/dev-infra/utils/shelljs.ts index ada0200227..831dea9291 100644 --- a/dev-infra/utils/shelljs.ts +++ b/dev-infra/utils/shelljs.ts @@ -6,9 +6,9 @@ * found in the LICENSE file at https://angular.io/license */ -import {exec as _exec, ShellString} from 'shelljs'; +import {exec as _exec, ExecOptions, ShellString} from 'shelljs'; /* Run an exec command as silent. */ -export function exec(cmd: string): ShellString { - return _exec(cmd, {silent: true}); +export function exec(cmd: string, opts?: ExecOptions&{async?: false}): ShellString { + return _exec(cmd, {silent: true, ...opts}); }