Skip to content

Commit

Permalink
fix: remove 0 files, use 1 file instead of 1 files
Browse files Browse the repository at this point in the history
  • Loading branch information
fisker committed Feb 1, 2023
1 parent ffcb3de commit b22d474
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 55 deletions.
68 changes: 51 additions & 17 deletions cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ If file/glob is omitted, './package.json' file will be processed.
)
}

const getFilesCountText = (count) => (count === 1 ? '1 file' : `${count} files`)
class Reporter {
#hasPrinted = false
#options
Expand Down Expand Up @@ -73,40 +74,73 @@ class Reporter {
}

printSummary() {
const status = this.#status

if (status.matchedFilesCount === 0) {
const {
matchedFilesCount,
failedFilesCount,
changedFilesCount,
wellSortedFilesCount,
} = this.#status

if (matchedFilesCount === 0) {
console.error('No matching files.')
process.exitCode = 2
return
}

const { isCheck, isQuiet } = this.#options

if (isCheck && status.changedFilesCount) {
if (isCheck && changedFilesCount) {
process.exitCode = 1
}

if (status.failedFilesCount) {
if (failedFilesCount) {
process.exitCode = 2
}

if (isQuiet) {
return
}

const summary = [
`Found ${status.matchedFilesCount} files.`,
isCheck
? `${status.failedFilesCount} files could not be checked.`
: `${status.failedFilesCount} files could not be sorted.`,
isCheck
? `${status.changedFilesCount} files were not sorted.`
: `${status.changedFilesCount} files successfully sorted.`,
`${status.wellSortedFilesCount} files were already sorted.`,
].join('\n')

this.#logger.log((this.#hasPrinted ? '\n' : '') + summary)
const { log } = this.#logger

// Print an empty line.
if (this.#hasPrinted) {
log()
}

// Matched files
log('Found %s.', getFilesCountText(matchedFilesCount))

// Failed files
if (failedFilesCount) {
log(
'%s could not be %s.',
getFilesCountText(failedFilesCount),
isCheck ? 'checked' : 'sorted',
)
}

// Changed files
if (changedFilesCount) {
if (isCheck) {
log(
'%s %s not sorted.',
getFilesCountText(changedFilesCount),
changedFilesCount === 1 ? 'was' : 'were',
)
} else {
log('%s successfully sorted.', getFilesCountText(changedFilesCount))
}
}

// Well-sorted files
if (wellSortedFilesCount) {
log(
'%s %s already sorted.',
getFilesCountText(wellSortedFilesCount),
wellSortedFilesCount === 1 ? 'was' : 'were',
)
}
}
}

Expand Down
54 changes: 16 additions & 38 deletions tests/snapshots/cli.js.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,8 @@ Generated by [AVA](https://avajs.dev).
stderr: '',
stdout: `package.json is sorted!␊
Found 1 files.␊
0 files could not be sorted.␊
1 files successfully sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file successfully sorted.␊
`,
},
}
Expand Down Expand Up @@ -321,10 +319,8 @@ Generated by [AVA](https://avajs.dev).
stderr: '',
stdout: `package.json␊
Found 1 files.␊
0 files could not be checked.␊
1 files were not sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file was not sorted.␊
`,
},
}
Expand Down Expand Up @@ -384,10 +380,8 @@ Generated by [AVA](https://avajs.dev).
stderr: '',
stdout: `package.json␊
Found 1 files.␊
0 files could not be checked.␊
1 files were not sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file was not sorted.␊
`,
},
}
Expand Down Expand Up @@ -447,10 +441,8 @@ Generated by [AVA](https://avajs.dev).
stderr: '',
stdout: `bad/package.json is sorted!␊
Found 1 files.␊
0 files could not be sorted.␊
1 files successfully sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file successfully sorted.␊
`,
},
}
Expand Down Expand Up @@ -511,10 +503,8 @@ Generated by [AVA](https://avajs.dev).
stderr: '',
stdout: `bad/package.json␊
Found 1 files.␊
0 files could not be checked.␊
1 files were not sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file was not sorted.␊
`,
},
}
Expand Down Expand Up @@ -588,9 +578,7 @@ Generated by [AVA](https://avajs.dev).
bad-2/package.json is sorted!␊
Found 2 files.␊
0 files could not be sorted.␊
2 files successfully sorted.␊
0 files were already sorted.␊
`,
},
}
Expand Down Expand Up @@ -635,9 +623,7 @@ Generated by [AVA](https://avajs.dev).
bad-2/package.json␊
Found 2 files.␊
0 files could not be checked.␊
2 files were not sorted.␊
0 files were already sorted.␊
`,
},
}
Expand Down Expand Up @@ -784,7 +770,6 @@ Generated by [AVA](https://avajs.dev).
bad-2/package.json is sorted!␊
Found 4 files.␊
0 files could not be sorted.␊
2 files successfully sorted.␊
2 files were already sorted.␊
`,
Expand Down Expand Up @@ -915,7 +900,6 @@ Generated by [AVA](https://avajs.dev).
bad-2/package.json␊
Found 4 files.␊
0 files could not be checked.␊
2 files were not sorted.␊
2 files were already sorted.␊
`,
Expand Down Expand Up @@ -1157,8 +1141,7 @@ Generated by [AVA](https://avajs.dev).
stdout: `bad-1/package.json is sorted!␊
Found 3 files.␊
0 files could not be sorted.␊
1 files successfully sorted.␊
1 file successfully sorted.␊
2 files were already sorted.␊
`,
},
Expand Down Expand Up @@ -1217,8 +1200,7 @@ Generated by [AVA](https://avajs.dev).
stdout: `bad-1/package.json␊
Found 3 files.␊
0 files could not be checked.␊
1 files were not sorted.␊
1 file was not sorted.␊
2 files were already sorted.␊
`,
},
Expand Down Expand Up @@ -1301,10 +1283,8 @@ Generated by [AVA](https://avajs.dev).
Unexpected end of JSON input␊
`,
stdout: `␊
Found 1 files.␊
1 files could not be checked.␊
0 files were not sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file could not be checked.␊
`,
},
}
Expand Down Expand Up @@ -1355,10 +1335,8 @@ Generated by [AVA](https://avajs.dev).
Unexpected end of JSON input␊
`,
stdout: `␊
Found 1 files.␊
1 files could not be sorted.␊
0 files successfully sorted.␊
0 files were already sorted.␊
Found 1 file.␊
1 file could not be sorted.␊
`,
},
}
Expand Down
Binary file modified tests/snapshots/cli.js.snap
Binary file not shown.

0 comments on commit b22d474

Please sign in to comment.