Skip to content

Commit 528a99f

Browse files
committed
fix(babel): fix backend.generate is not a function error in mjs build
1 parent af6b774 commit 528a99f

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
"types"
3030
],
3131
"astx": {
32-
"parser": "babel"
32+
"parser": "babel",
33+
"workers": 0
3334
},
3435
"main": "./cjs/index.js",
3536
"types": "./types/index.d.ts",

src/babel/BabelBackend.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import { Backend } from '../backend/Backend'
33
import * as defaultParser from '@babel/parser'
44
import { ParserOptions } from '@babel/parser'
55
import * as defaultTypes from '@babel/types'
6-
import defaultGenerate from '@babel/generator'
6+
import babelGenerator from '@babel/generator'
7+
const defaultGenerate = (babelGenerator as any).default || babelGenerator
78
import * as AstTypes from 'ast-types'
89
import babelAstTypes from './babelAstTypes'
910
import { Comment, Location } from '../types'

src/babel/getBabelAutoBackend.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ export default async function getBabelAutoBackend(
2727
options?: { [k in string]?: any }
2828
): Promise<BabelBackend> {
2929
const basedir = path.dirname(file)
30-
const [_parser, types, { default: generate }]: any = await Promise.all([
30+
const [_parser, types, { default: _generate }]: any = await Promise.all([
3131
getParserAsync(file, options),
3232
importLocal('@babel/types', basedir),
3333
importLocal('@babel/generator', basedir),
3434
])
35+
const generate = _generate.default || _generate
3536
const parser = _parser.parserOpts.sourceType
3637
? _parser
3738
: _parser.bindParserOpts({ sourceType: 'unambiguous' })

0 commit comments

Comments
 (0)