UNPKG

1.5 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const NormalizedMessage_1 = require("./NormalizedMessage");
4const FsHelper_1 = require("./FsHelper");
5const NormalizedMessageFactories_1 = require("./NormalizedMessageFactories");
6function createEslinter(eslintOptions) {
7 // tslint:disable-next-line:no-implicit-dependencies
8 const eslint = require('eslint');
9 // See https://eslint.org/docs/1.0.0/developer-guide/nodejs-api#cliengine
10 const eslinter = new eslint.CLIEngine(eslintOptions);
11 const createNormalizedMessageFromEsLintFailure = NormalizedMessageFactories_1.makeCreateNormalizedMessageFromEsLintFailure();
12 function getLintsForFile(filepath) {
13 try {
14 const lints = eslinter.executeOnFiles([filepath]);
15 return lints;
16 }
17 catch (e) {
18 FsHelper_1.throwIfIsInvalidSourceFileError(filepath, e);
19 }
20 return undefined;
21 }
22 function getFormattedLints(lintReports) {
23 const allEsLints = [];
24 for (const value of lintReports) {
25 for (const lint of value.results) {
26 allEsLints.push(...lint.messages.map(message => createNormalizedMessageFromEsLintFailure(message, lint.filePath)));
27 }
28 }
29 return NormalizedMessage_1.NormalizedMessage.deduplicate(allEsLints);
30 }
31 return { getLints: getLintsForFile, getFormattedLints };
32}
33exports.createEslinter = createEslinter;
34//# sourceMappingURL=createEslinter.js.map
\No newline at end of file