diff --git a/.changeset/fresh-paws-argue.md b/.changeset/fresh-paws-argue.md new file mode 100644 index 000000000..04d1c506e --- /dev/null +++ b/.changeset/fresh-paws-argue.md @@ -0,0 +1,5 @@ +--- +"preact-cli": patch +--- + +Transpile generators and async functions in legacy bundles. Async functions were inadvertently transpiled to generators in 3.3.0, this transpiles them to ES5. diff --git a/packages/cli/lib/lib/babel-config.js b/packages/cli/lib/lib/babel-config.js index df2bb1a90..e331326f7 100644 --- a/packages/cli/lib/lib/babel-config.js +++ b/packages/cli/lib/lib/babel-config.js @@ -10,8 +10,7 @@ module.exports = function (env, options = {}) { modules: options.modules || false, targets: { browsers: options.browsers, - }, - exclude: ['transform-regenerator'], + } }, ], ], diff --git a/packages/cli/lib/lib/webpack/webpack-base-config.js b/packages/cli/lib/lib/webpack/webpack-base-config.js index 62990de94..929b75cad 100644 --- a/packages/cli/lib/lib/webpack/webpack-base-config.js +++ b/packages/cli/lib/lib/webpack/webpack-base-config.js @@ -86,6 +86,7 @@ module.exports = function createBaseConfig(env) { const browserslistDefaults = ['> 0.25%', 'IE >= 9']; const browserlistConfig = Object(browserslist.findConfig(cwd)); const browsers = + env.browserslist || (isProd ? browserlistConfig.production : browserlistConfig.development) || browserlistConfig.defaults || browserslistDefaults; @@ -173,7 +174,7 @@ module.exports = function createBaseConfig(env) { module: { rules: [ - { + (info) => ({ // ES2015 enforce: 'pre', test: /\.m?[jt]sx?$/, @@ -182,10 +183,14 @@ module.exports = function createBaseConfig(env) { loader: require.resolve('babel-loader'), options: Object.assign( { babelrc: false }, - createBabelConfig(env, { browsers }), + createBabelConfig(env, { + browsers: info.compiler.name === 'InjectManifest' + ? 'supports es6-module' + : browsers + }), babelrc // intentionally overwrite our settings ), - }, + }), { // LESS enforce: 'pre', diff --git a/packages/cli/lib/lib/webpack/webpack-server-config.js b/packages/cli/lib/lib/webpack/webpack-server-config.js index dcbfa34dc..057c237b3 100644 --- a/packages/cli/lib/lib/webpack/webpack-server-config.js +++ b/packages/cli/lib/lib/webpack/webpack-server-config.js @@ -27,5 +27,6 @@ function serverConfig(env) { } module.exports = function createServerConfig(env) { + env = Object.assign({}, env, { browserslist: 'node >= 12' }); return merge(baseConfig(env), serverConfig(env)); };