Skip to content

Commit df94419

Browse files
authored
Avoid dynamic import (#109)
1 parent c04bab9 commit df94419

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/application/project/code/transformation/javascript/javaScriptCodemod.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {File} from '@babel/types';
22
import {parse, print} from 'recast';
3-
import {parse as babelParser} from 'recast/parsers/babel-ts.js';
3+
import {parse as babelParse} from '@babel/parser';
4+
import getBabelOptions, {type Overrides} from 'recast/parsers/_babel_options.js';
45
import {Codemod, CodemodOptions, ResultCode} from '@/application/project/code/transformation/codemod';
56
import {Language} from '@/application/project/code/transformation/javascript/utils/parse';
67

@@ -19,7 +20,13 @@ export class JavaScriptCodemod<O extends CodemodOptions> implements Codemod<stri
1920
public async apply(input: string, options?: O): Promise<ResultCode<string>> {
2021
const ast = parse(input, {
2122
parser: {
22-
parse: babelParser,
23+
parse: (source: string, parseOptions?: Overrides) => {
24+
const babelOptions = getBabelOptions(parseOptions);
25+
26+
babelOptions.plugins.push('jsx', 'typescript');
27+
28+
return babelParse(source, babelOptions);
29+
},
2330
},
2431
});
2532

0 commit comments

Comments
 (0)