Skip to content

Commit

Permalink
fix(console-reporter): Fix issue where tree logger was ignoring --sil…
Browse files Browse the repository at this point in the history
…ent/-s flag (#5722)

**Summary**

This PR fixes #5721 where `upgrade` was not being silent when the `--silent`/`-s` flags were provided. It still printed the tree.  🖨🌳  

**Test plan**

Added two new test cases.

Manual CLI tests:

Before:
```
> yarn-local upgrade --silent
└─ left-pad@1.3.0
└─ left-pad@1.3.0
```

After:
```
> yarn-local upgrade --silent

```
  • Loading branch information
jxom authored and BYK committed Apr 26, 2018
1 parent 5231984 commit 8bf8eb0
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 4 deletions.
14 changes: 14 additions & 0 deletions __tests__/reporters/__snapshots__/console-reporter.js.snap
Expand Up @@ -56,6 +56,13 @@ Object {
}
`;

exports[`ConsoleReporter.log is silent when isSilent is true 1`] = `
Object {
"stderr": "",
"stdout": "",
}
`;

exports[`ConsoleReporter.progress 1`] = `
Object {
"stderr": "[--] 0/2[#-] 1/2",
Expand Down Expand Up @@ -125,6 +132,13 @@ Object {
}
`;
exports[`ConsoleReporter.tree is silent when isSilent is true 1`] = `
Object {
"stderr": "",
"stdout": "",
}
`;
exports[`ConsoleReporter.warn 1`] = `
Object {
"stderr": "warning foobar",
Expand Down
10 changes: 6 additions & 4 deletions __tests__/reporters/_mock.js
Expand Up @@ -16,7 +16,8 @@ type MockCallback = (reporter: Reporter, opts: Object) => ?Promise<void>;
export default function<T>(
Reporter: Function,
interceptor: Interceptor<T>,
prepare?: (reporter: Reporter) => any,
prepare?: ?(reporter: Reporter) => any,
opts?: Object,
): (callback: MockCallback) => Promise<T> {
return async function(callback: MockCallback): * {
const data: MockData = {
Expand All @@ -39,14 +40,15 @@ export default function<T>(
return stream;
};

const opts = {
const newOpts = {
stdin: new Stdin(),
stdout: buildStream('stdout'),
stderr: buildStream('stderr'),
emoji: true,
...(opts || {}),
};

const reporter = new Reporter(opts);
const reporter = new Reporter(newOpts);
let prepared;

if (prepare) {
Expand All @@ -57,7 +59,7 @@ export default function<T>(
reporter.isTTY = true;
reporter.getTotalTime = (): number => 0;

await callback(reporter, opts);
await callback(reporter, newOpts);
reporter.close();

for (const key in data) {
Expand Down
38 changes: 38 additions & 0 deletions __tests__/reporters/console-reporter.js
Expand Up @@ -266,3 +266,41 @@ test('close', async () => {
}),
).toMatchSnapshot();
});

test('ConsoleReporter.log is silent when isSilent is true', async () => {
const getConsoleBuff = build(ConsoleReporter, (data): MockData => data, null, {isSilent: true});
expect(
await getConsoleBuff(r => {
r.log('foobar');
}),
).toMatchSnapshot();
});

test('ConsoleReporter.tree is silent when isSilent is true', async () => {
const getConsoleBuff = build(ConsoleReporter, (data): MockData => data, null, {isSilent: true});
const trees = [
{name: 'dep1'},
{
name: 'dep2',
children: [
{
name: 'dep2.1',
children: [{name: 'dep2.1.1'}, {name: 'dep2.1.2'}],
},
{
name: 'dep2.2',
children: [{name: 'dep2.2.1'}, {name: 'dep2.2.2'}],
},
],
},
{
name: 'dep3',
children: [{name: 'dep3.1'}, {name: 'dep3.2'}],
},
];
expect(
await getConsoleBuff(r => {
r.tree('', trees);
}),
).toMatchSnapshot();
});
3 changes: 3 additions & 0 deletions src/reporters/console/console-reporter.js
Expand Up @@ -232,6 +232,9 @@ export default class ConsoleReporter extends BaseReporter {
tree(key: string, trees: Trees) {
this.stopProgress();
//
if (this.isSilent) {
return;
}
const output = ({name, children, hint, color}, titlePrefix, childrenPrefix) => {
const formatter = this.format;
const out = getFormattedOutput({
Expand Down

0 comments on commit 8bf8eb0

Please sign in to comment.