From b9f5b6a2a5460676bf0c1dd19303db65380a06ac Mon Sep 17 00:00:00 2001 From: OJ Kwon Date: Mon, 1 Aug 2022 11:59:09 -0700 Subject: [PATCH] refactor(next/swc): allow to fallback for non-async published pkg --- packages/next/build/swc/index.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/next/build/swc/index.js b/packages/next/build/swc/index.js index 70407cfe3f48..e5dd79a4323a 100644 --- a/packages/next/build/swc/index.js +++ b/packages/next/build/swc/index.js @@ -143,19 +143,26 @@ async function loadWasm(importPath = '') { wasmBindings = { isWasm: true, transform(src, options) { - return bindings.transform(src, options) + // TODO: we can remove fallback to sync interface once new stable version of next-swc gets published + return bindings?.transform + ? bindings.transform(src, options) + : Promise.resolve(bindings.transformSync(src.toString(), options)) }, transformSync(src, options) { return bindings.transformSync(src.toString(), options) }, minify(src, options) { - return bindings.minify(src.toString(), options) + return bindings?.minify + ? bindings.minify(src.toString(), options) + : bindings.minifySync(src.toString(), options) }, minifySync(src, options) { return bindings.minifySync(src.toString(), options) }, parse(src, options) { - return bindings.parse(src.toString(), options) + return bindings?.parse + ? bindings.parse(src.toString(), options) + : bindings.parse(src.toString(), options) }, parseSync(src, options) { const astStr = bindings.parseSync(src.toString(), options)