From 3c534eb664dd2a6e34e75966559c1826ffd05f39 Mon Sep 17 00:00:00 2001 From: Daniel Stockman Date: Fri, 17 Aug 2018 15:02:57 -0700 Subject: [PATCH] fix(add): Compose bootstrap to avoid extra logs --- commands/add/__tests__/add-command.test.js | 3 +++ commands/add/index.js | 20 ++++++++++---------- integration/lerna-add.test.js | 10 +++++++++- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/commands/add/__tests__/add-command.test.js b/commands/add/__tests__/add-command.test.js index bb52e315db..5dcdc45e2e 100644 --- a/commands/add/__tests__/add-command.test.js +++ b/commands/add/__tests__/add-command.test.js @@ -194,7 +194,10 @@ describe("AddCommand", () => { expect(bootstrap).lastCalledWith( expect.objectContaining({ + args: [], + cwd: testDir, scope: ["@test/package-2", "package-3", "package-4"], + composed: "add", }) ); }); diff --git a/commands/add/index.js b/commands/add/index.js index 20c883e35f..644cb3eb5c 100644 --- a/commands/add/index.js +++ b/commands/add/index.js @@ -72,18 +72,18 @@ class AddCommand extends Command { this.packagesToChange.length > 1 ? "s" : "" }`; - this.logger.info("add", `adding ${this.spec.name} in ${numberOfPackages}`); + this.logger.info("", `Adding ${this.spec.name} in ${numberOfPackages}`); return this.makeChanges().then(() => { - this.logger.info("add", `Bootstrapping ${numberOfPackages}`); - - return bootstrap( - Object.assign({}, this.options, { - args: [], - cwd: this.project.rootPath, - scope: this.packagesToChange.map(pkg => pkg.name), - }) - ); + const argv = Object.assign({}, this.options, { + args: [], + cwd: this.project.rootPath, + scope: this.packagesToChange.map(pkg => pkg.name), + // silence initial cli version logging, etc + composed: "add", + }); + + return bootstrap(argv); }); } diff --git a/integration/lerna-add.test.js b/integration/lerna-add.test.js index 0bb63deee3..6ec1e857cf 100644 --- a/integration/lerna-add.test.js +++ b/integration/lerna-add.test.js @@ -15,7 +15,15 @@ describe("lerna add", () => { test("add to all packages", async () => { const cwd = await initFixture("lerna-add"); - await cliRunner(cwd)("add", "@test/package-1"); + const { stderr } = await cliRunner(cwd)("add", "@test/package-1"); + expect(stderr).toMatchInlineSnapshot(` +lerna notice cli __TEST_VERSION__ +lerna info Adding @test/package-1 in 3 packages +lerna info filter [ '@test/package-2', 'package-3', 'package-4' ] +lerna info Bootstrapping 3 packages +lerna info Symlinking packages and binaries +lerna success Bootstrapped 3 packages +`); const filePaths = await globby("packages/*/package.json", { cwd }); const [pkg1, pkg2, pkg3, pkg4] = await pMap(filePaths.sort(), fp => loadJson(path.join(cwd, fp)));