import fs from 'fs' ; import JoyCon from 'joycon' ; import { parse } from 'jsonc-parser' ; const joycon = new JoyCon ( ) ; joycon . addLoader ( { test : /\.json$/ , load : async ( file ) => { const content = await fs . promises . readFile ( file , 'utf8' ) ; return parse ( content ) ; } , } ) ; export const getOptions = async ( cwd , tsconfig ? ) : Promise < { jsxFactory ? : string ; jsxFragment ? : string ; target ? : string ; } > => { const { data , path } = await joycon . load ( [ tsconfig || 'tsconfig.json' ] , cwd ) ; if ( path && data ) { const { jsxFactory , jsxFragmentFactory , target } = data . compilerOptions || { } ; return { jsxFactory , jsxFragment : jsxFragmentFactory , target : target && target . toLowerCase ( ) , } ; } return { } ; } ;