UNPKG

1.42 kBJavaScriptView Raw
1/**
2 * @module
3 * @see {@link https://www.npmjs.com/package/standard|JavaScript Standard Style}
4 */
5
6"use strict";
7
8const standard = require("standard");
9const SEVERITY = require("../severity");
10
11/**
12 * Initialise un checker pour JavaScript Standard Style.
13 *
14 * @returns {object} Le patron et les options par défaut.
15 */
16const configure = function () {
17 return {
18 "patterns": "*.js",
19 "linters": { "standard": null }
20 };
21};
22
23/**
24 * Vérifie un fichier avec le linter <strong>JavaScript Standard Style</strong>.
25 *
26 * @param {string} file Le fichier qui sera vérifié.
27 * @param {number} level Le niveau de sévérité minimum des notifications
28 * retournées.
29 * @returns {Promise.<Array.<object>>} Une promesse retournant la liste des
30 * notifications.
31 */
32const wrapper = async function (file, level) {
33 if (SEVERITY.ERROR > level) {
34 return [];
35 }
36
37 const results = await new Promise((resolve) => {
38 standard.lintFiles([file], (_, r) => resolve(r));
39 });
40 return results.results[0].messages.map((result) => ({
41 "file": file,
42 "linter": "standard",
43 "rule": result.ruleId,
44 "message": result.message,
45 "locations": [{
46 "line": result.line,
47 "column": result.column
48 }]
49 }));
50};
51
52module.exports = { configure, wrapper };