import { transformSync } from '@babel/core'; import { ESLint } from 'eslint'; import path from 'path'; const engine = new ESLint({ fix: true, useEslintrc: false, baseConfig: require(path.join(process.cwd(), '.eslintrc.js')), }); const tsToJs = async (content: string): Promise => { if (!content) { return ''; } const { code } = transformSync(content, { configFile: false, plugins: [ [ require.resolve('@babel/plugin-transform-typescript'), { isTSX: false, }, ], ], }); const report = await engine.lintText(code); let output = report[0].output; output = output ? output.trim() : output; return output; }; export default tsToJs;