diff --git a/.circleci/config.yml b/.circleci/config.yml index a2aee04f40..97b332792a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -446,6 +446,47 @@ jobs: - run: yarn karma start ./karma-js.conf.js --single-run --browsers=${KARMA_JS_BROWSERS} - run: ./scripts/saucelabs/stop-tunnel.sh + legacy-e2e-tests: + <<: *job_defaults + docker: + - image: *browsers_docker_image + steps: + - checkout: + <<: *post_checkout + - restore_cache: + key: *cache_key + - *define_env_vars + - *setup_circleci_bazel_config + - *yarn_install + - *setup_bazel_remote_execution + - attach_workspace: + at: dist + # Build the e2e tests using the existing Bazel "packages-dist" output that has been + # attached to this job. This avoids multiple rebuilds across various CI jobs. + - run: ./scripts/build-e2e-tests.sh --use-existing-packages-dist + - run: + name: Starting servers for e2e tests + command: yarn gulp serve serve-examples + background: true + - run: NODE_PATH=$NODE_PATH:./dist/all yarn protractor ./protractor-e2e.conf.js --bundles=true + - run: NODE_PATH=$NODE_PATH:./dist/all yarn protractor ./protractor-examples-e2e.conf.js --bundles=true + - run: NODE_PATH=$NODE_PATH:./dist/all yarn protractor ./protractor-perf.conf.js --bundles=true --dryrun + + legacy-misc-tests: + <<: *job_defaults + steps: + - checkout: + <<: *post_checkout + - restore_cache: + key: *cache_key + - *define_env_vars + - *yarn_install + - attach_workspace: + at: dist + - run: yarn gulp check-cycle + # TODO: disabled because the Bazel packages-dist does not seem to have map files for + # the ESM5/ES2015 output. See: https://github.com/angular/angular/issues/27966 + # - run: yarn gulp source-map-test workflows: version: 2 @@ -461,6 +502,12 @@ workflows: - deploy_aio: requires: - test_aio + - legacy-e2e-tests: + requires: + - build-packages-dist + - legacy-misc-tests: + requires: + - build-packages-dist - test_aio_local: requires: - build-packages-dist @@ -501,6 +548,8 @@ workflows: # Get the artifacts to publish from the build-packages-dist job # since the publishing script expects the legacy outputs layout. - build-packages-dist + - legacy-e2e-tests + - legacy-misc-tests - legacy-unit-tests-local - legacy-unit-tests-saucelabs diff --git a/modules/benchmarks/e2e_test/tree_data.ts b/modules/benchmarks/e2e_test/tree_data.ts index 708c3b8437..21628eeeeb 100644 --- a/modules/benchmarks/e2e_test/tree_data.ts +++ b/modules/benchmarks/e2e_test/tree_data.ts @@ -36,8 +36,6 @@ export const Benchmarks: Benchmark[] = [ url: 'all/benchmarks/src/tree/ng2_next/index.html', buttons: CreateDestroyDetectChangesButtons, ignoreBrowserSynchronization: true, - // Can't use bundles as we use non exported code - extraParams: [{name: 'bundles', value: false}] }, { id: `deepTree.ng2.static`, diff --git a/modules/build.sh b/modules/build.sh new file mode 100755 index 0000000000..01d151a30b --- /dev/null +++ b/modules/build.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +set -x -u -e -o pipefail + +# Go to project directory. +cd $(dirname ${0})/.. + +# Build the "modules" JS output. The module e2e tests can be served by running "gulp serve". +yarn tsc -p ./modules + +# Commands that have been extracted from the deleted "build.sh". These are responsible for +# copying assets and vendor files for the playground e2e tests to the dist output. +( + echo "=> Copying asset and vendor files which are needed for playground e2e tests." + mkdir -p ./dist/all/playground/vendor + cp -r ./modules/playground ./dist/all/ + cp -r ./modules/playground/favicon.ico ./dist/ + cd ./dist/all/playground/vendor + ln -s ../../../../node_modules/core-js/client/core.js . + ln -s ../../../../node_modules/zone.js/dist/zone.js . + ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js . + ln -s ../../../../node_modules/systemjs/dist/system.src.js . + ln -s ../../../../node_modules/base64-js . + ln -s ../../../../node_modules/reflect-metadata/Reflect.js . + ln -s ../../../../node_modules/rxjs . + ln -s ../../../../node_modules/angular/angular.js . + ln -s ../../../../node_modules/hammerjs/hammer.js . +) + +# Commands that have been extracted from the deleted "build.sh". These are responsible for +# copying assets and vendor files for the benchmarks e2e tests to the dist output. +( + echo "=> Copying asset and vendor files which are needed for e2e benchmarks." + mkdir -p ./dist/all/benchmarks/vendor + cp -r ./modules/benchmarks ./dist/all/ + cp -r ./modules/benchmarks/favicon.ico ./dist/ + cd ./dist/all/benchmarks/vendor + ln -s ../../../../node_modules/core-js/client/core.js . + ln -s ../../../../node_modules/zone.js/dist/zone.js . + ln -s ../../../../node_modules/zone.js/dist/long-stack-trace-zone.js . + ln -s ../../../../node_modules/systemjs/dist/system.src.js . + ln -s ../../../../node_modules/reflect-metadata/Reflect.js . + ln -s ../../../../node_modules/rxjs . + ln -s ../../../../node_modules/angular/angular.js . + ln -s ../../../../node_modules/incremental-dom/dist/incremental-dom-cjs.js +) diff --git a/modules/playground/src/web_workers/animations/loader.js b/modules/playground/src/web_workers/animations/loader.js index 7f9b18aed2..8a08c89ec5 100644 --- a/modules/playground/src/web_workers/animations/loader.js +++ b/modules/playground/src/web_workers/animations/loader.js @@ -10,31 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/animations/background_index') .then( diff --git a/modules/playground/src/web_workers/images/loader.js b/modules/playground/src/web_workers/images/loader.js index 374be14033..45b9d28a56 100644 --- a/modules/playground/src/web_workers/images/loader.js +++ b/modules/playground/src/web_workers/images/loader.js @@ -10,34 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'base64-js': '/all/playground/vendor/base64-js', - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/router': {main: 'index.js', defaultExtension: 'js'}, - 'base64-js': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/images/background_index') .then( diff --git a/modules/playground/src/web_workers/input/loader.js b/modules/playground/src/web_workers/input/loader.js index 13b703e219..bf3769999b 100644 --- a/modules/playground/src/web_workers/input/loader.js +++ b/modules/playground/src/web_workers/input/loader.js @@ -10,31 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/input/background_index') .then( diff --git a/modules/playground/src/web_workers/kitchen_sink/loader.js b/modules/playground/src/web_workers/kitchen_sink/loader.js index d5bf332e04..0294f2e685 100644 --- a/modules/playground/src/web_workers/kitchen_sink/loader.js +++ b/modules/playground/src/web_workers/kitchen_sink/loader.js @@ -10,32 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/router': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/kitchen_sink/background_index') .then( diff --git a/modules/playground/src/web_workers/message_broker/loader.js b/modules/playground/src/web_workers/message_broker/loader.js index 5d69da02db..f0233db683 100644 --- a/modules/playground/src/web_workers/message_broker/loader.js +++ b/modules/playground/src/web_workers/message_broker/loader.js @@ -10,32 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/router': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/message_broker/background_index') .then( diff --git a/modules/playground/src/web_workers/router/loader.js b/modules/playground/src/web_workers/router/loader.js index c5123e2c3e..bd2db3c56b 100644 --- a/modules/playground/src/web_workers/router/loader.js +++ b/modules/playground/src/web_workers/router/loader.js @@ -10,32 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/router': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/router/background_index') .then( diff --git a/modules/playground/src/web_workers/todo/loader.js b/modules/playground/src/web_workers/todo/loader.js index f559e52ba7..ec8ef7186d 100644 --- a/modules/playground/src/web_workers/todo/loader.js +++ b/modules/playground/src/web_workers/todo/loader.js @@ -10,33 +10,7 @@ importScripts( '../../../vendor/core.js', '../../../vendor/zone.js', '../../../vendor/long-stack-trace-zone.js', '../../../vendor/system.src.js', '../../../vendor/Reflect.js'); - - -System.config({ - baseURL: '/all', - - map: { - 'rxjs': '/all/playground/vendor/rxjs', - }, - packages: { - '@angular/core': {main: 'index.js', defaultExtension: 'js'}, - '@angular/compiler': {main: 'index.js', defaultExtension: 'js'}, - '@angular/common': {main: 'index.js', defaultExtension: 'js'}, - '@angular/forms': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-browser-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker': {main: 'index.js', defaultExtension: 'js'}, - '@angular/platform-webworker-dynamic': {main: 'index.js', defaultExtension: 'js'}, - '@angular/router': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, - 'rxjs': {main: 'index.js', defaultExtension: 'js'}, - }, - - defaultJSExtensions: true -}); +importScripts('../worker-systemjs-configure.js'); System.import('playground/src/web_workers/todo/background_index') .then( diff --git a/modules/playground/src/web_workers/worker-systemjs-configure.ts b/modules/playground/src/web_workers/worker-systemjs-configure.ts new file mode 100644 index 0000000000..997d4f6326 --- /dev/null +++ b/modules/playground/src/web_workers/worker-systemjs-configure.ts @@ -0,0 +1,43 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +declare var System: any; + +System.config({ + baseURL: '/all', + map: { + '@angular/common': '/packages-dist/common/bundles/common.umd.js', + '@angular/animations': '/packages-dist/animation/bundles/animations.umd.js', + '@angular/platform-browser/animations': + '/packages-dist/platform-browser/animations/bundles/platform-browser-animations.umd.js', + '@angular/compiler': '/packages-dist/compiler/bundles/compiler.umd.js', + '@angular/core': '/packages-dist/core/bundles/core.umd.js', + '@angular/forms': '/packages-dist/forms/bundles/forms.umd.js', + '@angular/http': '/packages-dist/http/bundles/http.umd.js', + '@angular/platform-browser': '/packages-dist/platform-browser/bundles/platform-browser.umd.js', + '@angular/platform-browser-dynamic': + '/packages-dist/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', + '@angular/platform-webworker': + '/packages-dist/platform-webworker/bundles/platform-webworker.umd.js', + '@angular/platform-webworker-dynamic': + '/packages-dist/platform-webworker-dynamic/bundles/platform-webworker-dynamic.umd.js', + '@angular/router': '/packages-dist/router/bundles/router.umd.js', + '@angular/upgrade': '/packages-dist/upgrade/bundles/upgrade.umd.js', + '@angular/upgrade/static': '/packages-dist/upgrade/bundles/upgrade-static.umd.js', + 'rxjs': '/all/playground/vendor/rxjs', + }, + packages: { + 'rxjs/ajax': {main: 'index.js', defaultExtension: 'js'}, + 'rxjs/operators': {main: 'index.js', defaultExtension: 'js'}, + 'rxjs/testing': {main: 'index.js', defaultExtension: 'js'}, + 'rxjs/websocket': {main: 'index.js', defaultExtension: 'js'}, + 'rxjs': {main: 'index.js', defaultExtension: 'js'}, + }, + + defaultJSExtensions: true +}); diff --git a/package.json b/package.json index b869b3e12f..63d0737313 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "minimist": "1.2.0", "mock-fs": "^4.5.0", "node-uuid": "1.4.8", - "protractor": "5.1.2", + "protractor": "^5.4.2", "reflect-metadata": "^0.1.3", "selenium-webdriver": "3.5.0", "shelljs": "^0.8.1", diff --git a/packages/benchpress/BUILD.bazel b/packages/benchpress/BUILD.bazel index 0ed71573d5..8049c9c67f 100644 --- a/packages/benchpress/BUILD.bazel +++ b/packages/benchpress/BUILD.bazel @@ -1,6 +1,6 @@ package(default_visibility = ["//visibility:public"]) -load("//tools:defaults.bzl", "ts_library") +load("//tools:defaults.bzl", "npm_package", "ts_library") ts_library( name = "benchpress", @@ -18,3 +18,17 @@ ts_library( "@ngdeps//reflect-metadata", ], ) + +npm_package( + name = "npm_package", + srcs = [ + "README.md", + "package.json", + ], + # Do not add more to this list. + # Dependencies on the full npm_package cause long re-builds. + visibility = ["//visibility:private"], + deps = [ + ":benchpress", + ], +) diff --git a/scripts/build-e2e-tests.sh b/scripts/build-e2e-tests.sh new file mode 100755 index 0000000000..f34fd342ba --- /dev/null +++ b/scripts/build-e2e-tests.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +# Legacy bash script that builds the e2e tests partially using Bazel and old Bash build scripts. +# These scripts will be removed in the future and should be replaced by Bazel's test command. + +# Immediately exit if any command failed. +set -e + +# Go to project directory. +cd $(dirname ${0})/../ + +BAZEL=`yarn bin bazel` +BAZEL_BIN_DIR=`${BAZEL} info bazel-bin` + +if [[ ! ${*} == *--use-existing-packages-dist* ]]; then + # Build all Angular release packages (this does not include //packages/benchpress) + ./scripts/build-packages-dist.sh +fi + +# Build the "@angular/benchpress" package which is required for running e2e perf tests. +yarn bazel build //packages/benchpress:npm_package + +# Copy the NPM package output of the benchpress package to the "packages-dist" directory. +# This simplifies our path mappings for tests depending on these built packages. +mkdir dist/packages-dist/benchpress +cp -R ${BAZEL_BIN_DIR}/packages/benchpress/npm_package/* dist/packages-dist/benchpress + +# Symlinks the Bazel "packages-dist" output to "dist/all/@angular" so that it can be used in +# combination with "$NODE_PATH" for a proper module resolution. Note that this is outdated +# and shouldn't be necessary if we run tests using Bazel in the future. +mkdir -p ./dist/all +(cd ./dist/all; ln -s ../packages-dist/ "@angular") + +# Build the modules which contain the playground and benchmark e2e tests. These +# can be served by running "gulp serve". +./modules/build.sh + +# Build the examples package which also contains various e2e tests. These can be +# served by running "gulp serve-examples". +./packages/examples/build.sh diff --git a/tools/gulp-tasks/check-cycle.js b/tools/gulp-tasks/check-cycle.js index f068d17150..62315c5bc6 100644 --- a/tools/gulp-tasks/check-cycle.js +++ b/tools/gulp-tasks/check-cycle.js @@ -10,7 +10,10 @@ module.exports = (gulp) => (done) => { const madge = require('madge'); - const dependencyObject = madge(['dist/all/'], { + // TODO: This only checks for circular dependencies within each package because + // imports to other packages cannot be resolved by Madge when CommonJS is used. + // We should consider updating Madge and use a tsonfig to check across packages. + const dependencyObject = madge(['dist/packages-dist/'], { format: 'cjs', extensions: ['.js'], onParseFile: function(data) { data.src = data.src.replace(/\/\* circular \*\//g, '//'); } diff --git a/yarn.lock b/yarn.lock index fa137c53ae..0aad6967e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -213,11 +213,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.4.tgz#0f4cb2dc7c1de6096055357f70179043c33e9897" integrity sha512-fCHV45gS+m3hH17zgkgADUSi2RR1Vht6wOZ0jyHP8rjiQra9f+mIcgwPQHllmDocYOstIEbKlxbFDYlgrTPYqw== -"@types/node@^6.0.46": - version "6.0.114" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.114.tgz#c42cd56479f32bc1576a5cb19f8a208da9a2b052" - integrity sha512-5ViC9dwf1VIAtrOFTvOuN04lJgw28eKjuy0Vg2Bd/fSlxKP2feCSkIw04ZgOENL2ywdWrtbkthp1XVLEjJmouw== - "@types/q@^0.0.32": version "0.0.32" resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" @@ -228,10 +223,10 @@ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.7.tgz#5d3613d1ab3ca08b74d19683a3a7c573129ab18f" integrity sha512-tHdDdGUBKTbiLLwf5mF78EP35F31UZekG+GRNowl8G5rMQoupAT4qWn/7AaGOvmaqvROdqC3Io/hP1ZyO58QkA== -"@types/selenium-webdriver@^2.53.35", "@types/selenium-webdriver@~2.53.39": - version "2.53.43" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz#2de3d718819bc20165754c4a59afb7e9833f6707" - integrity sha512-UBYHWph6P3tutkbXpW6XYg9ZPbTKjw/YC2hGG1/GEvWwTbvezBUv3h+mmUFw79T3RFPnmedpiXdOBbXX+4l0jg== +"@types/selenium-webdriver@^3.0.0": + version "3.0.14" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.14.tgz#0b20a2370e6b1b8322c9c3dfcaa409e6c7c0c0a9" + integrity sha512-4GbNCDs98uHCT/OMv40qQC/OpoPbYn9XdXeTiFwHBBFO6eJhYEPUu2zDKirXSbHlvDV8oZ9l8EQ+HrEx/YS9DQ== "@types/shelljs@^0.7.8": version "0.7.9" @@ -327,7 +322,7 @@ adm-zip@0.4.4: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736" integrity sha1-ph7VrmkFw66lizplfSUDMJEFJzY= -adm-zip@^0.4.7, adm-zip@^0.4.9, adm-zip@~0.4.3, adm-zip@~0.4.x: +adm-zip@^0.4.9, adm-zip@~0.4.3, adm-zip@~0.4.x: version "0.4.11" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a" integrity sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA== @@ -984,10 +979,10 @@ blob@0.0.4: resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" integrity sha1-vPEwUspURj8w+fx+lbmkdjCpSSE= -blocking-proxy@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-0.0.5.tgz#462905e0dcfbea970f41aa37223dda9c07b1912b" - integrity sha1-RikF4Nz76pcPQao3Ij3anAexkSs= +blocking-proxy@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-1.0.1.tgz#81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2" + integrity sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA== dependencies: minimist "^1.2.0" @@ -1126,6 +1121,13 @@ browserstack@1.5.0: dependencies: https-proxy-agent "1.0.0" +browserstack@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.5.1.tgz#e2dfa66ffee940ebad0a07f7e00fd4687c455d66" + integrity sha512-O8VMT64P9NOLhuIoD4YngyxBURefaSdR4QdhG8l6HZ9VxtU7jc3m6jLufFwKA5gaf7fetfB2TnRJnMxyob+heg== + dependencies: + https-proxy-agent "^2.2.1" + browserstacktunnel-wrapper@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz#ffe1910d6e39fe86618183e826690041af53edae" @@ -4408,7 +4410,7 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -jasmine-core@2.8.0: +jasmine-core@2.8.0, jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= @@ -4418,19 +4420,14 @@ jasmine-core@^3.1.0, jasmine-core@~3.1.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.1.0.tgz#a4785e135d5df65024dfc9224953df585bd2766c" integrity sha1-pHheE11d9lAk38kiSVPfWFvSdmw= -jasmine-core@~2.99.0: - version "2.99.1" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.99.1.tgz#e6400df1e6b56e130b61c4bcd093daa7f6e8ca15" - integrity sha1-5kAN8ea1bhMLYcS80JPap/boyhU= - -jasmine@^2.5.3: - version "2.99.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.99.0.tgz#8ca72d102e639b867c6489856e0e18a9c7aa42b7" - integrity sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc= +jasmine@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.8.0.tgz#6b089c0a11576b1f16df11b80146d91d4e8b8a3e" + integrity sha1-awicChFXax8W3xG4AUbZHU6Lij4= dependencies: exit "^0.1.2" glob "^7.0.6" - jasmine-core "~2.99.0" + jasmine-core "~2.8.0" jasmine@^3.1.0: version "3.1.0" @@ -6047,11 +6044,6 @@ optionator@^0.8.1: type-check "~0.3.2" wordwrap "~1.0.0" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - integrity sha1-7CLTEoBrtT5zF3Pnza788cZDEo8= - optjs@~3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/optjs/-/optjs-3.2.2.tgz#69a6ce89c442a44403141ad2f9b370bd5bb6f4ee" @@ -6485,25 +6477,25 @@ protobufjs@5.0.3: glob "^7.0.5" yargs "^3.10.0" -protractor@5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.1.2.tgz#9b221741709a4c62d5cd53c6aadd54a71137e95f" - integrity sha1-myIXQXCaTGLVzVPGqt1UpxE36V8= +protractor@^5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.2.tgz#329efe37f48b2141ab9467799be2d4d12eb48c13" + integrity sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA== dependencies: - "@types/node" "^6.0.46" "@types/q" "^0.0.32" - "@types/selenium-webdriver" "~2.53.39" - blocking-proxy "0.0.5" + "@types/selenium-webdriver" "^3.0.0" + blocking-proxy "^1.0.0" + browserstack "^1.5.1" chalk "^1.1.3" glob "^7.0.3" - jasmine "^2.5.3" + jasmine "2.8.0" jasminewd2 "^2.1.0" optimist "~0.6.0" q "1.4.1" - saucelabs "~1.3.0" - selenium-webdriver "3.0.1" + saucelabs "^1.5.0" + selenium-webdriver "3.6.0" source-map-support "~0.4.0" - webdriver-js-extender "^1.0.0" + webdriver-js-extender "2.1.0" webdriver-manager "^12.0.6" proxy-agent@~3.0.0: @@ -7233,33 +7225,11 @@ saucelabs@^1.4.0, saucelabs@^1.5.0: dependencies: https-proxy-agent "^2.2.1" -saucelabs@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-1.3.0.tgz#d240e8009df7fa87306ec4578a69ba3b5c424fee" - integrity sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4= - dependencies: - https-proxy-agent "^1.0.0" - -sax@0.6.x: - version "0.6.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-0.6.1.tgz#563b19c7c1de892e09bfc4f2fc30e3c27f0952b9" - integrity sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk= - sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -selenium-webdriver@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.0.1.tgz#a2dea5da4a97f6672e89e7ca7276cefa365147a7" - integrity sha1-ot6l2kqX9mcuiefKcnbO+jZRR6c= - dependencies: - adm-zip "^0.4.7" - rimraf "^2.5.4" - tmp "0.0.30" - xml2js "^0.4.17" - selenium-webdriver@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.5.0.tgz#9036c82874e6c0f5cbff0a0f18223bc31c99cb77" @@ -7270,16 +7240,15 @@ selenium-webdriver@3.5.0: tmp "0.0.30" xml2js "^0.4.17" -selenium-webdriver@^2.53.2: - version "2.53.3" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz#d29ff5a957dff1a1b49dc457756e4e4bfbdce085" - integrity sha1-0p/1qVff8aG0ncRXdW5OS/vc4IU= +selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" + integrity sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q== dependencies: - adm-zip "0.4.4" - rimraf "^2.2.8" - tmp "0.0.24" - ws "^1.0.1" - xml2js "0.4.4" + jszip "^3.1.3" + rimraf "^2.5.4" + tmp "0.0.30" + xml2js "^0.4.17" selenium-webdriver@^4.0.0-alpha.1: version "4.0.0-alpha.1" @@ -8178,11 +8147,6 @@ tiny-lr@^0.2.1: parseurl "~1.3.0" qs "~5.1.0" -tmp@0.0.24: - version "0.0.24" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.24.tgz#d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12" - integrity sha1-1qXhmNFKmDXMby18PZ4wJCjIzxI= - tmp@0.0.28: version "0.0.28" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" @@ -8470,11 +8434,6 @@ uid-safe@~2.0.0: dependencies: base64-url "1.2.1" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po= - ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -8796,13 +8755,13 @@ wd@^1.4.0: underscore.string "3.3.4" vargs "0.1.0" -webdriver-js-extender@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/webdriver-js-extender/-/webdriver-js-extender-1.0.0.tgz#81c533a9e33d5bfb597b4e63e2cdb25b54777515" - integrity sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU= +webdriver-js-extender@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz#57d7a93c00db4cc8d556e4d3db4b5db0a80c3bb7" + integrity sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ== dependencies: - "@types/selenium-webdriver" "^2.53.35" - selenium-webdriver "^2.53.2" + "@types/selenium-webdriver" "^3.0.0" + selenium-webdriver "^3.0.1" webdriver-manager@^12.0.6: version "12.1.0" @@ -8953,14 +8912,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== - dependencies: - options ">=0.0.5" - ultron "1.0.x" - ws@~3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -8983,14 +8934,6 @@ xml2js@0.4.16: sax ">=0.6.0" xmlbuilder "^4.1.0" -xml2js@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.4.tgz#3111010003008ae19240eba17497b57c729c555d" - integrity sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0= - dependencies: - sax "0.6.x" - xmlbuilder ">=1.0.0" - xml2js@^0.4.17, xml2js@~0.4.4: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" @@ -8999,11 +8942,6 @@ xml2js@^0.4.17, xml2js@~0.4.4: sax ">=0.6.0" xmlbuilder "~9.0.1" -xmlbuilder@>=1.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.0.0.tgz#c64e52f8ae097fe5fd46d1c38adaade071ee1b55" - integrity sha512-7RWHlmF1yU/E++BZkRQTEv8ZFAhZ+YHINUAxiZ5LQTKRQq//igpiY8rh7dJqPzgb/IzeC5jH9P7OaCERfM9DwA== - xmlbuilder@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"