UNPKG

gherkin-lint-ts

Version:

Gherkin features linter written in Typescript

54 lines 2.12 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = exports.availableConfigs = exports.name = void 0; const logger = __importStar(require("../utils/logger")); const _ = require("lodash"); exports.name = "new-line-at-eof"; exports.availableConfigs = [ "yes", "no", ]; function run(unused, file, configuration) { const errors = []; if (_.indexOf(exports.availableConfigs, configuration) === -1) { logger.boldError(`${exports.name} requires an extra configuration value.\nAvailable configurations: ${exports.availableConfigs.join(", ")}\nFor syntax please look at the documentation.`); process.exit(1); } const hasNewLineAtEOF = _.last(file.lines) === ""; let errormsg = ""; if (hasNewLineAtEOF && configuration === "no") { errormsg = "New line at EOF(end of file) is not allowed"; } else if (!hasNewLineAtEOF && configuration === "yes") { errormsg = "New line at EOF(end of file) is required"; } if (errormsg !== "") { errors.push({ message: errormsg, rule: exports.name, line: file.lines.length, }); } return errors; } exports.run = run; //# sourceMappingURL=new-line-at-eof.js.map