ant-design-vue/antd-tools/replaceLib.js

28 lines
602 B
JavaScript
Raw Normal View History

2018-03-19 09:51:47 +00:00
'use strict'
const { join, dirname } = require('path')
const fs = require('fs')
const cwd = process.cwd()
function replacePath (path) {
if (path.node.source && /\/lib\//.test(path.node.source.value)) {
const esModule = path.node.source.value.replace('/lib/', '/es/')
const esPath = dirname(join(cwd, `node_modules/${esModule}`))
if (fs.existsSync(esPath)) {
path.node.source.value = esModule
}
}
}
function replaceLib () {
return {
visitor: {
ImportDeclaration: replacePath,
ExportNamedDeclaration: replacePath,
},
}
}
module.exports = replaceLib