@ant-design/tools
Version:
tools for ant design
38 lines (37 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _path = require("path");
var _fs = _interopRequireDefault(require("fs"));
var _projectHelper = require("./utils/projectHelper");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function replacePath(path) {
const source = path.node.source;
if (source && /\/lib\//.test(source.value)) {
const esModule = source.value.replace('/lib/', '/es/');
const esPath = (0, _path.dirname)((0, _projectHelper.getProjectPath)('node_modules', esModule));
if (_fs.default.existsSync(esPath)) {
source.value = esModule;
}
}
// @ant-design/icons/xxx => @ant-design/icons/es/icons/xxx
const antdIconMatcher = /@ant-design\/icons\/([^/]*)$/;
if (source && antdIconMatcher.test(source.value)) {
const esModule = source.value.replace(antdIconMatcher, (_, iconName) => `@ant-design/icons/es/icons/${iconName}`);
const esPath = (0, _path.dirname)((0, _projectHelper.getProjectPath)('node_modules', esModule));
if (_fs.default.existsSync(esPath)) {
source.value = esModule;
}
}
}
function replaceLib() {
return {
visitor: {
ImportDeclaration: replacePath,
ExportNamedDeclaration: replacePath
}
};
}
var _default = exports.default = replaceLib;