vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
639 B
26 lines
639 B
'use strict'; |
|
|
|
const { dirname } = require('path'); |
|
const fs = require('fs'); |
|
const { getProjectPath } = require('./utils/projectHelper'); |
|
|
|
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(getProjectPath('node_modules', esModule)); |
|
if (fs.existsSync(esPath)) { |
|
path.node.source.value = esModule; |
|
} |
|
} |
|
} |
|
|
|
function replaceLib() { |
|
return { |
|
visitor: { |
|
ImportDeclaration: replacePath, |
|
ExportNamedDeclaration: replacePath, |
|
}, |
|
}; |
|
} |
|
|
|
module.exports = replaceLib;
|
|
|