UNPKG

@tapcart/app-studio-utils

Version:

A utility library for Tapcart's App Studio

24 lines 853 B
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