UNPKG

pug-lint-wb-loader

Version:

用于pug-lint的loader

36 lines (32 loc) 1.1 kB
/** * 用于非webpack loader机制下的验证 */ const util = require('util') const PugLint = require('pug-lint') const getFullMessage = require('./message') const parse = require('./parse.js') const linter = new PugLint() let configured = false module.exports = function (filename, content, config) { if(!configured) linter.configure(parse(config)) const result = linter.checkString(content) let errors = null if (result.length) { errors = result.sort(function (a, b) { let line = a.line - b.line if (line == 0) return (a.column || 0) - (b.column || 0) else return line }).map(function (problem) { let errMsg = '\npug-lint报错信息\n' + '报错规则: %s\n' + '规则查询: %s\n' + '报错消息: ' + getFullMessage(filename, content, problem.line, problem.column, problem.msg) + '\n' return util.format( errMsg, problem.code.toLowerCase().replace(/^pug:/, '').replace(/^lint_/, ''), 'https://github.com/pugjs/pug-lint/blob/master/docs/rules.md', ) }).join('\n\n') } return errors }