From 9b976b2164bad81e7f880ecfdc73534482cb4311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Mon, 23 Mar 2020 22:42:40 +0100 Subject: [PATCH] Test Babel compiled using an old version of `@babel/core` (#11319) * Test Babel compiled using an old version of @babel/core This should catch regressions where we use a new helper without a fallback for older versions, or when we use a new @babel/traverse method. * Enable the test --- .circleci/config.yml | 11 +++++ .../e2e-babel-old-version.sh | 46 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100755 scripts/integration-tests/e2e-babel-old-version.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 4c62a70891..0f9295e7ed 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -142,6 +142,14 @@ jobs: at: /tmp/verdaccio-workspace - run: ./scripts/integration-tests/e2e-babel.sh + e2e-babel-old-version: + executor: node-executor + steps: + - checkout + - attach_workspace: + at: /tmp/verdaccio-workspace + - run: ./scripts/integration-tests/e2e-babel-old-version.sh + e2e-create-react-app: executor: node-executor steps: @@ -191,6 +199,9 @@ workflows: - e2e-babel: requires: - publish-verdaccio + - e2e-babel-old-version: + requires: + - publish-verdaccio - e2e-create-react-app: requires: - publish-verdaccio diff --git a/scripts/integration-tests/e2e-babel-old-version.sh b/scripts/integration-tests/e2e-babel-old-version.sh new file mode 100755 index 0000000000..ce3391af47 --- /dev/null +++ b/scripts/integration-tests/e2e-babel-old-version.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +#==============================================================================# +# SETUP # +#==============================================================================# + +# Start in scripts/integration-tests/ even if run from root directory +cd "$(dirname "$0")" || exit + +source utils/local-registry.sh +source utils/cleanup.sh + +# Echo every command being executed +set -x + +# Go to the root of the monorepo +cd ../.. + +#==============================================================================# +# TEST # +#==============================================================================# + +startLocalRegistry "$PWD"/scripts/integration-tests/verdaccio-config.yml +yarn upgrade --scope @babel + +# We use @babel/core 7.5.5 instead of 7.0.0 because without babel/babel#10208 +# our @babel/standalone build fails. + +node -e "\ + var pkg = require('./package.json');\ + pkg.devDependencies['@babel/core'] = '7.5.5';\ + Object.assign(pkg.resolutions, {\ + '@babel/core': '7.5.5',\ + '@babel/helpers': '7.5.5',\ + '@babel/traverse': '7.0.0'\ + });\ + fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2));\ +" + +rm yarn.lock +make bootstrap + +# Test +make test-ci + +cleanup