我需要在使用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(
部分替换为一些愚蠢的存根。
有更优雅的方法来解决这个问题吗?