diff --git a/packages/cli/src/services/__tests__/linter.test.ts b/packages/cli/src/services/__tests__/linter.test.ts index 19da4a16c..cb6f8e760 100644 --- a/packages/cli/src/services/__tests__/linter.test.ts +++ b/packages/cli/src/services/__tests__/linter.test.ts @@ -97,6 +97,12 @@ describe('Linter service', () => { ); }); + it('demands a file to be present', () => { + return expect(run('lint -r ./gh-474/ruleset.js ./gh-474/does-not-exist.json')).rejects.toThrow( + 'No files found to lint. Please check your file path and extension and try again', + ); + }); + describe('when document is local file', () => { describe('and the file is expected to have no warnings', () => { it('outputs no issues', () => { diff --git a/packages/cli/src/services/linter/linter.ts b/packages/cli/src/services/linter/linter.ts index aaaf19d9c..11cb0a082 100644 --- a/packages/cli/src/services/linter/linter.ts +++ b/packages/cli/src/services/linter/linter.ts @@ -39,7 +39,12 @@ export async function lint(documents: Array, flags: ILintConfig } } - for (const targetUri of [...targetUris, ...fileDescriptors]) { + const targets = [...targetUris, ...fileDescriptors]; + if (targets.length === 0) { + throw new CLIError(`No files found to lint. Please check your file path and extension and try again`); + } + + for (const targetUri of targets) { if (flags.verbose === true) { console.info(`Linting ${targetUri}`); }