UNPKG

sucrase

Version:

Super-fast alternative to Babel for when you can target modern JS runtimes

34 lines (33 loc) 959 B
// @ts-ignore: no types available. import * as pirates from "pirates"; import { transform } from "./index"; export function addHook(extension, transforms) { pirates.addHook((code, filename) => { try { return transform(code, { transforms }); } catch (e) { // eslint-disable-next-line no-console console.error(`Error processing file ${filename}`); throw e; } }, { exts: [extension] }); } export function registerJS() { addHook(".js", ["imports", "flow", "jsx", "react-display-name"]); } export function registerJSX() { addHook(".jsx", ["imports", "flow", "jsx", "react-display-name"]); } export function registerTS() { addHook(".ts", ["imports", "typescript"]); } export function registerTSX() { addHook(".tsx", ["imports", "typescript", "jsx"]); } export function registerAll() { registerJS(); registerJSX(); registerTS(); registerTSX(); }