({
code,
filename,
sourceFilename,
plugins,
...opts
}: ParseAstOptions)
| 16 | |
| 17 | export type ParseAstResult = ParseResult<_babel_types.File> |
| 18 | export function parseAst({ |
| 19 | code, |
| 20 | filename, |
| 21 | sourceFilename, |
| 22 | plugins, |
| 23 | ...opts |
| 24 | }: ParseAstOptions): ParseAstResult { |
| 25 | const inferredFilename = filename ?? sourceFilename |
| 26 | return parse(code, { |
| 27 | plugins: plugins ?? getDefaultParserPluginsForFilename(inferredFilename), |
| 28 | sourceType: 'module', |
| 29 | sourceFilename, |
| 30 | ...opts, |
| 31 | }) |
| 32 | } |
| 33 | |
| 34 | function getDefaultParserPluginsForFilename( |
| 35 | filename: string | undefined, |