"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const js_yaml_1 = require("js-yaml"); const jshint_1 = require("jshint"); const package_json_1 = __importDefault(require("../package.json")); const path_1 = __importDefault(require("path")); function isYaml(fileName) { const fileExtension = path_1.default.extname(fileName); return [".yaml", ".yml"].includes(fileExtension); } const fileContents = new Map(); function preprocess(text, fileName) { if (!isYaml(fileName)) { return []; } fileContents.set(fileName, text); return [{ text, filename: fileName }]; } function postprocess(_messages, fileName) { var _a, _b; if (!isYaml(fileName)) { return []; } let linter_messages = []; const fileContent = fileContents.get(fileName); if (fileContent !== undefined) { let yamlDocs; try { yamlDocs = loadYaml(fileContent, fileName); } catch (e) { const { message, mark } = e; return [ { ruleId: "invalid-yaml", severity: 2, message, source: mark === null || mark === void 0 ? void 0 : mark.buffer, line: (_a = mark === null || mark === void 0 ? void 0 : mark.line) !== null && _a !== void 0 ? _a : 0, column: (_b = mark === null || mark === void 0 ? void 0 : mark.column) !== null && _b !== void 0 ? _b : 0, }, ]; } const errors = yamlDocs.flatMap((yamlDoc) => lintJSON(yamlDoc)); linter_messages = errors.map((error) => { const { reason, evidence, line, character } = error; return { ruleId: "bad-yaml", severity: 2, message: reason, source: evidence, line, column: character, }; }); fileContents.delete(fileName); } return linter_messages; } function loadYaml(fileContent, fileName) { return (0, js_yaml_1.loadAll)(fileContent, undefined, { filename: fileName, json: false, }); } function lintJSON(yamlDoc) { var _a; const yaml_json = JSON.stringify(yamlDoc, null, 2); (0, jshint_1.JSHINT)(yaml_json); const data = jshint_1.JSHINT.data(); const errors = (_a = data === null || data === void 0 ? void 0 : data.errors) !== null && _a !== void 0 ? _a : []; return errors; } const processors = { [package_json_1.default.name]: { meta: { name: package_json_1.default.name, version: package_json_1.default.version, }, preprocess, postprocess, }, }; const meta = { name: package_json_1.default.name, version: package_json_1.default.version, type: "problem", docs: { description: "YAML linting", category: "Parsing Issues", recommended: false, url: "https://github.com/aminya/eslint-plugin-yaml", }, fixable: "code", schema: [], }; const plugin = { meta, processors, configs: { recommended: {}, legacy: {}, }, }; const recommendedConfig = { name: `${package_json_1.default.name}/recommended}`, files: ["**/*.yaml", "**/*.yml", "!**/node_modules/**", "!**/pnpm-lock.yaml", "**/.github/**.{yml,yaml}"], processor: { name: package_json_1.default.name, preprocess, postprocess, }, plugins: { [package_json_1.default.name]: plugin, }, }; plugin.configs.recommended = recommendedConfig; const legacyConfig = { overrides: [ { plugins: [package_json_1.default.name], files: ["**/*.yml", "**/*.yaml", "!**/node_modules/**", "!**/pnpm-lock.yaml", "**/.github/**.{yml,yaml}"], processor: `yaml/${package_json_1.default.name}`, }, ], }; plugin.configs.legacy = legacyConfig; exports.default = plugin; module.exports = plugin; module.exports.default = plugin; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmN0cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFDQUFpQztBQUNqQyxtQ0FBNkU7QUFFN0UsbUVBQWlDO0FBQ2pDLGdEQUF1QjtBQUV2QixTQUFTLE1BQU0sQ0FBQyxRQUFnQjtJQUM5QixNQUFNLGFBQWEsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ2xELENBQUM7QUFHRCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtBQUU5QyxTQUFTLFVBQVUsQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7SUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBR2hDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsU0FBaUMsRUFBRSxRQUFnQjs7SUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQVVELElBQUksZUFBZSxHQUF5QixFQUFFLENBQUE7SUFFOUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM5QyxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUU5QixJQUFJLFFBQW1DLENBQUE7UUFDdkMsSUFBSSxDQUFDO1lBQ0gsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFX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Q1AsV0FBVyxFQUFFLEVBQXVCO1FBQ3BDLE1BQU0sRUFBRSxFQUFtQjtLQUM1QjtDQUNzQixDQUFBO0FBRXpCLE1BQU0saUJBQWlCLEdBQXNCO0lBQzNDLElBQUksRUFBRSxHQUFHLHNCQUFHLENBQUMsSUFBSSxlQUFlO0lBQ2hDLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7SUFDekcsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLHNCQUFHLENBQUMsSUFBSTtRQUNkLFVBQVU7UUFDVixXQUFXO0tBQ1o7SUFDRCxPQUFPLEVBQUU7UUFDUCxDQUFDLHNCQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTTtLQUNuQjtDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQTtBQUU5QyxNQUFNLFlBQVksR0FBa0I7SUFDbEMsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsQ0FBQyxzQkFBRyxDQUFDLElBQUksQ0FBQztZQUNuQixLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixDQUFDO1lBQ3pHLFNBQVMsRUFBRSxRQUFRLHNCQUFHLENBQUMsSUFBSSxFQUFFO1NBQzlCO0tBQ0Y7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFBO0FBRXBDLGtCQUFlLE1BQU0sQ0FBQTtBQUNyQixNQUFNLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQTtBQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2FkQWxsIH0gZnJvbSBcImpzLXlhbWxcIlxuaW1wb3J0IHsgSlNISU5UIGFzIGpzaGludCwgdHlwZSBMaW50RXJyb3IgYXMgSnNIaW50TGludEVycm9ycyB9IGZyb20gXCJqc2hpbnRcIlxuaW1wb3J0IHR5cGUgeyBMaW50ZXIsIEVTTGludCB9IGZyb20gXCJlc2xpbnRcIlxuaW1wb3J0IHBrZyBmcm9tIFwiLi4vcGFja2FnZS5qc29uXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZnVuY3Rpb24gaXNZYW1sKGZpbGVOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShmaWxlTmFtZSlcbiAgcmV0dXJuIFtcIi55YW1sXCIsIFwiLnltbFwiXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxufVxuXG4vLyBmaWxlbmFtZSAtPiBmaWxlQ29udGVudFxuY29uc3QgZmlsZUNvbnRlbnRzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKVxuXG5mdW5jdGlvbiBwcmVwcm9jZXNzKHRleHQ6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IExpbnRlci5Qcm9jZXNzb3JGaWxlW10ge1xuICBpZiAoIWlzWWFtbChmaWxlTmFtZSkpIHtcbiAgICByZXR1cm4gW11cbiAgfVxuXG4gIGZpbGVDb250ZW50cy5zZXQoZmlsZU5hbWUsIHRleHQpXG5cbiAgLy8gcmV0dXJuIGFuIGFycmF5IG9mIGNvZGUgYmxvY2tzIHRvIGxpbnRcbiAgcmV0dXJuIFt7IHRleHQsIGZpbGVuYW1lOiBmaWxlTmFtZSB9XVxufVxuXG5mdW5jdGlvbiBwb3N0cHJvY2VzcyhfbWVzc2FnZXM6IExpbnRlci5MaW50TWVzc2FnZVtdW10sIGZpbGVOYW1lOiBzdHJpbmcpOiBMaW50ZXIuTGludE1lc3NhZ2VbXSB7XG4gIGlmICghaXNZYW1sKGZpbGVOYW1lKSkge1xuICAgIHJldHVybiBbXVxuICB9XG5cbiAgLy8gdGFrZXMgYSBNZXNzYWdlW11bXSBhbmQgZmlsZW5hbWVcbiAgLy8gYG1lc3NhZ2VzYCBhcmd1bWVudCBjb250YWlucyB0d28tZGltZW5zaW9uYWwgYXJyYXkgb2YgTWVzc2FnZSBvYmplY3RzXG4gIC8vIHdoZXJlIGVhY2ggdG9wLWxldmVsIGFycmF5IGl0ZW0gY29udGFpbnMgYXJyYXkgb2YgbGludCBtZXNzYWdlcyByZWxhdGVkXG4gIC8vIHRvIHRoZSB0ZXh0IHRoYXQgd2FzIHJldHVybmVkIGluIGFycmF5IGZyb20gcHJlcHJvY2VzcygpIG1ldGhvZFxuXG4gIC8qXG4gICAqIFlBTUwgTGludCBieSBWYWxpZGF0aW9uXG4gICAqL1xuICBsZXQgbGludGVyX21lc3NhZ2VzOiBMaW50ZXIuTGludE1lc3NhZ2VbXSA9IFtdXG5cbiAgY29uc3QgZmlsZUNvbnRlbnQgPSBmaWxlQ29udGVudHMuZ2V0KGZpbGVOYW1lKVxuICBpZiAoZmlsZUNvbnRlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIEdldCBkb2N1bWVudCwgb3IgdGhyb3cgZXhjZXB0aW9uIG9uIGVycm9yXG4gICAgbGV0IHlhbWxEb2NzOiBMb2FkWWFtbFZhbHVlIHwgdW5kZWZpbmVkXG4gICAgdHJ5IHtcbiAgICAgIHlhbWxEb2NzID0gbG9hZFlhbWwoZmlsZUNvbnRlbnQsIGZpbGVOYW1lKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGl0IHNlZW1zIG1hcmsgY2FuIGJlIHVuZGVmaW5lZCBpc3N1ZSAjNjdcbiAgICAgIHR5cGUgTG9hZFlhbWxFeGNlcHRpb24gPSB7XG4gICAgICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgICAgICBtYXJrPzogeyBidWZmZXI6IHN0cmluZzsgbGluZTogbnVtYmVyOyBjb2x1bW46IG51bWJlciB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgbWVzc2FnZSwgbWFyayB9ID0gZSBhcyBMb2FkWWFtbEV4Y2VwdGlvblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVJZDogXCJpbnZhbGlkLXlhbWxcIixcbiAgICAgICAgICBzZXZlcml0eTogMixcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIHNvdXJjZTogbWFyaz8uYnVmZmVyLFxuICAgICAgICAgIGxpbmU6IG1hcms/LmxpbmUgPz8gMCxcbiAgICAgICAgICBjb2x1bW46IG1hcms/LmNvbHVtbiA/PyAwLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgIH1cbiAgICAvLyBhdCB0aGlzIHBvaW50IHlhbWxEb2NzIGlzIGRlZmluZWRcblxuICAgIC8qXG4gICAgICogWUFNTCBMaW50IHZpYSBKU09OXG4gICAgICovXG4gICAgY29uc3QgZXJyb3JzID0geWFtbERvY3MuZmxhdE1hcCgoeWFtbERvYykgPT4gbGludEpTT04oeWFtbERvYykpXG4gICAgbGludGVyX21lc3NhZ2VzID0gZXJyb3JzLm1hcCgoZXJyb3IpID0+IHtcbiAgICAgIGNvbnN0IHsgcmVhc29uLCBldmlkZW5jZSwgbGluZSwgY2hhcmFjdGVyIH0gPSBlcnJvclxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcnVsZUlkOiBcImJhZC15YW1sXCIsXG4gICAgICAgIHNldmVyaXR5OiAyLFxuICAgICAgICBtZXNzYWdlOiByZWFzb24sXG4gICAgICAgIHNvdXJjZTogZXZpZGVuY2UsXG4gICAgICAgIGxpbmUsXG4gICAgICAgIGNvbHVtbjogY2hhcmFjdGVyLFxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBlbXB0eSBjYWNoZVxuICAgIGZpbGVDb250ZW50cy5kZWxldGUoZmlsZU5hbWUpXG4gIH1cblxuICAvLyAvLyB5b3UgbmVlZCB0byByZXR1cm4gYSBvbmUtZGltZW5zaW9uYWwgYXJyYXkgb2YgdGhlIG1lc3NhZ2VzIHlvdSB3YW50IHRvIGtlZXBcbiAgcmV0dXJuIGxpbnRlcl9tZXNzYWdlc1xufVxuXG50eXBlIExvYWRZYW1sVmFsdWUgPSB1bmtub3duW11cblxuLyoqIFVzZSBqcy15YW1sIGZvciByZWFkaW5nIHRoZSB5YW1sIGZpbGUgKi9cbmZ1bmN0aW9uIGxvYWRZYW1sKGZpbGVDb250ZW50OiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBMb2FkWWFtbFZhbHVlIHtcbiAgLy8gR2V0IGRvY3VtZW50LCBvciB0aHJvdyBleGNlcHRpb24gb24gZXJyb3JcbiAgcmV0dXJuIGxvYWRBbGwoZmlsZUNvbnRlbnQsIHVuZGVmaW5lZCwge1xuICAgIGZpbGVuYW1lOiBmaWxlTmFtZSxcbiAgICBqc29uOiBmYWxzZSxcbiAgfSlcbn1cblxuLyoqIFlBTUwgTGludCB2aWEgSlNPTiAoY29udmVydGluZyB0byBqc29uIGFuZCBsaW50aW5nIHVzaW5nIGpzaGludCkgKi9cbmZ1bmN0aW9uIGxpbnRKU09OKHlhbWxEb2M6IExvYWRZYW1sVmFsdWVbMF0pOiBKc0hpbnRMaW50RXJyb3JzW10ge1xuICBjb25zdCB5YW1sX2pzb24gPSBKU09OLnN0cmluZ2lmeSh5YW1sRG9jLCBudWxsLCAyKVxuICBqc2hpbnQoeWFtbF9qc29uKVxuICBjb25zdCBkYXRhID0ganNoaW50LmRhdGEoKVxuICBjb25zdCBlcnJvcnMgPSBkYXRhPy5lcnJvcnMgPz8gW11cbiAgcmV0dXJuIGVycm9yc1xufVxuXG5jb25zdCBwcm9jZXNzb3JzID0ge1xuICAvLyBhZGQgeW91ciBwcm9jZXNzb3JzIGhlcmVcbiAgW3BrZy5uYW1lXToge1xuICAgIG1ldGE6IHtcbiAgICAgIG5hbWU6IHBrZy5uYW1lLFxuICAgICAgdmVyc2lvbjogcGtnLnZlcnNpb24sXG4gICAgfSxcbiAgICBwcmVwcm9jZXNzLFxuICAgIHBvc3Rwcm9jZXNzLFxuICB9LFxufSBzYXRpc2ZpZXMgRVNMaW50LlBsdWdpbltcInByb2Nlc3NvcnNcIl1cblxuY29uc3QgbWV0YSA9IHtcbiAgbmFtZTogcGtnLm5hbWUsXG4gIHZlcnNpb246IHBrZy52ZXJzaW9uLFxuICB0eXBlOiBcInByb2JsZW1cIixcbiAgZG9jczoge1xuICAgIGRlc2NyaXB0aW9uOiBcIllBTUwgbGludGluZ1wiLFxuICAgIGNhdGVnb3J5OiBcIlBhcnNpbmcgSXNzdWVzXCIsXG4gICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vYW1pbnlhL2VzbGludC1wbHVnaW4teWFtbFwiLFxuICB9LFxuICBmaXhhYmxlOiBcImNvZGVcIixcbiAgc2NoZW1hOiBbXSxcbn1cblxuY29uc3QgcGx1Z2luID0ge1xuICBtZXRhLFxuICBwcm9jZXNzb3JzLFxuICBjb25maWdzOiB7XG4gICAgcmVjb21tZW5kZWQ6IHt9IGFzIExpbnRlci5GbGF0Q29uZmlnLFxuICAgIGxlZ2FjeToge30gYXMgTGludGVyLkNvbmZpZyxcbiAgfSxcbn0gc2F0aXNmaWVzIEVTTGludC5QbHVnaW5cblxuY29uc3QgcmVjb21tZW5kZWRDb25maWc6IExpbnRlci5GbGF0Q29uZmlnID0ge1xuICBuYW1lOiBgJHtwa2cubmFtZX0vcmVjb21tZW5kZWR9YCxcbiAgZmlsZXM6IFtcIioqLyoueWFtbFwiLCBcIioqLyoueW1sXCIsIFwiISoqL25vZGVfbW9kdWxlcy8qKlwiLCBcIiEqKi9wbnBtLWxvY2sueWFtbFwiLCBcIioqLy5naXRodWIvKioue3ltbCx5YW1sfVwiXSxcbiAgcHJvY2Vzc29yOiB7XG4gICAgbmFtZTogcGtnLm5hbWUsXG4gICAgcHJlcHJvY2VzcyxcbiAgICBwb3N0cHJvY2VzcyxcbiAgfSxcbiAgcGx1Z2luczoge1xuICAgIFtwa2cubmFtZV06IHBsdWdpbixcbiAgfSxcbn1cblxucGx1Z2luLmNvbmZpZ3MucmVjb21tZW5kZWQgPSByZWNvbW1lbmRlZENvbmZpZ1xuXG5jb25zdCBsZWdhY3lDb25maWc6IExpbnRlci5Db25maWcgPSB7XG4gIG92ZXJyaWRlczogW1xuICAgIHtcbiAgICAgIHBsdWdpbnM6IFtwa2cubmFtZV0sXG4gICAgICBmaWxlczogW1wiKiovKi55bWxcIiwgXCIqKi8qLnlhbWxcIiwgXCIhKiovbm9kZV9tb2R1bGVzLyoqXCIsIFwiISoqL3BucG0tbG9jay55YW1sXCIsIFwiKiovLmdpdGh1Yi8qKi57eW1sLHlhbWx9XCJdLFxuICAgICAgcHJvY2Vzc29yOiBgeWFtbC8ke3BrZy5uYW1lfWAsXG4gICAgfSxcbiAgXSxcbn1cblxucGx1Z2luLmNvbmZpZ3MubGVnYWN5ID0gbGVnYWN5Q29uZmlnXG5cbmV4cG9ydCBkZWZhdWx0IHBsdWdpblxubW9kdWxlLmV4cG9ydHMgPSBwbHVnaW5cbm1vZHVsZS5leHBvcnRzLmRlZmF1bHQgPSBwbHVnaW5cbiJdfQ==