From bda6dea705e2756aa21180b8d58cbae968f60a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20L=C3=BCnborg?= Date: Thu, 5 Jul 2018 19:41:34 +0200 Subject: [PATCH] fix(babel): default polyfills need es6.array.iterator for IE (#1769) close #1642 --- .../@vue/babel-preset-app/__tests__/babel-preset.spec.js | 2 ++ packages/@vue/babel-preset-app/index.js | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/@vue/babel-preset-app/__tests__/babel-preset.spec.js b/packages/@vue/babel-preset-app/__tests__/babel-preset.spec.js index c079a620ee..5ffba7af19 100644 --- a/packages/@vue/babel-preset-app/__tests__/babel-preset.spec.js +++ b/packages/@vue/babel-preset-app/__tests__/babel-preset.spec.js @@ -29,6 +29,8 @@ test('polyfill detection', () => { })) // default includes expect(code).toMatch(`import "core-js/modules/es6.promise"`) + // promise polyfill alone doesn't work in IE, needs this as well. fix: #1642 + expect(code).toMatch(`import "core-js/modules/es6.array.iterator"`) // usage-based detection expect(code).toMatch(`import "core-js/modules/es6.map"`) }) diff --git a/packages/@vue/babel-preset-app/index.js b/packages/@vue/babel-preset-app/index.js index 1c88e5214b..500dff7265 100644 --- a/packages/@vue/babel-preset-app/index.js +++ b/packages/@vue/babel-preset-app/index.js @@ -1,7 +1,10 @@ const path = require('path') const defaultPolyfills = [ - 'es6.promise' + 'es6.promise', + // promise polyfill alone doesn't work in IE, + // needs this as well. see: #1642 + 'es6.array.iterator' ] function getPolyfills (targets, includes, { ignoreBrowserslistConfig, configPath }) {