test: drop now-empty remote runner (#35343)
* test: drop the now-empty remote runner from CI * move fixtures to spec-main * remove remote runner * fix stuff * remove global-paths hack * move ts-smoke to spec/ * fix test after merge * rename spec-main to spec * no need to ignore spec/node_modules twice * simplify spec-runner a little * no need to hash pj/yl twice * undo lint change to verify-mksnapshot.py * excessive .. * update electron_woa_testing.yml * don't search for test-results-remote.xml it is never produced now
This commit is contained in:
		
					parent
					
						
							
								e87c4015fe
							
						
					
				
			
			
				commit
				
					
						db7c92fd57
					
				
			
		
					 327 changed files with 950 additions and 1707 deletions
				
			
		| 
						 | 
				
			
			@ -1060,18 +1060,15 @@ steps-tests: &steps-tests
 | 
			
		|||
            export MOCHA_TIMEOUT=180000
 | 
			
		||||
            echo "Piping output to ASAN_SYMBOLIZE ($ASAN_SYMBOLIZE)"
 | 
			
		||||
            (cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging --files $(circleci tests glob spec-main/*-spec.ts | circleci tests split --split-by=timings)) 2>&1 | $ASAN_SYMBOLIZE
 | 
			
		||||
            (cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging --files $(circleci tests glob spec/*-spec.js | circleci tests split --split-by=timings)) 2>&1 | $ASAN_SYMBOLIZE
 | 
			
		||||
          else
 | 
			
		||||
            if [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then
 | 
			
		||||
              export ELECTRON_SKIP_NATIVE_MODULE_TESTS=true
 | 
			
		||||
              (cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging)
 | 
			
		||||
              (cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging)
 | 
			
		||||
            else
 | 
			
		||||
              if [ "$TARGET_ARCH" == "ia32" ]; then
 | 
			
		||||
                npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js
 | 
			
		||||
              fi
 | 
			
		||||
              (cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging --files $(circleci tests glob spec-main/*-spec.ts | circleci tests split --split-by=timings))
 | 
			
		||||
              (cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging --files $(circleci tests glob spec/*-spec.js | circleci tests split --split-by=timings))
 | 
			
		||||
            fi
 | 
			
		||||
          fi
 | 
			
		||||
    - run:
 | 
			
		||||
| 
						 | 
				
			
			@ -1080,9 +1077,6 @@ steps-tests: &steps-tests
 | 
			
		|||
          cd src
 | 
			
		||||
 | 
			
		||||
          # Check if test results exist and are not empty.
 | 
			
		||||
          if [ ! -s "junit/test-results-remote.xml" ]; then
 | 
			
		||||
            exit 1
 | 
			
		||||
          fi
 | 
			
		||||
          if [ ! -s "junit/test-results-main.xml" ]; then
 | 
			
		||||
            exit 1
 | 
			
		||||
          fi
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								.github/workflows/electron_woa_testing.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/electron_woa_testing.yml
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -117,21 +117,6 @@ jobs:
 | 
			
		|||
        MOCHA_MULTI_REPORTERS: 'mocha-junit-reporter, tap'
 | 
			
		||||
        MOCHA_REPORTER: mocha-multi-reporters
 | 
			
		||||
        ELECTRON_SKIP_NATIVE_MODULE_TESTS: true
 | 
			
		||||
    - name: Run Electron Remote based tests
 | 
			
		||||
      if: ${{ success() || failure() }}
 | 
			
		||||
      run: |
 | 
			
		||||
        cd src
 | 
			
		||||
        set npm_config_nodedir=%cd%\out\Default\gen\node_headers
 | 
			
		||||
        set npm_config_arch=arm64
 | 
			
		||||
        cd electron
 | 
			
		||||
        node script/yarn test --runners=remote --enable-logging --disable-features=CalculateNativeWinOcclusion
 | 
			
		||||
      env:
 | 
			
		||||
        ELECTRON_OUT_DIR: Default
 | 
			
		||||
        IGNORE_YARN_INSTALL_ERROR: 1
 | 
			
		||||
        ELECTRON_TEST_RESULTS_DIR: junit
 | 
			
		||||
        MOCHA_MULTI_REPORTERS: 'mocha-junit-reporter, tap'
 | 
			
		||||
        MOCHA_REPORTER: mocha-multi-reporters
 | 
			
		||||
        ELECTRON_SKIP_NATIVE_MODULE_TESTS: true
 | 
			
		||||
    - name: Verify ffmpeg
 | 
			
		||||
      run: |
 | 
			
		||||
        cd src
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -35,7 +35,7 @@ electron-api.json
 | 
			
		|||
electron.d.ts
 | 
			
		||||
 | 
			
		||||
# Spec hash calculation
 | 
			
		||||
spec/.hash
 | 
			
		||||
spec-main/.hash
 | 
			
		||||
 | 
			
		||||
# Eslint Cache
 | 
			
		||||
.eslintcache*
 | 
			
		||||
| 
						 | 
				
			
			@ -53,4 +53,4 @@ ts-gen
 | 
			
		|||
# Used to accelerate builds after sync
 | 
			
		||||
patches/mtime-cache.json
 | 
			
		||||
 | 
			
		||||
spec/fixtures/logo.png
 | 
			
		||||
spec-main/fixtures/logo.png
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -202,7 +202,6 @@ test_script:
 | 
			
		|||
      }
 | 
			
		||||
  - cd electron
 | 
			
		||||
  - if "%RUN_TESTS%"=="true" ( echo Running main test suite & node script/yarn test -- --trace-uncaught --runners=main --enable-logging=file --log-file=%cd%\electron.log )
 | 
			
		||||
  - if "%RUN_TESTS%"=="true" ( echo Running remote test suite & node script/yarn test -- --trace-uncaught --runners=remote --runTestFilesSeparately --enable-logging=file --log-file=%cd%\electron.log )
 | 
			
		||||
  - if "%RUN_TESTS%"=="true" ( echo Running native test suite & node script/yarn test -- --trace-uncaught --runners=native --enable-logging=file --log-file=%cd%\electron.log )  
 | 
			
		||||
  - cd ..
 | 
			
		||||
  - if "%RUN_TESTS%"=="true" ( echo Verifying non proprietary ffmpeg & python electron\script\verify-ffmpeg.py --build-dir out\Default --source-root %cd% --ffmpeg-path out\ffmpeg )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
root_extra_deps = [ "//electron/spec" ]
 | 
			
		||||
root_extra_deps = [ "//electron/spec-chromium:spec" ]
 | 
			
		||||
 | 
			
		||||
dcheck_always_on = true
 | 
			
		||||
is_debug = false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,7 +54,7 @@ See [issues](issues.md) for more information.
 | 
			
		|||
Most pull requests opened against the `electron/electron` repository include
 | 
			
		||||
changes to either the C/C++ code in the `shell/` folder,
 | 
			
		||||
the TypeScript code in the `lib/` folder, the documentation in `docs/`,
 | 
			
		||||
or tests in the `spec/` and `spec-main/` folders.
 | 
			
		||||
or tests in the `spec/` folder.
 | 
			
		||||
 | 
			
		||||
See [pull requests](pull-requests.md) for more information.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,8 +72,7 @@ Electron
 | 
			
		|||
|       |         message loop into Chromium's message loop.
 | 
			
		||||
|       └── api/ - The implementation of common APIs, and foundations of
 | 
			
		||||
|                  Electron's built-in modules.
 | 
			
		||||
├── spec/ - Components of Electron's test suite run in the renderer process.
 | 
			
		||||
├── spec-main/ - Components of Electron's test suite run in the main process.
 | 
			
		||||
├── spec/ - Components of Electron's test suite run in the main process.
 | 
			
		||||
└── BUILD.gn - Building rules of Electron.
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,9 +32,6 @@ app (surprise!) that can be found in the `spec` folder. Note that it has
 | 
			
		|||
its own `package.json` and that its dependencies are therefore not defined
 | 
			
		||||
in the top-level `package.json`.
 | 
			
		||||
 | 
			
		||||
To run only tests in a specific process, run `npm run test --runners=PROCESS`
 | 
			
		||||
where `PROCESS` is one of `main` or `remote`.
 | 
			
		||||
 | 
			
		||||
To run only specific tests matching a pattern, run `npm run test --
 | 
			
		||||
-g=PATTERN`, replacing the `PATTERN` with a regex that matches the tests
 | 
			
		||||
you would like to run. As an example: If you want to run only IPC tests, you
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,8 +15,8 @@ Error message:
 | 
			
		|||
ptype: expected 'browser' to equal 'renderer'
 | 
			
		||||
Error stack trace:
 | 
			
		||||
AssertionError: ptype: expected 'browser' to equal 'renderer'
 | 
			
		||||
    at checkCrash (electron\spec-main\api-crash-reporter-spec.ts:39:35)
 | 
			
		||||
    at Context.<anonymous> (electron\spec-main\api-crash-reporter-spec.ts:154:7)
 | 
			
		||||
    at checkCrash (electron\spec\api-crash-reporter-spec.ts:39:35)
 | 
			
		||||
    at Context.<anonymous> (electron\spec\api-crash-reporter-spec.ts:154:7)
 | 
			
		||||
    at runMicrotasks (<anonymous>)
 | 
			
		||||
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ process.env.PATH = `${process.env.PATH}${path.delimiter}${DEPOT_TOOLS}`;
 | 
			
		|||
const IGNORELIST = new Set([
 | 
			
		||||
  ['shell', 'browser', 'resources', 'win', 'resource.h'],
 | 
			
		||||
  ['shell', 'common', 'node_includes.h'],
 | 
			
		||||
  ['spec-main', 'fixtures', 'pages', 'jquery-3.6.0.min.js'],
 | 
			
		||||
  ['spec', 'fixtures', 'pages', 'jquery-3.6.0.min.js'],
 | 
			
		||||
  ['spec', 'ts-smoke', 'electron', 'main.ts'],
 | 
			
		||||
  ['spec', 'ts-smoke', 'electron', 'renderer.ts'],
 | 
			
		||||
  ['spec', 'ts-smoke', 'runner.js']
 | 
			
		||||
| 
						 | 
				
			
			@ -113,8 +113,8 @@ const LINTERS = [{
 | 
			
		|||
  }
 | 
			
		||||
}, {
 | 
			
		||||
  key: 'javascript',
 | 
			
		||||
  roots: ['build', 'default_app', 'lib', 'npm', 'script', 'spec', 'spec-main'],
 | 
			
		||||
  ignoreRoots: ['spec/node_modules', 'spec-main/node_modules'],
 | 
			
		||||
  roots: ['build', 'default_app', 'lib', 'npm', 'script', 'spec'],
 | 
			
		||||
  ignoreRoots: ['spec/node_modules'],
 | 
			
		||||
  test: filename => filename.endsWith('.js') || filename.endsWith('.ts'),
 | 
			
		||||
  run: async (opts, filenames) => {
 | 
			
		||||
    const eslint = new ESLint({
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ const fail = '✗'.red;
 | 
			
		|||
 | 
			
		||||
const args = require('minimist')(process.argv, {
 | 
			
		||||
  string: ['runners', 'target'],
 | 
			
		||||
  boolean: ['buildNativeTests', 'runTestFilesSeparately'],
 | 
			
		||||
  boolean: ['buildNativeTests'],
 | 
			
		||||
  unknown: arg => unknownFlags.push(arg)
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -34,7 +34,6 @@ const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx';
 | 
			
		|||
 | 
			
		||||
const runners = new Map([
 | 
			
		||||
  ['main', { description: 'Main process specs', run: runMainProcessElectronTests }],
 | 
			
		||||
  ['remote', { description: 'Remote based specs', run: runRemoteBasedElectronTests }],
 | 
			
		||||
  ['native', { description: 'Native specs', run: runNativeElectronTests }]
 | 
			
		||||
]);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +59,6 @@ async function main () {
 | 
			
		|||
 | 
			
		||||
  if (somethingChanged) {
 | 
			
		||||
    await installSpecModules(path.resolve(__dirname, '..', 'spec'));
 | 
			
		||||
    await installSpecModules(path.resolve(__dirname, '..', 'spec-main'));
 | 
			
		||||
    await getSpecHash().then(saveSpecHash);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -154,26 +152,6 @@ const specFilter = (file) => {
 | 
			
		|||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
async function runTests (specDir, testName) {
 | 
			
		||||
  if (args.runTestFilesSeparately) {
 | 
			
		||||
    const getFiles = require('../spec/static/get-files');
 | 
			
		||||
    const testFiles = await getFiles(path.resolve(__dirname, `../${specDir}`), { filter: specFilter });
 | 
			
		||||
    const baseElectronDir = path.resolve(__dirname, '..');
 | 
			
		||||
    unknownArgs.splice(unknownArgs.length, 0, '--files', '');
 | 
			
		||||
    testFiles.sort().forEach(async (file) => {
 | 
			
		||||
      unknownArgs.splice((unknownArgs.length - 1), 1, path.relative(baseElectronDir, file));
 | 
			
		||||
      console.log(`Running tests for ${unknownArgs[unknownArgs.length - 1]}`);
 | 
			
		||||
      await runTestUsingElectron(specDir, testName);
 | 
			
		||||
    });
 | 
			
		||||
  } else {
 | 
			
		||||
    await runTestUsingElectron(specDir, testName);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function runRemoteBasedElectronTests () {
 | 
			
		||||
  await runTests('spec', 'remote');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function runNativeElectronTests () {
 | 
			
		||||
  let testTargets = require('./native-test-targets.json');
 | 
			
		||||
  const outDir = `out/${utils.getOutDir()}`;
 | 
			
		||||
| 
						 | 
				
			
			@ -226,7 +204,7 @@ async function runNativeElectronTests () {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
async function runMainProcessElectronTests () {
 | 
			
		||||
  await runTests('spec-main', 'main');
 | 
			
		||||
  await runTestUsingElectron('spec', 'main');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function installSpecModules (dir) {
 | 
			
		||||
| 
						 | 
				
			
			@ -261,9 +239,7 @@ function getSpecHash () {
 | 
			
		|||
    (async () => {
 | 
			
		||||
      const hasher = crypto.createHash('SHA256');
 | 
			
		||||
      hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec/package.json')));
 | 
			
		||||
      hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec-main/package.json')));
 | 
			
		||||
      hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec/yarn.lock')));
 | 
			
		||||
      hasher.update(fs.readFileSync(path.resolve(__dirname, '../spec-main/yarn.lock')));
 | 
			
		||||
      hasher.update(fs.readFileSync(path.resolve(__dirname, '../script/spec-runner.js')));
 | 
			
		||||
      return hasher.digest('hex');
 | 
			
		||||
    })(),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,19 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  "env": {
 | 
			
		||||
    "browser": true,
 | 
			
		||||
    "mocha": true,
 | 
			
		||||
    "serviceworker": true
 | 
			
		||||
  },
 | 
			
		||||
  "globals": {
 | 
			
		||||
    "Bindings": true,
 | 
			
		||||
    "Components": true,
 | 
			
		||||
    "UI": true,
 | 
			
		||||
    "WebView": true
 | 
			
		||||
  },
 | 
			
		||||
  "plugins": [
 | 
			
		||||
    "mocha"
 | 
			
		||||
  ],
 | 
			
		||||
  "rules": {
 | 
			
		||||
    "mocha/no-exclusive-tests": "error"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,22 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  "name": "electron-test-main",
 | 
			
		||||
  "productName": "Electron Test Main",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "version": "0.1.0",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@electron-ci/echo": "file:./fixtures/native-addon/echo",
 | 
			
		||||
    "@electron-ci/uv-dlopen": "file:./fixtures/native-addon/uv-dlopen/",
 | 
			
		||||
    "@types/sinon": "^9.0.4",
 | 
			
		||||
    "@types/ws": "^7.2.0",
 | 
			
		||||
    "busboy": "^0.3.1",
 | 
			
		||||
    "q": "^1.5.1",
 | 
			
		||||
    "sinon": "^9.0.1",
 | 
			
		||||
    "ws": "^7.4.6"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "chai-as-promised": "^7.1.1",
 | 
			
		||||
    "dirty-chai": "^2.0.1",
 | 
			
		||||
    "get-image-colors": "^4.0.0",
 | 
			
		||||
    "pdfjs-dist": "^2.2.228"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,982 +0,0 @@
 | 
			
		|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
 | 
			
		||||
# yarn lockfile v1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
"@electron-ci/echo@file:./fixtures/native-addon/echo":
 | 
			
		||||
  version "0.0.1"
 | 
			
		||||
 | 
			
		||||
"@electron-ci/uv-dlopen@file:./fixtures/native-addon/uv-dlopen":
 | 
			
		||||
  version "0.0.1"
 | 
			
		||||
 | 
			
		||||
"@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.7.2":
 | 
			
		||||
  version "1.8.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d"
 | 
			
		||||
  integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    type-detect "4.0.8"
 | 
			
		||||
 | 
			
		||||
"@sinonjs/fake-timers@^6.0.0", "@sinonjs/fake-timers@^6.0.1":
 | 
			
		||||
  version "6.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40"
 | 
			
		||||
  integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@sinonjs/commons" "^1.7.0"
 | 
			
		||||
 | 
			
		||||
"@sinonjs/formatio@^5.0.1":
 | 
			
		||||
  version "5.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-5.0.1.tgz#f13e713cb3313b1ab965901b01b0828ea6b77089"
 | 
			
		||||
  integrity sha512-KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@sinonjs/commons" "^1"
 | 
			
		||||
    "@sinonjs/samsam" "^5.0.2"
 | 
			
		||||
 | 
			
		||||
"@sinonjs/samsam@^5.0.2", "@sinonjs/samsam@^5.0.3":
 | 
			
		||||
  version "5.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.0.3.tgz#86f21bdb3d52480faf0892a480c9906aa5a52938"
 | 
			
		||||
  integrity sha512-QucHkc2uMJ0pFGjJUDP3F9dq5dx8QIaqISl9QgwLOh6P9yv877uONPGXh/OH/0zmM3tW1JjuJltAZV2l7zU+uQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@sinonjs/commons" "^1.6.0"
 | 
			
		||||
    lodash.get "^4.4.2"
 | 
			
		||||
    type-detect "^4.0.8"
 | 
			
		||||
 | 
			
		||||
"@sinonjs/text-encoding@^0.7.1":
 | 
			
		||||
  version "0.7.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
 | 
			
		||||
  integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==
 | 
			
		||||
 | 
			
		||||
"@types/node@*":
 | 
			
		||||
  version "13.7.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.0.tgz#b417deda18cf8400f278733499ad5547ed1abec4"
 | 
			
		||||
  integrity sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ==
 | 
			
		||||
 | 
			
		||||
"@types/sinon@^9.0.4":
 | 
			
		||||
  version "9.0.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.4.tgz#e934f904606632287a6e7f7ab0ce3f08a0dad4b1"
 | 
			
		||||
  integrity sha512-sJmb32asJZY6Z2u09bl0G2wglSxDlROlAejCjsnor+LzBMz17gu8IU7vKC/vWDnv9zEq2wqADHVXFjf4eE8Gdw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@types/sinonjs__fake-timers" "*"
 | 
			
		||||
 | 
			
		||||
"@types/sinonjs__fake-timers@*":
 | 
			
		||||
  version "6.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.1.tgz#681df970358c82836b42f989188d133e218c458e"
 | 
			
		||||
  integrity sha512-yYezQwGWty8ziyYLdZjwxyMb0CZR49h8JALHGrxjQHWlqGgc8kLdHEgWrgL0uZ29DMvEVBDnHU2Wg36zKSIUtA==
 | 
			
		||||
 | 
			
		||||
"@types/ws@^7.2.0":
 | 
			
		||||
  version "7.2.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.2.1.tgz#b800f2b8aee694e2b581113643e20d79dd3b8556"
 | 
			
		||||
  integrity sha512-UEmRNbXFGvfs/sLncf01GuVv6U1mZP3Df0iXWx4kUlikJxbFyFADp95mDn1XDTE2mXpzzoHcKlfFcbytLq4vaA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@types/node" "*"
 | 
			
		||||
 | 
			
		||||
ajv-keywords@^3.1.0:
 | 
			
		||||
  version "3.4.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
 | 
			
		||||
  integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
 | 
			
		||||
 | 
			
		||||
ajv@^6.1.0, ajv@^6.12.3:
 | 
			
		||||
  version "6.12.6"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
 | 
			
		||||
  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    fast-deep-equal "^3.1.1"
 | 
			
		||||
    fast-json-stable-stringify "^2.0.0"
 | 
			
		||||
    json-schema-traverse "^0.4.1"
 | 
			
		||||
    uri-js "^4.2.2"
 | 
			
		||||
 | 
			
		||||
asn1@~0.2.3:
 | 
			
		||||
  version "0.2.6"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
 | 
			
		||||
  integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    safer-buffer "~2.1.0"
 | 
			
		||||
 | 
			
		||||
assert-plus@1.0.0, assert-plus@^1.0.0:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
 | 
			
		||||
  integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
 | 
			
		||||
 | 
			
		||||
asynckit@^0.4.0:
 | 
			
		||||
  version "0.4.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
 | 
			
		||||
  integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
 | 
			
		||||
 | 
			
		||||
aws-sign2@~0.7.0:
 | 
			
		||||
  version "0.7.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
 | 
			
		||||
  integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
 | 
			
		||||
 | 
			
		||||
aws4@^1.8.0:
 | 
			
		||||
  version "1.11.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
 | 
			
		||||
  integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
 | 
			
		||||
 | 
			
		||||
bcrypt-pbkdf@^1.0.0:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
 | 
			
		||||
  integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    tweetnacl "^0.14.3"
 | 
			
		||||
 | 
			
		||||
big.js@^5.2.2:
 | 
			
		||||
  version "5.2.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
 | 
			
		||||
  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
 | 
			
		||||
 | 
			
		||||
boolbase@~1.0.0:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
 | 
			
		||||
  integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
 | 
			
		||||
 | 
			
		||||
busboy@^0.3.1:
 | 
			
		||||
  version "0.3.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b"
 | 
			
		||||
  integrity sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    dicer "0.3.0"
 | 
			
		||||
 | 
			
		||||
caseless@~0.12.0:
 | 
			
		||||
  version "0.12.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
 | 
			
		||||
  integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
 | 
			
		||||
 | 
			
		||||
chai-as-promised@^7.1.1:
 | 
			
		||||
  version "7.1.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0"
 | 
			
		||||
  integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    check-error "^1.0.2"
 | 
			
		||||
 | 
			
		||||
check-error@^1.0.2:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
 | 
			
		||||
  integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
 | 
			
		||||
 | 
			
		||||
cheerio@^0.22.0:
 | 
			
		||||
  version "0.22.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
 | 
			
		||||
  integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    css-select "~1.2.0"
 | 
			
		||||
    dom-serializer "~0.1.0"
 | 
			
		||||
    entities "~1.1.1"
 | 
			
		||||
    htmlparser2 "^3.9.1"
 | 
			
		||||
    lodash.assignin "^4.0.9"
 | 
			
		||||
    lodash.bind "^4.1.4"
 | 
			
		||||
    lodash.defaults "^4.0.1"
 | 
			
		||||
    lodash.filter "^4.4.0"
 | 
			
		||||
    lodash.flatten "^4.2.0"
 | 
			
		||||
    lodash.foreach "^4.3.0"
 | 
			
		||||
    lodash.map "^4.4.0"
 | 
			
		||||
    lodash.merge "^4.4.0"
 | 
			
		||||
    lodash.pick "^4.2.1"
 | 
			
		||||
    lodash.reduce "^4.4.0"
 | 
			
		||||
    lodash.reject "^4.4.0"
 | 
			
		||||
    lodash.some "^4.4.0"
 | 
			
		||||
 | 
			
		||||
chroma-js@^1.1.1:
 | 
			
		||||
  version "1.4.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-1.4.1.tgz#eb2d9c4d1ff24616be84b35119f4d26f8205f134"
 | 
			
		||||
  integrity sha512-jTwQiT859RTFN/vIf7s+Vl/Z2LcMrvMv3WUFmd/4u76AdlFC0NTNgqEEFPcRiHmAswPsMiQEDZLM8vX8qXpZNQ==
 | 
			
		||||
 | 
			
		||||
chroma-js@^2.1.0:
 | 
			
		||||
  version "2.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-2.1.2.tgz#1075cb9ae25bcb2017c109394168b5cf3aa500ec"
 | 
			
		||||
  integrity sha512-ri/ouYDWuxfus3UcaMxC1Tfp3IE9K5iQzxc2hSxbBRVNQFut1UuGAsZmiAf2mOUubzGJwgMSv9lHg+XqLaz1QQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    cross-env "^6.0.3"
 | 
			
		||||
 | 
			
		||||
combined-stream@^1.0.6, combined-stream@~1.0.6:
 | 
			
		||||
  version "1.0.8"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
 | 
			
		||||
  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    delayed-stream "~1.0.0"
 | 
			
		||||
 | 
			
		||||
core-util-is@1.0.2:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
 | 
			
		||||
  integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 | 
			
		||||
 | 
			
		||||
cross-env@^6.0.3:
 | 
			
		||||
  version "6.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941"
 | 
			
		||||
  integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    cross-spawn "^7.0.0"
 | 
			
		||||
 | 
			
		||||
cross-spawn@^7.0.0:
 | 
			
		||||
  version "7.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
 | 
			
		||||
  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    path-key "^3.1.0"
 | 
			
		||||
    shebang-command "^2.0.0"
 | 
			
		||||
    which "^2.0.1"
 | 
			
		||||
 | 
			
		||||
css-select@~1.2.0:
 | 
			
		||||
  version "1.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
 | 
			
		||||
  integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    boolbase "~1.0.0"
 | 
			
		||||
    css-what "2.1"
 | 
			
		||||
    domutils "1.5.1"
 | 
			
		||||
    nth-check "~1.0.1"
 | 
			
		||||
 | 
			
		||||
css-what@2.1:
 | 
			
		||||
  version "2.1.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
 | 
			
		||||
  integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
 | 
			
		||||
 | 
			
		||||
cwise-compiler@^1.1.2:
 | 
			
		||||
  version "1.1.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/cwise-compiler/-/cwise-compiler-1.1.3.tgz#f4d667410e850d3a313a7d2db7b1e505bb034cc5"
 | 
			
		||||
  integrity sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    uniq "^1.0.0"
 | 
			
		||||
 | 
			
		||||
dashdash@^1.12.0:
 | 
			
		||||
  version "1.14.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
 | 
			
		||||
  integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    assert-plus "^1.0.0"
 | 
			
		||||
 | 
			
		||||
data-uri-to-buffer@0.0.3:
 | 
			
		||||
  version "0.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz#18ae979a6a0ca994b0625853916d2662bbae0b1a"
 | 
			
		||||
  integrity sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo=
 | 
			
		||||
 | 
			
		||||
delayed-stream@~1.0.0:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
 | 
			
		||||
  integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
 | 
			
		||||
 | 
			
		||||
dicer@0.3.0:
 | 
			
		||||
  version "0.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872"
 | 
			
		||||
  integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    streamsearch "0.1.2"
 | 
			
		||||
 | 
			
		||||
diff@^4.0.2:
 | 
			
		||||
  version "4.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
 | 
			
		||||
  integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
 | 
			
		||||
 | 
			
		||||
dirty-chai@^2.0.1:
 | 
			
		||||
  version "2.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/dirty-chai/-/dirty-chai-2.0.1.tgz#6b2162ef17f7943589da840abc96e75bda01aff3"
 | 
			
		||||
  integrity sha512-ys79pWKvDMowIDEPC6Fig8d5THiC0DJ2gmTeGzVAoEH18J8OzLud0Jh7I9IWg3NSk8x2UocznUuFmfHCXYZx9w==
 | 
			
		||||
 | 
			
		||||
dom-serializer@0:
 | 
			
		||||
  version "0.2.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
 | 
			
		||||
  integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    domelementtype "^2.0.1"
 | 
			
		||||
    entities "^2.0.0"
 | 
			
		||||
 | 
			
		||||
dom-serializer@~0.1.0:
 | 
			
		||||
  version "0.1.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
 | 
			
		||||
  integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    domelementtype "^1.3.0"
 | 
			
		||||
    entities "^1.1.1"
 | 
			
		||||
 | 
			
		||||
domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
 | 
			
		||||
  version "1.3.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
 | 
			
		||||
  integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
 | 
			
		||||
 | 
			
		||||
domelementtype@^2.0.1:
 | 
			
		||||
  version "2.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
 | 
			
		||||
  integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
 | 
			
		||||
 | 
			
		||||
domhandler@^2.3.0:
 | 
			
		||||
  version "2.4.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
 | 
			
		||||
  integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    domelementtype "1"
 | 
			
		||||
 | 
			
		||||
domutils@1.5.1:
 | 
			
		||||
  version "1.5.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
 | 
			
		||||
  integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    dom-serializer "0"
 | 
			
		||||
    domelementtype "1"
 | 
			
		||||
 | 
			
		||||
domutils@^1.5.1:
 | 
			
		||||
  version "1.7.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
 | 
			
		||||
  integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    dom-serializer "0"
 | 
			
		||||
    domelementtype "1"
 | 
			
		||||
 | 
			
		||||
ecc-jsbn@~0.1.1:
 | 
			
		||||
  version "0.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
 | 
			
		||||
  integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    jsbn "~0.1.0"
 | 
			
		||||
    safer-buffer "^2.1.0"
 | 
			
		||||
 | 
			
		||||
emojis-list@^2.0.0:
 | 
			
		||||
  version "2.1.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
 | 
			
		||||
  integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
 | 
			
		||||
 | 
			
		||||
entities@^1.1.1, entities@~1.1.1:
 | 
			
		||||
  version "1.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
 | 
			
		||||
  integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
 | 
			
		||||
 | 
			
		||||
entities@^2.0.0:
 | 
			
		||||
  version "2.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
 | 
			
		||||
  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
 | 
			
		||||
 | 
			
		||||
extend@~3.0.2:
 | 
			
		||||
  version "3.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
 | 
			
		||||
  integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
 | 
			
		||||
 | 
			
		||||
extsprintf@1.3.0:
 | 
			
		||||
  version "1.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
 | 
			
		||||
  integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
 | 
			
		||||
 | 
			
		||||
extsprintf@^1.2.0:
 | 
			
		||||
  version "1.4.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
 | 
			
		||||
  integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
 | 
			
		||||
 | 
			
		||||
fast-deep-equal@^3.1.1:
 | 
			
		||||
  version "3.1.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
 | 
			
		||||
  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
 | 
			
		||||
 | 
			
		||||
fast-json-stable-stringify@^2.0.0:
 | 
			
		||||
  version "2.1.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
 | 
			
		||||
  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
 | 
			
		||||
 | 
			
		||||
forever-agent@~0.6.1:
 | 
			
		||||
  version "0.6.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
 | 
			
		||||
  integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
 | 
			
		||||
 | 
			
		||||
form-data@~2.3.2:
 | 
			
		||||
  version "2.3.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
 | 
			
		||||
  integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    asynckit "^0.4.0"
 | 
			
		||||
    combined-stream "^1.0.6"
 | 
			
		||||
    mime-types "^2.1.12"
 | 
			
		||||
 | 
			
		||||
get-image-colors@^4.0.0:
 | 
			
		||||
  version "4.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/get-image-colors/-/get-image-colors-4.0.0.tgz#c8fe161c386b5ae6300d953eac6bccc05a56069d"
 | 
			
		||||
  integrity sha512-qQZ5vyqgJkQp1c8ZRwKGL03oDsyBBUKiwr4GbB2T4F+tHpfQrw1PjKMQai7jcjRdC2wIHl2rV+6ZuHKttpyk7A==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    chroma-js "^2.1.0"
 | 
			
		||||
    get-pixels "^3.3.2"
 | 
			
		||||
    get-rgba-palette "^2.0.1"
 | 
			
		||||
    get-svg-colors "^1.5.1"
 | 
			
		||||
    pify "^5.0.0"
 | 
			
		||||
 | 
			
		||||
get-pixels@^3.3.2:
 | 
			
		||||
  version "3.3.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/get-pixels/-/get-pixels-3.3.3.tgz#71e2dfd4befb810b5478a61c6354800976ce01c7"
 | 
			
		||||
  integrity sha512-5kyGBn90i9tSMUVHTqkgCHsoWoR+/lGbl4yC83Gefyr0HLIhgSWEx/2F/3YgsZ7UpYNuM6pDhDK7zebrUJ5nXg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    data-uri-to-buffer "0.0.3"
 | 
			
		||||
    jpeg-js "^0.4.1"
 | 
			
		||||
    mime-types "^2.0.1"
 | 
			
		||||
    ndarray "^1.0.13"
 | 
			
		||||
    ndarray-pack "^1.1.1"
 | 
			
		||||
    node-bitmap "0.0.1"
 | 
			
		||||
    omggif "^1.0.5"
 | 
			
		||||
    parse-data-uri "^0.2.0"
 | 
			
		||||
    pngjs "^3.3.3"
 | 
			
		||||
    request "^2.44.0"
 | 
			
		||||
    through "^2.3.4"
 | 
			
		||||
 | 
			
		||||
get-rgba-palette@^2.0.1:
 | 
			
		||||
  version "2.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/get-rgba-palette/-/get-rgba-palette-2.0.1.tgz#5ce70f75c6ef52882f54dd079e5ed68b5a2323ca"
 | 
			
		||||
  integrity sha1-XOcPdcbvUogvVN0Hnl7Wi1ojI8o=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    quantize "^1.0.1"
 | 
			
		||||
 | 
			
		||||
get-svg-colors@^1.5.1:
 | 
			
		||||
  version "1.5.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/get-svg-colors/-/get-svg-colors-1.5.1.tgz#59f4004f5fb4fc0b0eaaec36dce004b3b10f188b"
 | 
			
		||||
  integrity sha512-G3gXrkLrlmv2gqZvs05ap/kcGbchhNtUNaoaP6dIefRcrGPqSa17dGp5ap/2yN8Xs2Wi5mWn16Ww+nFuVU8lTw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    cheerio "^0.22.0"
 | 
			
		||||
    chroma-js "^1.1.1"
 | 
			
		||||
    is-svg "^3.0.0"
 | 
			
		||||
    lodash.compact "^3.0.0"
 | 
			
		||||
    lodash.uniq "^4.5.0"
 | 
			
		||||
 | 
			
		||||
getpass@^0.1.1:
 | 
			
		||||
  version "0.1.7"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
 | 
			
		||||
  integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    assert-plus "^1.0.0"
 | 
			
		||||
 | 
			
		||||
har-schema@^2.0.0:
 | 
			
		||||
  version "2.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
 | 
			
		||||
  integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
 | 
			
		||||
 | 
			
		||||
har-validator@~5.1.3:
 | 
			
		||||
  version "5.1.5"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
 | 
			
		||||
  integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    ajv "^6.12.3"
 | 
			
		||||
    har-schema "^2.0.0"
 | 
			
		||||
 | 
			
		||||
has-flag@^4.0.0:
 | 
			
		||||
  version "4.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
 | 
			
		||||
  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 | 
			
		||||
 | 
			
		||||
html-comment-regex@^1.1.0:
 | 
			
		||||
  version "1.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
 | 
			
		||||
  integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
 | 
			
		||||
 | 
			
		||||
htmlparser2@^3.9.1:
 | 
			
		||||
  version "3.10.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
 | 
			
		||||
  integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    domelementtype "^1.3.1"
 | 
			
		||||
    domhandler "^2.3.0"
 | 
			
		||||
    domutils "^1.5.1"
 | 
			
		||||
    entities "^1.1.1"
 | 
			
		||||
    inherits "^2.0.1"
 | 
			
		||||
    readable-stream "^3.1.1"
 | 
			
		||||
 | 
			
		||||
http-signature@~1.2.0:
 | 
			
		||||
  version "1.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
 | 
			
		||||
  integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    assert-plus "^1.0.0"
 | 
			
		||||
    jsprim "^1.2.2"
 | 
			
		||||
    sshpk "^1.7.0"
 | 
			
		||||
 | 
			
		||||
inherits@^2.0.1, inherits@^2.0.3:
 | 
			
		||||
  version "2.0.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
 | 
			
		||||
  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 | 
			
		||||
 | 
			
		||||
iota-array@^1.0.0:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/iota-array/-/iota-array-1.0.0.tgz#81ef57fe5d05814cd58c2483632a99c30a0e8087"
 | 
			
		||||
  integrity sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=
 | 
			
		||||
 | 
			
		||||
is-buffer@^1.0.2:
 | 
			
		||||
  version "1.1.6"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
 | 
			
		||||
  integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 | 
			
		||||
 | 
			
		||||
is-svg@^3.0.0:
 | 
			
		||||
  version "3.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
 | 
			
		||||
  integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    html-comment-regex "^1.1.0"
 | 
			
		||||
 | 
			
		||||
is-typedarray@~1.0.0:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
 | 
			
		||||
  integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
 | 
			
		||||
 | 
			
		||||
isarray@0.0.1:
 | 
			
		||||
  version "0.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
 | 
			
		||||
  integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
 | 
			
		||||
 | 
			
		||||
isexe@^2.0.0:
 | 
			
		||||
  version "2.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
 | 
			
		||||
  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
 | 
			
		||||
 | 
			
		||||
isstream@~0.1.2:
 | 
			
		||||
  version "0.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
 | 
			
		||||
  integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
 | 
			
		||||
 | 
			
		||||
jpeg-js@^0.4.1:
 | 
			
		||||
  version "0.4.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.4.tgz#a9f1c6f1f9f0fa80cdb3484ed9635054d28936aa"
 | 
			
		||||
  integrity sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==
 | 
			
		||||
 | 
			
		||||
jsbn@~0.1.0:
 | 
			
		||||
  version "0.1.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
 | 
			
		||||
  integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
 | 
			
		||||
 | 
			
		||||
json-schema-traverse@^0.4.1:
 | 
			
		||||
  version "0.4.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
 | 
			
		||||
  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
 | 
			
		||||
 | 
			
		||||
json-schema@0.4.0:
 | 
			
		||||
  version "0.4.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
 | 
			
		||||
  integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
 | 
			
		||||
 | 
			
		||||
json-stringify-safe@~5.0.1:
 | 
			
		||||
  version "5.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
 | 
			
		||||
  integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 | 
			
		||||
 | 
			
		||||
json5@^1.0.1:
 | 
			
		||||
  version "1.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
 | 
			
		||||
  integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    minimist "^1.2.0"
 | 
			
		||||
 | 
			
		||||
jsprim@^1.2.2:
 | 
			
		||||
  version "1.4.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
 | 
			
		||||
  integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    assert-plus "1.0.0"
 | 
			
		||||
    extsprintf "1.3.0"
 | 
			
		||||
    json-schema "0.4.0"
 | 
			
		||||
    verror "1.10.0"
 | 
			
		||||
 | 
			
		||||
just-extend@^4.0.2:
 | 
			
		||||
  version "4.1.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4"
 | 
			
		||||
  integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==
 | 
			
		||||
 | 
			
		||||
loader-utils@^1.0.0:
 | 
			
		||||
  version "1.2.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
 | 
			
		||||
  integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    big.js "^5.2.2"
 | 
			
		||||
    emojis-list "^2.0.0"
 | 
			
		||||
    json5 "^1.0.1"
 | 
			
		||||
 | 
			
		||||
lodash.assignin@^4.0.9:
 | 
			
		||||
  version "4.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
 | 
			
		||||
  integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI=
 | 
			
		||||
 | 
			
		||||
lodash.bind@^4.1.4:
 | 
			
		||||
  version "4.2.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
 | 
			
		||||
  integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=
 | 
			
		||||
 | 
			
		||||
lodash.compact@^3.0.0:
 | 
			
		||||
  version "3.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.compact/-/lodash.compact-3.0.1.tgz#540ce3837745975807471e16b4a2ba21e7256ca5"
 | 
			
		||||
  integrity sha1-VAzjg3dFl1gHRx4WtKK6IeclbKU=
 | 
			
		||||
 | 
			
		||||
lodash.defaults@^4.0.1:
 | 
			
		||||
  version "4.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
 | 
			
		||||
  integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
 | 
			
		||||
 | 
			
		||||
lodash.filter@^4.4.0:
 | 
			
		||||
  version "4.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
 | 
			
		||||
  integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=
 | 
			
		||||
 | 
			
		||||
lodash.flatten@^4.2.0:
 | 
			
		||||
  version "4.4.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
 | 
			
		||||
  integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
 | 
			
		||||
 | 
			
		||||
lodash.foreach@^4.3.0:
 | 
			
		||||
  version "4.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
 | 
			
		||||
  integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
 | 
			
		||||
 | 
			
		||||
lodash.get@^4.4.2:
 | 
			
		||||
  version "4.4.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
 | 
			
		||||
  integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
 | 
			
		||||
 | 
			
		||||
lodash.map@^4.4.0:
 | 
			
		||||
  version "4.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
 | 
			
		||||
  integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=
 | 
			
		||||
 | 
			
		||||
lodash.merge@^4.4.0:
 | 
			
		||||
  version "4.6.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
 | 
			
		||||
  integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
 | 
			
		||||
 | 
			
		||||
lodash.pick@^4.2.1:
 | 
			
		||||
  version "4.4.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
 | 
			
		||||
  integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
 | 
			
		||||
 | 
			
		||||
lodash.reduce@^4.4.0:
 | 
			
		||||
  version "4.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
 | 
			
		||||
  integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=
 | 
			
		||||
 | 
			
		||||
lodash.reject@^4.4.0:
 | 
			
		||||
  version "4.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
 | 
			
		||||
  integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=
 | 
			
		||||
 | 
			
		||||
lodash.some@^4.4.0:
 | 
			
		||||
  version "4.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
 | 
			
		||||
  integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=
 | 
			
		||||
 | 
			
		||||
lodash.uniq@^4.5.0:
 | 
			
		||||
  version "4.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
 | 
			
		||||
  integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
 | 
			
		||||
 | 
			
		||||
mime-db@1.51.0:
 | 
			
		||||
  version "1.51.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
 | 
			
		||||
  integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
 | 
			
		||||
 | 
			
		||||
mime-types@^2.0.1, mime-types@^2.1.12, mime-types@~2.1.19:
 | 
			
		||||
  version "2.1.34"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
 | 
			
		||||
  integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    mime-db "1.51.0"
 | 
			
		||||
 | 
			
		||||
minimist@^1.2.0:
 | 
			
		||||
  version "1.2.6"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
 | 
			
		||||
  integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 | 
			
		||||
 | 
			
		||||
ndarray-pack@^1.1.1:
 | 
			
		||||
  version "1.2.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/ndarray-pack/-/ndarray-pack-1.2.1.tgz#8caebeaaa24d5ecf70ff86020637977da8ee585a"
 | 
			
		||||
  integrity sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    cwise-compiler "^1.1.2"
 | 
			
		||||
    ndarray "^1.0.13"
 | 
			
		||||
 | 
			
		||||
ndarray@^1.0.13:
 | 
			
		||||
  version "1.0.19"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/ndarray/-/ndarray-1.0.19.tgz#6785b5f5dfa58b83e31ae5b2a058cfd1ab3f694e"
 | 
			
		||||
  integrity sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    iota-array "^1.0.0"
 | 
			
		||||
    is-buffer "^1.0.2"
 | 
			
		||||
 | 
			
		||||
nise@^4.0.1:
 | 
			
		||||
  version "4.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.3.tgz#9f79ff02fa002ed5ffbc538ad58518fa011dc913"
 | 
			
		||||
  integrity sha512-EGlhjm7/4KvmmE6B/UFsKh7eHykRl9VH+au8dduHLCyWUO/hr7+N+WtTvDUwc9zHuM1IaIJs/0lQ6Ag1jDkQSg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@sinonjs/commons" "^1.7.0"
 | 
			
		||||
    "@sinonjs/fake-timers" "^6.0.0"
 | 
			
		||||
    "@sinonjs/text-encoding" "^0.7.1"
 | 
			
		||||
    just-extend "^4.0.2"
 | 
			
		||||
    path-to-regexp "^1.7.0"
 | 
			
		||||
 | 
			
		||||
node-bitmap@0.0.1:
 | 
			
		||||
  version "0.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/node-bitmap/-/node-bitmap-0.0.1.tgz#180eac7003e0c707618ef31368f62f84b2a69091"
 | 
			
		||||
  integrity sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=
 | 
			
		||||
 | 
			
		||||
node-ensure@^0.0.0:
 | 
			
		||||
  version "0.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/node-ensure/-/node-ensure-0.0.0.tgz#ecae764150de99861ec5c810fd5d096b183932a7"
 | 
			
		||||
  integrity sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc=
 | 
			
		||||
 | 
			
		||||
nth-check@~1.0.1:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
 | 
			
		||||
  integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    boolbase "~1.0.0"
 | 
			
		||||
 | 
			
		||||
oauth-sign@~0.9.0:
 | 
			
		||||
  version "0.9.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
 | 
			
		||||
  integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
 | 
			
		||||
 | 
			
		||||
omggif@^1.0.5:
 | 
			
		||||
  version "1.0.10"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
 | 
			
		||||
  integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==
 | 
			
		||||
 | 
			
		||||
parse-data-uri@^0.2.0:
 | 
			
		||||
  version "0.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/parse-data-uri/-/parse-data-uri-0.2.0.tgz#bf04d851dd5c87b0ab238e5d01ace494b604b4c9"
 | 
			
		||||
  integrity sha1-vwTYUd1ch7CrI45dAazklLYEtMk=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    data-uri-to-buffer "0.0.3"
 | 
			
		||||
 | 
			
		||||
path-key@^3.1.0:
 | 
			
		||||
  version "3.1.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
 | 
			
		||||
  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
 | 
			
		||||
 | 
			
		||||
path-to-regexp@^1.7.0:
 | 
			
		||||
  version "1.8.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a"
 | 
			
		||||
  integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    isarray "0.0.1"
 | 
			
		||||
 | 
			
		||||
pdfjs-dist@^2.2.228:
 | 
			
		||||
  version "2.2.228"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-2.2.228.tgz#777b068a0a16c96418433303807c183058b47aaa"
 | 
			
		||||
  integrity sha512-W5LhYPMS2UKX0ELIa4u+CFCMoox5qQNQElt0bAK2mwz1V8jZL0rvLao+0tBujce84PK6PvWG36Nwr7agCCWFGQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    node-ensure "^0.0.0"
 | 
			
		||||
    worker-loader "^2.0.0"
 | 
			
		||||
 | 
			
		||||
performance-now@^2.1.0:
 | 
			
		||||
  version "2.1.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
 | 
			
		||||
  integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
 | 
			
		||||
 | 
			
		||||
pify@^5.0.0:
 | 
			
		||||
  version "5.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
 | 
			
		||||
  integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
 | 
			
		||||
 | 
			
		||||
pngjs@^3.3.3:
 | 
			
		||||
  version "3.4.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
 | 
			
		||||
  integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
 | 
			
		||||
 | 
			
		||||
psl@^1.1.28:
 | 
			
		||||
  version "1.8.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
 | 
			
		||||
  integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
 | 
			
		||||
 | 
			
		||||
punycode@^2.1.0, punycode@^2.1.1:
 | 
			
		||||
  version "2.1.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
 | 
			
		||||
  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 | 
			
		||||
 | 
			
		||||
q@^1.5.1:
 | 
			
		||||
  version "1.5.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
 | 
			
		||||
  integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
 | 
			
		||||
 | 
			
		||||
qs@~6.5.2:
 | 
			
		||||
  version "6.5.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
 | 
			
		||||
  integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
 | 
			
		||||
 | 
			
		||||
quantize@^1.0.1:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/quantize/-/quantize-1.0.2.tgz#d25ac200a77b6d70f40127ca171a10e33c8546de"
 | 
			
		||||
  integrity sha1-0lrCAKd7bXD0ASfKFxoQ4zyFRt4=
 | 
			
		||||
 | 
			
		||||
readable-stream@^3.1.1:
 | 
			
		||||
  version "3.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
 | 
			
		||||
  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    inherits "^2.0.3"
 | 
			
		||||
    string_decoder "^1.1.1"
 | 
			
		||||
    util-deprecate "^1.0.1"
 | 
			
		||||
 | 
			
		||||
request@^2.44.0:
 | 
			
		||||
  version "2.88.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
 | 
			
		||||
  integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    aws-sign2 "~0.7.0"
 | 
			
		||||
    aws4 "^1.8.0"
 | 
			
		||||
    caseless "~0.12.0"
 | 
			
		||||
    combined-stream "~1.0.6"
 | 
			
		||||
    extend "~3.0.2"
 | 
			
		||||
    forever-agent "~0.6.1"
 | 
			
		||||
    form-data "~2.3.2"
 | 
			
		||||
    har-validator "~5.1.3"
 | 
			
		||||
    http-signature "~1.2.0"
 | 
			
		||||
    is-typedarray "~1.0.0"
 | 
			
		||||
    isstream "~0.1.2"
 | 
			
		||||
    json-stringify-safe "~5.0.1"
 | 
			
		||||
    mime-types "~2.1.19"
 | 
			
		||||
    oauth-sign "~0.9.0"
 | 
			
		||||
    performance-now "^2.1.0"
 | 
			
		||||
    qs "~6.5.2"
 | 
			
		||||
    safe-buffer "^5.1.2"
 | 
			
		||||
    tough-cookie "~2.5.0"
 | 
			
		||||
    tunnel-agent "^0.6.0"
 | 
			
		||||
    uuid "^3.3.2"
 | 
			
		||||
 | 
			
		||||
safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
 | 
			
		||||
  version "5.2.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
 | 
			
		||||
  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 | 
			
		||||
 | 
			
		||||
safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
 | 
			
		||||
  version "2.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
 | 
			
		||||
  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 | 
			
		||||
 | 
			
		||||
schema-utils@^0.4.0:
 | 
			
		||||
  version "0.4.7"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
 | 
			
		||||
  integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    ajv "^6.1.0"
 | 
			
		||||
    ajv-keywords "^3.1.0"
 | 
			
		||||
 | 
			
		||||
shebang-command@^2.0.0:
 | 
			
		||||
  version "2.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
 | 
			
		||||
  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    shebang-regex "^3.0.0"
 | 
			
		||||
 | 
			
		||||
shebang-regex@^3.0.0:
 | 
			
		||||
  version "3.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
 | 
			
		||||
  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
 | 
			
		||||
 | 
			
		||||
sinon@^9.0.1:
 | 
			
		||||
  version "9.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.2.tgz#b9017e24633f4b1c98dfb6e784a5f0509f5fd85d"
 | 
			
		||||
  integrity sha512-0uF8Q/QHkizNUmbK3LRFqx5cpTttEVXudywY9Uwzy8bTfZUhljZ7ARzSxnRHWYWtVTeh4Cw+tTb3iU21FQVO9A==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@sinonjs/commons" "^1.7.2"
 | 
			
		||||
    "@sinonjs/fake-timers" "^6.0.1"
 | 
			
		||||
    "@sinonjs/formatio" "^5.0.1"
 | 
			
		||||
    "@sinonjs/samsam" "^5.0.3"
 | 
			
		||||
    diff "^4.0.2"
 | 
			
		||||
    nise "^4.0.1"
 | 
			
		||||
    supports-color "^7.1.0"
 | 
			
		||||
 | 
			
		||||
sshpk@^1.7.0:
 | 
			
		||||
  version "1.17.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
 | 
			
		||||
  integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    asn1 "~0.2.3"
 | 
			
		||||
    assert-plus "^1.0.0"
 | 
			
		||||
    bcrypt-pbkdf "^1.0.0"
 | 
			
		||||
    dashdash "^1.12.0"
 | 
			
		||||
    ecc-jsbn "~0.1.1"
 | 
			
		||||
    getpass "^0.1.1"
 | 
			
		||||
    jsbn "~0.1.0"
 | 
			
		||||
    safer-buffer "^2.0.2"
 | 
			
		||||
    tweetnacl "~0.14.0"
 | 
			
		||||
 | 
			
		||||
streamsearch@0.1.2:
 | 
			
		||||
  version "0.1.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
 | 
			
		||||
  integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=
 | 
			
		||||
 | 
			
		||||
string_decoder@^1.1.1:
 | 
			
		||||
  version "1.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
 | 
			
		||||
  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    safe-buffer "~5.2.0"
 | 
			
		||||
 | 
			
		||||
supports-color@^7.1.0:
 | 
			
		||||
  version "7.1.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
 | 
			
		||||
  integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    has-flag "^4.0.0"
 | 
			
		||||
 | 
			
		||||
through@^2.3.4:
 | 
			
		||||
  version "2.3.8"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
 | 
			
		||||
  integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
 | 
			
		||||
 | 
			
		||||
tough-cookie@~2.5.0:
 | 
			
		||||
  version "2.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
 | 
			
		||||
  integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    psl "^1.1.28"
 | 
			
		||||
    punycode "^2.1.1"
 | 
			
		||||
 | 
			
		||||
tunnel-agent@^0.6.0:
 | 
			
		||||
  version "0.6.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
 | 
			
		||||
  integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    safe-buffer "^5.0.1"
 | 
			
		||||
 | 
			
		||||
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
 | 
			
		||||
  version "0.14.5"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
 | 
			
		||||
  integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
 | 
			
		||||
 | 
			
		||||
type-detect@4.0.8, type-detect@^4.0.8:
 | 
			
		||||
  version "4.0.8"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
 | 
			
		||||
  integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
 | 
			
		||||
 | 
			
		||||
uniq@^1.0.0:
 | 
			
		||||
  version "1.0.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
 | 
			
		||||
  integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
 | 
			
		||||
 | 
			
		||||
uri-js@^4.2.2:
 | 
			
		||||
  version "4.4.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
 | 
			
		||||
  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    punycode "^2.1.0"
 | 
			
		||||
 | 
			
		||||
util-deprecate@^1.0.1:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
 | 
			
		||||
  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
 | 
			
		||||
 | 
			
		||||
uuid@^3.3.2:
 | 
			
		||||
  version "3.4.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
 | 
			
		||||
  integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
 | 
			
		||||
 | 
			
		||||
verror@1.10.0:
 | 
			
		||||
  version "1.10.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
 | 
			
		||||
  integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
 | 
			
		||||
  dependencies:
 | 
			
		||||
    assert-plus "^1.0.0"
 | 
			
		||||
    core-util-is "1.0.2"
 | 
			
		||||
    extsprintf "^1.2.0"
 | 
			
		||||
 | 
			
		||||
which@^2.0.1:
 | 
			
		||||
  version "2.0.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
 | 
			
		||||
  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    isexe "^2.0.0"
 | 
			
		||||
 | 
			
		||||
worker-loader@^2.0.0:
 | 
			
		||||
  version "2.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac"
 | 
			
		||||
  integrity sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    loader-utils "^1.0.0"
 | 
			
		||||
    schema-utils "^0.4.0"
 | 
			
		||||
 | 
			
		||||
ws@^7.4.6:
 | 
			
		||||
  version "7.4.6"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
 | 
			
		||||
  integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
 | 
			
		||||
							
								
								
									
										0
									
								
								spec-main/.gitignore → spec/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										0
									
								
								spec-main/.gitignore → spec/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
								
								
									
										0
									
								
								spec-main/ambient.d.ts → spec/ambient.d.ts
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										0
									
								
								spec-main/ambient.d.ts → spec/ambient.d.ts
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -12,7 +12,7 @@ import { closeWindow, closeAllWindows } from './window-helpers';
 | 
			
		|||
import { ifdescribe, ifit, waitUntil } from './spec-helpers';
 | 
			
		||||
import split = require('split')
 | 
			
		||||
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, '../spec/fixtures');
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
describe('electron module', () => {
 | 
			
		||||
  it('does not expose internal modules to require', () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -7,7 +7,7 @@ import { defer, ifit, startRemoteControlApp } from './spec-helpers';
 | 
			
		|||
import { areColorsSimilar, captureScreen, getPixelColor } from './screen-helpers';
 | 
			
		||||
 | 
			
		||||
describe('BrowserView module', () => {
 | 
			
		||||
  const fixtures = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
  let w: BrowserWindow;
 | 
			
		||||
  let view: BrowserView;
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +13,7 @@ import { closeWindow, closeAllWindows } from './window-helpers';
 | 
			
		|||
import { areColorsSimilar, captureScreen, CHROMA_COLOR_HEX, getPixelColor } from './screen-helpers';
 | 
			
		||||
 | 
			
		||||
const features = process._linkedBinding('electron_common_features');
 | 
			
		||||
const fixtures = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
const mainFixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
// Is the display's scale factor possibly causing rounding of pixel coordinate
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +59,7 @@ describe('BrowserWindow module', () => {
 | 
			
		|||
    });
 | 
			
		||||
 | 
			
		||||
    ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => {
 | 
			
		||||
      const appPath = path.join(__dirname, 'spec-main', 'fixtures', 'apps', 'xwindow-icon');
 | 
			
		||||
      const appPath = path.join(fixtures, 'apps', 'xwindow-icon');
 | 
			
		||||
      const appProcess = childProcess.spawn(process.execPath, [appPath]);
 | 
			
		||||
      await new Promise((resolve) => { appProcess.once('exit', resolve); });
 | 
			
		||||
    });
 | 
			
		||||
| 
						 | 
				
			
			@ -610,7 +610,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.env.DISABLE_CRASH_REPORTER_
 | 
			
		|||
 | 
			
		||||
  describe('when not started', () => {
 | 
			
		||||
    it('does not prevent process from crashing', async () => {
 | 
			
		||||
      const appPath = path.join(__dirname, '..', 'spec', 'fixtures', 'api', 'cookie-app');
 | 
			
		||||
      const appPath = path.join(__dirname, 'fixtures', 'api', 'cookie-app');
 | 
			
		||||
      await runApp(appPath);
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
| 
						 | 
				
			
			@ -7,7 +7,7 @@ import { closeAllWindows } from './window-helpers';
 | 
			
		|||
import { emittedOnce, emittedUntil } from './events-helpers';
 | 
			
		||||
 | 
			
		||||
describe('debugger module', () => {
 | 
			
		||||
  const fixtures = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
  let w: BrowserWindow;
 | 
			
		||||
 | 
			
		||||
  beforeEach(() => {
 | 
			
		||||
| 
						 | 
				
			
			@ -5,7 +5,7 @@ import { emittedOnce } from './events-helpers';
 | 
			
		|||
import { closeWindow } from './window-helpers';
 | 
			
		||||
 | 
			
		||||
describe('ipcRenderer module', () => {
 | 
			
		||||
  const fixtures = path.join(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.join(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
  let w: BrowserWindow;
 | 
			
		||||
  before(async () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ import { ifdescribe, ifit } from './spec-helpers';
 | 
			
		|||
import * as path from 'path';
 | 
			
		||||
 | 
			
		||||
describe('nativeImage module', () => {
 | 
			
		||||
  const fixturesPath = path.join(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixturesPath = path.join(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
  const imageLogo = {
 | 
			
		||||
    path: path.join(fixturesPath, 'assets', 'logo.png'),
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ import { emittedOnce } from './events-helpers';
 | 
			
		|||
import { WebmGenerator } from './video-helpers';
 | 
			
		||||
import { delay } from './spec-helpers';
 | 
			
		||||
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
const registerStringProtocol = protocol.registerStringProtocol;
 | 
			
		||||
const registerBufferProtocol = protocol.registerBufferProtocol;
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +16,7 @@ import { AddressInfo } from 'net';
 | 
			
		|||
/* eslint-disable standard/no-callback-literal */
 | 
			
		||||
 | 
			
		||||
describe('session module', () => {
 | 
			
		||||
  const fixtures = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
  const url = 'http://127.0.0.1';
 | 
			
		||||
 | 
			
		||||
  describe('session.defaultSession', () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -1139,7 +1139,7 @@ describe('session module', () => {
 | 
			
		|||
  describe('ses.setSSLConfig()', () => {
 | 
			
		||||
    it('can disable cipher suites', async () => {
 | 
			
		||||
      const ses = session.fromPartition('' + Math.random());
 | 
			
		||||
      const fixturesPath = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
      const fixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
      const certPath = path.join(fixturesPath, 'certificates');
 | 
			
		||||
      const server = https.createServer({
 | 
			
		||||
        key: fs.readFileSync(path.join(certPath, 'server.key')),
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +103,7 @@ describe('shell module', () => {
 | 
			
		|||
      }).to.throw('Failed to read shortcut link');
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    const fixtures = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
    const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
    it('reads all properties of a shortcut', () => {
 | 
			
		||||
      const shortcut = shell.readShortcutLink(path.join(fixtures, 'assets', 'shortcut.lnk'));
 | 
			
		||||
      expect(shortcut).to.deep.equal(shortcutOptions);
 | 
			
		||||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ import { closeAllWindows } from './window-helpers';
 | 
			
		|||
import { ifdescribe, delay, defer } from './spec-helpers';
 | 
			
		||||
 | 
			
		||||
const pdfjs = require('pdfjs-dist');
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
const mainFixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
const features = process._linkedBinding('electron_common_features');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ import { AddressInfo } from 'net';
 | 
			
		|||
import { ifit, waitUntil } from './spec-helpers';
 | 
			
		||||
 | 
			
		||||
describe('webFrameMain module', () => {
 | 
			
		||||
  const fixtures = path.resolve(__dirname, '..', 'spec-main', 'fixtures');
 | 
			
		||||
  const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
  const subframesPath = path.join(fixtures, 'sub-frames');
 | 
			
		||||
 | 
			
		||||
  const fileUrl = (filename: string) => url.pathToFileURL(path.join(subframesPath, filename)).href;
 | 
			
		||||
| 
						 | 
				
			
			@ -5,7 +5,7 @@ import { emittedOnce } from './events-helpers';
 | 
			
		|||
import { defer } from './spec-helpers';
 | 
			
		||||
 | 
			
		||||
describe('webFrame module', () => {
 | 
			
		||||
  const fixtures = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
  it('can use executeJavaScript', async () => {
 | 
			
		||||
    const w = new BrowserWindow({
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +11,7 @@ import * as importedFs from 'fs';
 | 
			
		|||
const features = process._linkedBinding('electron_common_features');
 | 
			
		||||
 | 
			
		||||
describe('asar package', () => {
 | 
			
		||||
  const fixtures = path.join(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.join(__dirname, 'fixtures');
 | 
			
		||||
  const asarDir = path.join(fixtures, 'test.asar');
 | 
			
		||||
 | 
			
		||||
  afterEach(closeAllWindows);
 | 
			
		||||
| 
						 | 
				
			
			@ -141,7 +141,7 @@ function promisify (_f: Function): any {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
describe('asar package', function () {
 | 
			
		||||
  const fixtures = path.join(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
  const fixtures = path.join(__dirname, 'fixtures');
 | 
			
		||||
  const asarDir = path.join(fixtures, 'test.asar');
 | 
			
		||||
  const fs = require('fs') as typeof importedFs; // dummy, to fool typescript
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ import { delay } from './spec-helpers';
 | 
			
		|||
import { expect } from 'chai';
 | 
			
		||||
import { closeAllWindows } from './window-helpers';
 | 
			
		||||
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, '..', 'spec-main', 'fixtures');
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
describe('autofill', () => {
 | 
			
		||||
  afterEach(closeAllWindows);
 | 
			
		||||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ import * as ws from 'ws';
 | 
			
		|||
 | 
			
		||||
const features = process._linkedBinding('electron_common_features');
 | 
			
		||||
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, '..', 'spec', 'fixtures');
 | 
			
		||||
const fixturesPath = path.resolve(__dirname, 'fixtures');
 | 
			
		||||
 | 
			
		||||
describe('reporting api', () => {
 | 
			
		||||
  // TODO(nornagon): this started failing a lot on CI. Figure out why and fix
 | 
			
		||||
| 
						 | 
				
			
			@ -1,42 +0,0 @@
 | 
			
		|||
/**
 | 
			
		||||
 * @fileoverview A set of helper functions to make it easier to work
 | 
			
		||||
 * with events in async/await manner.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {!EventTarget} target
 | 
			
		||||
 * @param {string} eventName
 | 
			
		||||
 * @return {!Promise<!Event>}
 | 
			
		||||
 */
 | 
			
		||||
const waitForEvent = (target, eventName) => {
 | 
			
		||||
  return new Promise(resolve => {
 | 
			
		||||
    target.addEventListener(eventName, resolve, { once: true });
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param {!EventEmitter} emitter
 | 
			
		||||
 * @param {string} eventName
 | 
			
		||||
 * @return {!Promise<!Array>} With Event as the first item.
 | 
			
		||||
 */
 | 
			
		||||
const emittedOnce = (emitter, eventName) => {
 | 
			
		||||
  return emittedNTimes(emitter, eventName, 1).then(([result]) => result);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const emittedNTimes = (emitter, eventName, times) => {
 | 
			
		||||
  const events = [];
 | 
			
		||||
  return new Promise(resolve => {
 | 
			
		||||
    const handler = (...args) => {
 | 
			
		||||
      events.push(args);
 | 
			
		||||
      if (events.length === times) {
 | 
			
		||||
        emitter.removeListener(eventName, handler);
 | 
			
		||||
        resolve(events);
 | 
			
		||||
      }
 | 
			
		||||
    };
 | 
			
		||||
    emitter.on(eventName, handler);
 | 
			
		||||
  });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
exports.emittedOnce = emittedOnce;
 | 
			
		||||
exports.emittedNTimes = emittedNTimes;
 | 
			
		||||
exports.waitForEvent = waitForEvent;
 | 
			
		||||
							
								
								
									
										1
									
								
								spec/fixtures/api/electron-main-module/app/node_modules/some-module/main2.js
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								spec/fixtures/api/electron-main-module/app/node_modules/some-module/main2.js
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
// Nothing to do here
 | 
			
		||||
							
								
								
									
										4
									
								
								spec/fixtures/api/electron-main-module/app/node_modules/some-module/package.json
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								spec/fixtures/api/electron-main-module/app/node_modules/some-module/package.json
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,4 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
  "name": "some-module",
 | 
			
		||||
  "main": "./main2.js"
 | 
			
		||||
}
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue