UNPKG

@fellow/eslint-plugin-coffee

Version:

Transpiles coffee files (.coffee, .cjsx) and runs through eslint. Reports errors with original line numbers.

73 lines (53 loc) 2.16 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerCoffeeLintRule = exports.configs = exports.parse = exports.processors = exports.rules = undefined; var _moduleRequire = require('eslint-module-utils/module-require'); var _moduleRequire2 = _interopRequireDefault(_moduleRequire); var _rules = require('./rules'); var _processors = require('./processors'); var _helpers = require('./helpers'); var _base = require('./configs/base'); var _base2 = _interopRequireDefault(_base); var _recommended = require('./configs/recommended'); var _recommended2 = _interopRequireDefault(_recommended); var _recommendedTabs = require('./configs/recommended-tabs'); var _recommendedTabs2 = _interopRequireDefault(_recommendedTabs); var _globals = require('./globals'); var _globals2 = _interopRequireDefault(_globals); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var configs, parse, parserOptions; exports.configs = configs = { base: _base2.default, recommended: _recommended2.default, 'recommended-tabs': _recommendedTabs2.default }; // must match ESLint default options or we'll miss the eslint cache every time parserOptions = { loc: true, range: true, raw: true, tokens: true, comment: true, attachComment: true }; exports.parse = parse = function parse(content, options) { var realParser; options = Object.assign({}, options, parserOptions); realParser = (0, _moduleRequire2.default)(options.parser); if (!options.filePath) { throw new Error("no file path provided!"); } if ((0, _helpers.isCoffeeFile)(options.filePath) && !_globals2.default.CoffeeCache[options.filePath]) { // processor hasn't run on this coffeefile (probably from the `import` plugin) content = _processors.generic_processor.preprocess(content, options.filePath)[0]; } // file is coffeescript at this point return realParser.parse(content, options); }; exports.rules = _rules.rules; exports.processors = _processors.processors; exports.parse = parse; exports.configs = configs; exports.registerCoffeeLintRule = _rules.registerCoffeeLintRule;