72 lines
2.4 KiB
Bash
Executable File
72 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#==============================================================================#
|
|
# SETUP #
|
|
#==============================================================================#
|
|
|
|
# Start in scripts/integration-tests/ even if run from root directory
|
|
cd "$(dirname "$0")" || exit
|
|
root="$PWD"
|
|
|
|
source utils/local-registry.sh
|
|
source utils/cleanup.sh
|
|
|
|
# Echo every command being executed
|
|
set -x
|
|
|
|
# Clone jest
|
|
git clone --depth=1 https://github.com/facebook/jest /tmp/jest
|
|
cd /tmp/jest || exit
|
|
|
|
# Update @babel/* dependencies
|
|
bump_deps="$root/utils/bump-babel-dependencies.js"
|
|
node "$bump_deps"
|
|
for d in ./packages/*/
|
|
do
|
|
(cd "$d"; node "$bump_deps")
|
|
done
|
|
|
|
#==============================================================================#
|
|
# ENVIRONMENT #
|
|
#==============================================================================#
|
|
node -v
|
|
yarn --version
|
|
python --version
|
|
|
|
#==============================================================================#
|
|
# TEST #
|
|
#==============================================================================#
|
|
|
|
startLocalRegistry "$root"/verdaccio-config.yml
|
|
yarn install
|
|
yarn dedupe '@babel/*'
|
|
|
|
if [ "$BABEL_8_BREAKING" = true ] ; then
|
|
# This option is removed in Babel 8
|
|
sed -i 's/allowDeclareFields: true,\?/\/* allowDeclareFields: true *\//g' babel.config.js
|
|
|
|
# Jest depends on @types/babel__traverse for Babel 7, and they contain the removed Noop node
|
|
sed -i 's/t.Noop/any/g' node_modules/@types/babel__traverse/index.d.ts
|
|
sed -i 's/t.Noop/any/g' node_modules/@types/babel__traverse/ts4.1/index.d.ts
|
|
|
|
node -e "
|
|
var pkg = require('./package.json');
|
|
pkg.resolutions || (pkg.resolutions = {});
|
|
pkg.resolutions['@types/babel__traverse/@babel/types'] = 'latest';
|
|
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2));
|
|
"
|
|
fi
|
|
|
|
yarn build
|
|
|
|
# The full test suite takes about 20mins on CircleCI. We run only a few of them
|
|
# to speed it up.
|
|
# The goals of this e2e test are:
|
|
# 1) Check that the typescript compilation isn't completely broken
|
|
# 2) Make sure that we don't accidentally break jest's usage of the Babel API
|
|
CI=true yarn test-ci-partial packages
|
|
CI=true yarn test-ci-partial e2e/__tests__/babel
|
|
CI=true yarn test-ci-partial e2e/__tests__/transform
|
|
|
|
cleanup
|