Skip to content

Commit

Permalink
Fix e2e vue-cli Babel 8 tests (#13050)
Browse files Browse the repository at this point in the history
Co-authored-by: Henry Zhu <hi@henryzoo.com>
  • Loading branch information
nicolo-ribaudo and hzoo committed Mar 25, 2021
1 parent 327b4ce commit 8c445e6
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 0 deletions.
6 changes: 6 additions & 0 deletions scripts/integration-tests/e2e-vue-cli.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ node "$PWD"/../../utils/bump-babel-dependencies.js
yarn lerna exec -- node "$PWD"/../../utils/bump-babel-dependencies.js
yarn install

if [ "$BABEL_8_BREAKING" = true ] ; then
# Babel 8 defaults to "default, not ie 11", but this breaks vue-cli's tests
# which expect different ES features to be compiled.
patch -p1 < "$PWD"/../../patches/vue-cli-babel-8.patch
fi

# Test
CI=true yarn test -p babel,babel-preset-app

Expand Down
79 changes: 79 additions & 0 deletions scripts/integration-tests/patches/vue-cli-babel-8.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
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 d57f42b..60c938a 100644
--- a/packages/@vue/babel-preset-app/__tests__/babel-preset.spec.js
+++ b/packages/@vue/babel-preset-app/__tests__/babel-preset.spec.js
@@ -3,7 +3,7 @@ const babel = require('@babel/core')
const preset = require('../index')
const defaultOptions = {
babelrc: false,
- presets: [preset],
+ presets: [[preset, { targets: { ie: 9 } }]],
filename: 'test-entry-file.js'
}

@@ -161,6 +161,7 @@ test('disable absoluteRuntime', () => {
`.trim(), {
babelrc: false,
presets: [[preset, {
+ targets: { ie: 9 },
absoluteRuntime: false
}]],
filename: 'test-entry-file.js'
@@ -183,6 +184,7 @@ test('should inject polyfills / helpers using "require" statements for a umd mod
`.trim(), {
babelrc: false,
presets: [[preset, {
+ targets: { ie: 9 },
absoluteRuntime: false
}]],
filename: 'test-entry-file.js'
@@ -200,6 +202,7 @@ test('should inject polyfills / helpers using "import" statements for an es modu
`.trim(), {
babelrc: false,
presets: [[preset, {
+ targets: { ie: 9 },
absoluteRuntime: false
}]],
filename: 'test-entry-file.js'
@@ -216,6 +219,7 @@ test('should not inject excluded polyfills', () => {
`.trim(), {
babelrc: false,
presets: [[preset, {
+ targets: { ie: 9 },
exclude: ['es.promise'],
polyfills: ['es.array.iterator', 'es.object.assign']
}]],
diff --git a/packages/@vue/cli-plugin-babel/__tests__/transpileDependencies.spec.js b/packages/@vue/cli-plugin-babel/__tests__/transpileDependencies.spec.js
index 1c5d6c2..6f90582 100644
--- a/packages/@vue/cli-plugin-babel/__tests__/transpileDependencies.spec.js
+++ b/packages/@vue/cli-plugin-babel/__tests__/transpileDependencies.spec.js
@@ -78,6 +78,14 @@ test('dep from node_modules should been transpiled when matched by transpileDepe
'vue.config.js',
`module.exports = { transpileDependencies: ['external-dep', '@scope/external-dep'] }`
)
+ await project.write(
+ 'babel.config.js',
+ `module.exports = {
+ presets: [
+ ["@vue/babel-preset-app", { targets: { ie: 9 } }]
+ ]
+ }`
+ )
await project.run('vue-cli-service build')
expect(await readVendorFile()).toMatch('return "__TEST__"')

@@ -89,6 +97,14 @@ test('dep from node_modules should been transpiled when transpileDependencies is
'vue.config.js',
`module.exports = { transpileDependencies: true }`
)
+ await project.write(
+ 'babel.config.js',
+ `module.exports = {
+ presets: [
+ ["@vue/babel-preset-app", { targets: { ie: 9 } }]
+ ]
+ }`
+ )
await project.run('vue-cli-service build')
expect(await readVendorFile()).toMatch('return "__TEST__"')

0 comments on commit 8c445e6

Please sign in to comment.