forked from SunLxy/md-loader
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
markdown-react-code-preview-loader/core/src/utils/transform.ts
Lines 1 to 18 in 2de33e7
import { transform } from '@babel/standalone'; | |
import { PluginItem } from '@babel/core'; | |
import removeImports from 'babel-plugin-transform-remove-imports'; | |
import replaceExportDefault from 'babel-plugin-transform-replace-export-default'; | |
import { Options } from '../'; | |
export const getTransformValue = (str: string, filename: string, opts: Options) => { | |
const plugins: PluginItem[] = [...(opts.babelPlugins || [])]; | |
if (opts.removeImports) { | |
plugins.push([removeImports, opts.removeImports]); | |
} | |
const result = transform(str, { | |
filename, | |
presets: ['env', 'es2015', 'react', 'typescript'], | |
plugins: [...plugins, replaceExportDefault], | |
}); | |
return result.code; | |
}; |
Website: https://sucrase.io/#selectedTransforms=jsx,flow,imports,react-hot-loader,jest
Github: https://github.com/alangpierce/sucrase
import {transform} from "sucrase";
const compiledCode = transform(code, {transforms: ["typescript", "imports"]}).code;
Metadata
Metadata
Assignees
Labels
No labels