diff --git a/docs/developer-guide/nodejs-api.md b/docs/developer-guide/nodejs-api.md index f48670896be..0f006d7814b 100644 --- a/docs/developer-guide/nodejs-api.md +++ b/docs/developer-guide/nodejs-api.md @@ -159,7 +159,7 @@ var messages = linter.verifyAndFix("var foo", { rules: { semi: 2 } -}, { filename: "foo.js" }); +}); ``` Output object from this method: diff --git a/lib/linter.js b/lib/linter.js index d2f1f46574c..b8b3a56762e 100755 --- a/lib/linter.js +++ b/lib/linter.js @@ -1205,6 +1205,7 @@ class Linter extends EventEmitter { fixedResult, fixed = false, passNumber = 0; + const debugTextDescription = options && options.filename || `${text.slice(0, 10)}...`; /** * This loop continues until one of the following is true: @@ -1218,10 +1219,10 @@ class Linter extends EventEmitter { do { passNumber++; - debug(`Linting code for ${options.filename} (pass ${passNumber})`); + debug(`Linting code for ${debugTextDescription} (pass ${passNumber})`); messages = this.verify(text, config, options); - debug(`Generating fixed text for ${options.filename} (pass ${passNumber})`); + debug(`Generating fixed text for ${debugTextDescription} (pass ${passNumber})`); fixedResult = SourceCodeFixer.applyFixes(this.getSourceCode(), messages); // stop if there are any syntax errors. diff --git a/tests/lib/linter.js b/tests/lib/linter.js index 4acc46b3f02..88ce63cb12e 100644 --- a/tests/lib/linter.js +++ b/tests/lib/linter.js @@ -3776,6 +3776,20 @@ describe("eslint", () => { assert.equal(messages.output, "var a;", "Fixes were applied correctly"); assert.isTrue(messages.fixed); }); + + it("does not require a third argument", () => { + const fixResult = linter.verifyAndFix("var a", { + rules: { + semi: 2 + } + }); + + assert.deepEqual(fixResult, { + fixed: true, + messages: [], + output: "var a;" + }); + }); }); describe("Edge cases", () => {