bizroad-webpack-plugin
Version:
webpack plugin for biz road
29 lines • 1.31 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var traverse_1 = __importDefault(require("@babel/traverse"));
exports.default = (function (babelAst) {
var nodePathList = new Set();
traverse_1.default(babelAst, {
enter: function (path) {
if (path.isImport()) {
// TODO: 这里向上解析看看能否解析出来 lazy.load 语法
path.container.arguments[0].value && nodePathList.add(path.container.arguments[0].value);
}
else if (path.isImportDeclaration()) {
path.node.source.value && nodePathList.add(path.node.source.value);
}
else if (path.isImportSpecifier()) {
path.parent.source.value && nodePathList.add(path.parent.source.value);
}
else if (path.isIdentifier({ name: 'require' })) {
if (path.container.type === 'CallExpression')
path.container.arguments[0].value && nodePathList.add(path.container.arguments[0].value);
}
},
});
return Array.from(nodePathList);
});
//# sourceMappingURL=analysisBabelAst.js.map