@builder.io/mitosis
Version:
Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io
24 lines (23 loc) • 1.15 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleImportDeclaration = void 0;
const mitosis_imports_1 = require("../../helpers/mitosis-imports");
const handleImportDeclaration = ({ options, path, context, }) => {
var _a;
// @builder.io/mitosis or React imports compile away
const customPackages = (options === null || options === void 0 ? void 0 : options.compileAwayPackages) || [];
if (['react', '@builder.io/mitosis', '@emotion/react', ...customPackages].includes(path.node.source.value)) {
path.remove();
return;
}
const importObject = (0, mitosis_imports_1.mapImportDeclarationToMitosisImport)(path.node);
const resolvedImport = (_a = context.builder.resolvedImports) === null || _a === void 0 ? void 0 : _a.find((rImport) => rImport.path === importObject.path);
if (resolvedImport) {
delete importObject.imports[resolvedImport.value];
}
if (Object.keys(importObject.imports).length > 0) {
context.builder.component.imports.push(importObject);
}
path.remove();
};
exports.handleImportDeclaration = handleImportDeclaration;
;