自定义ESlint解析器,支持没有`babel-eslint`

时间:2018-03-20 21:00:36

标签: javascript webpack ecmascript-6 babel eslint

我需要在使用ESlint检查的webpack构建过程中支持import()语句。

在ESlint中,repo建议使用https://github.com/babel/babel-eslint包。

但我不希望项目中的Babel依赖项支持一个小功能。

我认为编写自己的eslint parser应该更容易。但是我的方法是对的,我并不感到害羞。

这是我的“解析器”:

var espree = require("espree");
// dumb-parser.js
exports.parseForESLint = function(code, options) {

  code = code.replace(/import\(/g, 'notAnImport(');


  code += `
    function notAnImport() { console.log('dumb') }
  `;

  return {
    ast: espree.parse(code, options),
    services: {
      foo: function() {
        console.log("foo");
      },
    },
    scopeManager: null,
    visitorKeys: null,
  };
};

如你所见,我简单地将import(部分替换为一些愚蠢的存根。

有更优雅的方法来解决这个问题吗?

0 个答案:

没有答案