Skip to content

Commit b9f5b6a

Browse files
committed
refactor(next/swc): allow to fallback for non-async published pkg
1 parent 133210a commit b9f5b6a

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

packages/next/build/swc/index.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,19 +143,26 @@ async function loadWasm(importPath = '') {
143143
wasmBindings = {
144144
isWasm: true,
145145
transform(src, options) {
146-
return bindings.transform(src, options)
146+
// TODO: we can remove fallback to sync interface once new stable version of next-swc gets published
147+
return bindings?.transform
148+
? bindings.transform(src, options)
149+
: Promise.resolve(bindings.transformSync(src.toString(), options))
147150
},
148151
transformSync(src, options) {
149152
return bindings.transformSync(src.toString(), options)
150153
},
151154
minify(src, options) {
152-
return bindings.minify(src.toString(), options)
155+
return bindings?.minify
156+
? bindings.minify(src.toString(), options)
157+
: bindings.minifySync(src.toString(), options)
153158
},
154159
minifySync(src, options) {
155160
return bindings.minifySync(src.toString(), options)
156161
},
157162
parse(src, options) {
158-
return bindings.parse(src.toString(), options)
163+
return bindings?.parse
164+
? bindings.parse(src.toString(), options)
165+
: bindings.parse(src.toString(), options)
159166
},
160167
parseSync(src, options) {
161168
const astStr = bindings.parseSync(src.toString(), options)

0 commit comments

Comments
 (0)