mirror of
https://github.com/hanzoai/babel.git
synced 2026-09-24 16:56:45 +00:00
75 lines
3.1 KiB
Bash
Executable File
75 lines
3.1 KiB
Bash
Executable File
#!/usr/bin/env 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
|
|
|
|
node "$PWD"/scripts/integration-tests/utils/bump-babel-dependencies.js
|
|
|
|
node -e "
|
|
var pkg = require('./package.json');
|
|
pkg.devDependencies['@babel/core'] = '7.0.0';
|
|
Object.assign(pkg.resolutions, {
|
|
'@babel/core@npm:*': '7.0.0',
|
|
'@babel/core@npm:7.0.0/@babel/traverse': '7.0.0',
|
|
'@babel/core@npm:7.0.0/@babel/helpers': '7.1.0',
|
|
'@babel/helpers@npm:7.1.0/@babel/traverse': '7.0.0',
|
|
});
|
|
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2));
|
|
"
|
|
|
|
# Older @babel/core versions don't support "browserslistConfigFile", "targets".
|
|
# and "assumptions". Let's just remove them when running this e2e test.
|
|
node -e "
|
|
var config = fs.readFileSync('./babel.config.js', 'utf8')
|
|
.replace(/browserslistConfigFile:[^,]*,/g, '')
|
|
.replace(/targets,/g, '')
|
|
.replace(/assumptions,/g, '')
|
|
.replace(/assumptions:[^,]*,/g, '')
|
|
.replace(/(?<=envOpts\s+=\s+\{)/, 'targets: { node: \'6.9\' },');
|
|
fs.writeFileSync('./babel.config.js', config);
|
|
"
|
|
|
|
# https://github.com/babel/babel/pull/12331 - This test is fixed in @babel/traverse 7.12.7,
|
|
# so it will fail with older versions. We can disable it.
|
|
(cd packages/babel-plugin-transform-modules-systemjs/test/fixtures/regression/; mv issue-12329 .issue-12329)
|
|
|
|
# https://github.com/babel/babel/pull/14124 - This test is fixed in Babel 7.17;
|
|
# Todo(Babel 8): enable this test
|
|
rm packages/babel-standalone/test/built-into-es5.js
|
|
|
|
# Our 'WorkerClient' implementation uses static private getters, that are only supported
|
|
# when using '@babel/helpers@^7.6.0'
|
|
# NOTE: When running this command on MacOS, use gsed from 'brew install gnu-sed'
|
|
sed -i 's/describeGte("12.0.0")("worker"/describeGte("12.0.0").skip("worker"/g' packages/babel-register/test/index.js
|
|
sed -i 's/nodeGte12(/nodeGte12.skip(/g' eslint/babel-eslint-tests/test/integration/parser-override.js
|
|
sed -i 's/describe(/describe.skip(/g' eslint/babel-eslint-tests/test/integration/config-files.js
|
|
|
|
# We only support transforming import attributes in new @babel/core versions
|
|
sed -i 's#\["@babel/plugin-transform-json-modules", { uncheckedRequire: true }\]#null#g' babel.config.js
|
|
sed -i 's#with { type: "json" }##g' packages/babel-preset-env/src/normalize-options.ts
|
|
|
|
# Update deps, build and test
|
|
rm yarn.lock
|
|
IS_BABEL_OLD_E2E=1 YARN_ENABLE_IMMUTABLE_INSTALLS=false make -j test-ci
|
|
|
|
cleanup
|