mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
ci: attempt to increase stability of saucelabs legacy job (#44281)
This is an attempt to increase the stability of the Saucelabs legacy job by using an emulator recommended by the Saucelabs platform configurator, explicitly specifying the appium server version etc. PR Close #44281
This commit is contained in:
committed by
Dylan Hunn
parent
3aafa765ee
commit
61e023488e
+20
-82
@@ -10,98 +10,36 @@
|
||||
// If the target is set to null, then the browser is not run anywhere during CI.
|
||||
// If a category becomes empty (e.g. BS and required), then the corresponding job must be commented
|
||||
// out in the CI configuration.
|
||||
var CIconfiguration = {
|
||||
// Chrome and Firefox run as part of the Bazel browser tests, so we do not run them as
|
||||
// part of the legacy Saucelabs tests.
|
||||
'Chrome': {unitTest: {target: null, required: false}, e2e: {target: null, required: true}},
|
||||
'Firefox': {unitTest: {target: null, required: false}, e2e: {target: null, required: true}},
|
||||
// Set ESR as a not required browser as it fails for Ivy acceptance tests.
|
||||
'FirefoxESR': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
// Disabled because using the "beta" channel of Chrome can cause non-deterministic CI results.
|
||||
// e.g. a new chrome beta version has been released, but the Saucelabs selenium server does
|
||||
// not provide a chromedriver version that is compatible with the new beta.
|
||||
'ChromeBeta': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: false}},
|
||||
'ChromeDev': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
// FirefoxBeta and FirefoxDev should be target:'BS' or target:'SL', and required:true
|
||||
// Currently deactivated due to https://github.com/angular/angular/issues/7560
|
||||
'FirefoxBeta': {unitTest: {target: null, required: true}, e2e: {target: null, required: false}},
|
||||
'FirefoxDev': {unitTest: {target: null, required: true}, e2e: {target: null, required: true}},
|
||||
'Edge': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
'Android10': {unitTest: {target: 'SL', required: true}, e2e: {target: null, required: true}},
|
||||
'Android11': {unitTest: {target: 'SL', required: true}, e2e: {target: null, required: true}},
|
||||
'Safari12': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
'Safari13': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
'iOS12': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
'iOS13': {unitTest: {target: 'SL', required: false}, e2e: {target: null, required: true}},
|
||||
'WindowsPhone': {unitTest: {target: 'BS', required: false}, e2e: {target: null, required: true}}
|
||||
const config = {
|
||||
'Android10': {unitTest: {target: 'SL', required: true}},
|
||||
'Android11': {unitTest: {target: 'SL', required: true}},
|
||||
};
|
||||
|
||||
var customLaunchers = {
|
||||
'DartiumWithWebPlatform':
|
||||
{base: 'Dartium', flags: ['--enable-experimental-web-platform-features']},
|
||||
'ChromeNoSandbox': {base: 'Chrome', flags: ['--no-sandbox']},
|
||||
'SL_CHROME': {base: 'SauceLabs', browserName: 'chrome', version: '81'},
|
||||
'SL_CHROMEBETA': {base: 'SauceLabs', browserName: 'chrome', version: 'beta'},
|
||||
'SL_CHROMEDEV': {base: 'SauceLabs', browserName: 'chrome', version: 'dev'},
|
||||
'SL_FIREFOX': {base: 'SauceLabs', browserName: 'firefox', version: '76'},
|
||||
// Firefox 68 is the current ESR vesion
|
||||
'SL_FIREFOXESR': {base: 'SauceLabs', browserName: 'firefox', version: '68'},
|
||||
'SL_FIREFOXBETA':
|
||||
{base: 'SauceLabs', platform: 'Windows 10', browserName: 'firefox', version: 'beta'},
|
||||
'SL_FIREFOXDEV':
|
||||
{base: 'SauceLabs', platform: 'Windows 10', browserName: 'firefox', version: 'dev'},
|
||||
'SL_SAFARI12':
|
||||
{base: 'SauceLabs', browserName: 'safari', platform: 'macOS 10.13', version: '12.1'},
|
||||
'SL_SAFARI13':
|
||||
{base: 'SauceLabs', browserName: 'safari', platform: 'macOS 10.15', version: '13.0'},
|
||||
'SL_IOS12': {
|
||||
base: 'SauceLabs',
|
||||
browserName: 'Safari',
|
||||
platform: 'iOS',
|
||||
version: '12.0',
|
||||
device: 'iPhone 7 Simulator'
|
||||
},
|
||||
'SL_IOS13': {
|
||||
base: 'SauceLabs',
|
||||
browserName: 'Safari',
|
||||
platform: 'iOS',
|
||||
version: '13.0',
|
||||
device: 'iPhone 11 Simulator'
|
||||
},
|
||||
'SL_EDGE': {
|
||||
base: 'SauceLabs',
|
||||
browserName: 'MicrosoftEdge',
|
||||
platform: 'Windows 10',
|
||||
version: '14.14393'
|
||||
},
|
||||
/** Whether browsers should be remotely acquired in debug mode. */
|
||||
const debugMode = false;
|
||||
|
||||
const customLaunchers = {
|
||||
'SL_ANDROID10': {
|
||||
base: 'SauceLabs',
|
||||
browserName: 'Chrome',
|
||||
platform: 'Android',
|
||||
version: '10.0',
|
||||
device: 'Android GoogleAPI Emulator'
|
||||
platformName: 'Android',
|
||||
platformVersion: '10.0',
|
||||
deviceName: 'Google Pixel 3a GoogleAPI Emulator',
|
||||
appiumVersion: '1.20.2',
|
||||
extendedDebugging: debugMode,
|
||||
},
|
||||
'SL_ANDROID11': {
|
||||
base: 'SauceLabs',
|
||||
browserName: 'Chrome',
|
||||
platform: 'Android',
|
||||
version: '11.0',
|
||||
device: 'Android GoogleAPI Emulator'
|
||||
platformName: 'Android',
|
||||
platformVersion: '11.0',
|
||||
deviceName: 'Google Pixel 3a GoogleAPI Emulator',
|
||||
appiumVersion: '1.20.2',
|
||||
extendedDebugging: debugMode,
|
||||
},
|
||||
};
|
||||
|
||||
var sauceAliases = {
|
||||
'ALL': Object.keys(customLaunchers).filter(function(item) {
|
||||
return customLaunchers[item].base == 'SauceLabs';
|
||||
}),
|
||||
'DESKTOP': ['SL_CHROME', 'SL_FIREFOX', 'SL_EDGE', 'SL_SAFARI12', 'SL_SAFARI13', 'SL_FIREFOXESR'],
|
||||
'MOBILE': ['SL_ANDROID10', 'SL_ANDROID11', 'SL_IOS12', 'SL_IOS13'],
|
||||
'ANDROID': ['SL_ANDROID10', 'SL_ANDROID11'],
|
||||
'FIREFOX': ['SL_FIREFOXESR'],
|
||||
'IOS': ['SL_IOS12', 'SL_IOS13'],
|
||||
'SAFARI': ['SL_SAFARI12', 'SL_SAFARI13'],
|
||||
'BETA': ['SL_CHROMEBETA', 'SL_FIREFOXBETA'],
|
||||
'DEV': ['SL_CHROMEDEV', 'SL_FIREFOXDEV'],
|
||||
const sauceAliases = {
|
||||
'CI_REQUIRED': buildConfiguration('unitTest', 'SL', true),
|
||||
'CI_OPTIONAL': buildConfiguration('unitTest', 'SL', false)
|
||||
};
|
||||
@@ -112,9 +50,9 @@ module.exports = {
|
||||
};
|
||||
|
||||
function buildConfiguration(type, target, required) {
|
||||
return Object.keys(CIconfiguration)
|
||||
return Object.keys(config)
|
||||
.filter((item) => {
|
||||
var conf = CIconfiguration[item][type];
|
||||
const conf = config[item][type];
|
||||
return conf.required === required && conf.target === target;
|
||||
})
|
||||
.map((item) => target + '_' + item.toUpperCase());
|
||||
|
||||
+19
-5
@@ -10,8 +10,6 @@ const browserProvidersConf = require('./browser-providers.conf');
|
||||
const {generateSeed} = require('./tools/jasmine-seed-generator');
|
||||
const {hostname} = require('os');
|
||||
|
||||
// Karma configuration
|
||||
// Generated on Thu Sep 25 2014 11:52:02 GMT-0700 (PDT)
|
||||
module.exports = function(config) {
|
||||
const conf = {
|
||||
frameworks: ['jasmine'],
|
||||
@@ -21,7 +19,7 @@ module.exports = function(config) {
|
||||
random: true,
|
||||
seed: generateSeed('karma-js.conf'),
|
||||
},
|
||||
captureConsole: process.env.CI ? false : true,
|
||||
captureConsole: true,
|
||||
},
|
||||
|
||||
files: [
|
||||
@@ -133,8 +131,8 @@ module.exports = function(config) {
|
||||
maxDuration: 5400,
|
||||
},
|
||||
|
||||
// Try "websocket" for a faster transmission first. Fallback to "polling" if necessary.
|
||||
transports: ['websocket', 'polling'],
|
||||
// Always use `polling` for increased communication stability.
|
||||
transports: ['polling'],
|
||||
|
||||
port: 9876,
|
||||
captureTimeout: 180000,
|
||||
@@ -151,6 +149,15 @@ module.exports = function(config) {
|
||||
set: () => {},
|
||||
});
|
||||
|
||||
if (process.env.CIRCLECI) {
|
||||
conf.frameworks.unshift('parallel');
|
||||
conf.plugins.unshift(require('karma-parallel'));
|
||||
conf.parallelOptions = {
|
||||
executors: 2,
|
||||
shardStrategy: 'round-robin',
|
||||
};
|
||||
}
|
||||
|
||||
if (process.env['SAUCE_TUNNEL_IDENTIFIER']) {
|
||||
console.log(`SAUCE_TUNNEL_IDENTIFIER: ${process.env.SAUCE_TUNNEL_IDENTIFIER}`);
|
||||
|
||||
@@ -159,6 +166,13 @@ module.exports = function(config) {
|
||||
// Setup the Saucelabs plugin so that it can launch browsers using the proper tunnel.
|
||||
conf.sauceLabs.build = tunnelIdentifier;
|
||||
conf.sauceLabs.tunnelIdentifier = tunnelIdentifier;
|
||||
|
||||
// Patch the `saucelabs` package so that `karma-sauce-launcher` does not attempt downloading
|
||||
// the test logs from upstream and tries re-uploading them with the Karma enhanced details.
|
||||
// This slows-down tests/browser restarting and can decrease stability.
|
||||
// https://github.com/karma-runner/karma-sauce-launcher/blob/59b0c5c877448e064ad56449cd906743721c6b62/src/launcher/launcher.ts#L72-L79.
|
||||
require('saucelabs').default.prototype.downloadJobAsset =
|
||||
() => Promise.resolve('<FAKE-LOGS>');
|
||||
}
|
||||
|
||||
// For SauceLabs jobs, we set up a domain which resolves to the machine which launched
|
||||
|
||||
+5
-2
@@ -176,9 +176,10 @@
|
||||
"gulp-conventional-changelog": "^2.0.35",
|
||||
"husky": "7.0.4",
|
||||
"inquirer": "^8.0.0",
|
||||
"karma-parallel": "^0.3.1",
|
||||
"karma-sauce-launcher": "^4.3.6",
|
||||
"madge": "^5.0.0",
|
||||
"sauce-connect": "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz",
|
||||
"sauce-connect": "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz",
|
||||
"semver": "^7.3.5",
|
||||
"ts-node": "^10.0.0",
|
||||
"tsec": "0.2.0",
|
||||
@@ -192,6 +193,7 @@
|
||||
"// 5": "Ensure a single version of webdriver-manager so it is hoisted as the integration tests depend on it being found at ../../node_modules/webdriver-manager",
|
||||
"// 6": "Ensure that `@babel/*` packages match the below versions to avoid conflicts with `types/babel__*`",
|
||||
"// 7": "Ensure that transitive dependencies on `https-proxy-agent` are at minimum v5 as older versions patch NodeJS directly, breaking tools like webdriver which is used by the karma-sauce-launcher as an example.",
|
||||
"// 8": "Ensure that a single instance of the `saucelabs` package is used. Protractor and the Karma sauce launcher pull this package as dependency. A single instance allows for e.g. easier patching in the Karma config.",
|
||||
"resolutions": {
|
||||
"**/graceful-fs": "4.2.8",
|
||||
"**/webdriver-manager": "12.1.8",
|
||||
@@ -202,6 +204,7 @@
|
||||
"@babel/template": "7.8.6",
|
||||
"@babel/traverse": "7.8.6",
|
||||
"@babel/types": "7.8.6",
|
||||
"**/https-proxy-agent": "5.0.0"
|
||||
"**/https-proxy-agent": "5.0.0",
|
||||
"**/saucelabs": "4.7.8"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -236,7 +236,6 @@
|
||||
|
||||
"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#74fb4de008fde297fb83393ff076de10532f82a9":
|
||||
version "0.0.0-c2fb49a44ad9fa77f508010f950524ee97f5e8d5"
|
||||
uid "74fb4de008fde297fb83393ff076de10532f82a9"
|
||||
resolved "https://github.com/angular/dev-infra-private-builds.git#74fb4de008fde297fb83393ff076de10532f82a9"
|
||||
dependencies:
|
||||
"@actions/core" "^1.4.0"
|
||||
@@ -2604,6 +2603,11 @@ abbrev@1:
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
|
||||
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
|
||||
|
||||
abbrev@1.0.x:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
|
||||
integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU=
|
||||
|
||||
abort-controller@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
|
||||
@@ -2723,6 +2727,11 @@ ajv@^8.0.0:
|
||||
require-from-string "^2.0.2"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
amdefine@>=0.0.4:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
|
||||
integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
|
||||
|
||||
"angular-1.5@npm:angular@1.5":
|
||||
version "1.5.11"
|
||||
resolved "https://registry.yarnpkg.com/angular/-/angular-1.5.11.tgz#8c5ba7386f15965c9acf3429f6881553aada30d6"
|
||||
@@ -3164,7 +3173,7 @@ async@0.9.x:
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
|
||||
integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
|
||||
|
||||
async@^1.3.0, async@^1.5.2:
|
||||
async@1.x, async@^1.3.0, async@^1.5.2:
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||
integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
|
||||
@@ -5884,6 +5893,18 @@ escape-string-regexp@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||
|
||||
escodegen@1.8.x:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
|
||||
integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=
|
||||
dependencies:
|
||||
esprima "^2.7.1"
|
||||
estraverse "^1.9.1"
|
||||
esutils "^2.0.2"
|
||||
optionator "^0.8.1"
|
||||
optionalDependencies:
|
||||
source-map "~0.2.0"
|
||||
|
||||
escodegen@^1.8.1:
|
||||
version "1.14.3"
|
||||
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
|
||||
@@ -5921,6 +5942,11 @@ eslint-visitor-keys@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
|
||||
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
|
||||
|
||||
esprima@2.7.x, esprima@^2.7.1:
|
||||
version "2.7.3"
|
||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
|
||||
integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=
|
||||
|
||||
esprima@4.0.1, esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
|
||||
@@ -5933,6 +5959,11 @@ esrecurse@^4.3.0:
|
||||
dependencies:
|
||||
estraverse "^5.2.0"
|
||||
|
||||
estraverse@^1.9.1:
|
||||
version "1.9.3"
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
|
||||
integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=
|
||||
|
||||
estraverse@^4.1.1, estraverse@^4.2.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
|
||||
@@ -7088,6 +7119,17 @@ glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glo
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^5.0.15:
|
||||
version "5.0.15"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
|
||||
integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
|
||||
dependencies:
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "2 || 3"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
global-agent@^2.1.12:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.2.0.tgz#566331b0646e6bf79429a16877685c4a1fbf76dc"
|
||||
@@ -7428,7 +7470,7 @@ handle-thing@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
|
||||
integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
|
||||
|
||||
handlebars@^4.7.6:
|
||||
handlebars@^4.0.1, handlebars@^4.7.6:
|
||||
version "4.7.7"
|
||||
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
|
||||
integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
|
||||
@@ -7465,6 +7507,11 @@ has-ansi@^2.0.0:
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
has-flag@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
|
||||
integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
|
||||
|
||||
has-flag@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
|
||||
@@ -8526,6 +8573,26 @@ istanbul-reports@^3.0.2:
|
||||
html-escaper "^2.0.0"
|
||||
istanbul-lib-report "^3.0.0"
|
||||
|
||||
istanbul@^0.4.5:
|
||||
version "0.4.5"
|
||||
resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
|
||||
integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=
|
||||
dependencies:
|
||||
abbrev "1.0.x"
|
||||
async "1.x"
|
||||
escodegen "1.8.x"
|
||||
esprima "2.7.x"
|
||||
glob "^5.0.15"
|
||||
handlebars "^4.0.1"
|
||||
js-yaml "3.x"
|
||||
mkdirp "0.5.x"
|
||||
nopt "3.x"
|
||||
once "1.x"
|
||||
resolve "1.1.x"
|
||||
supports-color "^3.1.0"
|
||||
which "^1.1.1"
|
||||
wordwrap "^1.0.0"
|
||||
|
||||
isurl@^1.0.0-alpha5:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
|
||||
@@ -8636,7 +8703,7 @@ js-levenshtein@^1.1.6:
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
|
||||
|
||||
js-yaml@^3.13.1:
|
||||
js-yaml@3.x, js-yaml@^3.13.1:
|
||||
version "3.14.1"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
|
||||
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
|
||||
@@ -8869,6 +8936,14 @@ karma-jasmine@^4.0.1:
|
||||
dependencies:
|
||||
jasmine-core "^3.6.0"
|
||||
|
||||
karma-parallel@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/karma-parallel/-/karma-parallel-0.3.1.tgz#781876e5992b2781619e762f3e04dcbf85f47fa1"
|
||||
integrity sha512-64jxNYamYi/9Y67h4+FfViSYhwDgod3rLuq+ZdZ0c3XeZFp/3q3v3HVkd8b5Czp3hCB+LLF8DIv4zlR4xFqbRw==
|
||||
dependencies:
|
||||
istanbul "^0.4.5"
|
||||
lodash "^4.17.11"
|
||||
|
||||
karma-requirejs@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/karma-requirejs/-/karma-requirejs-1.1.0.tgz#fddae2cb87d7ebc16fb0222893564d7fee578798"
|
||||
@@ -9783,7 +9858,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
|
||||
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
||||
|
||||
minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4:
|
||||
"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
@@ -9894,7 +9969,7 @@ mkdirp-classic@^0.5.2:
|
||||
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
|
||||
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
|
||||
|
||||
"mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5:
|
||||
mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5:
|
||||
version "0.5.5"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
|
||||
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
|
||||
@@ -10179,6 +10254,13 @@ nodejs-websocket@^1.7.2:
|
||||
resolved "https://registry.yarnpkg.com/nodejs-websocket/-/nodejs-websocket-1.7.2.tgz#94abd1e248f57d4d1c663dec3831015c6dad98a6"
|
||||
integrity sha512-PFX6ypJcCNDs7obRellR0DGTebfUhw1SXGKe2zpB+Ng1DQJhdzbzx1ob+AvJCLzy2TJF4r8cCDqMQqei1CZdPQ==
|
||||
|
||||
nopt@3.x:
|
||||
version "3.0.6"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
||||
integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
|
||||
nopt@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
|
||||
@@ -10467,7 +10549,7 @@ on-headers@^1.0.0, on-headers@~1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
|
||||
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
|
||||
|
||||
once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
|
||||
once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
||||
@@ -12280,6 +12362,11 @@ resolve-url@^0.2.1:
|
||||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||
|
||||
resolve@1.1.x:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
|
||||
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
|
||||
|
||||
resolve@1.20.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.4.0:
|
||||
version "1.20.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
|
||||
@@ -12555,18 +12642,11 @@ sass@1.43.4:
|
||||
dependencies:
|
||||
chokidar ">=3.0.0 <4.0.0"
|
||||
|
||||
"sauce-connect@https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz":
|
||||
"sauce-connect@https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz":
|
||||
version "0.0.0"
|
||||
resolved "https://saucelabs.com/downloads/sc-4.6.2-linux.tar.gz#7b7f35433af9c3380758e048894d7b9aecf3754e"
|
||||
resolved "https://saucelabs.com/downloads/sc-4.7.1-linux.tar.gz#e5d7f82ad98251a653d1b0537f1103e49eda5e11"
|
||||
|
||||
saucelabs@^1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-1.5.0.tgz#9405a73c360d449b232839919a86c396d379fd9d"
|
||||
integrity sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==
|
||||
dependencies:
|
||||
https-proxy-agent "^2.2.1"
|
||||
|
||||
saucelabs@^4.6.3:
|
||||
saucelabs@4.7.8, saucelabs@^1.5.0, saucelabs@^4.6.3:
|
||||
version "4.7.8"
|
||||
resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-4.7.8.tgz#099a7ddacee297b34420acd5ddc155eb1ad0efde"
|
||||
integrity sha512-K2qaRUixc7+8JiAwpTvEsIQVzzUkYwa0mAfs0akGagRlWXUR1JrsmgJRyz28qkwpERW1KDuByn3Ju96BuW1V7Q==
|
||||
@@ -13121,6 +13201,13 @@ source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6:
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
|
||||
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
|
||||
|
||||
source-map@~0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
|
||||
integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50=
|
||||
dependencies:
|
||||
amdefine ">=0.0.4"
|
||||
|
||||
sourcemap-codec@1.4.8, sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8:
|
||||
version "1.4.8"
|
||||
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
|
||||
@@ -13497,6 +13584,13 @@ supports-color@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
||||
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
|
||||
|
||||
supports-color@^3.1.0:
|
||||
version "3.2.3"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
|
||||
integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
|
||||
dependencies:
|
||||
has-flag "^1.0.0"
|
||||
|
||||
supports-color@^5.0.0, supports-color@^5.3.0:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
|
||||
@@ -14806,7 +14900,7 @@ which-module@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
|
||||
|
||||
which@^1.2.1, which@^1.2.14, which@^1.2.9:
|
||||
which@^1.1.1, which@^1.2.1, which@^1.2.14, which@^1.2.9:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
|
||||
|
||||
Reference in New Issue
Block a user