@tapcart/app-studio-utils
Version:
A utility library for Tapcart's App Studio
24 lines • 853 B
JavaScript
import { transform } from "sucrase";
const trimCode = (code) => code.trim().replace(/;$/, "");
const firstPassTransforms = ["jsx", "typescript", "imports"];
const defaultTransforms = [];
const compose = (...functions) => {
return functions.reduce((acc, currentFn) => (...args) => acc(currentFn(...args)));
};
const _transform = (opts = {}) => {
const transforms = Array.isArray(opts.transforms)
? opts.transforms.filter(Boolean)
: defaultTransforms;
return (code) => {
return transform(code, { transforms }).code;
};
};
export const transpileCode = (code) => {
const transformedCode = compose(trimCode, _transform({
transforms: firstPassTransforms,
jsxRuntime: "automatic",
production: true,
}), trimCode)(code);
return transformedCode;
};
//# sourceMappingURL=transpile.js.map