diff --git a/.eslintignore b/.eslintignore index a60669440..585bd5171 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,7 +3,3 @@ build *.config.js tsconfig*.json double-agent -agent -specifications -js-path -adjustPaths.js diff --git a/.eslintrc.js b/.eslintrc.js index 61d3e999b..0aa29b5f4 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,23 +6,3 @@ module.exports.overrides.push({ files: ['browser-profiler/**/*', 'double-agent-stacks/**/*'], rules: { 'no-console': 'off' }, }); -module.exports.rules = { - ...module.exports.rules, - 'no-unused-vars': 'off', - '@typescript-eslint/naming-convention': [ - 'error', - { - selector: 'variable', - format: ['camelCase', 'PascalCase', 'UPPER_CASE'], - leadingUnderscore: 'allow', - }, - ], - '@typescript-eslint/no-unused-vars': [ - 'warn', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - }, - ], -}; diff --git a/.github/workflows/emulator-data.yml b/.github/workflows/emulator-data.yml index 916a2428f..209e82095 100644 --- a/.github/workflows/emulator-data.yml +++ b/.github/workflows/emulator-data.yml @@ -40,7 +40,7 @@ jobs: - name: Yarn build run: yarn build - - name: Yarn build + - name: Force Generate Profiles run: yarn workspace @ulixee/unblocked-browser-emulator-builder generate force - id: browser-data-checkin diff --git a/.github/workflows/lint-and-test.yml b/.github/workflows/lint-and-test.yml index 9ff8b3286..d11b77e99 100644 --- a/.github/workflows/lint-and-test.yml +++ b/.github/workflows/lint-and-test.yml @@ -17,20 +17,17 @@ jobs: fail-fast: false matrix: os: [macos-latest, windows-latest, ubuntu-latest] - node-version: [14, 16, 18] + node-version: [16,18,20] include: - node-version: 18.x os: ubuntu-latest - browser: chrome-111-0 - - node-version: 18.x - os: ubuntu-latest - browser: chrome-109-0 + browser: chrome-113-0 - node-version: 18.x os: ubuntu-latest - browser: chrome-107-0 + browser: chrome-111-0 - node-version: 18.x os: ubuntu-latest - browser: chrome-105-0 + browser: chrome-109-0 - node-version: 18.x os: ubuntu-latest browser: chrome-103-0 @@ -92,7 +89,7 @@ jobs: run: sudo $(npx install-browser-deps) - name: Run Lint - if: ${{ matrix.os == 'ubuntu-latest' && matrix.node-version == 14 }} + if: ${{ matrix.os == 'ubuntu-latest' && matrix.node-version == 18 }} run: NODE_OPTIONS=--max-old-space-size=4096 yarn lint - name: Run tests diff --git a/.nvmrc b/.nvmrc index 8bb247c43..3c032078a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -14.20 +18 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8936a9b3e..faef06150 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + + +### Bug Fixes + +* **agent:** handle oopif execution contexts ([9640a06](https://github.com/ulixee/unblocked/commit/9640a06523a43a74799d9231425d4007a76cdfbc)) +* **browser-emulator:** fix color depth export ([bc2c76d](https://github.com/ulixee/unblocked/commit/bc2c76dd37e167feb293c4693fa97ba0b75f181e)) +* build issue ([096610b](https://github.com/ulixee/unblocked/commit/096610b8b285ba2b12506caa95fcc6d72d4db3d6)) +* **emulator:** require debug ext for webgl params ([ed5e43f](https://github.com/ulixee/unblocked/commit/ed5e43fd0ec7b200090d34ecf1856ade95b17e59)) +* **plugins:** failing test ([b0574e4](https://github.com/ulixee/unblocked/commit/b0574e4bf6c2f17db8fe72475c06da065d493234)) +* rollback nanoid upgrade. broke requirejs ([50c2000](https://github.com/ulixee/unblocked/commit/50c2000cd7785ca54e1845412e211716d9dbaf4e)) + + +### Features + +* **plugins:** include default color depth ([166d3b4](https://github.com/ulixee/unblocked/commit/166d3b4e1db94c2665324c524dfc6390cd0e64ba)) +* test for console.debug ([3f140b8](https://github.com/ulixee/unblocked/commit/3f140b82c54a13fd2f3faaf687932b7b28e53066)) + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) diff --git a/agent/docs/BrowserContext.md b/agent/docs/BrowserContext.md index 569bd96b9..4ef8506c3 100644 --- a/agent/docs/BrowserContext.md +++ b/agent/docs/BrowserContext.md @@ -47,6 +47,7 @@ Create a new [Page](./Page.md) in this context. ## Hooks - onNewPage(page: [Page](./Page.md)): Promise - Called before a new Page environment is allowed to load. +- onNewFrameProcess(frame: [Frame](./Frame.md)): Promise - Called when a Frame is created in it's own process (oopif). - onNewWorker(worker: [Worker](./Worker.md)): Promise - Called before a new Worker environment is allowed to run. - onDevtoolsPanelAttached(devtoolsSession: [DevtoolsSession](./DevtoolsSession.md)): Promise - Called when a Devtools Panel attaches to this Browser. - onDevtoolsPanelDetached(devtoolsSession: [DevtoolsSession](./DevtoolsSession.md)): Promise - Called when a Devtools Panel closes. diff --git a/agent/examples/CHANGELOG.md b/agent/examples/CHANGELOG.md index 8b0377641..5fb0b0e41 100644 --- a/agent/examples/CHANGELOG.md +++ b/agent/examples/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/unblocked-agent-examples + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-agent-examples diff --git a/agent/examples/news.ycombinator.com.ts b/agent/examples/news.ycombinator.com.ts index 29d7fc0fa..17af20ea5 100644 --- a/agent/examples/news.ycombinator.com.ts +++ b/agent/examples/news.ycombinator.com.ts @@ -1,11 +1,11 @@ import { Agent } from '@ulixee/unblocked-agent'; import { IJsPath } from '@ulixee/js-path'; -const Chrome98 = require('@ulixee/chrome-98-0'); +const Chrome113 = require('@ulixee/chrome-113-0'); async function run() { const agent = new Agent({ - browserEngine: new Chrome98(), + browserEngine: new Chrome113(), options: { showChrome: true, }, diff --git a/agent/examples/package.json b/agent/examples/package.json index b3ebb4416..171f7e9bd 100644 --- a/agent/examples/package.json +++ b/agent/examples/package.json @@ -1,9 +1,9 @@ { "name": "@ulixee/unblocked-agent-examples", "private": true, - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "dependencies": { - "@ulixee/chrome-98-0": "^4758.109.6", - "@ulixee/unblocked-agent": "2.0.0-alpha.21" + "@ulixee/chrome-113-0": "^5672.127.8", + "@ulixee/unblocked-agent": "2.0.0-alpha.22" } } diff --git a/agent/main/CHANGELOG.md b/agent/main/CHANGELOG.md index db0705a98..d58234693 100644 --- a/agent/main/CHANGELOG.md +++ b/agent/main/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + + +### Bug Fixes + +* **agent:** handle oopif execution contexts ([9640a06](https://github.com/ulixee/unblocked/commit/9640a06523a43a74799d9231425d4007a76cdfbc)) +* build issue ([096610b](https://github.com/ulixee/unblocked/commit/096610b8b285ba2b12506caa95fcc6d72d4db3d6)) +* rollback nanoid upgrade. broke requirejs ([50c2000](https://github.com/ulixee/unblocked/commit/50c2000cd7785ca54e1845412e211716d9dbaf4e)) + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) diff --git a/agent/main/lib/Agent.ts b/agent/main/lib/Agent.ts index 0de954709..bc725cd92 100644 --- a/agent/main/lib/Agent.ts +++ b/agent/main/lib/Agent.ts @@ -1,26 +1,25 @@ +import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; +import EventSubscriber from '@ulixee/commons/lib/EventSubscriber'; +import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; +import Log from '@ulixee/commons/lib/Logger'; +import Resolvable from '@ulixee/commons/lib/Resolvable'; import '@ulixee/commons/lib/SourceMapSupport'; import { RequestSession } from '@ulixee/unblocked-agent-mitm'; -import Log from '@ulixee/commons/lib/Logger'; import MitmProxy from '@ulixee/unblocked-agent-mitm/lib/MitmProxy'; -import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; -import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; -import EventSubscriber from '@ulixee/commons/lib/EventSubscriber'; -import { nanoid } from 'nanoid'; import { IHooksProvider } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; -import IBrowserEngine from '@ulixee/unblocked-specification/agent/browser/IBrowserEngine'; -import Resolvable from '@ulixee/commons/lib/Resolvable'; import IEmulationProfile, { IEmulationOptions, } from '@ulixee/unblocked-specification/plugin/IEmulationProfile'; import { IUnblockedPluginClass } from '@ulixee/unblocked-specification/plugin/IUnblockedPlugin'; -import Plugins from './Plugins'; +import { nanoid } from 'nanoid'; +import env from '../env'; import ICommandMarker from '../interfaces/ICommandMarker'; -import Page from './Page'; -import Browser from './Browser'; -import Pool from './Pool'; import IProxyConnectionOptions from '../interfaces/IProxyConnectionOptions'; -import env from '../env'; +import Browser from './Browser'; import BrowserContext from './BrowserContext'; +import Page from './Page'; +import Plugins from './Plugins'; +import Pool from './Pool'; const { log } = Log(module); diff --git a/agent/main/lib/Browser.ts b/agent/main/lib/Browser.ts index ec7c9ed1e..65005e16e 100755 --- a/agent/main/lib/Browser.ts +++ b/agent/main/lib/Browser.ts @@ -9,6 +9,8 @@ import { CanceledPromiseError } from '@ulixee/commons/interfaces/IPendingWaitEve import Resolvable from '@ulixee/commons/lib/Resolvable'; import { IBrowserHooks, IHooksProvider } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; import * as os from 'os'; +import { IBrowserContextHooks } from '@ulixee/unblocked-specification/agent/hooks/IBrowserHooks'; +import * as Path from 'path'; import { Connection } from './Connection'; import BrowserContext, { IBrowserContextCreateOptions } from './BrowserContext'; import DevtoolsSession from './DevtoolsSession'; @@ -18,9 +20,7 @@ import env from '../env'; import DevtoolsPreferences from './DevtoolsPreferences'; import Page, { IPageCreateOptions } from './Page'; import IConnectionTransport from '../interfaces/IConnectionTransport'; -import { IBrowserContextHooks } from '@ulixee/unblocked-specification/agent/hooks/IBrowserHooks'; import ChromeEngine from './ChromeEngine'; -import * as Path from 'path'; import GetVersionResponse = Protocol.Browser.GetVersionResponse; import TargetInfo = Protocol.Target.TargetInfo; @@ -164,11 +164,11 @@ export default class Browser extends TypedEventEmitter implement } catch (err) { await this.process.close(); - let launchError: BrowserLaunchError; // give it a second to read errors const processError = await this.process.isProcessFunctionalPromise.catch(error => error); let message = 'Failed to launch Chrome!'; + // eslint-disable-next-line no-ex-assign if (err.code === 'EPIPE' && processError) err = processError; if (err.code !== 'EPIPE') { message += ` ${err.message}`; @@ -176,10 +176,10 @@ export default class Browser extends TypedEventEmitter implement if (this.process.launchStderr.length) { message += - `\n\n\nSometimes a reason can be found in the Chrome Stderr logs:\n\t` + - this.process.launchStderr.join('\n\t'); + `\n\n\nSometimes a reason can be found in the Chrome Stderr logs:\n\t${ + this.process.launchStderr.join('\n\t')}`; } - launchError = new BrowserLaunchError(message, err.stack.split(/\r?\n/).slice(1).join('\n')); + const launchError = new BrowserLaunchError(message, err.stack.split(/\r?\n/).slice(1).join('\n')); this.launchPromise.reject(launchError); log.stats('Browser.LaunchError', { @@ -355,7 +355,7 @@ export default class Browser extends TypedEventEmitter implement // eslint-disable-next-line no-console console.warn( 'WARNING: Agent is being run under "root" user - disabling Chrome sandbox! ' + - 'Run under regular user to get rid of this warning.', + 'Run under regular user to get rid of this warning, or pass in `noChromeSandbox: true` to the constructor arguments.', ); launchArgs.push('--no-sandbox'); } diff --git a/agent/main/lib/BrowserProcess.ts b/agent/main/lib/BrowserProcess.ts index d4bacbae2..648d36703 100755 --- a/agent/main/lib/BrowserProcess.ts +++ b/agent/main/lib/BrowserProcess.ts @@ -8,9 +8,9 @@ import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; import { bindFunctions } from '@ulixee/commons/lib/utils'; import Resolvable from '@ulixee/commons/lib/Resolvable'; import { arch } from 'os'; +import ShutdownHandler from '@ulixee/commons/lib/ShutdownHandler'; import { PipeTransport } from './PipeTransport'; import env from '../env'; -import ShutdownHandler from '@ulixee/commons/lib/ShutdownHandler'; const { log } = Log(module); diff --git a/agent/main/lib/DevtoolsSession.ts b/agent/main/lib/DevtoolsSession.ts index 95e2d23f2..3e218248d 100644 --- a/agent/main/lib/DevtoolsSession.ts +++ b/agent/main/lib/DevtoolsSession.ts @@ -26,11 +26,11 @@ import IDevtoolsSession, { IDevtoolsEventMessage, IDevtoolsResponseMessage, } from '@ulixee/unblocked-specification/agent/browser/IDevtoolsSession'; +import Log from '@ulixee/commons/lib/Logger'; +import TimeoutError from '@ulixee/commons/interfaces/TimeoutError'; import ProtocolError from '../errors/ProtocolError'; import { Connection } from './Connection'; -import Log from '@ulixee/commons/lib/Logger'; import RemoteObject = Protocol.Runtime.RemoteObject; -import TimeoutError from '@ulixee/commons/interfaces/TimeoutError'; const { log } = Log(module); /** diff --git a/agent/main/lib/DevtoolsSessionLogger.ts b/agent/main/lib/DevtoolsSessionLogger.ts index f5ef0c315..a426d08d9 100644 --- a/agent/main/lib/DevtoolsSessionLogger.ts +++ b/agent/main/lib/DevtoolsSessionLogger.ts @@ -225,6 +225,7 @@ export default class DevtoolsSessionLogger extends TypedEventEmitter implements IFrame { // TODO: switch this to "id" and migrate "id" to "devtoolsId" public readonly frameId: number; - public didSwapOutOfProcess: boolean = false; + public didSwapOutOfProcess = false; public get id(): string { return this.internalFrame.id; } @@ -111,10 +111,12 @@ export default class Frame extends TypedEventEmitter implements IF public get hooks(): IInteractHooks { return this.page.browserContext.hooks; } + public navigations: FrameNavigations; public navigationsObserver: FrameNavigationsObserver; public devtoolsSession: DevtoolsSession; + public readonly pendingNewDocumentScripts: { script: string; isolated: boolean }[] = []; private outOfProcess: FrameOutOfProcess; @@ -125,10 +127,9 @@ export default class Frame extends TypedEventEmitter implements IF private readonly parentFrame: Frame | null; private defaultLoaderId: string; private startedLoaderId: string; - public readonly pendingNewDocumentScripts: { script: string; isolated: boolean }[] = []; private defaultContextId: number; private isolatedContextId: number; - private readonly activeContextIds: Set; + private activeContextIds: Set; private internalFrame: PageFrame; private closedWithError: Error; private isClosing = false; @@ -166,9 +167,14 @@ export default class Frame extends TypedEventEmitter implements IF this.onAttached(internalFrame); } - public async updateDevtoolsSession(devtoolsSession: DevtoolsSession): Promise { + public async updateDevtoolsSession( + devtoolsSession: DevtoolsSession, + activeContextIds: Set, + ): Promise { if (this.devtoolsSession === devtoolsSession) return; + this.devtoolsSession = devtoolsSession; + this.activeContextIds = activeContextIds; if ( devtoolsSession === this.#framesManager.devtoolsSession || devtoolsSession === this.parentFrame?.devtoolsSession @@ -178,6 +184,9 @@ export default class Frame extends TypedEventEmitter implements IF } this.outOfProcess = new FrameOutOfProcess(this.page, this); + if (!this.url) { + this.defaultLoaderId = this.activeLoaderId; + } await this.outOfProcess.initialize(); } @@ -320,6 +329,9 @@ export default class Frame extends TypedEventEmitter implements IF async waitForLoad( options?: IWaitForOptions & { loadStatus?: ILoadStatus }, ): Promise { + if (this.isOopif() && !this.url) { + await new Promise(resolve => this.events.once(this, 'frame-navigated', resolve)); + } return await this.navigationsObserver.waitForLoad( options?.loadStatus ?? LoadStatus.JavascriptReady, options, @@ -706,22 +718,22 @@ export default class Frame extends TypedEventEmitter implements IF public removeContextId(executionContextId: number): void { if (this.defaultContextId === executionContextId) { this.defaultContextId = null; - this.defaultContextCreated = null; } if (this.isolatedContextId === executionContextId) this.isolatedContextId = null; } public clearContextIds(): void { this.defaultContextId = null; - this.defaultContextCreated = null; this.isolatedContextId = null; } - public addContextId(executionContextId: number, isDefault: boolean): void { + public addContextId(executionContextId: number, isDefault: boolean, origin: string): void { if (isDefault) { this.defaultContextId = executionContextId; this.defaultContextCreated?.resolve(); } else { + // if an existing context is isolated, and this context has the full security origin, take the unrestricted one + if (!!this.getActiveContextId(true) && origin !== '') return; this.isolatedContextId = executionContextId; } } @@ -810,7 +822,7 @@ export default class Frame extends TypedEventEmitter implements IF const { executionContextId } = isolatedWorld; if (!this.activeContextIds.has(executionContextId)) { this.activeContextIds.add(executionContextId); - this.addContextId(executionContextId, false); + this.addContextId(executionContextId, false, ''); this.getFrameElementDevtoolsNodeId().catch(() => null); } diff --git a/agent/main/lib/FrameNavigationsObserver.ts b/agent/main/lib/FrameNavigationsObserver.ts index 16ff3ca93..ec1f44860 100644 --- a/agent/main/lib/FrameNavigationsObserver.ts +++ b/agent/main/lib/FrameNavigationsObserver.ts @@ -36,7 +36,7 @@ export default class FrameNavigationsObserver { constructor(navigations: FrameNavigations) { this.navigations = navigations; - this.logger = navigations.logger.createChild(module); + this.logger = navigations.logger.createChild(module, { frameId: navigations.frame.frameId }); navigations.on('status-change', this.onLoadStatusChange.bind(this)); } @@ -70,7 +70,9 @@ export default class FrameNavigationsObserver { assert(LoadStatus[status], `Invalid load status: ${status}`); if (!this.navigations.top && this.navigations.frame.isDefaultUrl) { await this.navigations.frame.waitForDefaultLoader(); - if (status === LoadStatus.JavascriptReady) return; + if (status === LoadStatus.JavascriptReady) { + return; + } } if (!options?.doNotIncrementMarker) { @@ -79,7 +81,14 @@ export default class FrameNavigationsObserver { } const top = this.navigations.top; - if (top && top.statusChanges.has(status)) return Promise.resolve(top); + if (top && top.statusChanges.has(status)) { + this.logger.info(`Frame.waitForLoad:resolved(${status})`, { + url: top.requestedUrl, + loader: top.loaderId, + status: Object.fromEntries(top.statusChanges), + }); + return Promise.resolve(top); + } const promise = this.createStatusTriggeredPromise( status, diff --git a/agent/main/lib/FrameOutOfProcess.ts b/agent/main/lib/FrameOutOfProcess.ts index 6c4362adf..f0e7b4955 100644 --- a/agent/main/lib/FrameOutOfProcess.ts +++ b/agent/main/lib/FrameOutOfProcess.ts @@ -1,10 +1,10 @@ +import { CanceledPromiseError } from '@ulixee/commons/interfaces/IPendingWaitEvent'; import Frame from './Frame'; import Page from './Page'; import NetworkManager from './NetworkManager'; import DevtoolsSession from './DevtoolsSession'; import DomStorageTracker from './DomStorageTracker'; import BrowserContext from './BrowserContext'; -import { CanceledPromiseError } from '@ulixee/commons/interfaces/IPendingWaitEvent'; export default class FrameOutOfProcess { public page: Page; diff --git a/agent/main/lib/FramesManager.ts b/agent/main/lib/FramesManager.ts index baceac17e..bc7c85ef0 100644 --- a/agent/main/lib/FramesManager.ts +++ b/agent/main/lib/FramesManager.ts @@ -283,7 +283,7 @@ export default class FramesManager extends TypedEventEmitter implements format, quality, clip, - captureBeyondViewport: captureBeyondViewport, // added in chrome 87 works since 89 + captureBeyondViewport, // added in chrome 87 works since 89 } as Protocol.Page.CaptureScreenshotRequest); const timestamp = Date.now(); @@ -493,7 +493,7 @@ export default class Page extends TypedEventEmitter implements async reset(): Promise { if (this.isClosing || this.closePromise.isResolved) return this.closePromise.promise; - if (!!this.devtoolsSession.isConnected()) return; + if (this.devtoolsSession.isConnected()) return; this.mainFrame.navigations.reset(); this.networkManager.reset(); this.framesManager.reset(); diff --git a/agent/main/lib/Plugins.ts b/agent/main/lib/Plugins.ts index 8ac13a36f..1cafb8474 100644 --- a/agent/main/lib/Plugins.ts +++ b/agent/main/lib/Plugins.ts @@ -25,9 +25,9 @@ import IDevtoolsSession from '@ulixee/unblocked-specification/agent/browser/IDev import ChromeApp from '@ulixee/chrome-app'; import { IHooksProvider } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; import { IFrame } from '@ulixee/unblocked-specification/agent/browser/IFrame'; +import IResourceType from '@ulixee/unblocked-specification/agent/net/IResourceType'; import ChromeEngine from './ChromeEngine'; import Interactor from './Interactor'; -import IResourceType from '@ulixee/unblocked-specification/agent/net/IResourceType'; type ICallbackFn = (...args: any[]) => Promise | void; diff --git a/agent/main/lib/Pool.ts b/agent/main/lib/Pool.ts index 281d1c725..eba0365e0 100644 --- a/agent/main/lib/Pool.ts +++ b/agent/main/lib/Pool.ts @@ -14,11 +14,11 @@ import IResolvablePromise from '@ulixee/commons/interfaces/IResolvablePromise'; import IBrowserUserConfig from '@ulixee/unblocked-specification/agent/browser/IBrowserUserConfig'; import { IHooksProvider } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; import { IUnblockedPluginClass } from '@ulixee/unblocked-specification/plugin/IUnblockedPlugin'; +import IEmulationProfile from '@ulixee/unblocked-specification/plugin/IEmulationProfile'; +import IRegisteredEventListener from '@ulixee/commons/interfaces/IRegisteredEventListener'; import Browser from './Browser'; import Agent, { IAgentCreateOptions } from './Agent'; import env from '../env'; -import IEmulationProfile from '@ulixee/unblocked-specification/plugin/IEmulationProfile'; -import IRegisteredEventListener from '@ulixee/commons/interfaces/IRegisteredEventListener'; const { log } = Log(module); diff --git a/agent/main/lib/Resources.ts b/agent/main/lib/Resources.ts index 69db63f2d..1c7fa709d 100644 --- a/agent/main/lib/Resources.ts +++ b/agent/main/lib/Resources.ts @@ -17,9 +17,9 @@ import { Cookie } from 'tough-cookie'; import EventSubscriber from '@ulixee/commons/lib/EventSubscriber'; import IBrowserRequestMatcher from '@ulixee/unblocked-agent-mitm/interfaces/IBrowserRequestMatcher'; import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; +import IMitmRequestContext from '@ulixee/unblocked-agent-mitm/interfaces/IMitmRequestContext'; import { IMitmRequestPendingBrowserRequest, IResourceEvents } from '../interfaces/IResourceEvents'; import BrowserContext from './BrowserContext'; -import IMitmRequestContext from '@ulixee/unblocked-agent-mitm/interfaces/IMitmRequestContext'; export default class Resources extends TypedEventEmitter @@ -74,6 +74,18 @@ export default class Resources this.events.on(requestSession, 'response', this.onMitmResponse.bind(this)); this.events.on(requestSession, 'http-error', this.onMitmError.bind(this)); requestSession.browserRequestMatcher = this; + requestSession.hooks.push({ + beforeHttpResponse: this.beforeHttpResponse.bind(this), + }); + } + + public async beforeHttpResponse(resource: IHttpResourceLoadDetails): Promise { + if (HeadersHandler.isWorkerDest(resource, 'shared')) { + const worker = this.browserContext.workersById.get(resource.browserRequestId); + // chrome won't resolve this in time on chrome 97. works as of 103. Could possibly be more versions that don't work + if (this.browserContext.browser.majorVersion < 98) return; + await worker.isInitializationSent; + } } public setNavigationConnectTimeoutMs(url: string, timeoutMs: number): void { @@ -280,9 +292,7 @@ export default class Resources pendingBrowserRequest.mitmResourceId = mitmResource.id; pendingBrowserRequest.isHttp2Push = mitmResource.isHttp2Push; - // NOTE: shared workers do not auto-register with chrome as of chrome 83, so we won't get a matching browserRequest if ( - HeadersHandler.isWorkerDest(mitmResource, 'shared', 'service') || mitmResource.resourceType === 'Websocket' || // if navigate and empty, this is likely a download - it won't trigger in chrome (HeadersHandler.getRequestHeader(mitmResource, 'sec-fetch-mode') === 'navigate' && diff --git a/agent/main/lib/Worker.ts b/agent/main/lib/Worker.ts index 65f72a9ae..4578247d4 100644 --- a/agent/main/lib/Worker.ts +++ b/agent/main/lib/Worker.ts @@ -1,19 +1,19 @@ -import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; -import Protocol from 'devtools-protocol'; +import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; +import { CanceledPromiseError } from '@ulixee/commons/interfaces/IPendingWaitEvent'; import EventSubscriber from '@ulixee/commons/lib/EventSubscriber'; -import { IWorker, IWorkerEvents } from '@ulixee/unblocked-specification/agent/browser/IWorker'; +import { TypedEventEmitter } from '@ulixee/commons/lib/eventUtils'; import { createPromise } from '@ulixee/commons/lib/utils'; -import { IBoundLog } from '@ulixee/commons/interfaces/ILog'; +import { IWorker, IWorkerEvents } from '@ulixee/unblocked-specification/agent/browser/IWorker'; import { IBrowserContextHooks } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; -import { CanceledPromiseError } from '@ulixee/commons/interfaces/IPendingWaitEvent'; +import Protocol from 'devtools-protocol'; import BrowserContext from './BrowserContext'; +import ConsoleMessage from './ConsoleMessage'; import DevtoolsSession from './DevtoolsSession'; import NetworkManager from './NetworkManager'; -import ConsoleMessage from './ConsoleMessage'; import ConsoleAPICalledEvent = Protocol.Runtime.ConsoleAPICalledEvent; -import TargetInfo = Protocol.Target.TargetInfo; import ExceptionThrownEvent = Protocol.Runtime.ExceptionThrownEvent; import ExecutionContextCreatedEvent = Protocol.Runtime.ExecutionContextCreatedEvent; +import TargetInfo = Protocol.Target.TargetInfo; export class Worker extends TypedEventEmitter implements IWorker { public readonly browserContext: BrowserContext; @@ -82,8 +82,14 @@ export class Worker extends TypedEventEmitter implements IWorker throw err; }), this.devtoolsSession.send('Runtime.enable'), + this.type === 'shared_worker' + ? this.devtoolsSession.send('Network.setCacheDisabled', { cacheDisabled: true }) + : null, this.initializeEmulation(hooks as IBrowserContextHooks), - this.devtoolsSession.send('Runtime.runIfWaitingForDebugger'), + // service worker will lock up without this! + this.type === 'service_worker' + ? this.devtoolsSession.send('Runtime.runIfWaitingForDebugger') + : null, ]); setImmediate(() => this.initializationSent.resolve()); @@ -122,7 +128,9 @@ export class Worker extends TypedEventEmitter implements IWorker } private initializeEmulation(hooks: IBrowserContextHooks): Promise { - if (!hooks.onNewWorker) return; + if (!hooks.onNewWorker) { + return this.devtoolsSession.send('Runtime.runIfWaitingForDebugger'); + } return Promise.all([ hooks.onNewWorker(this), @@ -135,6 +143,7 @@ export class Worker extends TypedEventEmitter implements IWorker .then(this.resumeAfterEmulation.bind(this)) .catch(async error => { if (error instanceof CanceledPromiseError) return; + // eslint-disable-next-line promise/no-nesting await this.resumeAfterEmulation().catch(() => null); this.logger.warn('Emulator.onNewWorkerError', { error, diff --git a/agent/main/package.json b/agent/main/package.json index dd9a0289f..7426ce97b 100644 --- a/agent/main/package.json +++ b/agent/main/package.json @@ -1,21 +1,21 @@ { "name": "@ulixee/unblocked-agent", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Fully programmable Devtools Protocol based browser", "main": "index.js", "dependencies": { - "@ulixee/chrome-112-0": "^5615.121.7", + "@ulixee/chrome-114-0": "^5735.91.8", "@ulixee/chrome-app": "^1.0.3", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/js-path": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-mitm": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/js-path": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-mitm": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "devtools-protocol": "^0.0.981744", - "nanoid": "^3.3.3", + "nanoid": "^3.3.6", "tough-cookie": "^4.0.0" }, "devDependencies": { - "@ulixee/unblocked-agent-testing": "2.0.0-alpha.21", + "@ulixee/unblocked-agent-testing": "2.0.0-alpha.22", "image-size": "^1.0.1", "vue": "^2.6.14" } diff --git a/agent/main/test/BrowserProcess.test.ts b/agent/main/test/BrowserProcess.test.ts index 6c635306f..e67f85d69 100644 --- a/agent/main/test/BrowserProcess.test.ts +++ b/agent/main/test/BrowserProcess.test.ts @@ -1,9 +1,10 @@ import { BrowserUtils, TestLogger, Helpers } from '@ulixee/unblocked-agent-testing/index'; -import { Browser } from '../index'; import * as Os from 'os'; +import { Browser } from '../index'; import BrowserLaunchError from '../errors/BrowserLaunchError'; afterEach(Helpers.afterEach); +afterAll(Helpers.afterAll); beforeEach(async () => { TestLogger.testNumber += 1; }); @@ -30,7 +31,7 @@ describe('launchProcess', () => { browserEngine.executablePath = 'random-invalid-path'; const browser = new Browser(browserEngine); Helpers.needsClosing.push(browser); - await expect(browser.launch()).rejects.toThrowError('Failed to launch'); + await expect(browser.launch()).rejects.toThrow('Failed to launch'); }); it('should be callable twice', async () => { diff --git a/agent/main/test/Frames.oopif.test.ts b/agent/main/test/Frames.oopif.test.ts index abfc3a4ed..cada78d52 100644 --- a/agent/main/test/Frames.oopif.test.ts +++ b/agent/main/test/Frames.oopif.test.ts @@ -1,9 +1,9 @@ -import { TestLogger } from '@ulixee/unblocked-agent-testing/index'; import { browserEngineOptions } from '@ulixee/unblocked-agent-testing/browserUtils'; -import { TestServer } from './server'; -import { attachFrame, detachFrame, navigateFrame, waitForVisible } from './_pageTestUtils'; -import { Browser, BrowserContext, Page } from '../index'; +import { TestLogger } from '@ulixee/unblocked-agent-testing/index'; import IBrowser from '@ulixee/unblocked-specification/agent/browser/IBrowser'; +import { Browser, BrowserContext, Page } from '../index'; +import { attachFrame, detachFrame, navigateFrame, waitForVisible } from './_pageTestUtils'; +import { TestServer } from './server'; describe('Frames Out of Process', () => { let server: TestServer; @@ -14,8 +14,8 @@ describe('Frames Out of Process', () => { beforeAll(async () => { server = await TestServer.create(0); browser = new Browser(browserEngineOptions, { - onNewBrowser(browser: IBrowser) { - browser.engine.launchArguments.push('--site-per-process', '--host-rules=MAP * 127.0.0.1'); + onNewBrowser(b: IBrowser) { + b.engine.launchArguments.push('--site-per-process', '--host-rules=MAP * 127.0.0.1'); }, }); await browser.launch(); @@ -45,7 +45,7 @@ describe('Frames Out of Process', () => { return frame.url.endsWith('/empty.html'); }); await attachFrame(page, 'frame1', server.emptyPage); - await attachFrame(page, 'frame2', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(page, 'frame2', `${server.crossProcessBaseUrl}/empty.html`); await framePromise; expect(page.frames.filter(x => x.parentId === page.mainFrame.id)).toHaveLength(2); }); @@ -53,12 +53,12 @@ describe('Frames Out of Process', () => { it('should track navigations within OOP iframes', async () => { await page.goto(server.emptyPage); const framePromise = page.waitOn('frame-navigated', ({ frame }) => { - return frame.url === server.crossProcessBaseUrl + '/empty.html'; + return frame.url === `${server.crossProcessBaseUrl}/empty.html`; }); - await attachFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); const { frame } = await framePromise; expect(frame.url).toContain('/empty.html'); - await navigateFrame(page, 'frame1', server.crossProcessBaseUrl + '/assets/frame.html'); + await navigateFrame(page, 'frame1', `${server.crossProcessBaseUrl}/assets/frame.html`); expect(frame.url).toContain('/assets/frame.html'); }); @@ -68,7 +68,7 @@ describe('Frames Out of Process', () => { await attachFrame(page, 'frame1', server.emptyPage); const { frame } = await framePromise; expect(frame.isOopif()).toBe(false); - await navigateFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await navigateFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); expect(frame.isOopif()).toBe(true); await navigateFrame(page, 'frame1', server.emptyPage); expect(frame.isOopif()).toBe(false); @@ -78,12 +78,12 @@ describe('Frames Out of Process', () => { it('should support frames within OOP frames', async () => { await page.goto(server.emptyPage); const frame1Promise = page.waitOn('frame-navigated', ({ frame }) => { - return frame.url === server.crossProcessBaseUrl + '/frames/one-frame.html'; + return frame.url === `${server.crossProcessBaseUrl}/frames/one-frame.html`; }); const frame2Promise = page.waitOn('frame-navigated', ({ frame }) => { - return frame.url === server.crossProcessBaseUrl + '/frames/frame.html'; + return frame.url === `${server.crossProcessBaseUrl}/frames/frame.html`; }); - await attachFrame(page, 'frame1', server.crossProcessBaseUrl + '/frames/one-frame.html'); + await attachFrame(page, 'frame1', `${server.crossProcessBaseUrl}/frames/one-frame.html`); const [{ frame: frame1 }, { frame: frame2 }] = await Promise.all([ frame1Promise, @@ -101,7 +101,7 @@ describe('Frames Out of Process', () => { const { frame } = await framePromise; expect(frame.isOopif()).toBe(false); - await navigateFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await navigateFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); expect(frame.isOopif()).toBe(true); await detachFrame(page, 'frame1'); if (browser.majorVersion >= 109) expect(page.frames).toHaveLength(1); @@ -115,7 +115,7 @@ describe('Frames Out of Process', () => { const { frame } = await framePromise; expect(frame.isOopif()).toBe(false); const nav = frame.waitForLoad({ loadStatus: 'JavascriptReady' }); - await navigateFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await navigateFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); await nav; expect(frame.isOopif()).toBe(true); await detachFrame(page, 'frame1'); @@ -125,7 +125,7 @@ describe('Frames Out of Process', () => { it('should keep track of a frames OOP state', async () => { await page.goto(server.emptyPage); const framePromise = page.waitOn('frame-created'); - await attachFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); const { frame } = await framePromise; expect(frame.url).toContain('/empty.html'); await navigateFrame(page, 'frame1', server.emptyPage); @@ -135,7 +135,7 @@ describe('Frames Out of Process', () => { it('should support evaluating in oop iframes', async () => { await page.goto(server.emptyPage); const framePromise = page.waitOn('frame-created'); - await attachFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); const { frame } = await framePromise; await frame.evaluate(`(() => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment @@ -153,7 +153,7 @@ describe('Frames Out of Process', () => { it('should provide access to elements', async () => { await page.goto(server.emptyPage); const framePromise = page.waitOn('frame-created'); - await attachFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); const { frame } = await framePromise; await frame.evaluate(`(() => { @@ -172,15 +172,15 @@ describe('Frames Out of Process', () => { })()`); await waitForVisible(frame as any, '#test-button'); await frame.click('#test-button'); - await waitForVisible(frame as any, '#clicked'); + await expect(waitForVisible(frame as any, '#clicked')).resolves.toBeTruthy(); }); it('should report oopif frames', async () => { context.targetsById.clear(); - const frame = page.waitOn('frame-navigated', ({ frame }) => { - return frame.url.endsWith('/oopif.html'); + const frame = page.waitOn('frame-navigated', event => { + return event.frame.url.endsWith('/oopif.html'); }); - await page.goto(server.baseUrl + '/dynamic-oopif.html'); + await page.goto(`${server.baseUrl}/dynamic-oopif.html`); await frame; expect([...context.targetsById.values()].filter(x => x.type === 'iframe')).toHaveLength(1); expect(page.frames.length).toBe(2); @@ -208,13 +208,13 @@ describe('Frames Out of Process', () => { const oopIframePromise = page.waitOn('frame-navigated', ({ frame }) => { return frame.url.endsWith('/oopif.html'); }); - await page.goto(server.baseUrl + '/dynamic-oopif.html'); + await page.goto(`${server.baseUrl}/dynamic-oopif.html`); const { frame: oopIframe } = await oopIframePromise; - await attachFrame(oopIframe as any, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(oopIframe as any, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); - const frame1 = oopIframe.childFrames[0]!; + const frame1 = oopIframe.childFrames[0]; expect(frame1.url).toMatch(/empty.html$/); - await navigateFrame(oopIframe as any, 'frame1', server.crossProcessBaseUrl + '/oopif.html'); + await navigateFrame(oopIframe as any, 'frame1', `${server.crossProcessBaseUrl}/oopif.html`); expect(frame1.url).toMatch(/oopif.html$/); await frame1.evaluate( `location.href= "${server.crossProcessBaseUrl}/oopif.html#navigate-within-document"`, @@ -229,7 +229,7 @@ describe('Frames Out of Process', () => { it('clickablePoint, boundingBox, boxModel should work for elements inside OOPIFs', async () => { await page.goto(server.emptyPage); const framePromise = page.waitOn('frame-created'); - await attachFrame(page, 'frame1', server.crossProcessBaseUrl + '/empty.html'); + await attachFrame(page, 'frame1', `${server.crossProcessBaseUrl}/empty.html`); const { frame } = await framePromise; await page.evaluate(`(() => { document.body.style.border = '50px solid black'; diff --git a/agent/main/test/Frames.test.ts b/agent/main/test/Frames.test.ts index cc010efc2..af98f026c 100644 --- a/agent/main/test/Frames.test.ts +++ b/agent/main/test/Frames.test.ts @@ -1,9 +1,10 @@ -import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing/index'; import { browserEngineOptions } from '@ulixee/unblocked-agent-testing/browserUtils'; -import { TestServer } from './server'; -import { attachFrame, setContent } from './_pageTestUtils'; -import Agent from '../lib/Agent'; +import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing/index'; +import { inspect } from 'util'; import { Browser, BrowserContext, Page } from '../index'; +import Agent from '../lib/Agent'; +import { attachFrame, setContent } from './_pageTestUtils'; +import { TestServer } from './server'; describe('Frames', () => { let server: TestServer; @@ -22,6 +23,7 @@ describe('Frames', () => { afterEach(async () => { await page.close().catch(() => null); server.reset(); + await Helpers.afterEach(); }); beforeEach(async () => { @@ -33,13 +35,14 @@ describe('Frames', () => { await server.stop(); await context.close().catch(() => null); await browser.close(); + await Helpers.afterAll(); }); function getContexts(contextPage: Page): number { let count = 0; // @ts-expect-error const contexts = contextPage.framesManager.activeContextIdsBySessionId.values(); - for (const context of contexts) count += context.size; + for (const ctx of contexts) count += ctx.size; return count; } @@ -485,6 +488,11 @@ describe('Frames', () => { browserEngine: browser.engine, logger: TestLogger.forTest(module), }); + agent.hook({ + onNewBrowser(b) { + b.engine.launchArguments.push('--site-per-process', '--host-rules=MAP * 127.0.0.1'); + }, + }); Helpers.needsClosing.push(agent); await agent.open(); koaServer.get('/iframePage', ctx => { @@ -529,7 +537,7 @@ describe('Frames', () => { ['querySelector', 'h1'], 'textContent', ]), - ).rejects.toThrowError(); + ).rejects.toThrow(); await Promise.all(page.frames.map(x => x.waitForLoad({ loadStatus: 'DomContentLoaded' }))); const innerFrame = page.frames.find(x => x.url === 'http://framesy.org/page'); diff --git a/agent/main/test/Plugins.test.ts b/agent/main/test/Plugins.test.ts index 2da6dccb4..e6c96d915 100644 --- a/agent/main/test/Plugins.test.ts +++ b/agent/main/test/Plugins.test.ts @@ -70,8 +70,8 @@ test('should only allow take the last implementation of playInteractions', async const plugins = new Plugins({}, [Plugins1, Plugins2]); await plugins.playInteractions([], jest.fn(), null); - expect(play1Fn).not.toBeCalled(); - expect(play2Fn).toBeCalledTimes(1); + expect(play1Fn).not.toHaveBeenCalled(); + expect(play2Fn).toHaveBeenCalledTimes(1); }); test("plugin implementations should be called in the order they're installed", async () => { @@ -98,7 +98,7 @@ test("plugin implementations should be called in the order they're installed", a const plugins = new Plugins({}, [Plugins1, Plugins2]); await plugins.onNewPage({} as any); - expect(newPage1Fn).toBeCalledTimes(1); - expect(newPage2Fn).toBeCalledTimes(1); + expect(newPage1Fn).toHaveBeenCalledTimes(1); + expect(newPage2Fn).toHaveBeenCalledTimes(1); expect(callOrder).toEqual([newPage1Fn, newPage2Fn]); }); diff --git a/agent/main/test/Pool.test.ts b/agent/main/test/Pool.test.ts index 94015a9cd..c9d633585 100644 --- a/agent/main/test/Pool.test.ts +++ b/agent/main/test/Pool.test.ts @@ -3,9 +3,9 @@ import * as http from 'http'; import { BrowserUtils, Helpers, TestLogger } from '@ulixee/unblocked-agent-testing'; import { ITestHttpServer } from '@ulixee/unblocked-agent-testing/helpers'; import IBrowserEngine from '@ulixee/unblocked-specification/agent/browser/IBrowserEngine'; -import { Pool } from '../index'; import { UnblockedPluginClassDecorator } from '@ulixee/unblocked-specification/plugin/IUnblockedPlugin'; import IEmulationProfile from '@ulixee/unblocked-specification/plugin/IEmulationProfile'; +import { Pool } from '../index'; let httpServer: ITestHttpServer; @@ -78,7 +78,7 @@ describe('Pool tests', () => { await page.close(); - expect(allPagesClosed).toBeCalledTimes(1); + expect(allPagesClosed).toHaveBeenCalledTimes(1); await pool.close(); }); @@ -106,10 +106,10 @@ describe('Pool tests', () => { await page.close(); - expect(browserWindowsClosed).toBeCalledTimes(0); + expect(browserWindowsClosed).toHaveBeenCalledTimes(0); await page2.close(); await didCallPromise.promise; - expect(browserWindowsClosed).toBeCalledTimes(1); + expect(browserWindowsClosed).toHaveBeenCalledTimes(1); await pool.close(); }); @@ -132,7 +132,7 @@ describe('Pool tests', () => { expect(browsers.size).toBe(1); const browser1 = [...browsers.values()][0]; - expect(allBrowsersClosedEvent).toBeCalledTimes(0); + expect(allBrowsersClosedEvent).toHaveBeenCalledTimes(0); const browserEngine: IBrowserEngine = { ...browser1.engine, @@ -142,15 +142,15 @@ describe('Pool tests', () => { const browser2 = await pool.getBrowser(browserEngine, {}); expect(browsers.size).toBe(2); - expect(allBrowsersClosedEvent).toBeCalledTimes(0); + expect(allBrowsersClosedEvent).toHaveBeenCalledTimes(0); await page.close(); await browser1.close(); - expect(allBrowsersClosedEvent).toBeCalledTimes(0); + expect(allBrowsersClosedEvent).toHaveBeenCalledTimes(0); await browser2.close(); await allBrowsersTriggered.promise; - expect(allBrowsersClosedEvent).toBeCalledTimes(1); + expect(allBrowsersClosedEvent).toHaveBeenCalledTimes(1); await pool.close(); }); diff --git a/agent/main/test/_pageTestUtils.ts b/agent/main/test/_pageTestUtils.ts index 57c98cea2..551d145d9 100644 --- a/agent/main/test/_pageTestUtils.ts +++ b/agent/main/test/_pageTestUtils.ts @@ -1,6 +1,6 @@ +import INodeVisibility from '@ulixee/js-path/interfaces/INodeVisibility'; import { Page } from '../index'; import Frame from '../lib/Frame'; -import INodeVisibility from '@ulixee/js-path/interfaces/INodeVisibility'; import ConsoleMessage from '../lib/ConsoleMessage'; export async function attachFrame( diff --git a/agent/main/test/navigation.test.ts b/agent/main/test/navigation.test.ts index ebf2df849..71d3da350 100644 --- a/agent/main/test/navigation.test.ts +++ b/agent/main/test/navigation.test.ts @@ -87,7 +87,7 @@ describe.each([ }); const { page, agent } = await createAgent(enableMitm); const connectSpy = jest.spyOn(agent.mitmRequestSession.requestAgent, 'createSocketConnection'); - await expect(page.goto(startingUrl, { timeoutMs: 100 })).rejects.toThrowError('Timeout'); + await expect(page.goto(startingUrl, { timeoutMs: 100 })).rejects.toThrow('Timeout'); timeoutResolve(); if (enableMitm) { expect(connectSpy.mock.calls[0][1]).toEqual(100); diff --git a/agent/main/test/server/index.ts b/agent/main/test/server/index.ts index 0a82b55d7..ae7d6f9d8 100755 --- a/agent/main/test/server/index.ts +++ b/agent/main/test/server/index.ts @@ -35,6 +35,7 @@ export class TestServer { public get emptyPage() { return this.url('empty.html'); } + public port: number; private readonly server: http.Server | https.Server; diff --git a/agent/mitm-socket/CHANGELOG.md b/agent/mitm-socket/CHANGELOG.md index 640fefd0e..710335a39 100644 --- a/agent/mitm-socket/CHANGELOG.md +++ b/agent/mitm-socket/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + + +### Bug Fixes + +* rollback nanoid upgrade. broke requirejs ([50c2000](https://github.com/ulixee/unblocked/commit/50c2000cd7785ca54e1845412e211716d9dbaf4e)) + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) diff --git a/agent/mitm-socket/index.ts b/agent/mitm-socket/index.ts index 570bd440d..12a23a5cf 100644 --- a/agent/mitm-socket/index.ts +++ b/agent/mitm-socket/index.ts @@ -33,6 +33,7 @@ export default class MitmSocket settings?: { id: number; value: number }[]; acceptCh?: { domain: string; headers: string[] }; }; + public socket: net.Socket; public dnsResolvedIp: string; public remoteAddress: string; diff --git a/agent/mitm-socket/package.json b/agent/mitm-socket/package.json index ab9ab759f..f62bdd915 100644 --- a/agent/mitm-socket/package.json +++ b/agent/mitm-socket/package.json @@ -1,6 +1,6 @@ { "name": "@ulixee/unblocked-agent-mitm-socket", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Man-in-the-middle socket library to emulate TLS and TCP settings", "main": "index.js", "scripts": { @@ -8,13 +8,13 @@ "build-install": "npm run build" }, "dependencies": { - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", - "nanoid": "^3.1.30" + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", + "nanoid": "^3.3.6" }, "devDependencies": { "@types/ws": "^7.2.4", - "@ulixee/unblocked-agent-testing": "2.0.0-alpha.21", + "@ulixee/unblocked-agent-testing": "2.0.0-alpha.22", "proxy": "^1.0.1", "simple-socks": "^2.1.0", "ws": "^7.4.6" diff --git a/agent/mitm-socket/test/MitmSocket.test.ts b/agent/mitm-socket/test/MitmSocket.test.ts index 41de89654..0344fd87c 100644 --- a/agent/mitm-socket/test/MitmSocket.test.ts +++ b/agent/mitm-socket/test/MitmSocket.test.ts @@ -2,7 +2,7 @@ import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing'; import { createPromise } from '@ulixee/commons/lib/utils'; import * as http2 from 'http2'; import * as stream from 'stream'; -import * as WebSocket from 'ws'; +import WebSocket = require('ws'); import { getTlsConnection, httpGetWithSocket } from '@ulixee/unblocked-agent-testing/helpers'; import * as https from 'https'; import { IncomingMessage } from 'http'; @@ -20,7 +20,7 @@ beforeEach(() => { }); beforeAll(() => { mitmSocketSession = new MitmSocketSession(TestLogger.forTest(module), { - clientHelloId: 'chrome-72', + clientHelloId: 'chrome-114', rejectUnauthorized: false, }); Helpers.onClose(() => mitmSocketSession.close(), true); @@ -60,7 +60,7 @@ test('should handle http2 requests', async () => { test('should be able to hit google using a Chrome Emulator', async () => { const socketSession = new MitmSocketSession(TestLogger.forTest(module), { - clientHelloId: 'chrome-98', + clientHelloId: 'chrome-114', rejectUnauthorized: false, }); Helpers.needsClosing.push(socketSession); @@ -155,7 +155,7 @@ test('should be able to hit a server that disconnects', async () => { // eslint-disable-next-line jest/no-disabled-tests test.skip('should be able to get scripts from unpkg using Chrome emulator', async () => { const socketSession = new MitmSocketSession(TestLogger.forTest(module), { - clientHelloId: 'chrome-79', + clientHelloId: 'chrome-114', rejectUnauthorized: false, }); Helpers.needsClosing.push(socketSession); diff --git a/agent/mitm-socket/test/proxy.test.ts b/agent/mitm-socket/test/proxy.test.ts index 8f4692a77..13023feab 100644 --- a/agent/mitm-socket/test/proxy.test.ts +++ b/agent/mitm-socket/test/proxy.test.ts @@ -6,7 +6,7 @@ import { httpGetWithSocket, readableToBuffer, } from '@ulixee/unblocked-agent-testing/helpers'; -import * as WebSocket from 'ws'; +import WebSocket = require('ws'); import * as socks5 from 'simple-socks'; import { createPromise } from '@ulixee/commons/lib/utils'; import * as http2 from 'http2'; @@ -24,7 +24,7 @@ beforeEach(() => { let mitmSocketSession: MitmSocketSession; beforeAll(() => { mitmSocketSession = new MitmSocketSession(TestLogger.forTest(module), { - clientHelloId: 'chrome-83', + clientHelloId: 'chrome-114', rejectUnauthorized: false, }); Helpers.onClose(() => mitmSocketSession.close(), true); diff --git a/agent/mitm/CHANGELOG.md b/agent/mitm/CHANGELOG.md index 16f7d2260..9f6ff4ee7 100644 --- a/agent/mitm/CHANGELOG.md +++ b/agent/mitm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/unblocked-agent-mitm + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-agent-mitm diff --git a/agent/mitm/handlers/HeadersHandler.ts b/agent/mitm/handlers/HeadersHandler.ts index 014978ee9..32e491d7d 100644 --- a/agent/mitm/handlers/HeadersHandler.ts +++ b/agent/mitm/handlers/HeadersHandler.ts @@ -71,7 +71,7 @@ export default class HeadersHandler { ctx.browserRequestId = await session.getWebsocketUpgradeRequestId(requestHeaders); } - if (!ctx.resourceType || ctx.resourceType === 'Fetch') { + if (!ctx.resourceType || ctx.resourceType === 'Fetch' || HeadersHandler.isWorkerDest(ctx, 'shared')) { // if fetch, we need to wait for the browser request so we can see if we should use xhr order or fetch order await ctx.browserHasRequested; } diff --git a/agent/mitm/handlers/HttpRequestHandler.ts b/agent/mitm/handlers/HttpRequestHandler.ts index 9d4678ea8..588bca5a5 100644 --- a/agent/mitm/handlers/HttpRequestHandler.ts +++ b/agent/mitm/handlers/HttpRequestHandler.ts @@ -269,7 +269,7 @@ export default class HttpRequestHandler extends BaseHttpHandler { context.responseBodySize = 0; for await (const chunk of serverToProxyResponse) { - let buffer = chunk as Buffer; + const buffer = chunk as Buffer; context.responseBodySize += buffer.length; const data = context.cacheHandler.onResponseData(buffer); this.safeWriteToClient(data); diff --git a/agent/mitm/lib/Dns.ts b/agent/mitm/lib/Dns.ts index 1cf0a9da4..3663b0c3b 100644 --- a/agent/mitm/lib/Dns.ts +++ b/agent/mitm/lib/Dns.ts @@ -1,4 +1,4 @@ -import * as moment from 'moment'; +import moment = require('moment'); import * as net from 'net'; import { promises as dns } from 'dns'; import { createPromise } from '@ulixee/commons/lib/utils'; diff --git a/agent/mitm/lib/MitmRequestContext.ts b/agent/mitm/lib/MitmRequestContext.ts index 9041e30e0..57de1cd27 100644 --- a/agent/mitm/lib/MitmRequestContext.ts +++ b/agent/mitm/lib/MitmRequestContext.ts @@ -1,29 +1,24 @@ -import { URL } from 'url'; -import * as http from 'http'; -import * as http2 from 'http2'; -import IResourceRequest from '@ulixee/unblocked-specification/agent/net/IResourceRequest'; -import { TLSSocket } from 'tls'; -import MitmSocket from '@ulixee/unblocked-agent-mitm-socket'; -import OriginType, { isOriginType } from '@ulixee/unblocked-specification/agent/net/OriginType'; import EventSubscriber from '@ulixee/commons/lib/EventSubscriber'; +import MitmSocket from '@ulixee/unblocked-agent-mitm-socket'; +import { IBrowserResourceRequest } from '@ulixee/unblocked-specification/agent/browser/IBrowserNetworkEvents'; import IHttpHeaders from '@ulixee/unblocked-specification/agent/net/IHttpHeaders'; +import IResourceRequest from '@ulixee/unblocked-specification/agent/net/IResourceRequest'; import IResourceResponse from '@ulixee/unblocked-specification/agent/net/IResourceResponse'; -import { IBrowserResourceRequest } from '@ulixee/unblocked-specification/agent/browser/IBrowserNetworkEvents'; -import HttpResponseCache from './HttpResponseCache'; +import OriginType, { isOriginType } from '@ulixee/unblocked-specification/agent/net/OriginType'; +import * as http from 'http'; +import * as http2 from 'http2'; +import { TLSSocket } from 'tls'; +import { URL } from 'url'; +import CacheHandler from '../handlers/CacheHandler'; import HeadersHandler from '../handlers/HeadersHandler'; import { IRequestSessionResponseEvent } from '../handlers/RequestSession'; -import CacheHandler from '../handlers/CacheHandler'; import IMitmRequestContext from '../interfaces/IMitmRequestContext'; -import { parseRawHeaders } from './Utils'; import ResourceState from '../interfaces/ResourceState'; +import HttpResponseCache from './HttpResponseCache'; +import { parseRawHeaders } from './Utils'; export default class MitmRequestContext { private static contextIdCounter = 0; - private static nextId(): number { - this.contextIdCounter += 1; - if (!Number.isSafeInteger(this.contextIdCounter)) this.contextIdCounter = 1; - return this.contextIdCounter; - } public static createFromResourceRequest( resourceLoadDetails: IBrowserResourceRequest, @@ -289,4 +284,10 @@ export default class MitmRequestContext { ctx.requestSession.trackResourceRedirects(ctx); } } + + private static nextId(): number { + this.contextIdCounter += 1; + if (!Number.isSafeInteger(this.contextIdCounter)) this.contextIdCounter = 1; + return this.contextIdCounter; + } } diff --git a/agent/mitm/package.json b/agent/mitm/package.json index 9db87ceb7..b0861136b 100644 --- a/agent/mitm/package.json +++ b/agent/mitm/package.json @@ -1,19 +1,19 @@ { "name": "@ulixee/unblocked-agent-mitm", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Man-in-the-middle proxy to fix chrome request/response", "main": "index.js", "dependencies": { - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-mitm-socket": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-mitm-socket": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "dns-packet": "^5.2.4", "moment": "^2.29.4" }, "devDependencies": { - "@types/node": "^14.17.9", + "@types/node": "^16.18.31", "@types/ws": "^7.4.7", - "@ulixee/unblocked-agent-testing": "2.0.0-alpha.21", + "@ulixee/unblocked-agent-testing": "2.0.0-alpha.22", "http-proxy-agent": "^4.0.1", "proxy": "^1.0.1", "ws": "^7.4.6" diff --git a/agent/mitm/test/MitmRequestAgent.test.ts b/agent/mitm/test/MitmRequestAgent.test.ts index ba3d21d0c..ab41907cb 100644 --- a/agent/mitm/test/MitmRequestAgent.test.ts +++ b/agent/mitm/test/MitmRequestAgent.test.ts @@ -2,11 +2,11 @@ import { IncomingHttpHeaders, IncomingMessage } from 'http'; import { URL } from 'url'; import * as https from 'https'; import * as net from 'net'; -import * as WebSocket from 'ws'; -import * as HttpProxyAgent from 'http-proxy-agent'; import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing'; import { getProxyAgent, runHttpsServer } from '@ulixee/unblocked-agent-testing/helpers'; import CertificateGenerator from '@ulixee/unblocked-agent-mitm-socket/lib/CertificateGenerator'; +import WebSocket = require('ws'); +import HttpProxyAgent = require('http-proxy-agent'); import MitmServer from '../lib/MitmProxy'; import RequestSession from '../handlers/RequestSession'; import HeadersHandler from '../handlers/HeadersHandler'; diff --git a/agent/mitm/test/basic.test.ts b/agent/mitm/test/basic.test.ts index 0508d1c8b..c621899d6 100644 --- a/agent/mitm/test/basic.test.ts +++ b/agent/mitm/test/basic.test.ts @@ -1,13 +1,13 @@ import * as http from 'http'; import { IncomingHttpHeaders } from 'http'; import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing'; -import * as HttpProxyAgent from 'http-proxy-agent'; import * as Url from 'url'; import { AddressInfo, Socket } from 'net'; -import * as WebSocket from 'ws'; import { createPromise } from '@ulixee/commons/lib/utils'; import IHttpResourceLoadDetails from '@ulixee/unblocked-specification/agent/net/IHttpResourceLoadDetails'; import CertificateGenerator from '@ulixee/unblocked-agent-mitm-socket/lib/CertificateGenerator'; +import HttpProxyAgent = require('http-proxy-agent'); +import WebSocket = require('ws'); import HttpRequestHandler from '../handlers/HttpRequestHandler'; import RequestSession, { IRequestSessionRequestEvent } from '../handlers/RequestSession'; import MitmServer from '../lib/MitmProxy'; @@ -53,11 +53,11 @@ describe('basic MitM tests', () => { const proxyHost = `http://localhost:${mitmServer.port}`; const session = createSession(mitmServer); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(0); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(0); const res = await Helpers.httpGet(httpServer.url, proxyHost, session.getProxyCredentials()); expect(res.includes('Hello')).toBeTruthy(); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(1); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(1); await mitmServer.close(); }); @@ -73,7 +73,7 @@ describe('basic MitM tests', () => { const proxyHost = `http://localhost:${mitmServer.port}`; const session = createSession(mitmServer); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(0); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(0); let rawHeaders: string[] = null; const res = await Helpers.httpRequest( @@ -88,7 +88,7 @@ describe('basic MitM tests', () => { ); const headers = parseRawHeaders(rawHeaders); expect(res.includes('Hello')).toBeTruthy(); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(1); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(1); expect(headers['x-test']).toHaveLength(2); await mitmServer.close(); @@ -104,12 +104,12 @@ describe('basic MitM tests', () => { const proxyHost = `http://localhost:${mitmServer.port}`; const session = createSession(mitmServer); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(0); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(0); env.allowInsecure = true; const res = await Helpers.httpGet(server.baseUrl, proxyHost, session.getProxyCredentials()); expect(res.includes('Secure as anything!')).toBeTruthy(); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(1); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(1); env.allowInsecure = false; }); @@ -160,7 +160,7 @@ describe('basic MitM tests', () => { const proxyHost = `http://localhost:${mitmServer.port}`; const session = createSession(mitmServer); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(0); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(0); const res = await Helpers.httpGet( `http://localhost:${serverPort}`, @@ -170,7 +170,7 @@ describe('basic MitM tests', () => { expect(res).toBe('Ok'); expect(headers['proxy-authorization']).not.toBeTruthy(); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(1); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(1); }); it('should strip proxy headers', async () => { diff --git a/agent/mitm/test/dns.test.ts b/agent/mitm/test/dns.test.ts index 63888387a..8d35dce5e 100644 --- a/agent/mitm/test/dns.test.ts +++ b/agent/mitm/test/dns.test.ts @@ -1,11 +1,11 @@ -import { LookupAddress, promises as nodeDns } from 'dns'; +import { pickRandom } from '@ulixee/commons/lib/utils'; import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing'; +import AgentEnv from '@ulixee/unblocked-agent/env'; // eslint-disable-line import/no-extraneous-dependencies import { INetworkHooks } from '@ulixee/unblocked-specification/agent/hooks/IHooks'; -import DnsOverTlsSocket from '../lib/DnsOverTlsSocket'; -import { Dns } from '../lib/Dns'; +import { LookupAddress, promises as nodeDns } from 'dns'; import RequestSession from '../handlers/RequestSession'; -import { pickRandom } from '@ulixee/commons/lib/utils'; -import AgentEnv from '@ulixee/unblocked-agent/env'; +import { Dns } from '../lib/Dns'; +import DnsOverTlsSocket from '../lib/DnsOverTlsSocket'; const CloudFlare = { host: '1.1.1.1', @@ -25,6 +25,8 @@ const Quad9 = { host: '9.9.9.9', servername: 'dns.quad9.net', }; + +// eslint-disable-next-line @typescript-eslint/naming-convention const Quad9_2 = { host: '149.112.112.112', servername: 'dns.quad9.net', @@ -80,10 +82,7 @@ describe('DnsOverTlsSocket', () => { Quad9_2, ]); beforeAll(() => { - testDnsSocket = new DnsOverTlsSocket( - { dnsOverTlsConnection: dnsOverTlsConnection }, - requestSession, - ); + testDnsSocket = new DnsOverTlsSocket({ dnsOverTlsConnection }, requestSession); }); afterAll(() => { testDnsSocket.close(); diff --git a/agent/mitm/test/http2.test.ts b/agent/mitm/test/http2.test.ts index bcfef36ce..eea2d05b1 100644 --- a/agent/mitm/test/http2.test.ts +++ b/agent/mitm/test/http2.test.ts @@ -89,7 +89,7 @@ test('should be able to handle an http2->http2 request', async () => { const buffer = await Helpers.readableToBuffer(h2stream); expect(buffer.toString()).toBe('h2 secure as anything!'); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(1); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(1); const call = mocks.MitmRequestContext.create.mock.calls[0]; expect(call[0].isUpgrade).toBe(false); expect(call[0].clientToProxyRequest).toBeInstanceOf(http2.Http2ServerRequest); @@ -129,7 +129,7 @@ test('should send response header arrays through proxy', async () => { const buffer = await Helpers.readableToBuffer(h2stream); expect(buffer.toString()).toBe('headers done'); - expect(mocks.httpRequestHandler.onRequest).toBeCalledTimes(1); + expect(mocks.httpRequestHandler.onRequest).toHaveBeenCalledTimes(1); const headers = parseRawHeaders(await h2Headers); expect(headers['x-test']).toHaveLength(2); }); @@ -246,7 +246,7 @@ async function createH2Connection(sessionIdPrefix: string, url: string) { const proxyHost = `http://${proxyCredentials}@localhost:${mitmServer.port}`; const mitmSocketSession = new MitmSocketSession(session.logger, { - clientHelloId: 'chrome-72', + clientHelloId: 'chrome-114', rejectUnauthorized: false, }); Helpers.needsClosing.push(mitmSocketSession); diff --git a/agent/testing/CHANGELOG.md b/agent/testing/CHANGELOG.md index c01ecc5f7..35346d1bb 100644 --- a/agent/testing/CHANGELOG.md +++ b/agent/testing/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/unblocked-agent-testing + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-agent-testing diff --git a/agent/testing/TestLogger.ts b/agent/testing/TestLogger.ts index ef8c91088..f5187ef7e 100644 --- a/agent/testing/TestLogger.ts +++ b/agent/testing/TestLogger.ts @@ -25,7 +25,7 @@ export default class TestLogger implements ILog { public static testNumber = 0; public readonly level = env.isLogDebug ? 'stats' : 'error'; - protected readonly boundContext: any = {}; + public readonly boundContext: any = {}; private readonly module: string; constructor(readonly outPath: string, module: NodeModule, boundContext?: any) { diff --git a/agent/testing/helpers.ts b/agent/testing/helpers.ts index 8e0e2ec7f..9dfcb35fa 100644 --- a/agent/testing/helpers.ts +++ b/agent/testing/helpers.ts @@ -8,11 +8,6 @@ import { IncomingMessage, RequestListener, Server } from 'http'; import * as https from 'https'; import { Agent } from 'https'; import { createPromise } from '@ulixee/commons/lib/utils'; -import * as HttpProxyAgent from 'http-proxy-agent'; -import * as HttpsProxyAgent from 'https-proxy-agent'; -import * as Koa from 'koa'; -import * as KoaRouter from '@koa/router'; -import * as KoaMulter from '@koa/multer'; import * as net from 'net'; import * as tls from 'tls'; import * as http2 from 'http2'; @@ -22,6 +17,11 @@ import MitmSocket from '@ulixee/unblocked-agent-mitm-socket'; import MitmSocketSession from '@ulixee/unblocked-agent-mitm-socket/lib/MitmSocketSession'; import MitmEnv from '@ulixee/unblocked-agent-mitm/env'; // eslint-disable-line import/no-extraneous-dependencies import Logger from '@ulixee/commons/lib/Logger'; +import HttpProxyAgent = require('http-proxy-agent'); +import HttpsProxyAgent = require('https-proxy-agent'); +import Koa = require('koa'); +import KoaRouter = require('@koa/router'); +import KoaMulter = require('@koa/multer'); import { Helpers, TestLogger } from './index'; const { log } = Logger(module); diff --git a/agent/testing/package.json b/agent/testing/package.json index d3025f54e..916c80e3b 100644 --- a/agent/testing/package.json +++ b/agent/testing/package.json @@ -1,19 +1,19 @@ { "name": "@ulixee/unblocked-agent-testing", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Helpers and stubs for testing", "main": "index.js", "private": true, "engines": { - "node": ">=14" + "node": ">=16" }, "dependencies": { "@koa/multer": "^3.0.0", "@koa/router": "^8.0.8", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/unblocked-agent": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-mitm-socket": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/unblocked-agent": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-mitm-socket": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", "koa": "^2.11.0", @@ -23,6 +23,6 @@ "@types/koa": "^2.11.3", "@types/koa__multer": "^2.0.2", "@types/koa__router": "^8.0.2", - "@types/node": "^14.17.9" + "@types/node": "^16.18.31" } } diff --git a/browser-emulator-builder/CHANGELOG.md b/browser-emulator-builder/CHANGELOG.md index 0e36471b2..d1e86d1d2 100644 --- a/browser-emulator-builder/CHANGELOG.md +++ b/browser-emulator-builder/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + + +### Bug Fixes + +* **browser-emulator:** fix color depth export ([bc2c76d](https://github.com/ulixee/unblocked/commit/bc2c76dd37e167feb293c4693fa97ba0b75f181e)) + + +### Features + +* **plugins:** include default color depth ([166d3b4](https://github.com/ulixee/unblocked/commit/166d3b4e1db94c2665324c524dfc6390cd0e64ba)) + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-browser-emulator-builder diff --git a/browser-emulator-builder/data b/browser-emulator-builder/data index 8e4f9a485..18cc659ff 160000 --- a/browser-emulator-builder/data +++ b/browser-emulator-builder/data @@ -1 +1 @@ -Subproject commit 8e4f9a4857d253463ff5454417900af703f14718 +Subproject commit 18cc659ff6cc2609bf57a7ed488ea2eb61c68f1b diff --git a/browser-emulator-builder/lib/json-creators/WindowFraming.ts b/browser-emulator-builder/lib/json-creators/WindowFraming.ts index fef6f2152..3b277ab0d 100644 --- a/browser-emulator-builder/lib/json-creators/WindowFraming.ts +++ b/browser-emulator-builder/lib/json-creators/WindowFraming.ts @@ -13,7 +13,10 @@ export default class WindowFraming { this.browserId = config.browserId; for (const userAgentId of userAgentIds) { - const profile = BrowserProfiler.getProfile('browser-dom-environment', userAgentId); + const profile = BrowserProfiler.getProfile( + 'browser-dom-environment', + userAgentId, + ); const { operatingSystemId } = BrowserProfiler.extractMetaFromUserAgentId(userAgentId); const window = (profile.data as any).https.window; const screenGapTop = Number(window.screen.availTop._$value); @@ -32,6 +35,8 @@ export default class WindowFraming { screenGapBottom, frameBorderWidth, frameBorderHeight, + devicePixelRatio: window.devicePixelRatio._$value, + colorDepth: window.screen.colorDepth._$value, }; const minimumFraming = this.data || { ...framing }; @@ -81,4 +86,6 @@ interface IWindowFraming { screenGapBottom: number; frameBorderWidth: number; frameBorderHeight: number; + devicePixelRatio: number; + colorDepth: number; } diff --git a/browser-emulator-builder/package.json b/browser-emulator-builder/package.json index 982315fad..a3604fb56 100644 --- a/browser-emulator-builder/package.json +++ b/browser-emulator-builder/package.json @@ -1,31 +1,28 @@ { "name": "@ulixee/unblocked-browser-emulator-builder", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "private": true, "license": "MIT", "scripts": { "generate": "node ../build/browser-emulator-builder/scripts/generateEmulatorData" }, "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/analyze-http-basic-headers": "2.0.0-alpha.21", - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/collect-browser-codecs": "2.0.0-alpha.21", - "@double-agent/collect-browser-dom-environment": "2.0.0-alpha.21", - "@double-agent/collect-http-basic-headers": "2.0.0-alpha.21", - "@double-agent/collect-http2-session": "2.0.0-alpha.21", - "@double-agent/collect-tls-clienthello": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", - "@ulixee/unblocked-browser-profiler": "2.0.0-alpha.21", - "@ulixee/unblocked-browser-profiler-dom-bridger": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/analyze-http-basic-headers": "2.0.0-alpha.22", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/collect-browser-codecs": "2.0.0-alpha.22", + "@double-agent/collect-browser-dom-environment": "2.0.0-alpha.22", + "@double-agent/collect-http-basic-headers": "2.0.0-alpha.22", + "@double-agent/collect-http2-session": "2.0.0-alpha.22", + "@double-agent/collect-tls-clienthello": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", + "@ulixee/unblocked-browser-profiler": "2.0.0-alpha.22", + "@ulixee/unblocked-browser-profiler-dom-bridger": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "lodash": "^4.17.20" }, "devDependencies": { - "@ulixee/unblocked-agent-testing": "2.0.0-alpha.21" - }, - "engines": { - "node": ">=12.0.0" + "@ulixee/unblocked-agent-testing": "2.0.0-alpha.22" } } diff --git a/browser-profiler/dom-bridger/CHANGELOG.md b/browser-profiler/dom-bridger/CHANGELOG.md index 8ff7c86d0..fd3268604 100644 --- a/browser-profiler/dom-bridger/CHANGELOG.md +++ b/browser-profiler/dom-bridger/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/unblocked-browser-profiler-dom-bridger + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-browser-profiler-dom-bridger diff --git a/browser-profiler/dom-bridger/package.json b/browser-profiler/dom-bridger/package.json index b2cf066f2..4365f6506 100644 --- a/browser-profiler/dom-bridger/package.json +++ b/browser-profiler/dom-bridger/package.json @@ -1,6 +1,6 @@ { "name": "@ulixee/unblocked-browser-profiler-dom-bridger", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", @@ -10,9 +10,9 @@ "generate": "yarn generateRawMappings && yarn generatePathPatterns" }, "dependencies": { - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/unblocked-browser-profiler": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/unblocked-browser-profiler": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "lodash": "^4.17.20" } } diff --git a/browser-profiler/main/CHANGELOG.md b/browser-profiler/main/CHANGELOG.md index 49bc91cec..32335ed86 100644 --- a/browser-profiler/main/CHANGELOG.md +++ b/browser-profiler/main/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/unblocked-browser-profiler + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-browser-profiler diff --git a/browser-profiler/main/lib/BrowserStack.ts b/browser-profiler/main/lib/BrowserStack.ts index 27934c1a7..dee7c9b6c 100644 --- a/browser-profiler/main/lib/BrowserStack.ts +++ b/browser-profiler/main/lib/BrowserStack.ts @@ -107,11 +107,11 @@ const browserstackSettings = { projectName: 'Double Agent', }; -function getChromeOptions({ browser, browser_version }: IBrowserstackAgent): { +function getChromeOptions({ browser, browser_version: browserVersion }: IBrowserstackAgent): { args: string[]; excludeSwitches: string[]; } { - const [majorVersion] = browser_version.split('.').map(x => Number(x)); + const [majorVersion] = browserVersion.split('.').map(x => Number(x)); const args: string[] = [ '--disable-blink-features=AutomationControlled', '--disable-site-isolation-trials', @@ -129,9 +129,9 @@ function getChromeOptions({ browser, browser_version }: IBrowserstackAgent): { }; } -function shouldBypassSecurity({ os, os_version }): boolean { +function shouldBypassSecurity({ os, os_version: osVersion }): boolean { // El Capitan has a root cert issue that doesn't work with LetsEncrypt certs (says connection is not private) - if (os === 'OS X' && (os_version === 'El Capitan' || os_version === 'Yosemite')) { + if (os === 'OS X' && (osVersion === 'El Capitan' || osVersion === 'Yosemite')) { return true; } return false; @@ -139,42 +139,37 @@ function shouldBypassSecurity({ os, os_version }): boolean { function getSeleniumVersion({ browser, - browser_version, + browser_version: browserVersion, os, - os_version, + os_version: osVersion, }: IBrowserstackAgent): string { - const [majorVersion] = browser_version.split('.').map(x => Number(x)); + const [majorVersion] = browserVersion.split('.').map(x => Number(x)); if ( os === 'OS X' && - os_version === 'Snow Leopard' && + osVersion === 'Snow Leopard' && browser === 'Safari' && - browser_version === '5.1' + browserVersion === '5.1' ) { return '2.5'; } if ( os === 'OS X' && - os_version === 'Mountain Lion' && + osVersion === 'Mountain Lion' && browser === 'Safari' && - browser_version === '6.2' + browserVersion === '6.2' ) { return '3.5.2'; } - if (os === 'OS X' && os_version === 'Snow Leopard') { + if (os === 'OS X' && osVersion === 'Snow Leopard') { return '2.46.0'; } if (browser === 'Opera') { return '2.43.1'; } - if ( - browser === 'Firefox' && - browser_version === '4.0' && - os === 'OS X' && - os_version === 'Lion' - ) { + if (browser === 'Firefox' && browserVersion === '4.0' && os === 'OS X' && osVersion === 'Lion') { return '2.37.0'; } - if (browser === 'Firefox' && os_version === 'XP') { + if (browser === 'Firefox' && osVersion === 'XP') { return '2.53.1'; } if (browser === 'Firefox' && majorVersion < 45) { diff --git a/browser-profiler/main/lib/local-tooling/ChromeUtils.ts b/browser-profiler/main/lib/local-tooling/ChromeUtils.ts index fc4fa9d6d..2dabd9533 100644 --- a/browser-profiler/main/lib/local-tooling/ChromeUtils.ts +++ b/browser-profiler/main/lib/local-tooling/ChromeUtils.ts @@ -26,6 +26,7 @@ export async function startChromeAndLoadUrl( '--no-default-browser-check', '--no-first-run', '--use-mock-keychain', + '--disable-features=MediaRouter,DialMediaRouteProvider' // remove chrome window prompt ]; if (headType === 'headless') { if (majorVersion >= 109) { diff --git a/browser-profiler/main/package.json b/browser-profiler/main/package.json index ac4af3c3c..0e45ad873 100644 --- a/browser-profiler/main/package.json +++ b/browser-profiler/main/package.json @@ -1,6 +1,6 @@ { "name": "@ulixee/unblocked-browser-profiler", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", @@ -15,14 +15,14 @@ "profile:dom-local": "node -e 'require(\"../../build/browser-profiler/main/scripts/runLocalDoms.js\").default()'" }, "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@double-agent/runner": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@double-agent/runner": "2.0.0-alpha.22", "@types/selenium-webdriver": "^4.1.5", "@ulixee/chrome-app": "^1.0.3", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/double-agent-stacks": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/double-agent-stacks": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", "axios": "^0.27.2", "chrome-launcher": "^0.13.4", "chrome-remote-interface": "0.32.1", @@ -31,8 +31,5 @@ "node-fetch": "^2.6.1", "p-queue": "^6.3.0", "selenium-webdriver": "4.4.0" - }, - "engines": { - "node": ">=12.0.0" } } diff --git a/browser-profiler/main/scripts/cloneData.ts b/browser-profiler/main/scripts/cloneData.ts index 23fdeeaf6..c9f348b64 100644 --- a/browser-profiler/main/scripts/cloneData.ts +++ b/browser-profiler/main/scripts/cloneData.ts @@ -5,7 +5,7 @@ import BrowserData from '..'; const path = BrowserData.dataDir; if (!Fs.existsSync(path)) Fs.mkdirSync(path, { recursive: true }); -console.log('DOWNLOADING LOTS!! OF BROWSER PROFILE DATA.... sit tight!') +console.log('DOWNLOADING LOTS!! OF BROWSER PROFILE DATA.... sit tight!'); console.log(`git clone https://github.com/ulixee/browser-profile-data ${path}`); spawnSync('git clone https://github.com/ulixee/browser-profile-data .', { cwd: path, diff --git a/browser-profiler/main/scripts/runBrowserstack.ts b/browser-profiler/main/scripts/runBrowserstack.ts index 7d18705ed..c9a645792 100644 --- a/browser-profiler/main/scripts/runBrowserstack.ts +++ b/browser-profiler/main/scripts/runBrowserstack.ts @@ -61,7 +61,7 @@ export default async function runBrowserstack(): Promise { export function cleanProfiles(): void { const removePluginIds = process.argv[1]?.split(',')?.map(x => x.trim()) ?? []; - console.log('REMOVING plugin-ids', removePluginIds) + console.log('REMOVING plugin-ids', removePluginIds); // remove files of plugins we want to rerun, comment this out on subsequent runs if (removePluginIds.length) { BrowserProfiler.cleanPluginProfiles(removePluginIds); diff --git a/browser-profiler/main/scripts/runLocalDoms.ts b/browser-profiler/main/scripts/runLocalDoms.ts index 90f25e211..46a610198 100644 --- a/browser-profiler/main/scripts/runLocalDoms.ts +++ b/browser-profiler/main/scripts/runLocalDoms.ts @@ -1,6 +1,7 @@ import '@ulixee/commons/lib/SourceMapSupport'; import '../env'; // load our env before DA import '@double-agent/config/load'; +import { execSync } from 'child_process'; import { existsSync, promises as Fs, rmSync } from 'fs'; import * as Path from 'path'; import Axios from 'axios'; @@ -35,6 +36,7 @@ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; const defaultShouldRunDockers = Boolean(JSON.parse(process.env.RUN_DOCKERS ?? 'false')); const defaultShouldRunLocal = Boolean(JSON.parse(process.env.RUN_LOCAL ?? 'true')); +const defaultShouldCommit = Boolean(JSON.parse(process.env.COMMIT ?? 'false')); const baseDomsDir = Path.resolve(BrowserProfiler.profiledDoms, 'local'); const tmpDir = Path.resolve(BrowserProfiler.profiledDoms, '.tmp'); @@ -43,6 +45,7 @@ if (existsSync(tmpDir)) rmSync(tmpDir, { recursive: true }); export default async function runLocalDoms( shouldRunDockers = defaultShouldRunDockers, shouldRunLocal = defaultShouldRunLocal, + shouldCommit = defaultShouldCommit, ): Promise { const browserEngineOptions = await getStableChromeVersions(10); @@ -63,7 +66,12 @@ export default async function runLocalDoms( } // cleanup tmp dir - if (await existsAsync(tmpDir)) await Fs.rm(tmpDir, { recursive: true }); + // if (await existsAsync(tmpDir)) await Fs.rm(tmpDir, { recursive: true }); + if (shouldCommit) { + execSync(`git commit -am "chore(local-doms): generate profiles" && git push`, { + cwd: BrowserProfiler.dataDir, + }); + } } // HELPERS @@ -110,7 +118,7 @@ async function runDockerChromes( url, automationType, Config.runner.assignmentsHost?.includes('//localhost'), - Number(majorVersion) + Number(majorVersion), ); await isFinishedPromise; stopDocker(dockerName); @@ -150,7 +158,7 @@ async function runLocalChromes( if (!todoList.length) return; await installChrome(fullVersion); - const executablePath = await getChromeExecutablePath(fullVersion); + const executablePath = getChromeExecutablePath(fullVersion); console.log('USING ', executablePath); for (const { headType, automationType, folderName } of todoList) { @@ -161,7 +169,13 @@ async function runLocalChromes( const urls = extractDomAssignmentUrl(assignment); for (const url of urls) { const isFinishedPromise = waitUntilDomAssignmentFinishes(assignment, url); - await startChromeAndLoadUrl(executablePath, url, headType, automationType, Number(majorVersion)); + await startChromeAndLoadUrl( + executablePath, + url, + headType, + automationType, + Number(majorVersion), + ); await isFinishedPromise; await stopChrome(); } diff --git a/double-agent-stacks/CHANGELOG.md b/double-agent-stacks/CHANGELOG.md index 8eae7bc19..5b9fc1dbd 100644 --- a/double-agent-stacks/CHANGELOG.md +++ b/double-agent-stacks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/double-agent-stacks + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/double-agent-stacks diff --git a/double-agent-stacks/lib/BaseRunner.ts b/double-agent-stacks/lib/BaseRunner.ts index 157066a14..c0a833696 100644 --- a/double-agent-stacks/lib/BaseRunner.ts +++ b/double-agent-stacks/lib/BaseRunner.ts @@ -1,9 +1,9 @@ import { IRunner, IRunnerFilter } from '@double-agent/runner/interfaces/IRunnerFactory'; import IAssignment from '@double-agent/collect-controller/interfaces/IAssignment'; import ISessionPage from '@double-agent/collect/interfaces/ISessionPage'; -import ShutdownHandler from '@ulixee/commons/lib/ShutdownHandler' +import ShutdownHandler from '@ulixee/commons/lib/ShutdownHandler'; -let isShuttingDown = false +let isShuttingDown = false; ShutdownHandler.register(() => { isShuttingDown = true; }); diff --git a/double-agent-stacks/package.json b/double-agent-stacks/package.json index 86ac9e6bf..a533cd429 100644 --- a/double-agent-stacks/package.json +++ b/double-agent-stacks/package.json @@ -1,6 +1,6 @@ { "name": "@ulixee/double-agent-stacks", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "private": true, "scripts": { "0": "cd ../build/double-agent-stacks && yarn 0", @@ -14,15 +14,15 @@ "3-puppeteer": "cd ../build/double-agent-stacks && yarn 3-puppeteer" }, "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/collect-controller": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@double-agent/runner": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/default-browser-emulator": "2.0.0-alpha.21", - "@ulixee/default-human-emulator": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", - "@ulixee/unblocked-agent": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/collect-controller": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@double-agent/runner": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/default-browser-emulator": "2.0.0-alpha.22", + "@ulixee/default-human-emulator": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", + "@ulixee/unblocked-agent": "2.0.0-alpha.22", "commander": "^9.2.0", "puppeteer": "17.1.3", "selenium-webdriver": "4.4.0" diff --git a/double-agent/analyze/CHANGELOG.md b/double-agent/analyze/CHANGELOG.md index 355cd93af..63e9c421c 100644 --- a/double-agent/analyze/CHANGELOG.md +++ b/double-agent/analyze/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze diff --git a/double-agent/analyze/package.json b/double-agent/analyze/package.json index 15785432d..13323a07a 100644 --- a/double-agent/analyze/package.json +++ b/double-agent/analyze/package.json @@ -1,6 +1,6 @@ { "name": "@double-agent/analyze", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "private": true, "main": "index.js", "license": "MIT", @@ -8,10 +8,10 @@ "initialize": "node initialize.js" }, "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", "humanize-string": "^2.1.0", "initialism": "^1.0.2", "lodash": "^4.17.21", diff --git a/double-agent/analyze/plugins/browser-codecs/CHANGELOG.md b/double-agent/analyze/plugins/browser-codecs/CHANGELOG.md index ea277ca02..013656545 100644 --- a/double-agent/analyze/plugins/browser-codecs/CHANGELOG.md +++ b/double-agent/analyze/plugins/browser-codecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-browser-codecs + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-browser-codecs diff --git a/double-agent/analyze/plugins/browser-codecs/package.json b/double-agent/analyze/plugins/browser-codecs/package.json index 3a734a495..a4afe42b7 100644 --- a/double-agent/analyze/plugins/browser-codecs/package.json +++ b/double-agent/analyze/plugins/browser-codecs/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-browser-codecs", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes that the audio, video and WebRTC codecs match the given user agent", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-browser-codecs": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-browser-codecs": "2.0.0-alpha.22", "csv-parse": "^4.8.5", "source-map-support": "^0.5.16" } diff --git a/double-agent/analyze/plugins/browser-dom-environment/CHANGELOG.md b/double-agent/analyze/plugins/browser-dom-environment/CHANGELOG.md index 1e8b7e243..060b5b7ec 100644 --- a/double-agent/analyze/plugins/browser-dom-environment/CHANGELOG.md +++ b/double-agent/analyze/plugins/browser-dom-environment/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-browser-dom-environment + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-browser-dom-environment diff --git a/double-agent/analyze/plugins/browser-dom-environment/package.json b/double-agent/analyze/plugins/browser-dom-environment/package.json index 7756b11c6..2c6dc7d5a 100644 --- a/double-agent/analyze/plugins/browser-dom-environment/package.json +++ b/double-agent/analyze/plugins/browser-dom-environment/package.json @@ -1,15 +1,15 @@ { "name": "@double-agent/analyze-browser-dom-environment", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes the DOM environment, such as functionality and object structure, match the given user-agent", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/collect-browser-dom-environment": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/collect-browser-dom-environment": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", "csv-parse": "^4.8.5", "source-map-support": "^0.5.16" } diff --git a/double-agent/analyze/plugins/browser-fingerprints/CHANGELOG.md b/double-agent/analyze/plugins/browser-fingerprints/CHANGELOG.md index 15ab6e122..f8f5467a6 100644 --- a/double-agent/analyze/plugins/browser-fingerprints/CHANGELOG.md +++ b/double-agent/analyze/plugins/browser-fingerprints/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-browser-fingerprints + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-browser-fingerprints diff --git a/double-agent/analyze/plugins/browser-fingerprints/package.json b/double-agent/analyze/plugins/browser-fingerprints/package.json index 42d7d3990..fa9f17afa 100644 --- a/double-agent/analyze/plugins/browser-fingerprints/package.json +++ b/double-agent/analyze/plugins/browser-fingerprints/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-browser-fingerprints", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes whether the browser's fingerprints leak across sessions", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-browser-fingerprints": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-browser-fingerprints": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/http-assets/CHANGELOG.md b/double-agent/analyze/plugins/http-assets/CHANGELOG.md index ebda7b34e..5db091723 100644 --- a/double-agent/analyze/plugins/http-assets/CHANGELOG.md +++ b/double-agent/analyze/plugins/http-assets/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-http-assets + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-http-assets diff --git a/double-agent/analyze/plugins/http-assets/package.json b/double-agent/analyze/plugins/http-assets/package.json index bbcaec410..6425b734c 100644 --- a/double-agent/analyze/plugins/http-assets/package.json +++ b/double-agent/analyze/plugins/http-assets/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-http-assets", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes http header order, capitalization and default values for common document assets (images, fonts, media, scripts, stylesheet, etc)", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-http-assets": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-http-assets": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/http-basic-cookies/CHANGELOG.md b/double-agent/analyze/plugins/http-basic-cookies/CHANGELOG.md index d33a52fa9..7bbeca7e6 100644 --- a/double-agent/analyze/plugins/http-basic-cookies/CHANGELOG.md +++ b/double-agent/analyze/plugins/http-basic-cookies/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-http-basic-cookies + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-http-basic-cookies diff --git a/double-agent/analyze/plugins/http-basic-cookies/package.json b/double-agent/analyze/plugins/http-basic-cookies/package.json index 1bf69298c..7648e8ccc 100644 --- a/double-agent/analyze/plugins/http-basic-cookies/package.json +++ b/double-agent/analyze/plugins/http-basic-cookies/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-http-basic-cookies", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes whether cookies are enabled correctly, including same-site and secure", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-http-basic-cookies": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-http-basic-cookies": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/http-basic-headers/CHANGELOG.md b/double-agent/analyze/plugins/http-basic-headers/CHANGELOG.md index 894c14b3a..314ae01c3 100644 --- a/double-agent/analyze/plugins/http-basic-headers/CHANGELOG.md +++ b/double-agent/analyze/plugins/http-basic-headers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-http-basic-headers + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-http-basic-headers diff --git a/double-agent/analyze/plugins/http-basic-headers/package.json b/double-agent/analyze/plugins/http-basic-headers/package.json index ff665dac1..dc7d24e96 100644 --- a/double-agent/analyze/plugins/http-basic-headers/package.json +++ b/double-agent/analyze/plugins/http-basic-headers/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-http-basic-headers", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes header order, capitalization and default values", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-http-basic-headers": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-http-basic-headers": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/http-websockets/CHANGELOG.md b/double-agent/analyze/plugins/http-websockets/CHANGELOG.md index ed6ceedce..85fc7405a 100644 --- a/double-agent/analyze/plugins/http-websockets/CHANGELOG.md +++ b/double-agent/analyze/plugins/http-websockets/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-http-websockets + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-http-websockets diff --git a/double-agent/analyze/plugins/http-websockets/package.json b/double-agent/analyze/plugins/http-websockets/package.json index a131a74fd..47c23a005 100644 --- a/double-agent/analyze/plugins/http-websockets/package.json +++ b/double-agent/analyze/plugins/http-websockets/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-http-websockets", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes websocket upgrade request header order, capitalization and default values", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-http-websockets": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-http-websockets": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/http-xhr/CHANGELOG.md b/double-agent/analyze/plugins/http-xhr/CHANGELOG.md index 0d0526885..d30e34214 100644 --- a/double-agent/analyze/plugins/http-xhr/CHANGELOG.md +++ b/double-agent/analyze/plugins/http-xhr/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-http-xhr + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-http-xhr diff --git a/double-agent/analyze/plugins/http-xhr/package.json b/double-agent/analyze/plugins/http-xhr/package.json index 673caf486..474fe1feb 100644 --- a/double-agent/analyze/plugins/http-xhr/package.json +++ b/double-agent/analyze/plugins/http-xhr/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-http-xhr", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes header order, capitalization and default values of XHR requests", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-http-basic-headers": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-http-basic-headers": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/http2-session/CHANGELOG.md b/double-agent/analyze/plugins/http2-session/CHANGELOG.md index 0c68617b2..5ff4721dc 100644 --- a/double-agent/analyze/plugins/http2-session/CHANGELOG.md +++ b/double-agent/analyze/plugins/http2-session/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-http2-session + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-http2-session diff --git a/double-agent/analyze/plugins/http2-session/package.json b/double-agent/analyze/plugins/http2-session/package.json index a13ea620e..10326bbe6 100644 --- a/double-agent/analyze/plugins/http2-session/package.json +++ b/double-agent/analyze/plugins/http2-session/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/analyze-http2-session", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes http2 session settings and frames", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-http2-session": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-http2-session": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/tcp/CHANGELOG.md b/double-agent/analyze/plugins/tcp/CHANGELOG.md index 37a9ca600..86c3ad3fd 100644 --- a/double-agent/analyze/plugins/tcp/CHANGELOG.md +++ b/double-agent/analyze/plugins/tcp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-tcp-ttl + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-tcp-ttl diff --git a/double-agent/analyze/plugins/tcp/package.json b/double-agent/analyze/plugins/tcp/package.json index 4542ba3cf..4951ba19d 100644 --- a/double-agent/analyze/plugins/tcp/package.json +++ b/double-agent/analyze/plugins/tcp/package.json @@ -1,16 +1,16 @@ { "name": "@double-agent/analyze-tcp-ttl", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes tcp packet values, including window-size and time-to-live", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/collect-tcp": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/collect-tcp": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/analyze/plugins/tls-clienthello/CHANGELOG.md b/double-agent/analyze/plugins/tls-clienthello/CHANGELOG.md index 5ab683ea7..417dc08c5 100644 --- a/double-agent/analyze/plugins/tls-clienthello/CHANGELOG.md +++ b/double-agent/analyze/plugins/tls-clienthello/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/analyze-tls-clienthello + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/analyze-tls-clienthello diff --git a/double-agent/analyze/plugins/tls-clienthello/package.json b/double-agent/analyze/plugins/tls-clienthello/package.json index e725d5e93..7f2aa5a35 100644 --- a/double-agent/analyze/plugins/tls-clienthello/package.json +++ b/double-agent/analyze/plugins/tls-clienthello/package.json @@ -1,14 +1,14 @@ { "name": "@double-agent/analyze-tls-clienthello", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Analyzes clienthello handshake signatures, including ciphers, extensions and version", "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect-tls-clienthello": "2.0.0-alpha.21", - "@double-agent/tls-server": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect-tls-clienthello": "2.0.0-alpha.22", + "@double-agent/tls-server": "2.0.0-alpha.22", "source-map-support": "^0.5.16" } } diff --git a/double-agent/collect-controller/CHANGELOG.md b/double-agent/collect-controller/CHANGELOG.md index 6102a4265..870353a3f 100644 --- a/double-agent/collect-controller/CHANGELOG.md +++ b/double-agent/collect-controller/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-controller + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-controller diff --git a/double-agent/collect-controller/lib/Server.ts b/double-agent/collect-controller/lib/Server.ts index 7bb7f2e10..d21f5da79 100644 --- a/double-agent/collect-controller/lib/Server.ts +++ b/double-agent/collect-controller/lib/Server.ts @@ -1,17 +1,17 @@ -import * as url from 'url'; -import { createReadStream, createWriteStream, existsSync, promises as Fs, rmSync } from 'fs'; -import * as Path from 'path'; -import * as http from 'http'; -import { pathToRegexp } from 'path-to-regexp'; import Collect from '@double-agent/collect'; import Plugin from '@double-agent/collect/lib/Plugin'; import IUserAgentToTest from '@double-agent/config/interfaces/IUserAgentToTest'; -import { createGzip } from 'zlib'; +import { createWriteStream, existsSync, promises as Fs, rmSync } from 'fs'; +import * as http from 'http'; +import * as Tar from 'tar'; +import * as Path from 'path'; +import { pathToRegexp } from 'path-to-regexp'; import { PassThrough } from 'stream'; -import archiver = require('archiver'); +import * as url from 'url'; +import { createGzip } from 'zlib'; import IAssignment, { AssignmentType } from '../interfaces/IAssignment'; -import buildAssignment from './buildAssignment'; import buildAllAssignments from './buildAllAssignments'; +import buildAssignment from './buildAssignment'; interface IRequestParams { userId: string; @@ -384,15 +384,18 @@ function extractAssignmentProfilesDir(activeScraper: IActiveUser, assignment: IA } async function pipeDirToStream(dirPath: string, stream: any): Promise { - const archive = archiver('zip', { gzip: true, zlib: { level: 9 } }); - if (await existsAsync(dirPath)) { - const fileNames = await Fs.readdir(dirPath); - for (const fileName of fileNames) { - archive.append(createReadStream(`${dirPath}/${fileName}`), { name: fileName }); - } - } - archive.pipe(stream); - const isFinished = new Promise(resolve => archive.on('close', resolve)); - await archive.finalize(); - await isFinished; + await new Promise(async (resolve, reject) => { + Tar.create( + { + gzip: true, + cwd: dirPath, + portable: true, + filter: path => !path.startsWith('.'), + }, + await Fs.readdir(dirPath), + ) + .pipe(stream) + .on('error', reject) + .on('finish', resolve); + }); } diff --git a/double-agent/collect-controller/package.json b/double-agent/collect-controller/package.json index 17d7c25c9..002b82ffe 100644 --- a/double-agent/collect-controller/package.json +++ b/double-agent/collect-controller/package.json @@ -1,15 +1,14 @@ { "name": "@double-agent/collect-controller", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", - "archiver": "^5.3.1", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", "axios": "^0.21.1", "cookie": "^0.4.0", "diff": "^4.0.2", @@ -18,12 +17,14 @@ "p-queue": "^6.2.1", "path-to-regexp": "^6.1.0", "source-map-support": "^0.5.16", + "tar": "^6.1.15", "ws": "^7.4.6" }, "devDependencies": { "@types/archiver": "^5.3.1", "@types/cookie": "^0.3.3", "@types/diff": "^4.0.2", + "@types/tar": "^6.1.5", "@types/uuid": "^7.0.2", "@types/ws": "^7.2.2" } diff --git a/double-agent/collect/CHANGELOG.md b/double-agent/collect/CHANGELOG.md index 0138abe97..cbc64a2fd 100644 --- a/double-agent/collect/CHANGELOG.md +++ b/double-agent/collect/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect diff --git a/double-agent/collect/lib/createWebsocketHandler.ts b/double-agent/collect/lib/createWebsocketHandler.ts index dd6953047..93705263a 100644 --- a/double-agent/collect/lib/createWebsocketHandler.ts +++ b/double-agent/collect/lib/createWebsocketHandler.ts @@ -1,5 +1,5 @@ import * as http from 'http'; -import * as WebSocket from 'ws'; +import WebSocket = require('ws'); import * as net from 'net'; import ResourceType from '../interfaces/ResourceType'; import extractRequestDetails from './extractRequestDetails'; diff --git a/double-agent/collect/package.json b/double-agent/collect/package.json index e6a5f6d56..07b9e1e18 100644 --- a/double-agent/collect/package.json +++ b/double-agent/collect/package.json @@ -1,14 +1,14 @@ { "name": "@double-agent/collect", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "dependencies": { - "@double-agent/collect-controller": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@double-agent/tls-server": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", + "@double-agent/collect-controller": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@double-agent/tls-server": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", "axios": "^0.21.1", "cookie": "^0.4.0", "diff": "^4.0.2", diff --git a/double-agent/collect/plugins/browser-codecs/CHANGELOG.md b/double-agent/collect/plugins/browser-codecs/CHANGELOG.md index ba16a52c1..38708030e 100644 --- a/double-agent/collect/plugins/browser-codecs/CHANGELOG.md +++ b/double-agent/collect/plugins/browser-codecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-browser-codecs + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-browser-codecs diff --git a/double-agent/collect/plugins/browser-codecs/codecPageScript.ts b/double-agent/collect/plugins/browser-codecs/codecPageScript.ts index aac4c9794..631e7f48a 100644 --- a/double-agent/collect/plugins/browser-codecs/codecPageScript.ts +++ b/double-agent/collect/plugins/browser-codecs/codecPageScript.ts @@ -1,4 +1,4 @@ -import * as csv from 'csv-parse/lib/sync'; +import csv = require('csv-parse/lib/sync'); import { readFileSync } from 'fs'; import IRequestContext from '@double-agent/collect/interfaces/IRequestContext'; diff --git a/double-agent/collect/plugins/browser-codecs/package.json b/double-agent/collect/plugins/browser-codecs/package.json index 70d8ad5f8..2ff1e9f1e 100644 --- a/double-agent/collect/plugins/browser-codecs/package.json +++ b/double-agent/collect/plugins/browser-codecs/package.json @@ -1,12 +1,12 @@ { "name": "@double-agent/collect-browser-codecs", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects the audio, video and WebRTC codecs of the browser", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", "csv-parse": "^4.8.5", "source-map-support": "^0.5.16" } diff --git a/double-agent/collect/plugins/browser-dom-environment/CHANGELOG.md b/double-agent/collect/plugins/browser-dom-environment/CHANGELOG.md index 2595ee3d9..707b1c510 100644 --- a/double-agent/collect/plugins/browser-dom-environment/CHANGELOG.md +++ b/double-agent/collect/plugins/browser-dom-environment/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-browser-dom-environment + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-browser-dom-environment diff --git a/double-agent/collect/plugins/browser-dom-environment/package.json b/double-agent/collect/plugins/browser-dom-environment/package.json index 47b279789..ede0df863 100644 --- a/double-agent/collect/plugins/browser-dom-environment/package.json +++ b/double-agent/collect/plugins/browser-dom-environment/package.json @@ -1,12 +1,12 @@ { "name": "@double-agent/collect-browser-dom-environment", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "scripts": {}, "description": "Collects the browser's DOM environment such as object structure, class inheritance amd key order", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21" + "@double-agent/collect": "2.0.0-alpha.22" } } diff --git a/double-agent/collect/plugins/browser-fingerprints/CHANGELOG.md b/double-agent/collect/plugins/browser-fingerprints/CHANGELOG.md index 139676d6c..d24ddfe28 100644 --- a/double-agent/collect/plugins/browser-fingerprints/CHANGELOG.md +++ b/double-agent/collect/plugins/browser-fingerprints/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-browser-fingerprints + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-browser-fingerprints diff --git a/double-agent/collect/plugins/browser-fingerprints/package.json b/double-agent/collect/plugins/browser-fingerprints/package.json index 79d69ac67..02514ad26 100644 --- a/double-agent/collect/plugins/browser-fingerprints/package.json +++ b/double-agent/collect/plugins/browser-fingerprints/package.json @@ -1,6 +1,6 @@ { "name": "@double-agent/collect-browser-fingerprints", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", @@ -13,7 +13,7 @@ "prod": "GENERATE_PROFILES=1 PORT=3001 DOMAIN=a1.ulixee.org node index.js" }, "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", "cookie": "^0.4.0", "fingerprintjs2": "^2.1.0" } diff --git a/double-agent/collect/plugins/browser-fonts/CHANGELOG.md b/double-agent/collect/plugins/browser-fonts/CHANGELOG.md index 82044d450..05e5639f1 100644 --- a/double-agent/collect/plugins/browser-fonts/CHANGELOG.md +++ b/double-agent/collect/plugins/browser-fonts/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-browser-fonts + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-browser-fonts diff --git a/double-agent/collect/plugins/browser-fonts/package.json b/double-agent/collect/plugins/browser-fonts/package.json index 211357114..bc2b90dd4 100644 --- a/double-agent/collect/plugins/browser-fonts/package.json +++ b/double-agent/collect/plugins/browser-fonts/package.json @@ -1,6 +1,6 @@ { "name": "@double-agent/collect-browser-fonts", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", @@ -12,6 +12,6 @@ "analyze": "node -e 'require(\"./lib/FontProfile\").analyze()'" }, "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21" + "@double-agent/collect": "2.0.0-alpha.22" } } diff --git a/double-agent/collect/plugins/browser-speech/CHANGELOG.md b/double-agent/collect/plugins/browser-speech/CHANGELOG.md index 8b9b164a0..575e7f422 100644 --- a/double-agent/collect/plugins/browser-speech/CHANGELOG.md +++ b/double-agent/collect/plugins/browser-speech/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-browser-speech + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-browser-speech diff --git a/double-agent/collect/plugins/browser-speech/package.json b/double-agent/collect/plugins/browser-speech/package.json index 3a74c4713..643034b9b 100644 --- a/double-agent/collect/plugins/browser-speech/package.json +++ b/double-agent/collect/plugins/browser-speech/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-browser-speech", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects browser speech synthesis voices", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21" + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22" }, "devDependencies": { "@types/diff": "^4.0.2" diff --git a/double-agent/collect/plugins/http-assets/CHANGELOG.md b/double-agent/collect/plugins/http-assets/CHANGELOG.md index d8b1411db..e8860587f 100644 --- a/double-agent/collect/plugins/http-assets/CHANGELOG.md +++ b/double-agent/collect/plugins/http-assets/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http-assets + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http-assets diff --git a/double-agent/collect/plugins/http-assets/package.json b/double-agent/collect/plugins/http-assets/package.json index 516327a5f..1b0506214 100644 --- a/double-agent/collect/plugins/http-assets/package.json +++ b/double-agent/collect/plugins/http-assets/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-http-assets", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects the headers used when loading assets such as css, js, and images in a browser", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", "axios": "^0.21.1", "diff": "^4.0.2", "source-map-support": "^0.5.16", diff --git a/double-agent/collect/plugins/http-basic-cookies/CHANGELOG.md b/double-agent/collect/plugins/http-basic-cookies/CHANGELOG.md index e739adbf2..7ced3b983 100644 --- a/double-agent/collect/plugins/http-basic-cookies/CHANGELOG.md +++ b/double-agent/collect/plugins/http-basic-cookies/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http-basic-cookies + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http-basic-cookies diff --git a/double-agent/collect/plugins/http-basic-cookies/package.json b/double-agent/collect/plugins/http-basic-cookies/package.json index f82c5b266..42849857e 100644 --- a/double-agent/collect/plugins/http-basic-cookies/package.json +++ b/double-agent/collect/plugins/http-basic-cookies/package.json @@ -1,14 +1,14 @@ { "name": "@double-agent/collect-http-basic-cookies", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects a wide range of cookies configuration options and whether they're settable/gettable", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", "cookie": "^0.4.0", "diff": "^4.0.2", "source-map-support": "^0.5.16", diff --git a/double-agent/collect/plugins/http-basic-headers/CHANGELOG.md b/double-agent/collect/plugins/http-basic-headers/CHANGELOG.md index 84040977c..40a3ac376 100644 --- a/double-agent/collect/plugins/http-basic-headers/CHANGELOG.md +++ b/double-agent/collect/plugins/http-basic-headers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http-basic-headers + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http-basic-headers diff --git a/double-agent/collect/plugins/http-basic-headers/package.json b/double-agent/collect/plugins/http-basic-headers/package.json index 8a552972c..4f6074f56 100644 --- a/double-agent/collect/plugins/http-basic-headers/package.json +++ b/double-agent/collect/plugins/http-basic-headers/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-http-basic-headers", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects the headers sent by browser when requesting documents in various contexts", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", "diff": "^4.0.2", "source-map-support": "^0.5.16", "uuid": "^7.0.2", diff --git a/double-agent/collect/plugins/http-ua-hints/CHANGELOG.md b/double-agent/collect/plugins/http-ua-hints/CHANGELOG.md index 423fa3b86..951960608 100644 --- a/double-agent/collect/plugins/http-ua-hints/CHANGELOG.md +++ b/double-agent/collect/plugins/http-ua-hints/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http-ua-hints + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http-ua-hints diff --git a/double-agent/collect/plugins/http-ua-hints/package.json b/double-agent/collect/plugins/http-ua-hints/package.json index 5be0e787b..bf5255199 100644 --- a/double-agent/collect/plugins/http-ua-hints/package.json +++ b/double-agent/collect/plugins/http-ua-hints/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-http-ua-hints", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects User Agent hints for a browser", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21" + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22" }, "devDependencies": { "@types/diff": "^4.0.2" diff --git a/double-agent/collect/plugins/http-websockets/CHANGELOG.md b/double-agent/collect/plugins/http-websockets/CHANGELOG.md index f5b8f23bb..1e185457c 100644 --- a/double-agent/collect/plugins/http-websockets/CHANGELOG.md +++ b/double-agent/collect/plugins/http-websockets/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http-websockets + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http-websockets diff --git a/double-agent/collect/plugins/http-websockets/package.json b/double-agent/collect/plugins/http-websockets/package.json index b4dc33577..15fc9e8df 100644 --- a/double-agent/collect/plugins/http-websockets/package.json +++ b/double-agent/collect/plugins/http-websockets/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-http-websockets", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects the headers used when initializing and facilitating web sockets", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", "axios": "^0.21.1", "diff": "^4.0.2", "source-map-support": "^0.5.16", diff --git a/double-agent/collect/plugins/http-xhr/CHANGELOG.md b/double-agent/collect/plugins/http-xhr/CHANGELOG.md index 844ebd3a7..ad1d1906e 100644 --- a/double-agent/collect/plugins/http-xhr/CHANGELOG.md +++ b/double-agent/collect/plugins/http-xhr/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http-xhr + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http-xhr diff --git a/double-agent/collect/plugins/http-xhr/package.json b/double-agent/collect/plugins/http-xhr/package.json index 488300af8..05ebc51fb 100644 --- a/double-agent/collect/plugins/http-xhr/package.json +++ b/double-agent/collect/plugins/http-xhr/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-http-xhr", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects the headers used by browsers when facilitating XHR requests", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", "axios": "^0.21.1", "diff": "^4.0.2", "source-map-support": "^0.5.16", diff --git a/double-agent/collect/plugins/http2-session/CHANGELOG.md b/double-agent/collect/plugins/http2-session/CHANGELOG.md index 434c0d06e..2b04658ee 100644 --- a/double-agent/collect/plugins/http2-session/CHANGELOG.md +++ b/double-agent/collect/plugins/http2-session/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-http2-session + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-http2-session diff --git a/double-agent/collect/plugins/http2-session/package.json b/double-agent/collect/plugins/http2-session/package.json index 566634fb1..40d5dd211 100644 --- a/double-agent/collect/plugins/http2-session/package.json +++ b/double-agent/collect/plugins/http2-session/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-http2-session", "disabled": false, - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects the settings, pings and frames sent across by a browser http2 client", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21" + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22" } } diff --git a/double-agent/collect/plugins/tcp/CHANGELOG.md b/double-agent/collect/plugins/tcp/CHANGELOG.md index c95ecc9fb..4a3ff9b7b 100644 --- a/double-agent/collect/plugins/tcp/CHANGELOG.md +++ b/double-agent/collect/plugins/tcp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-tcp + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-tcp diff --git a/double-agent/collect/plugins/tcp/package.json b/double-agent/collect/plugins/tcp/package.json index c4f531493..3c2b78755 100644 --- a/double-agent/collect/plugins/tcp/package.json +++ b/double-agent/collect/plugins/tcp/package.json @@ -1,13 +1,13 @@ { "name": "@double-agent/collect-tcp", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "description": "Collects tcp packet values such as window-size and time-to-live", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", "source-map-support": "^0.5.16" }, "optionalDependencies": { diff --git a/double-agent/collect/plugins/tls-clienthello/CHANGELOG.md b/double-agent/collect/plugins/tls-clienthello/CHANGELOG.md index ce25aaddb..106eae16e 100644 --- a/double-agent/collect/plugins/tls-clienthello/CHANGELOG.md +++ b/double-agent/collect/plugins/tls-clienthello/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/collect-tls-clienthello + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/collect-tls-clienthello diff --git a/double-agent/collect/plugins/tls-clienthello/package.json b/double-agent/collect/plugins/tls-clienthello/package.json index 4c1548f70..e6adf125a 100644 --- a/double-agent/collect/plugins/tls-clienthello/package.json +++ b/double-agent/collect/plugins/tls-clienthello/package.json @@ -1,14 +1,14 @@ { "name": "@double-agent/collect-tls-clienthello", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "index.js", "private": true, "license": "MIT", "scripts": {}, "description": "Collects the TLS clienthello handshake when initiating a secure connection", "dependencies": { - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@double-agent/tls-server": "2.0.0-alpha.21" + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@double-agent/tls-server": "2.0.0-alpha.22" } } diff --git a/double-agent/config/CHANGELOG.md b/double-agent/config/CHANGELOG.md index bc0442baa..4d088c136 100644 --- a/double-agent/config/CHANGELOG.md +++ b/double-agent/config/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/config + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/config diff --git a/double-agent/config/package.json b/double-agent/config/package.json index 65aea4abf..a40cd74e4 100644 --- a/double-agent/config/package.json +++ b/double-agent/config/package.json @@ -1,12 +1,12 @@ { "name": "@double-agent/config", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "license": "MIT", "private": true, "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21" + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22" } } diff --git a/double-agent/docs/CHANGELOG.md b/double-agent/docs/CHANGELOG.md index f1db96d8b..9e3a3a458 100644 --- a/double-agent/docs/CHANGELOG.md +++ b/double-agent/docs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/docs + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/docs diff --git a/double-agent/docs/package.json b/double-agent/docs/package.json index a85087443..b793d2756 100644 --- a/double-agent/docs/package.json +++ b/double-agent/docs/package.json @@ -1,6 +1,6 @@ { "name": "@double-agent/docs", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "main": "generator/index.js", "private": true, "license": "MIT", @@ -8,7 +8,7 @@ "start": "node generator/index.js" }, "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect": "2.0.0-alpha.21" + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect": "2.0.0-alpha.22" } } diff --git a/double-agent/package.json b/double-agent/package.json index e10cf7efb..2bcf55bdc 100644 --- a/double-agent/package.json +++ b/double-agent/package.json @@ -5,7 +5,7 @@ "description": "Double agent is a detection system for when an http request or browser interaction is not the user agent it says it is", "scripts": { "tsc": "tsc -b -i && ulx-repo-after-build && ulx-repo-adjust-paths && node alsoCopy.js", - "build": "yarn tsc && cd build && yarn workspace @double-agent/config sync", + "build": "yarn tsc && cd build && yarn && yarn workspace @double-agent/config sync", "watch": "yarn tsc && tsc -b -w", "clean": "tsc -b --clean", "docs": "node build/docs/generator", @@ -13,8 +13,8 @@ "prod": "cd build && yarn workspace @double-agent/collect-controller prod" }, "devDependencies": { - "@ulixee/repo-tools": "^1.0.22", - "typescript": "^4.7.3" + "@ulixee/repo-tools": "^1.0.26", + "typescript": "^5.0.4" }, "workspaces": { "packages": [ diff --git a/double-agent/runner/CHANGELOG.md b/double-agent/runner/CHANGELOG.md index 51cdb420f..eb7f2ae61 100644 --- a/double-agent/runner/CHANGELOG.md +++ b/double-agent/runner/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/runner + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/runner diff --git a/double-agent/runner/lib/AssignmentsClient.ts b/double-agent/runner/lib/AssignmentsClient.ts index 9f5e40475..53b23a3ed 100644 --- a/double-agent/runner/lib/AssignmentsClient.ts +++ b/double-agent/runner/lib/AssignmentsClient.ts @@ -1,11 +1,10 @@ -import fetch from 'node-fetch'; import IAssignment from '@double-agent/collect-controller/interfaces/IAssignment'; import Config from '@double-agent/config'; +import { promises as Fs } from 'fs'; +import fetch from 'node-fetch'; import * as qs from 'querystring'; import { Stream } from 'stream'; -import * as unzipper from 'unzipper'; -import { existsAsync } from '@ulixee/commons/lib/fileUtils'; -import { promises as Fs } from 'fs'; +import * as Tar from 'tar'; export { IAssignment }; @@ -21,23 +20,36 @@ export default class AssignmentsClient { userId: this.userId, }); - if (!(await existsAsync(filesDir))) await Fs.mkdir(filesDir, { recursive: true }); - - await new Promise((resolve) => { - filesStream.pipe(unzipper.Extract({ path: filesDir })).on('finish', resolve); + await Fs.mkdir(filesDir, { recursive: true }).catch(() => null); + await new Promise((resolve, reject) => { + filesStream + .pipe( + Tar.extract({ + cwd: filesDir, + preserveOwner: false, + }), + ) + .on('finish', resolve) + .on('error', reject); }); - await new Promise((resolve) => setTimeout(resolve, 100)); } async downloadAll(filesDir: string): Promise { const filesStream = await this.get(`/download`, { userId: this.userId }); - if (!(await existsAsync(filesDir))) await Fs.mkdir(filesDir, { recursive: true }); - - await new Promise((resolve) => { - filesStream.pipe(unzipper.Extract({ path: filesDir })).on('finish', resolve); + await Fs.mkdir(filesDir, { recursive: true }).catch(() => null); + + await new Promise((resolve, reject) => { + filesStream + .pipe( + Tar.extract({ + cwd: filesDir, + preserveOwner: false, + }), + ) + .on('finish', resolve) + .on('error', reject); }); - await new Promise((resolve) => setTimeout(resolve, 100)); } async activate(assignmentId: string): Promise { diff --git a/double-agent/runner/package.json b/double-agent/runner/package.json index bdebbbe28..37c64d090 100644 --- a/double-agent/runner/package.json +++ b/double-agent/runner/package.json @@ -1,18 +1,18 @@ { "name": "@double-agent/runner", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "private": true, "dependencies": { - "@double-agent/analyze": "2.0.0-alpha.21", - "@double-agent/collect": "2.0.0-alpha.21", - "@double-agent/collect-controller": "2.0.0-alpha.21", - "@double-agent/config": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", + "@double-agent/analyze": "2.0.0-alpha.22", + "@double-agent/collect": "2.0.0-alpha.22", + "@double-agent/collect-controller": "2.0.0-alpha.22", + "@double-agent/config": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", "commander": "^9.0.0", "node-fetch": "^2.6.1", "p-queue": "^6.6.2", - "unzipper": "^0.10.11" + "tar": "^6.1.15" }, "devDependencies": { "@types/unzipper": "^0.10.5" diff --git a/double-agent/tls-server/CHANGELOG.md b/double-agent/tls-server/CHANGELOG.md index 7f475e4f7..dcc5de1e7 100644 --- a/double-agent/tls-server/CHANGELOG.md +++ b/double-agent/tls-server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @double-agent/tls-server + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @double-agent/tls-server diff --git a/double-agent/tls-server/package.json b/double-agent/tls-server/package.json index ce7d5e7ef..1c9573d33 100644 --- a/double-agent/tls-server/package.json +++ b/double-agent/tls-server/package.json @@ -1,12 +1,12 @@ { "name": "@double-agent/tls-server", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "private": true, "main": "index.js", "license": "MIT", "description": "TLS server for capturing clienthello", "dependencies": { - "@double-agent/config": "2.0.0-alpha.21", - "@ulixee/commons": "2.0.0-alpha.21" + "@double-agent/config": "2.0.0-alpha.22", + "@ulixee/commons": "2.0.0-alpha.22" } } diff --git a/double-agent/yarn.lock b/double-agent/yarn.lock index a01982dc0..58674dc56 100644 --- a/double-agent/yarn.lock +++ b/double-agent/yarn.lock @@ -45,6 +45,18 @@ dependencies: regenerator-runtime "^0.13.4" +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + "@eslint/eslintrc@^1.3.1": version "1.3.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" @@ -84,6 +96,24 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -105,6 +135,18 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pkgr/utils@^2.3.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.1.tgz#adf291d0357834c410ce80af16e711b56c7b1cd3" + integrity sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w== + dependencies: + cross-spawn "^7.0.3" + fast-glob "^3.2.12" + is-glob "^4.0.3" + open "^9.1.0" + picocolors "^1.0.0" + tslib "^2.5.0" + "@types/archiver@^5.3.1": version "5.3.1" resolved "https://registry.yarnpkg.com/@types/archiver/-/archiver-5.3.1.tgz#02991e940a03dd1a32678fead4b4ca03d0e387ca" @@ -112,10 +154,10 @@ dependencies: "@types/glob" "*" -"@types/better-sqlite3@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-7.6.3.tgz#117c3c182e300799b84d1b7e1781c27d8d536505" - integrity sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ== +"@types/better-sqlite3@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-7.6.4.tgz#102462611e67aadf950d3ccca10292de91e6f35b" + integrity sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg== dependencies: "@types/node" "*" @@ -172,6 +214,19 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== +"@types/semver@^7.3.12": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== + +"@types/tar@^6.1.5": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@types/tar/-/tar-6.1.5.tgz#90ccb3b6a35430e7427410d50eed564e85feaaff" + integrity sha512-qm2I/RlZij5RofuY7vohTpYNaYcrSQlN2MyjucQc7ZweDwaEWkdN/EeNh6e9zjK6uEm6PwjdMXkcj05BxZdX1Q== + dependencies: + "@types/node" "*" + minipass "^4.0.0" + "@types/unzipper@^0.10.5": version "0.10.5" resolved "https://registry.yarnpkg.com/@types/unzipper/-/unzipper-0.10.5.tgz#36a963cf025162b4ac31642590cb4192971d633b" @@ -191,29 +246,30 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.27.1": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" - integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== +"@typescript-eslint/eslint-plugin@^5.59.6": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15" + integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/type-utils" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/type-utils" "5.59.9" + "@typescript-eslint/utils" "5.59.9" debug "^4.3.4" - functional-red-black-tree "^1.0.1" + grapheme-splitter "^1.0.4" ignore "^5.2.0" - regexpp "^3.2.0" + natural-compare-lite "^1.4.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.27.1": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" - integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== +"@typescript-eslint/parser@^5.59.6": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" + integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== dependencies: - "@typescript-eslint/scope-manager" "5.36.2" - "@typescript-eslint/types" "5.36.2" - "@typescript-eslint/typescript-estree" "5.36.2" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" debug "^4.3.4" "@typescript-eslint/scope-manager@5.36.2": @@ -224,13 +280,21 @@ "@typescript-eslint/types" "5.36.2" "@typescript-eslint/visitor-keys" "5.36.2" -"@typescript-eslint/type-utils@5.36.2": - version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" - integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== +"@typescript-eslint/scope-manager@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" + integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== dependencies: - "@typescript-eslint/typescript-estree" "5.36.2" - "@typescript-eslint/utils" "5.36.2" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + +"@typescript-eslint/type-utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" + integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== + dependencies: + "@typescript-eslint/typescript-estree" "5.59.9" + "@typescript-eslint/utils" "5.59.9" debug "^4.3.4" tsutils "^3.21.0" @@ -239,6 +303,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== +"@typescript-eslint/types@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" + integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== + "@typescript-eslint/typescript-estree@5.36.2": version "5.36.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" @@ -252,7 +321,34 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.36.2", "@typescript-eslint/utils@^5.10.0": +"@typescript-eslint/typescript-estree@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" + integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== + dependencies: + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" + integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/utils@^5.10.0": version "5.36.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== @@ -272,51 +368,59 @@ "@typescript-eslint/types" "5.36.2" eslint-visitor-keys "^3.3.0" -"@ulixee/js-path@2.0.0-alpha.17": - version "2.0.0-alpha.17" - resolved "https://registry.yarnpkg.com/@ulixee/js-path/-/js-path-2.0.0-alpha.17.tgz#1ee9b681605ba4412211a11cef57f2d6c63d6101" - integrity sha512-q7QiCn6xi/Fv5o36opOyLxabBtXb8AJLWPjKJn6vgOsTNqmPVRH00MPTUKmATXDEePnIwz0hMP/Cf+/8AjVoDA== +"@typescript-eslint/visitor-keys@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" + integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== + dependencies: + "@typescript-eslint/types" "5.59.9" + eslint-visitor-keys "^3.3.0" + +"@ulixee/js-path@2.0.0-alpha.21": + version "2.0.0-alpha.21" + resolved "https://registry.yarnpkg.com/@ulixee/js-path/-/js-path-2.0.0-alpha.21.tgz#1ddd2ba38a0ab1f9dd9c5c351205c4416529f60c" + integrity sha512-ZJXGt/y2oMEKFSHYhbibFSpzj3C1MJGb3iairHF+MlVG7nVe2kNzbFhkSxRvl5+xYQgV7b/Rn5d8pMluXp1azg== -"@ulixee/real-user-agents@2.0.0-alpha.17": - version "2.0.0-alpha.17" - resolved "https://registry.yarnpkg.com/@ulixee/real-user-agents/-/real-user-agents-2.0.0-alpha.17.tgz#25e31c7830838ad54ea5291b2905bbcd87271f4b" - integrity sha512-V7yNDQbm729O0lPQs+2tBH/v454e96sfdDDt87uAG1AZvfux+rk+vCBg6ltNlriNWt4SRQnijuOTjWVcgcfiEA== +"@ulixee/real-user-agents@2.0.0-alpha.21": + version "2.0.0-alpha.21" + resolved "https://registry.yarnpkg.com/@ulixee/real-user-agents/-/real-user-agents-2.0.0-alpha.21.tgz#0189334c9d520e69b0bccc36bc9e88709983a08b" + integrity sha512-2J3FmZM7LjkoyYtVz4VKHN0UA/zhc/9+5Ilk79+jX9MH7JOtF/JTHNerGhBml1b0VmOs3h5XA7GjmBBTrLNMuA== dependencies: - "@ulixee/commons" "2.0.0-alpha.17" - "@ulixee/unblocked-specification" "2.0.0-alpha.17" + "@ulixee/commons" "2.0.0-alpha.21" + "@ulixee/unblocked-specification" "2.0.0-alpha.21" compare-versions "^3.6.0" ua-parser-js "^0.7.24" -"@ulixee/repo-tools@^1.0.22": - version "1.0.22" - resolved "https://registry.yarnpkg.com/@ulixee/repo-tools/-/repo-tools-1.0.22.tgz#b906737cf464b5fc3ea0be5b2c958e0fedb76921" - integrity sha512-Qgocpy/bOCFfr5rIjAY+AHOonif/FgGcOuXUWpe8ucB402ujnIs/woyVzmj3INbu0K0fAop+sJcNvNkx4QhZew== +"@ulixee/repo-tools@^1.0.26": + version "1.0.26" + resolved "https://registry.yarnpkg.com/@ulixee/repo-tools/-/repo-tools-1.0.26.tgz#c664401802fadb795ca759330e73a601332d51c6" + integrity sha512-tK8dMp8gS+cV4ubqYFYeUU/vaOUwoozdKXTCkpqcImdOYU34jXoZyOJaaLjudH0Y3L+w3DoMdakLb/6TdIujtQ== dependencies: - "@typescript-eslint/eslint-plugin" "^5.27.1" - "@typescript-eslint/parser" "^5.27.1" + "@typescript-eslint/eslint-plugin" "^5.59.6" + "@typescript-eslint/parser" "^5.59.6" copyfiles "^2.4.1" eslint "^8.17.0" eslint-config-airbnb-base "^15.0.0" eslint-config-airbnb-typescript "^17.0.0" eslint-config-prettier "^8.5.0" - eslint-import-resolver-typescript "^2.7.1" + eslint-import-resolver-typescript "^3.5.5" eslint-plugin-eslint-comments "^3.2.0" - eslint-plugin-import "^2.26.0" - eslint-plugin-jest "^26.5.3" + eslint-plugin-import "^2.27.5" + eslint-plugin-jest "^27.2.1" eslint-plugin-jsx-a11y "^6.5.1" eslint-plugin-monorepo-cop "^1.0.2" - eslint-plugin-prettier "^4.0.0" - eslint-plugin-promise "^6.0.0" + eslint-plugin-prettier "^4.2.1" + eslint-plugin-promise "^6.1.1" prettier "^2.6.2" pretty-quick "^3.1.0" - typescript "^4.7.2" + typescript "^5.0.4" -"@ulixee/unblocked-specification@2.0.0-alpha.17": - version "2.0.0-alpha.17" - resolved "https://registry.yarnpkg.com/@ulixee/unblocked-specification/-/unblocked-specification-2.0.0-alpha.17.tgz#ad0389a709493f8537aa507b28d00bda9d3d6210" - integrity sha512-D9f8DJhGzsX+0eB/ugbiUmenKi7yo2TFqkZ81/lShbyPxu3JqV2O4cmveQ4qzXtGPEeRnzHmtjFdlCN3tZAnKg== +"@ulixee/unblocked-specification@2.0.0-alpha.21": + version "2.0.0-alpha.21" + resolved "https://registry.yarnpkg.com/@ulixee/unblocked-specification/-/unblocked-specification-2.0.0-alpha.21.tgz#040d284d8ff42ea5ece4cf8a10622b0f294810c2" + integrity sha512-6YhjswMTuXS6IkPBRMFX2FwCC9aXdgFDSDlz4PSMuIK36lendMwl9S7reOpuQ64Lbkdn7P+9Y7XN+Fgcadiu3Q== dependencies: - "@ulixee/js-path" "2.0.0-alpha.17" + "@ulixee/js-path" "2.0.0-alpha.21" devtools-protocol "^0.0.981744" acorn-jsx@^5.3.2: @@ -365,35 +469,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -archiver-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" - integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== - dependencies: - glob "^7.1.4" - graceful-fs "^4.2.0" - lazystream "^1.0.0" - lodash.defaults "^4.2.0" - lodash.difference "^4.5.0" - lodash.flatten "^4.4.0" - lodash.isplainobject "^4.0.6" - lodash.union "^4.6.0" - normalize-path "^3.0.0" - readable-stream "^2.0.0" - -archiver@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6" - integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w== - dependencies: - archiver-utils "^2.1.0" - async "^3.2.3" - buffer-crc32 "^0.2.1" - readable-stream "^3.6.0" - readdir-glob "^1.0.0" - tar-stream "^2.2.0" - zip-stream "^4.1.0" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -407,12 +482,20 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-differ@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== -array-includes@^3.1.4, array-includes@^3.1.5: +array-includes@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== @@ -423,19 +506,40 @@ array-includes@^3.1.4, array-includes@^3.1.5: get-intrinsic "^1.1.1" is-string "^1.0.7" +array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" es-shim-unscopables "^1.0.0" arrify@^2.0.1: @@ -448,10 +552,10 @@ ast-types-flow@^0.0.7: resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== -async@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== axe-core@^4.4.3: version "4.4.3" @@ -475,17 +579,12 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - bech32@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== -big-integer@^1.6.17: +big-integer@^1.6.44: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== @@ -495,27 +594,12 @@ bignumber.js@^9.0.2: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.0.tgz#8d340146107fe3a6cb8d40699643c302e8773b62" integrity sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A== -binary@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== +bplist-parser@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bluebird@~3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== + big-integer "^1.6.44" brace-expansion@^1.1.7: version "1.1.11" @@ -532,33 +616,17 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" -buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof-polyfill@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== +bundle-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" + integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== + run-applescript "^5.0.0" call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" @@ -573,13 +641,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== - dependencies: - traverse ">=0.3.0 <0.4" - chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -605,6 +666,11 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -653,16 +719,6 @@ compare-versions@^3.6.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -compress-commons@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" - integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== - dependencies: - buffer-crc32 "^0.2.13" - crc32-stream "^4.0.2" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -701,20 +757,7 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - -crc32-stream@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" - integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== - dependencies: - crc-32 "^1.2.0" - readable-stream "^3.4.0" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -740,13 +783,6 @@ debug@4, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -766,6 +802,29 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +default-browser-id@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== + dependencies: + bplist-parser "^0.2.0" + untildify "^4.0.0" + +default-browser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" + integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== + dependencies: + bundle-name "^3.0.0" + default-browser-id "^3.0.0" + execa "^7.1.1" + titleize "^3.0.0" + +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" @@ -774,6 +833,11 @@ define-properties@^1.1.3, define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +devtools-protocol@^0.0.1137505: + version "0.0.1137505" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1137505.tgz#5424148a191f46ab722ebdc05387f1bed9983faf" + integrity sha512-etlSdcQy8DiTCw5oV/AaQiEqEDMCHTGRcMpsqzlKUQQdC/AKadVNbN7GTVAwFOKtMo4i907DczhNkXebiZe85g== + devtools-protocol@^0.0.981744: version "0.0.981744" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf" @@ -805,13 +869,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= - dependencies: - readable-stream "^2.0.2" - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -822,13 +879,21 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" +enhanced-resolve@^5.12.0: + version "5.14.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz#de684b6803724477a4af5d74ccae5de52c25f6b3" + integrity sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -836,7 +901,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.5: version "1.20.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== @@ -865,6 +930,55 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" +es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -918,32 +1032,35 @@ eslint-config-prettier@^8.5.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" - resolve "^1.20.0" + is-core-module "^2.11.0" + resolve "^1.22.1" -eslint-import-resolver-typescript@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" - integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== +eslint-import-resolver-typescript@^3.5.5: + version "3.5.5" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz#0a9034ae7ed94b254a360fbea89187b60ea7456d" + integrity sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw== dependencies: debug "^4.3.4" - glob "^7.2.0" + enhanced-resolve "^5.12.0" + eslint-module-utils "^2.7.4" + get-tsconfig "^4.5.0" + globby "^13.1.3" + is-core-module "^2.11.0" is-glob "^4.0.3" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" + synckit "^0.8.5" -eslint-module-utils@^2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== +eslint-module-utils@^2.7.4: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" - find-up "^2.1.0" eslint-plugin-eslint-comments@^3.2.0: version "3.2.0" @@ -953,29 +1070,31 @@ eslint-plugin-eslint-comments@^3.2.0: escape-string-regexp "^1.0.5" ignore "^5.0.5" -eslint-plugin-import@^2.26.0: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== +eslint-plugin-import@^2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" has "^1.0.3" - is-core-module "^2.8.1" + is-core-module "^2.11.0" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jest@^26.5.3: - version "26.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz#7931c31000b1c19e57dbfb71bbf71b817d1bf949" - integrity sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng== +eslint-plugin-jest@^27.2.1: + version "27.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz#b85b4adf41c682ea29f1f01c8b11ccc39b5c672c" + integrity sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -1006,17 +1125,17 @@ eslint-plugin-monorepo-cop@^1.0.2: read-pkg-up "^6.0.0" requireindex "~1.1.0" -eslint-plugin-prettier@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" - integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== +eslint-plugin-prettier@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-promise@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz#a8cddf96a67c4059bdabf4d724a29572188ae423" - integrity sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw== +eslint-plugin-promise@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" + integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== eslint-scope@^5.1.1: version "5.1.1" @@ -1154,6 +1273,36 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +execa@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" + integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -1164,6 +1313,17 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@^3.2.11, fast-glob@^3.2.12: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" @@ -1206,13 +1366,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -1252,26 +1405,25 @@ follow-redirects@^1.14.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -1311,6 +1463,16 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + get-stream@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -1318,6 +1480,11 @@ get-stream@^5.0.0: dependencies: pump "^3.0.0" +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -1326,6 +1493,13 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +get-tsconfig@^4.5.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.6.0.tgz#e977690993a42f3e320e932427502a40f7af6d05" + integrity sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg== + dependencies: + resolve-pkg-maps "^1.0.0" + glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -1340,7 +1514,7 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob@^7.0.5, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: +glob@^7.0.5, glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1359,6 +1533,13 @@ globals@^13.15.0: dependencies: type-fest "^0.20.2" +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -1371,10 +1552,28 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.0, graceful-fs@^4.2.2: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +globby@^13.1.3: + version "13.1.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.4.tgz#2f91c116066bcec152465ba36e5caa4a13c01317" + integrity sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== grapheme-splitter@^1.0.4: version "1.0.4" @@ -1403,6 +1602,11 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -1440,6 +1644,16 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +human-signals@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== + humanize-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/humanize-string/-/humanize-string-2.1.0.tgz#a7d7062e5e514e04f072607ded0df853be8a1f2f" @@ -1447,11 +1661,6 @@ humanize-string@^2.1.0: dependencies: decamelize "^2.0.0" -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - ignore@^5.0.5, ignore@^5.1.4, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" @@ -1478,7 +1687,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, 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== @@ -1497,6 +1706,24 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -1517,11 +1744,23 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-callable@^1.1.3, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + is-core-module@^2.8.1: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" @@ -1536,6 +1775,16 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1553,6 +1802,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: dependencies: is-extglob "^2.1.1" +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -1590,6 +1846,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -1604,6 +1865,17 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -1611,6 +1883,13 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -1685,13 +1964,6 @@ language-tags@^1.0.5: dependencies: language-subtag-registry "~0.3.2" -lazystream@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" - integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== - dependencies: - readable-stream "^2.0.5" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -1705,19 +1977,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -listenercount@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -1732,36 +1991,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - -lodash.flatten@^4.4.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.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - lodash.merge@^4.6.2: 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.union@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= - lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -1797,6 +2031,11 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -1809,14 +2048,32 @@ minimist@^1.2.0, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -"mkdirp@>=0.5 0": - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: - minimist "^1.2.6" + yallist "^4.0.0" + +minipass@^4.0.0: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" -mkdirp@^1.0.4: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -1831,11 +2088,6 @@ mri@^1.1.5: resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -1862,6 +2114,11 @@ nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -1892,23 +2149,30 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.0: +npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== +object-inspect@^1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -1924,7 +2188,7 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.assign@^4.1.3: +object.assign@^4.1.3, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -1943,14 +2207,14 @@ object.entries@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" -object.values@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.4" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" @@ -1959,13 +2223,30 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +open@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" + integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== + dependencies: + default-browser "^4.0.0" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^2.2.0" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -1983,13 +2264,6 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -2004,13 +2278,6 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -2040,11 +2307,6 @@ p-timeout@^3.2.0: dependencies: p-finally "^1.0.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -2067,11 +2329,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -2087,6 +2344,11 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -2110,6 +2372,11 @@ pcap@^3.1.0: "@types/node" "^10.0.0" nan "^2.14.0" +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -2186,28 +2453,6 @@ read-pkg@^5.1.1: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - 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" - readable-stream@~1.0.31: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -2218,12 +2463,18 @@ readable-stream@~1.0.31: isarray "0.0.1" string_decoder "~0.10.x" -readdir-glob@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4" - integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA== +readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: - minimatch "^3.0.4" + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" regenerator-runtime@^0.13.4: version "0.13.9" @@ -2259,7 +2510,12 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0: +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve@^1.10.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -2268,18 +2524,20 @@ resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.22.1: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -2287,6 +2545,13 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +run-applescript@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" + integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== + dependencies: + execa "^5.0.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -2299,10 +2564,14 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -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== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" "semver@2 || 3 || 4 || 5": version "5.7.1" @@ -2321,11 +2590,6 @@ semver@^7.3.7: dependencies: lru-cache "^6.0.0" -setimmediate@~1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -2347,7 +2611,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.2: +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -2357,12 +2621,17 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slugify@^1.4.5: version "1.6.5" resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.5.tgz#c8f5c072bf2135b80703589b39a3d41451fbe8c8" integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== -source-map-js@^1.0.1: +source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -2415,6 +2684,15 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimend@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" @@ -2424,6 +2702,15 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimstart@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" @@ -2433,12 +2720,14 @@ string.prototype.trimstart@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" -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== +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: - safe-buffer "~5.2.0" + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" string_decoder@~0.10.x: version "0.10.31" @@ -2469,6 +2758,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -2493,16 +2787,30 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -tar-stream@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== +synckit@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" + integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" + "@pkgr/utils" "^2.3.1" + tslib "^2.5.0" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar@^6.1.15: + version "6.1.15" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" + integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" text-table@^0.2.0: version "0.2.0" @@ -2517,6 +2825,11 @@ through2@^2.0.1: readable-stream "~2.3.6" xtend "~4.0.1" +titleize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" + integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -2529,11 +2842,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= - tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -2549,6 +2857,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.5.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" + integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -2578,15 +2891,19 @@ type-fest@^0.6.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== -typescript@^4.7.2: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" -typescript@^4.7.3, typescript@^4.7.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== +typescript@^5.0.4: + version "5.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== ua-parser-js@^0.7.24: version "0.7.31" @@ -2608,22 +2925,6 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -unzipper@^0.10.11: - version "0.10.11" - resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" - integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== - dependencies: - big-integer "^1.6.17" - binary "~0.3.0" - bluebird "~3.4.1" - buffer-indexof-polyfill "~1.0.0" - duplexer2 "~0.1.4" - fstream "^1.0.12" - graceful-fs "^4.2.2" - listenercount "~1.0.1" - readable-stream "~2.3.6" - setimmediate "~1.0.4" - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -2631,7 +2932,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +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= @@ -2673,6 +2974,18 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -2747,15 +3060,6 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zip-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" - integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== - dependencies: - archiver-utils "^2.1.0" - compress-commons "^4.1.0" - readable-stream "^3.6.0" - zod@^3.20.2: version "3.20.2" resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.2.tgz#068606642c8f51b3333981f91c0a8ab37dfc2807" diff --git a/jest.config.js b/jest.config.js index 3fa561b38..253a753cc 100644 --- a/jest.config.js +++ b/jest.config.js @@ -50,7 +50,7 @@ module.exports = { modulePathIgnorePatterns: ['node_modules'], globalTeardown: './jest.teardown.js', testTimeout: 15e3, - reporters: ['default', 'jest-summary-reporter'], + reporters: ['default', ['github-actions', { silent: false }], 'summary'], roots: workspaces.map(x => `${x}/`), moduleDirectories: ['node_modules', ...workspaces.map(x => `${x}/node_modules`)], }; diff --git a/js-path/CHANGELOG.md b/js-path/CHANGELOG.md index ad39a0ff8..ad02d4163 100644 --- a/js-path/CHANGELOG.md +++ b/js-path/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/js-path + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/js-path diff --git a/js-path/package.json b/js-path/package.json index 11391d3a8..c3f3fba6e 100644 --- a/js-path/package.json +++ b/js-path/package.json @@ -1,5 +1,5 @@ { "name": "@ulixee/js-path", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "The Serialization format to reference Paths to elements/nodes and properties in the DOM" } diff --git a/lerna.json b/lerna.json index 1af65ff89..8c9acb563 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "npmClient": "yarn", "useWorkspaces": true } diff --git a/package.build.json b/package.build.json index b73c8f179..8b52f3224 100644 --- a/package.build.json +++ b/package.build.json @@ -3,9 +3,7 @@ "test:build": "cross-env NODE_ENV=test ULX_DATA_DIR=.data-test jest" }, "devDependencies": { - "jest": "^28.1.0", - "jest-environment-node": "^28.1.0", - "jest-summary-reporter": "^0.0.2", + "jest": "^29.5.0", "cross-env": "^7.0.2" } } diff --git a/package.json b/package.json index 69a270c1a..e7dfa243d 100644 --- a/package.json +++ b/package.json @@ -30,22 +30,20 @@ }, "homepage": "https://ulixee.org/unblocked", "engines": { - "node": ">=14.18.0" + "node": ">=16" }, "devDependencies": { - "@commitlint/cli": "^12.0.1", - "@commitlint/config-conventional": "^12.0.1", - "@ulixee/repo-tools": "^1.0.22", - "@types/node": "^14.18.31", + "@commitlint/cli": "^17.6.3", + "@commitlint/config-conventional": "^17.6.3", + "@ulixee/repo-tools": "^1.0.26", + "@types/node": "^16.18.31", + "@types/jest": "^29.5.1", "concurrently": "^6.2.1", "cross-env": "^7.0.3", - "husky": "^7.0.1", - "@types/jest": "^28.1.0", - "jest": "^28.1.0", - "jest-environment-node": "^28.1.0", - "jest-summary-reporter": "^0.0.2", + "husky": "^8.0.3", + "jest": "^29.5.0", "lerna": "^4.0.0", - "lint-staged": "^10.5.2", + "lint-staged": "^13.2.2", "shx": "^0.3.3", "typescript": "~4.7.3" }, diff --git a/plugins/default-browser-emulator/.nvmrc b/plugins/default-browser-emulator/.nvmrc index 62df50f1e..3c032078a 100644 --- a/plugins/default-browser-emulator/.nvmrc +++ b/plugins/default-browser-emulator/.nvmrc @@ -1 +1 @@ -14.17.0 +18 diff --git a/plugins/default-browser-emulator/CHANGELOG.md b/plugins/default-browser-emulator/CHANGELOG.md index dd5eac02d..182ff3069 100644 --- a/plugins/default-browser-emulator/CHANGELOG.md +++ b/plugins/default-browser-emulator/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + + +### Bug Fixes + +* **emulator:** require debug ext for webgl params ([ed5e43f](https://github.com/ulixee/unblocked/commit/ed5e43fd0ec7b200090d34ecf1856ade95b17e59)) +* **plugins:** failing test ([b0574e4](https://github.com/ulixee/unblocked/commit/b0574e4bf6c2f17db8fe72475c06da065d493234)) +* rollback nanoid upgrade. broke requirejs ([50c2000](https://github.com/ulixee/unblocked/commit/50c2000cd7785ca54e1845412e211716d9dbaf4e)) + + +### Features + +* **plugins:** include default color depth ([166d3b4](https://github.com/ulixee/unblocked/commit/166d3b4e1db94c2665324c524dfc6390cd0e64ba)) +* test for console.debug ([3f140b8](https://github.com/ulixee/unblocked/commit/3f140b82c54a13fd2f3faaf687932b7b28e53066)) + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) diff --git a/plugins/default-browser-emulator/injected-scripts/HTMLIFrameElement.prototype.ts b/plugins/default-browser-emulator/injected-scripts/HTMLIFrameElement.prototype.ts index 1d143747d..da6271a73 100644 --- a/plugins/default-browser-emulator/injected-scripts/HTMLIFrameElement.prototype.ts +++ b/plugins/default-browser-emulator/injected-scripts/HTMLIFrameElement.prototype.ts @@ -1,15 +1,21 @@ // This bypass is based on the one from puppeteer-stealth-evasions -const frameWindowProxies = new WeakMap(); -const hasRunNewDocumentScripts = new WeakSet(); +declare let originalContentWindow; +declare let frameWindowProxies; +declare let hasRunNewDocumentScripts; -const originalContentWindow = Object.getOwnPropertyDescriptor( - self.HTMLIFrameElement.prototype, - 'contentWindow', -).get; +if (typeof frameWindowProxies === 'undefined') { + frameWindowProxies = new WeakMap(); + hasRunNewDocumentScripts = new WeakSet(); -function getTrueContentWindow(frame: HTMLIFrameElement): Window { - return originalContentWindow.apply(frame); + originalContentWindow = Object.getOwnPropertyDescriptor( + self.HTMLIFrameElement.prototype, + 'contentWindow', + ).get; + + function getTrueContentWindow(frame: HTMLIFrameElement): Window { + return originalContentWindow.apply(frame); + } } proxyGetter(self.HTMLIFrameElement.prototype, 'contentWindow', (target, iframe) => { @@ -34,7 +40,6 @@ proxySetter(self.HTMLIFrameElement.prototype, 'srcdoc', function (_, iframe) { if (contentWindow) { if (!hasRunNewDocumentScripts.has(contentWindow)) { hasRunNewDocumentScripts.add(contentWindow); - // @ts-expect-error newDocumentScript(contentWindow); frameWindowProxies.delete(iframe); } @@ -54,7 +59,7 @@ proxySetter(self.HTMLIFrameElement.prototype, 'srcdoc', function (_, iframe) { } // use original self properties (no window yet) - return ReflectCached.get(self, key); + return ReflectCached.get(target, key); }, }); diff --git a/plugins/default-browser-emulator/injected-scripts/SharedWorker.prototype.ts b/plugins/default-browser-emulator/injected-scripts/SharedWorker.prototype.ts new file mode 100644 index 000000000..f56db018f --- /dev/null +++ b/plugins/default-browser-emulator/injected-scripts/SharedWorker.prototype.ts @@ -0,0 +1,20 @@ +declare let newDocumentScript; +declare let newDocumentScriptWrapper; + +if (typeof SharedWorker !== 'undefined') { + // shared workers don't automatically pause in devtools, so we have to manipulate + proxyConstructor(self, 'SharedWorker', (target, argArray) => { + if (!argArray?.length) return ProxyOverride.callOriginal; + const [url] = argArray; + if (url?.toString().startsWith('blob:')) { + // read blob contents synchronously + const xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(); + const text = xhr.response; + const newBlob = new Blob([`(${newDocumentScriptWrapper.toString()})();\n\n`, text]); + return ReflectCached.construct(target, [URL.createObjectURL(newBlob)]); + } + return ProxyOverride.callOriginal; + }); +} diff --git a/plugins/default-browser-emulator/injected-scripts/WebGLRenderingContext.prototype.getParameter.ts b/plugins/default-browser-emulator/injected-scripts/WebGLRenderingContext.prototype.getParameter.ts index f4a0c7fca..8304de562 100644 --- a/plugins/default-browser-emulator/injected-scripts/WebGLRenderingContext.prototype.getParameter.ts +++ b/plugins/default-browser-emulator/injected-scripts/WebGLRenderingContext.prototype.getParameter.ts @@ -1,27 +1,30 @@ -proxyFunction( +const activatedDebugInfo = new WeakSet(); + +for (const context of [ self.WebGLRenderingContext.prototype, - 'getParameter', - function (originalFunction, thisArg, argArray) { - const parameter = argArray && argArray.length ? argArray[0] : null; - // call api to make sure signature goes through + self.WebGL2RenderingContext.prototype, +]) { + proxyFunction(context, 'getExtension', function (originalFunction, thisArg, argArray) { const result = Reflect.apply(originalFunction, thisArg, argArray); - if (args[parameter]) { - return args[parameter]; + if (argArray?.[0] === 'WEBGL_debug_renderer_info') { + activatedDebugInfo.add(thisArg); } + return result; - }, -); + }); -proxyFunction( - self.WebGL2RenderingContext.prototype, - 'getParameter', - function (originalFunction, thisArg, argArray) { + // eslint-disable-next-line @typescript-eslint/no-loop-func + proxyFunction(context, 'getParameter', function (originalFunction, thisArg, argArray) { const parameter = argArray && argArray.length ? argArray[0] : null; // call api to make sure signature goes through const result = Reflect.apply(originalFunction, thisArg, argArray); if (args[parameter]) { + if (!result && !activatedDebugInfo.has(context)) { + return result; + } + return args[parameter]; } return result; - }, -); + }); +} diff --git a/plugins/default-browser-emulator/injected-scripts/_descriptorBuilder.ts b/plugins/default-browser-emulator/injected-scripts/_descriptorBuilder.ts index 746cafe20..c1e0923dc 100644 --- a/plugins/default-browser-emulator/injected-scripts/_descriptorBuilder.ts +++ b/plugins/default-browser-emulator/injected-scripts/_descriptorBuilder.ts @@ -25,27 +25,44 @@ function createError(message: string, type?: { new (msg: string): any }) { return cleanErrorStack(errType); } -function newObjectConstructor(newProps: IDescriptor) { - return function() { +function newObjectConstructor(newProps: IDescriptor, path: string, invocation?: string | Function) { + return function () { if (newProps._$constructorException) { throw createError(newProps._$constructorException); } - Object.setPrototypeOf(this, getObjectAtPath(newProps._$protos[0])); + + if ( + !new.target && + invocation && + !newProps['_$$value()'] && + !ObjectCached.values(newProps).some(x => x['_$$value()']) + ) { + if (typeof invocation === 'function') return invocation(...arguments); + if (invocation.startsWith('TypeError')) + throw new TypeError(invocation.replace('TypeError: ', '')); + return invocation; + } const props = Object.entries(newProps); const obj = {}; + Object.setPrototypeOf( + obj, + prototypesByPath[newProps._$protos[0]] ?? getObjectAtPath(newProps._$protos[0]), + ); for (const [prop, value] of props) { if (prop.startsWith('_$')) continue; let propName: string | symbol = prop; if (propName.startsWith('Symbol(')) { propName = Symbol.for(propName.match(/Symbol\((.+)\)/)[1]); } - Object.defineProperty(obj, propName, buildDescriptor(value)); + Object.defineProperty(obj, propName, buildDescriptor(value, `${path}.${prop}`)); } return obj; }; } -function buildDescriptor(entry: IDescriptor) { +const prototypesByPath: { [path: string]: PropertyDescriptor } = {}; + +function buildDescriptor(entry: IDescriptor, path: string): PropertyDescriptor { const attrs: PropertyDescriptor = {}; const flags = entry._$flags || ''; if (flags.includes('c')) attrs.configurable = true; @@ -74,9 +91,25 @@ function buildDescriptor(entry: IDescriptor) { overriddenFns.set(attrs.set, entry._$set); } + let prototypeDescriptor: PropertyDescriptor; + if (entry.prototype) { + prototypeDescriptor = buildDescriptor(entry.prototype, `${path}.prototype`); + + if (!entry.prototype._$flags || !entry.prototype._$flags.includes('w')) { + prototypeDescriptor.writable = false; + } + if (entry._$function) { + overriddenFns.set(prototypeDescriptor.value.constructor, entry._$function); + } + prototypesByPath[`${path}.prototype`] = prototypeDescriptor.value; + } + + // do after prototypes are created if (entry._$function) { const newProps = entry['new()']; - if (!newProps) { + if (newProps) { + attrs.value = newObjectConstructor(newProps, path, entry._$invocation); + } else { // use function call just to get a function that doesn't create prototypes on new // bind to an empty object so we don't modify the original attrs.value = new Proxy(Function.prototype.call.bind({}), { @@ -84,14 +117,21 @@ function buildDescriptor(entry: IDescriptor) { return entry._$invocation; }, }); - } else { - attrs.value = newObjectConstructor(newProps); } if (entry._$invocation !== undefined) { Object.setPrototypeOf(attrs.value, Function.prototype); delete attrs.value.prototype; delete attrs.value.constructor; } + + if (prototypeDescriptor && newProps) { + Object.defineProperty(prototypeDescriptor.value, 'constructor', { + value: attrs.value, + writable: true, + enumerable: false, + configurable: true, + }); + } overriddenFns.set(attrs.value, entry._$function); } @@ -101,11 +141,12 @@ function buildDescriptor(entry: IDescriptor) { attrs.value = {}; } if (entry._$protos) { - attrs.value = Object.setPrototypeOf(attrs.value, getObjectAtPath(entry._$protos[0])); + const proto = prototypesByPath[entry._$protos[0]] ?? getObjectAtPath(entry._$protos[0]); + attrs.value = Object.setPrototypeOf(attrs.value, proto); } for (const [prop, value] of props) { - if (prop.startsWith('_$')) continue; + if (prop.startsWith('_$') || prop === 'new()') continue; if (prop === 'arguments' || prop === 'caller') continue; let propName: string | number | symbol = prop; if (propName.startsWith('Symbol(')) { @@ -115,21 +156,11 @@ function buildDescriptor(entry: IDescriptor) { propName = Symbol.for(symbolName); } } - const descriptor = buildDescriptor(value); + let descriptor: PropertyDescriptor; if (propName === 'prototype') { - Object.defineProperty(descriptor.value, 'constructor', { - // Blake: changed this from props on TS. is it right? - value: newObjectConstructor(value), - writable: true, - enumerable: false, - configurable: true, - }); - if (!entry.prototype._$flags || !entry.prototype._$flags.includes('w')) { - descriptor.writable = false; - } - if (entry._$function) { - overriddenFns.set(descriptor.value.constructor, entry._$function); - } + descriptor = prototypeDescriptor; + } else { + descriptor = buildDescriptor(value, `${path}.${prop}`); } Object.defineProperty(attrs.value, propName, descriptor); } diff --git a/plugins/default-browser-emulator/injected-scripts/_proxyUtils.ts b/plugins/default-browser-emulator/injected-scripts/_proxyUtils.ts index 198993244..d74e9940f 100644 --- a/plugins/default-browser-emulator/injected-scripts/_proxyUtils.ts +++ b/plugins/default-browser-emulator/injected-scripts/_proxyUtils.ts @@ -23,6 +23,8 @@ const ObjectCached = { defineProperty: Object.defineProperty.bind(Object), create: Object.create.bind(Object), entries: Object.entries.bind(Object), + values: Object.values.bind(Object), + keys: Object.keys.bind(Object), getOwnPropertyDescriptors: Object.getOwnPropertyDescriptors.bind(Object), getOwnPropertyDescriptor: Object.getOwnPropertyDescriptor.bind(Object), }; @@ -387,6 +389,11 @@ function addDescriptorAfterProperty( return; } + if (owner === self) { + ObjectCached.defineProperty(owner, propertyName, descriptor); + return reorderNonConfigurableDescriptors(path, propertyName, prevProperty, propertyName); + } + let hasPassedProperty = false; for (const [key, existingDescriptor] of ObjectCached.entries(descriptors)) { if (hasPassedProperty) { @@ -401,6 +408,98 @@ function addDescriptorAfterProperty( } } +const reordersByObject = new WeakMap< + any, + { propertyName: string; prevProperty: string; throughProperty: string }[] +>(); + +proxyFunction(Object, 'getOwnPropertyDescriptors', (target, thisArg, argArray) => { + const descriptors = ReflectCached.apply(target, thisArg, argArray); + const reorders = reordersByObject.get(thisArg) ?? reordersByObject.get(argArray?.[0]); + if (reorders) { + const keys = Object.keys(descriptors); + for (const { propertyName, prevProperty, throughProperty } of reorders) { + adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); + } + const finalDescriptors = {}; + for (const key of keys) { + finalDescriptors[key] = descriptors[key]; + } + return finalDescriptors; + } + return descriptors; +}); + +proxyFunction(Object, 'getOwnPropertyNames', (target, thisArg, argArray) => { + const keys = ReflectCached.apply(target, thisArg, argArray); + + const reorders = reordersByObject.get(thisArg) ?? reordersByObject.get(argArray?.[0]); + if (reorders) { + for (const { propertyName, prevProperty, throughProperty } of reorders) { + adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); + } + } + return keys; +}); + +proxyFunction(Object, 'keys', (target, thisArg, argArray) => { + const keys = ReflectCached.apply(target, thisArg, argArray); + + const reorders = reordersByObject.get(thisArg) ?? reordersByObject.get(argArray?.[0]); + if (reorders) { + for (const { propertyName, prevProperty, throughProperty } of reorders) { + adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); + } + } + return keys; +}); + +function reorderNonConfigurableDescriptors( + objectPath, + propertyName, + prevProperty, + throughProperty, +) { + const objectAtPath = getObjectAtPath(objectPath); + if (!reordersByObject.has(objectAtPath)) reordersByObject.set(objectAtPath, []); + const reorders = reordersByObject.get(objectAtPath); + reorders.push({ prevProperty, propertyName, throughProperty }); +} + +function reorderDescriptor(path, propertyName, prevProperty, throughProperty) { + const owner = getObjectAtPath(path); + + const descriptor = Object.getOwnPropertyDescriptor(owner, propertyName); + if (!descriptor) { + console.log(`Can't redefine a non-existent property descriptor: ${path} -> ${propertyName}`); + return; + } + const prevDescriptor = Object.getOwnPropertyDescriptor(owner, prevProperty); + if (!prevDescriptor) { + console.log( + `Can't redefine a non-existent prev property descriptor: ${path} -> ${propertyName}, prev =${prevProperty}`, + ); + return; + } + + const descriptors = Object.getOwnPropertyDescriptors(owner); + const keys = Object.keys(owner); + adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); + + for (const key of keys) { + const keyDescriptor = descriptors[key]; + delete owner[key]; + Object.defineProperty(owner, key, keyDescriptor); + } +} + +function adjustKeyOrder(keys, propertyName, prevProperty, throughProperty) { + const currentIndex = keys.indexOf(propertyName); + const throughPropIndex = keys.indexOf(throughProperty) - currentIndex + 1; + const props = keys.splice(currentIndex, throughPropIndex); + keys.splice(keys.indexOf(prevProperty) + 1, 0, ...props); +} + if (typeof module === 'object' && typeof module.exports === 'object') { module.exports = { proxyFunction, diff --git a/plugins/default-browser-emulator/injected-scripts/navigator.plugins.ts b/plugins/default-browser-emulator/injected-scripts/navigator.plugins.ts index b0d941400..26fbb93ab 100644 --- a/plugins/default-browser-emulator/injected-scripts/navigator.plugins.ts +++ b/plugins/default-browser-emulator/injected-scripts/navigator.plugins.ts @@ -138,7 +138,7 @@ const pluginList: Plugin[] = args.plugins.map(fakeP => { proxyFunction( plugin, 'namedItem', - (_, __, argArray) => { + (target, thisArg, argArray) => { if (!argArray || !argArray.length) return ProxyOverride.callOriginal; const match = pluginMimes.find(x => x.type === argArray[0]); if (match) return createMime(match); @@ -209,4 +209,4 @@ function handleCloneObject(target, thisArg, argArray) { } } proxyFunction(self, 'postMessage', handleCloneObject); -proxyFunction(self, 'structuredClone', handleCloneObject); +if ('structuredClone' in self) proxyFunction(self, 'structuredClone', handleCloneObject); diff --git a/plugins/default-browser-emulator/injected-scripts/performance.ts b/plugins/default-browser-emulator/injected-scripts/performance.ts new file mode 100644 index 000000000..d902b79a4 --- /dev/null +++ b/plugins/default-browser-emulator/injected-scripts/performance.ts @@ -0,0 +1,31 @@ +// This is here, because on Linux using Devtools, the lack of activationStart and renderBlockingStatus leads to blocking on some protections + +proxyFunction( + performance, + 'getEntriesByType', + (target, thisArg, argArray): PerformanceEntryList => { + const entries = ReflectCached.apply(target, thisArg, argArray); + + if (argArray[0] === 'navigation') { + entries.forEach(entry => { + proxyGetter(entry, 'activationStart', () => 0); + proxyGetter(entry, 'renderBlockingStatus', () => 'non-blocking'); + }); + } + + return entries; + }, +); + +proxyFunction(performance, 'getEntries', (target, thisArg, argArray): PerformanceEntryList => { + const entries = ReflectCached.apply(target, thisArg, argArray); + + entries.forEach(entry => { + if (entry.entryType === 'navigation') { + proxyGetter(entry, 'activationStart', () => 0); + proxyGetter(entry, 'renderBlockingStatus', () => 'non-blocking'); + } + }); + + return entries; +}); diff --git a/plugins/default-browser-emulator/injected-scripts/polyfill.add.ts b/plugins/default-browser-emulator/injected-scripts/polyfill.add.ts index 943d0ce40..55db2ea99 100644 --- a/plugins/default-browser-emulator/injected-scripts/polyfill.add.ts +++ b/plugins/default-browser-emulator/injected-scripts/polyfill.add.ts @@ -1,7 +1,7 @@ for (const itemToAdd of args.itemsToAdd || []) { try { if (itemToAdd.propertyName === 'getVideoPlaybackQuality') { - itemToAdd.property['_$$value()'] = function() { + itemToAdd.property['_$$value()'] = function () { return Promise.resolve([]); }; } @@ -10,7 +10,10 @@ for (const itemToAdd of args.itemsToAdd || []) { itemToAdd.path, itemToAdd.prevProperty, itemToAdd.propertyName, - buildDescriptor(itemToAdd.property), + buildDescriptor( + itemToAdd.property, + `${itemToAdd.path}.${itemToAdd.propertyName}`.replace('window.', ''), + ), ); } catch (err) { console.log(`ERROR adding polyfill ${itemToAdd.path}.${itemToAdd.propertyName}\n${err.stack}`); diff --git a/plugins/default-browser-emulator/injected-scripts/polyfill.reorder.ts b/plugins/default-browser-emulator/injected-scripts/polyfill.reorder.ts index 943681369..96979bca2 100644 --- a/plugins/default-browser-emulator/injected-scripts/polyfill.reorder.ts +++ b/plugins/default-browser-emulator/injected-scripts/polyfill.reorder.ts @@ -1,7 +1,7 @@ for (const { propertyName, prevProperty, throughProperty, path } of args.itemsToReorder || []) { try { if (!path.includes('.prototype')) { - reorderOnWindow(path, propertyName, prevProperty, throughProperty); + reorderNonConfigurableDescriptors(path, propertyName, prevProperty, throughProperty); continue; } reorderDescriptor(path, propertyName, prevProperty, throughProperty); @@ -9,84 +9,3 @@ for (const { propertyName, prevProperty, throughProperty, path } of args.itemsTo console.log(`ERROR adding order polyfill ${path}->${propertyName}\n${err.toString()}`); } } - -function reorderOnWindow(objectPath, propertyName, prevProperty, throughProperty) { - const getOwnPropertyDescriptorsToString = Object.getOwnPropertyDescriptors.toString(); - Object.getOwnPropertyDescriptors = new Proxy(Object.getOwnPropertyDescriptors, { - apply(target, thisArg, argArray) { - const descriptors = ReflectCached.apply(...arguments); - const objectAtPath = getObjectAtPath(objectPath); - if (thisArg === objectAtPath || (argArray && argArray[0] === objectAtPath)) { - const keys = Object.keys(descriptors); - adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); - const finalDescriptors = {}; - for (const key of keys) { - finalDescriptors[key] = descriptors[key]; - } - return finalDescriptors; - } - return descriptors; - }, - }); - overriddenFns.set(Object.getOwnPropertyDescriptors, getOwnPropertyDescriptorsToString); - - const getOwnPropertyNamesToString = Object.getOwnPropertyNames.toString(); - Object.getOwnPropertyNames = new Proxy(Object.getOwnPropertyNames, { - apply(target, thisArg, argArray) { - const objectAtPath = getObjectAtPath(objectPath); - const keys = ReflectCached.apply(...arguments); - if (thisArg === objectAtPath || (argArray && argArray[0] === objectAtPath)) { - adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); - } - return keys; - }, - }); - overriddenFns.set(Object.getOwnPropertyNames, getOwnPropertyNamesToString); - - const keysToString = Object.keys.toString(); - Object.keys = new Proxy(Object.keys, { - apply(target, thisArg, argArray) { - const keys = ReflectCached.apply(...arguments); - const objectAtPath = getObjectAtPath(objectPath); - if (thisArg === objectAtPath || (argArray && argArray[0] === objectAtPath)) { - adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); - } - return keys; - }, - }); - overriddenFns.set(Object.keys, keysToString); -} - -function reorderDescriptor(path, propertyName, prevProperty, throughProperty) { - const owner = getObjectAtPath(path); - - const descriptor = Object.getOwnPropertyDescriptor(owner, propertyName); - if (!descriptor) { - console.log(`Can't redefine a non-existent property descriptor: ${path} -> ${propertyName}`); - return; - } - const prevDescriptor = Object.getOwnPropertyDescriptor(owner, prevProperty); - if (!prevDescriptor) { - console.log( - `Can't redefine a non-existent prev property descriptor: ${path} -> ${propertyName}, prev =${prevProperty}`, - ); - return; - } - - const descriptors = Object.getOwnPropertyDescriptors(owner); - const keys = Object.keys(owner); - adjustKeyOrder(keys, propertyName, prevProperty, throughProperty); - - for (const key of keys) { - const keyDescriptor = descriptors[key]; - delete owner[key]; - Object.defineProperty(owner, key, keyDescriptor); - } -} - -function adjustKeyOrder(keys, propertyName, prevProperty, throughProperty) { - const currentIndex = keys.indexOf(propertyName); - const throughPropIndex = keys.indexOf(throughProperty) - currentIndex + 1; - const props = keys.splice(currentIndex, throughPropIndex); - keys.splice(keys.indexOf(prevProperty) + 1, 0, ...props); -} diff --git a/plugins/default-browser-emulator/injected-scripts/window.chrome.ts b/plugins/default-browser-emulator/injected-scripts/window.chrome.ts index b703bce17..80d27d543 100644 --- a/plugins/default-browser-emulator/injected-scripts/window.chrome.ts +++ b/plugins/default-browser-emulator/injected-scripts/window.chrome.ts @@ -139,5 +139,5 @@ if (args.updateLoadTimes) { property.csi['new()'][name]['_$$value()'] = func; } } -const descriptor = buildDescriptor(property); +const descriptor = buildDescriptor(property, 'self.chrome'); addDescriptorAfterProperty('self', prevProperty, 'chrome', descriptor); diff --git a/plugins/default-browser-emulator/injected-scripts/window.screen.ts b/plugins/default-browser-emulator/injected-scripts/window.screen.ts index 288237b79..07a49b1bf 100644 --- a/plugins/default-browser-emulator/injected-scripts/window.screen.ts +++ b/plugins/default-browser-emulator/injected-scripts/window.screen.ts @@ -1,2 +1,17 @@ -proxyGetter(window.screen, 'availHeight', () => window.screen.height - (args.unAvailHeight || 0), true); -proxyGetter(window.screen, 'availWidth', () => window.screen.width - (args.unAvailWidth || 0), true); +proxyGetter( + window.screen, + 'availHeight', + () => window.screen.height - (args.unAvailHeight || 0), + true, +); +proxyGetter( + window.screen, + 'availWidth', + () => window.screen.width - (args.unAvailWidth || 0), + true, +); + +if (args.colorDepth) { + proxyGetter(window.screen, 'colorDepth', () => args.colorDepth, true); + proxyGetter(window.screen, 'pixelDepth', () => args.colorDepth, true); +} diff --git a/plugins/default-browser-emulator/interfaces/IBrowserData.ts b/plugins/default-browser-emulator/interfaces/IBrowserData.ts index 891ea84ef..d204fbec8 100644 --- a/plugins/default-browser-emulator/interfaces/IBrowserData.ts +++ b/plugins/default-browser-emulator/interfaces/IBrowserData.ts @@ -100,4 +100,6 @@ export interface IDataWindowFraming { screenGapBottom: number; frameBorderWidth: number; frameBorderHeight: number; + colorDepth?: number; + devicePixelRatio?: number; } diff --git a/plugins/default-browser-emulator/lib/BrowserEngineOptions.ts b/plugins/default-browser-emulator/lib/BrowserEngineOptions.ts index c2c03a105..5ac023e29 100644 --- a/plugins/default-browser-emulator/lib/BrowserEngineOptions.ts +++ b/plugins/default-browser-emulator/lib/BrowserEngineOptions.ts @@ -1,6 +1,6 @@ -import { IVersion } from '@ulixee/unblocked-specification/plugin/IUserAgentOption'; -import IBrowserEngineOption from '@ulixee/unblocked-specification/agent/browser/IBrowserEngineOption'; import ChromeApp from '@ulixee/chrome-app'; +import IBrowserEngineOption from '@ulixee/unblocked-specification/agent/browser/IBrowserEngineOption'; +import { IVersion } from '@ulixee/unblocked-specification/plugin/IUserAgentOption'; import DataLoader from './DataLoader'; type IBrowserEngineOptionAndVersion = IBrowserEngineOption & { version: IVersion }; diff --git a/plugins/default-browser-emulator/lib/DomOverridesBuilder.ts b/plugins/default-browser-emulator/lib/DomOverridesBuilder.ts index c082d59bb..a8bf69cef 100644 --- a/plugins/default-browser-emulator/lib/DomOverridesBuilder.ts +++ b/plugins/default-browser-emulator/lib/DomOverridesBuilder.ts @@ -18,6 +18,12 @@ export default class DomOverridesBuilder { private readonly alwaysPageScripts = new Set(); private readonly alwaysWorkerScripts = new Set(); + private workerOverrides = new Set(); + + public getWorkerOverrides(): string[] { + return [...this.workerOverrides]; + } + public build( type: 'worker' | 'page' = 'page', scriptNames?: string[], @@ -25,42 +31,80 @@ export default class DomOverridesBuilder { script: string; callbacks: INewDocumentInjectedScript['callback'][]; } { - const scripts = []; + const scripts = new Map(); const callbacks = []; for (const [name, script] of this.scriptsByName) { const shouldIncludeScript = scriptNames ? scriptNames.includes(name) : true; if (shouldIncludeScript) { - scripts.push(script); + scripts.set(name, script); } } + if (type === 'page') { + let counter = 0; for (const script of this.alwaysPageScripts) { if (script.callback) callbacks.push(script.callback); - if (script.script) scripts.push(script.script); + if (script.script) scripts.set(`alwaysPageScript${counter}`, script.script); + counter += 1; } } else if (type === 'worker') { + let counter = 0; for (const script of this.alwaysWorkerScripts) { if (script.callback) callbacks.push(script.callback); - if (script.script) scripts.push(script.script); + if (script.script) scripts.set(`alwaysWorkerScript${counter}`, script.script); + counter += 1; } } + + const shouldNotRunInWorker: (name: string) => boolean = name => { + if (name.startsWith('alwaysWorkerScript')) return false; + return !this.workerOverrides.has(name); + }; + + const catchHandling = + process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'development' + ? ' console.error("ERROR in dom override script", e); ' + : ''; return { callbacks, // NOTE: don't make this async. It can cause issues if you read a frame right after creation, for instance - script: `(function newDocumentScript(selfOverride) { - if (selfOverride) self = selfOverride; - // Worklet has no scope to override, but we can't detect until it loads - if (typeof self === 'undefined' && typeof window === 'undefined') return; + script: `(function newDocumentScriptWrapper() { +// Worklet has no scope to override, but we can't detect until it loads +if (typeof self === 'undefined' && typeof window === 'undefined') return; + +runMap = typeof runMap === 'undefined' ? new WeakSet() : runMap; +if (runMap.has(self)) return; - const sourceUrl = '${injectedSourceUrl}'; - ${utilsScript} +const sourceUrl = '${injectedSourceUrl}'; +${utilsScript} + +(function newDocumentScript(selfOverride) { + if (selfOverride) self = selfOverride; + + if (runMap.has(self)) return; + runMap.add(self); + const isWorker = !self.document && "WorkerGlobalScope" in self; + + ${[...scripts] + .map(([name, script]) => { + let snippet = ''; + if (shouldNotRunInWorker(name)) snippet += `if (!isWorker) {\n`; + snippet += `try { ${script} } catch(e) {${catchHandling}}`; + if (shouldNotRunInWorker(name)) snippet += '\n}'; + return snippet; + }) + .join('\n\n')} +})(); - ${scripts.join('\n\n')} })(); //# sourceURL=${injectedSourceUrl}`.replace(/\/\/# sourceMap.+/g, ''), }; } + public registerWorkerOverrides(...names: string[]): void { + for (const name of names) this.workerOverrides.add(name); + } + public add(name: string, args: any = {}): void { let script = cache[name]; if (!script) { diff --git a/plugins/default-browser-emulator/lib/helpers/configureBrowserLaunchArgs.ts b/plugins/default-browser-emulator/lib/helpers/configureBrowserLaunchArgs.ts index cb705800a..20bd2731d 100644 --- a/plugins/default-browser-emulator/lib/helpers/configureBrowserLaunchArgs.ts +++ b/plugins/default-browser-emulator/lib/helpers/configureBrowserLaunchArgs.ts @@ -32,7 +32,7 @@ export function configureBrowserLaunchArgs( * AvoidUnnecessaryBeforeUnloadCheckSync = allow about:blank nav * MediaRouter,DialMediaRouteProvider (don't lookup local area casting options) */ - '--disable-features=PaintHolding,LazyFrameLoading,DestroyProfileOnBrowserClose,AvoidUnnecessaryBeforeUnloadCheckSync,OutOfBlinkCors,GlobalMediaControls,MediaRouter,DialMediaRouteProvider', + '--disable-features=PaintHolding,LazyFrameLoading,DestroyProfileOnBrowserClose,AvoidUnnecessaryBeforeUnloadCheckSync,OutOfBlinkCors,GlobalMediaControls,MediaRouter,DialMediaRouteProvider,OptimizationHints', '--disable-blink-features=AutomationControlled', '--disable-hang-monitor', '--disable-ipc-flooding-protection', // Some javascript functions can be used to flood the browser process with IPC. By default, protection is on to limit the number of IPC sent to 10 per second per frame. diff --git a/plugins/default-browser-emulator/lib/helpers/setScreensize.ts b/plugins/default-browser-emulator/lib/helpers/setScreensize.ts index 3577c561d..1f5d3ff41 100644 --- a/plugins/default-browser-emulator/lib/helpers/setScreensize.ts +++ b/plugins/default-browser-emulator/lib/helpers/setScreensize.ts @@ -1,4 +1,6 @@ -import IDevtoolsSession, { Protocol } from '@ulixee/unblocked-specification/agent/browser/IDevtoolsSession'; +import IDevtoolsSession, { + Protocol, +} from '@ulixee/unblocked-specification/agent/browser/IDevtoolsSession'; import { IPage } from '@ulixee/unblocked-specification/agent/browser/IPage'; import IEmulationProfile from '@ulixee/unblocked-specification/plugin/IEmulationProfile'; @@ -10,22 +12,22 @@ export default async function setScreensize( const { viewport } = emulationProfile; if (!viewport) return; - const promises: Promise[] = []; - - const metricsOverrideRequest: Protocol.Emulation.SetDeviceMetricsOverrideRequest = { - width: viewport.width, - height: viewport.height, - deviceScaleFactor: viewport.deviceScaleFactor ?? 0, - mobile: false, - }; + const promises: Promise[] = [ + devtools.send('Emulation.setDeviceMetricsOverride', { + width: viewport.width, + height: viewport.height, + deviceScaleFactor: viewport.deviceScaleFactor ?? 0, + mobile: false, + positionX: viewport.positionX, + positionY: viewport.positionY, + screenWidth: viewport.screenWidth, + screenHeight: viewport.screenHeight, + }), + ]; if (emulationProfile.browserEngine.isHeaded && viewport.screenWidth) { promises.push( - page.devtoolsSession.send('Browser.getWindowForTarget').then(({ windowId, bounds }) => { - if (bounds.width === viewport.screenWidth && bounds.height === viewport.screenHeight) { - return null; - } - + page.devtoolsSession.send('Browser.getWindowForTarget').then(({ windowId }) => { return devtools.send('Browser.setWindowBounds', { windowId, bounds: { @@ -36,20 +38,11 @@ export default async function setScreensize( }); }), ); - } else { - Object.assign(metricsOverrideRequest, { - positionX: viewport.positionX, - positionY: viewport.positionY, - screenWidth: viewport.screenWidth, - screenHeight: viewport.screenHeight, - }); } - promises.push(devtools.send('Emulation.setDeviceMetricsOverride', metricsOverrideRequest)); - if (viewport.width === 0 || viewport.height === 0) { promises.push( - devtools.send('Page.getLayoutMetrics').then((x) => { + devtools.send('Page.getLayoutMetrics').then(x => { const visualViewport: Protocol.Page.VisualViewport = x.cssVisualViewport ?? x.visualViewport; viewport.height = visualViewport.clientHeight; diff --git a/plugins/default-browser-emulator/lib/loadDomOverrides.ts b/plugins/default-browser-emulator/lib/loadDomOverrides.ts index a9ae98b7e..a027a716a 100644 --- a/plugins/default-browser-emulator/lib/loadDomOverrides.ts +++ b/plugins/default-browser-emulator/lib/loadDomOverrides.ts @@ -12,7 +12,9 @@ export default function loadDomOverrides( const domOverrides = new DomOverridesBuilder(); const deviceProfile = emulationProfile.deviceProfile; - const isHeadless = emulationProfile.browserEngine.isHeaded !== true && emulationProfile.browserEngine.isHeadlessNew !== true; + const isHeadless = + emulationProfile.browserEngine.isHeaded !== true && + emulationProfile.browserEngine.isHeadlessNew !== true; domOverrides.add('navigator.hardwareConcurrency', { concurrency: deviceProfile.hardwareConcurrency, @@ -82,6 +84,7 @@ export default function loadDomOverrides( domOverrides.add('WebGLRenderingContext.prototype.getParameter', deviceProfile.webGlParameters); domOverrides.add('console.debug'); domOverrides.add('HTMLIFrameElement.prototype'); + domOverrides.add('SharedWorker.prototype'); const locale = emulationProfile.locale; const voices = data.speech.voices?.map(x => { @@ -98,10 +101,21 @@ export default function loadDomOverrides( domOverrides.add('window.outerHeight', { frameBorderHeight: frame.frameBorderHeight, }); + if (Number(emulationProfile.browserEngine.fullVersion.split('.')[0]) >= 109) { + domOverrides.add('performance'); + } domOverrides.add('window.screen', { unAvailHeight: frame.screenGapTop + frame.screenGapBottom, unAvailWidth: frame.screenGapLeft + frame.screenGapRight, + colorDepth: emulationProfile.viewport.colorDepth ?? frame.colorDepth, }); + domOverrides.registerWorkerOverrides( + 'console.debug', + 'navigator.deviceMemory', + 'navigator.hardwareConcurrency', + 'navigator', + 'WebGLRenderingContext.prototype.getParameter', + ); return domOverrides; } diff --git a/plugins/default-browser-emulator/lib/setPageDomOverrides.ts b/plugins/default-browser-emulator/lib/setPageDomOverrides.ts index 9c3075e5c..ed1d77ac3 100644 --- a/plugins/default-browser-emulator/lib/setPageDomOverrides.ts +++ b/plugins/default-browser-emulator/lib/setPageDomOverrides.ts @@ -15,7 +15,7 @@ export default async function setPageDomOverrides( promises.push(pageOrFrame.addPageCallback(name, fn, false, devtoolsSession)); } // overrides happen in main frame - promises.push(pageOrFrame.addNewDocumentScript(script.script, false)); + promises.push(pageOrFrame.addNewDocumentScript(script.script, false, devtoolsSession)); await Promise.all(promises); } diff --git a/plugins/default-browser-emulator/lib/setWorkerDomOverrides.ts b/plugins/default-browser-emulator/lib/setWorkerDomOverrides.ts index e00b0d32d..6eb63349b 100644 --- a/plugins/default-browser-emulator/lib/setWorkerDomOverrides.ts +++ b/plugins/default-browser-emulator/lib/setWorkerDomOverrides.ts @@ -7,15 +7,8 @@ export default function setWorkerDomOverrides( data: IBrowserData, worker: IWorker, ): Promise { - const script = domOverrides.build('worker', [ - 'Error.captureStackTrace', - 'Error.constructor', - 'console.debug', - 'navigator.deviceMemory', - 'navigator.hardwareConcurrency', - 'navigator', - 'WebGLRenderingContext.prototype.getParameter', - ]); + const scriptNames = domOverrides.getWorkerOverrides(); + const script = domOverrides.build('worker', scriptNames); if (script.callbacks.length) { throw new Error("Workers can't create callbacks"); } diff --git a/plugins/default-browser-emulator/package.json b/plugins/default-browser-emulator/package.json index cf96e9e6b..24d45d225 100644 --- a/plugins/default-browser-emulator/package.json +++ b/plugins/default-browser-emulator/package.json @@ -1,25 +1,24 @@ { "name": "@ulixee/default-browser-emulator", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Browser emulator generated from DoubleAgent data", "main": "index.js", "dependencies": { - "@ulixee/chrome-112-0": "^5615.121.7", "@ulixee/chrome-app": "^1.0.3", - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/real-user-agents": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-mitm-socket": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/real-user-agents": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-mitm-socket": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "compare-versions": "^3.6.0", - "nanoid": "^3.1.30", + "nanoid": "^3.3.6", "tough-cookie": "^4.0.0", "ua-parser-js": "^0.7.22" }, "devDependencies": { "@types/tough-cookie": "^4.0.0", - "@ulixee/unblocked-agent": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-mitm": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-testing": "2.0.0-alpha.21", + "@ulixee/unblocked-agent": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-mitm": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-testing": "2.0.0-alpha.22", "fpcollect": "^1.0.4", "fpscanner": "^0.1.5", "proxy": "^1.0.1", diff --git a/plugins/default-browser-emulator/test/assets/worker2.js b/plugins/default-browser-emulator/test/assets/worker2.js index a38e02226..e7b0482eb 100644 --- a/plugins/default-browser-emulator/test/assets/worker2.js +++ b/plugins/default-browser-emulator/test/assets/worker2.js @@ -1,9 +1,7 @@ - +const { hardwareConcurrency, userAgent, deviceMemory } = navigator; onconnect = e => { const port = e.ports[0]; - - const { hardwareConcurrency, userAgent, deviceMemory } = navigator + port.postMessage({ hardwareConcurrency, userAgent, deviceMemory }); - port.close(); }; diff --git a/plugins/default-browser-emulator/test/basic.test.ts b/plugins/default-browser-emulator/test/basic.test.ts index 1c05120f0..8c27b74a4 100644 --- a/plugins/default-browser-emulator/test/basic.test.ts +++ b/plugins/default-browser-emulator/test/basic.test.ts @@ -152,7 +152,7 @@ describe('emulator', () => { Helpers.needsClosing.push(agent); const page = await agent.newPage(); await page.goto(koaServer.baseUrl); - await page.waitForLoad('DomContentLoaded') + await page.waitForLoad('DomContentLoaded'); const descriptorsJson = await page.evaluate( 'JSON.stringify(Object.getOwnPropertyDescriptors(Navigator.prototype))', ); diff --git a/plugins/default-browser-emulator/test/detection.test.ts b/plugins/default-browser-emulator/test/detection.test.ts index 7c9dfcd56..11ec472b2 100644 --- a/plugins/default-browser-emulator/test/detection.test.ts +++ b/plugins/default-browser-emulator/test/detection.test.ts @@ -1,10 +1,11 @@ -import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing/index'; +import Resolvable from '@ulixee/commons/lib/Resolvable'; import { ITestKoaServer } from '@ulixee/unblocked-agent-testing/helpers'; +import { Helpers, TestLogger } from '@ulixee/unblocked-agent-testing/index'; import Pool from '@ulixee/unblocked-agent/lib/Pool'; -import * as Fs from 'fs'; -import * as fpscanner from 'fpscanner'; import { LocationStatus } from '@ulixee/unblocked-specification/agent/browser/Location'; -import Resolvable from '@ulixee/commons/lib/Resolvable'; +import * as fpscanner from 'fpscanner'; +import * as Fs from 'fs'; +import { platform } from 'os'; import BrowserEmulator from '../index'; const fpCollectPath = require.resolve('fpcollect/src/fpCollect.js'); @@ -175,6 +176,36 @@ test('should not recurse the toString function', async () => { expect(isHeadless).toBe(false); }); +test('should not call evaluate on a stack getter in debug', async () => { + const agent = pool.createAgent({ + logger, + }); + Helpers.needsClosing.push(agent); + const page = await agent.newPage(); + page.on('console', console.log); + koaServer.get('/debug', ctx => { + ctx.body = `

Hi

no result
+ `; + }); + await page.goto(`${koaServer.baseUrl}/debug`); + await page.waitForLoad('DomContentLoaded'); + const allowStackGetter = await page.evaluate('window.didCallGetter'); + expect(allowStackGetter).toBe(false); +}); + test('should be able to post message', async () => { const agent = pool.createAgent({ logger, @@ -281,38 +312,66 @@ test('cannot detect a proxy of args passed into a proxied function', async () => const canvas = document.createElement("canvas"); const gl = canvas.getContext("webgl"); - const result = gl.getParameter.apply(gl, proxyOfArgs); + gl.getExtension('WEBGL_debug_renderer_info') + const result = gl.getParameter.apply(gl, proxyOfArgs); return { path, result }; })()`); expect(result.path).not.toContain(''); expect(result.result).toBe('Intel Inc.'); }); -test('should get the correct platform from a nested srcdoc iframe', async () => { +test('should get the correct platform from a nested cross-domain srcdoc iframe', async () => { + koaServer.get('/nested-platform', ctx => { + ctx.body = `

hi

+ +`; + }); + koaServer.get('/platform-iframe', ctx => { + ctx.body = ``; + }); + koaServer.get('/platform.js', async ctx => { + ctx.set('content-type', 'application/javascript'); + ctx.body = `let iframe = document.createElement("iframe"); + iframe.srcdoc = "/**/"; + iframe.setAttribute("style", "display: none;"); + document.head.appendChild(iframe); + + const nav = iframe.contentWindow.navigator; + document.head.removeChild(iframe); + iframe = null; + + fetch('/js-result', { + method: 'POST', + body: JSON.stringify( { win: window.navigator.platform, iframe: nav.platform }), + })`; + }); + + const result = new Promise<{ win: string; iframe: string }>(resolve => { + koaServer.post('/js-result', async ctx => { + const body = (await Helpers.readableToBuffer(ctx.req)).toString(); + ctx.body = 'ok'; + const data = JSON.parse(body); + resolve(data); + }); + }); + const agent = pool.createAgent({ logger, + customEmulatorConfig: { userAgentSelector: `~ win` }, }); + agent.hook({ + onNewBrowser(b) { + b.engine.launchArguments.push('--site-per-process', '--host-rules=MAP * 127.0.0.1'); + }, + }); + Helpers.needsClosing.push(agent); const page = await agent.newPage(); - page.on('console', console.log); - await page.goto(`${koaServer.baseUrl}`); + await page.goto(`${koaServer.baseUrl}/nested-platform`); await page.waitForLoad('DomContentLoaded'); - await expect(page.evaluate('document.body.outerHTML')).resolves.toContain( - '

Example Domain

', - ); - const result = await page.evaluate<{ win: string; iframe: string }>(`(async () => { - var iframe = document.createElement("iframe"); - iframe.srcdoc = "/**/"; - iframe.setAttribute("style", "display: none;"); - document.head.appendChild(iframe); - - const navigator = iframe.contentWindow.navigator; - document.head.removeChild(iframe); - - return { win :window.navigator.platform, iframe: navigator.platform }; - })()`); - expect(result.iframe).toBe(result.win); + const { win, iframe } = await result; + expect(win).toBe(iframe); }); test('should get the correct webgl vendor from a nested srcdoc iframe', async () => { @@ -410,7 +469,10 @@ test('stack overflow test should match chrome', async () => { at iWillBetrayYouWithMyLongName (${koaServer.baseUrl}/betrayal:5:9) at iWillBetrayYouWithMyLongName (${koaServer.baseUrl}/betrayal:5:9) at iWillBetrayYouWithMyLongName (${koaServer.baseUrl}/betrayal:5:9)`; - if (browserVersion < 112 && browserVersion > 97) { + if ( + (browserVersion < 112 && browserVersion > 97) || + (browserVersion > 112 && platform() !== 'darwin') + ) { // replace first line only pre-112 stack = stack.replace( `at iWillBetrayYouWithMyLongName (${koaServer.baseUrl}/betrayal:5:9)`, @@ -821,7 +883,7 @@ describe('Proxy detections', () => { it('should emulate in a shared worker', async () => { const hasAllResults = new Resolvable(); const jsonResults: string[] = []; - let postResolvable = new Resolvable(); + const iterations = 1; const httpsServer = await Helpers.runHttpsServer(async (req, res) => { res.setHeader('access-control-allow-origin', '*'); if (req.url === '/test.html') { @@ -854,7 +916,7 @@ it('should emulate in a shared worker', async () => { } const checks = []; - for (let index = 0; index < 20; index++) { + for (let index = 0; index < 5; index++) { checks.push(check()); } await Promise.all(checks) @@ -868,9 +930,8 @@ it('should emulate in a shared worker', async () => { `); } else if (req.url.includes('worker-result')) { const result = await Helpers.readableToBuffer(req); - postResolvable.resolve(); jsonResults.push(result.toString()); - if (jsonResults.length === 10) { + if (jsonResults.length === iterations) { hasAllResults.resolve(); } @@ -883,21 +944,118 @@ it('should emulate in a shared worker', async () => { res.end(body); } }); - const agent = pool.createAgent({ logger }); - Helpers.needsClosing.push(agent); - const page = await agent.newPage(); - for (let i = 0; i < 10; i += 1) { - postResolvable = new Resolvable(); + + await Promise.allSettled( + Array(iterations) + .fill(0) + .map(async () => { + const agent = pool.createAgent({ logger }); + Helpers.needsClosing.push(agent); + const page = await agent.newPage(); + await page.goto(`${httpsServer.baseUrl}/test.html`); + }), + ); + + await hasAllResults; + const results = jsonResults.map(x => JSON.parse(x)); + expect(results).toHaveLength(iterations); + + const resultWithUnmasked: any[] = []; + + for (const result of results) { + const hardware = new Set(result.map(x => x.hardwareConcurrency)); + const ua = new Set(result.map(x => x.userAgent)); + if (ua.size > 1 || hardware.size > 1) + resultWithUnmasked.push({ hardware: [...hardware], ua: [...ua] }); + } + expect(resultWithUnmasked).toHaveLength(0); +}); + +it('should emulate in a blob shared worker', async () => { + const hasAllResults = new Resolvable(); + const jsonResults: string[] = []; + const iterations = 2; + + const httpsServer = await Helpers.runHttpsServer(async (req, res) => { + res.setHeader('access-control-allow-origin', '*'); + if (req.url === '/test.html') { + res.end(` + + + + + + Document + + + +`); + } else if (req.url.includes('worker-result')) { + const result = await Helpers.readableToBuffer(req); + jsonResults.push(result.toString()); + if (jsonResults.length === iterations) { + hasAllResults.resolve(); + } + + res.end(''); + } + }); + + for (let i = 0; i < iterations; i += 1) { + const agent = pool.createAgent({ logger }); + Helpers.needsClosing.push(agent); + const page = await agent.newPage(); await page.goto(`${httpsServer.baseUrl}/test.html`); - await postResolvable; } await hasAllResults; const results = jsonResults.map(x => JSON.parse(x)); - expect(results).toHaveLength(10); + expect(results).toHaveLength(iterations); + + const resultWithUnmasked: any[] = []; for (const result of results) { - expect([...new Set(result.map(x => x.hardwareConcurrency))]).toHaveLength(1); - expect([...new Set(result.map(x => x.userAgent))]).toHaveLength(1); + const hardware = new Set(result.map(x => x.hardwareConcurrency)); + const ua = new Set(result.map(x => x.userAgent)); + if (ua.size > 1 || hardware.size > 1) + resultWithUnmasked.push({ hardware: [...hardware], ua: [...ua] }); } + expect(resultWithUnmasked).toHaveLength(0); }); diff --git a/plugins/default-browser-emulator/test/polyfills.test.ts b/plugins/default-browser-emulator/test/polyfills.test.ts index 73ee026e3..60ca2f7b0 100644 --- a/plugins/default-browser-emulator/test/polyfills.test.ts +++ b/plugins/default-browser-emulator/test/polyfills.test.ts @@ -9,7 +9,7 @@ import { getOverrideScript } from '../lib/DomOverridesBuilder'; import DomExtractor = require('./DomExtractor'); let browser: Browser; -let httpServer: ITestKoaServer +let httpServer: ITestKoaServer; let context: BrowserContext; beforeEach(Helpers.beforeEach); beforeAll(async () => { @@ -68,7 +68,7 @@ test('it should be able to add polyfills', async () => { _$flags: '', }, 'new()': { - _$constructorException: "TypeError: Cannot read property '0' of undefined", + _$protos: ['ObjectTest.prototype', 'Object.prototype'], _$type: 'constructor', }, _$type: 'function', @@ -143,7 +143,7 @@ test('it should be able to remove properties', async () => { ); await Promise.all([ page.navigate(httpServer.baseUrl), - page.mainFrame.waitOn('frame-lifecycle', (event) => event.name === 'load'), + page.mainFrame.waitOn('frame-lifecycle', event => event.name === 'load'), ]); expect(await page.mainFrame.evaluate(`!!window.Atomics`, false)).not.toBeTruthy(); @@ -172,7 +172,7 @@ test('it should be able to change properties', async () => { ); await Promise.all([ page.navigate(httpServer.baseUrl), - page.mainFrame.waitOn('frame-lifecycle', (event) => event.name === 'load'), + page.mainFrame.waitOn('frame-lifecycle', event => event.name === 'load'), ]); const protocolToString = await page.mainFrame.evaluate( @@ -218,7 +218,7 @@ test('it should be able to change property order', async () => { await new Promise(setImmediate); await Promise.all([ page.navigate(httpServer.baseUrl), - page.mainFrame.waitOn('frame-lifecycle', (event) => event.name === 'load'), + page.mainFrame.waitOn('frame-lifecycle', event => event.name === 'load'), ]); const keyOrder = (await page.mainFrame.evaluate( @@ -265,7 +265,7 @@ test('it should be able to change window property order', async () => { ); await Promise.all([ page.navigate(httpServer.baseUrl), - page.mainFrame.waitOn('frame-lifecycle', (event) => event.name === 'load'), + page.mainFrame.waitOn('frame-lifecycle', event => event.name === 'load'), ]); const windowKeysAfter = (await page.mainFrame.evaluate(`Object.keys(window)`, false)) as string[]; diff --git a/plugins/default-browser-emulator/test/userAgent.test.ts b/plugins/default-browser-emulator/test/userAgent.test.ts index 20846477d..acc0c2da1 100644 --- a/plugins/default-browser-emulator/test/userAgent.test.ts +++ b/plugins/default-browser-emulator/test/userAgent.test.ts @@ -31,7 +31,7 @@ describe('user agent and platform', () => { `userAgentData.mobile`, `userAgentData.platform`, `userAgentData.brands`, - 'connection.rtt' + 'connection.rtt', ]; it('should be able to configure a userAgent', async () => { @@ -85,7 +85,7 @@ describe('user agent and platform', () => { const requestUserAgentStrings: string[] = []; - koaServer.get('/agent-test', (ctx) => { + koaServer.get('/agent-test', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.body = `

Agent Test

@@ -93,12 +93,12 @@ describe('user agent and platform', () => { `; }); - koaServer.get('/frame', (ctx) => { + koaServer.get('/frame', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.body = ` link`, @@ -176,12 +176,12 @@ describe('user agent and platform', () => { } }); - koaServer.get('/page1', (ctx) => { + koaServer.get('/page1', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.body = `link`; }); - koaServer.get('/page2', (ctx) => { + koaServer.get('/page2', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.body = `

Last Page

`; }); @@ -241,21 +241,36 @@ describe('user agent and platform', () => { const agentMeta = await agent.emulationProfile.userAgentOption; const requestUserAgentStrings: string[] = []; - - koaServer.get('/workers-test', (ctx) => { + koaServer.get('/workers-test', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.body = ` - + `; }); - koaServer.get('/worker.js', (ctx) => { + koaServer.get('/worker.js', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.set('content-type', 'application/javascript'); ctx.body = `onmessage = () => { - const data = { - ${propsToGet.map((x) => `'${x}': navigator.${x}`).join(',\n')} + ${propsToGet.map(x => `'${x}': navigator.${x}`).join(',\n')} }; fetch('/worker-xhr', { method: 'POST', @@ -264,8 +279,16 @@ describe('user agent and platform', () => { }`; }); - const xhr = new Promise((resolve) => { - koaServer.post('/worker-xhr', async (ctx) => { + const xhr = new Promise(resolve => { + koaServer.post('/worker-xhr', async ctx => { + requestUserAgentStrings.push(ctx.get('user-agent')); + const body = JSON.parse((await Helpers.readableToBuffer(ctx.req)).toString()); + resolve(body); + ctx.body = 'Ok'; + }); + }); + const blobXhr = new Promise(resolve => { + koaServer.post('/worker-blob-xhr', async ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); const body = JSON.parse((await Helpers.readableToBuffer(ctx.req)).toString()); resolve(body); @@ -276,6 +299,7 @@ describe('user agent and platform', () => { const page = await agent.newPage(); await page.goto(`${koaServer.baseUrl}/workers-test`); const params = await xhr; + const blobParams = await blobXhr; for (const useragent of requestUserAgentStrings) { expect(useragent).toBe(agentMeta.string); @@ -284,7 +308,9 @@ describe('user agent and platform', () => { for (const prop of propsToGet) { const windowValue = await page.evaluate(`navigator.${prop}`); expect(params[prop]).toStrictEqual(windowValue); + expect(blobParams[prop]).toStrictEqual(windowValue); expect(`${prop}=${params[prop]}`).toStrictEqual(`${prop}=${windowValue}`); + expect(`${prop}=${blobParams[prop]}`).toStrictEqual(`${prop}=${windowValue}`); } }); @@ -296,7 +322,7 @@ describe('user agent and platform', () => { const requestUserAgentStrings: string[] = []; - koaServer.get('/sw-test', (ctx) => { + koaServer.get('/sw-test', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.body = `

Service Worker Test

@@ -317,7 +343,7 @@ describe('user agent and platform', () => { `; }); - koaServer.get('/service-worker.js', (ctx) => { + koaServer.get('/service-worker.js', ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); ctx.set('content-type', 'application/javascript'); ctx.body = ` @@ -336,7 +362,7 @@ self.addEventListener('message', async event => { const clients = await self.clients.matchAll(); const result = { - ${propsToGet.map((x) => `'${x}': navigator.${x}`).join(',\n')} + ${propsToGet.map(x => `'${x}': navigator.${x}`).join(',\n')} }; const data = JSON.stringify(result); @@ -344,8 +370,8 @@ self.addEventListener('message', async event => { });`; }); - const xhr = new Promise((resolve) => { - koaServer.post('/service-xhr', async (ctx) => { + const xhr = new Promise(resolve => { + koaServer.post('/service-xhr', async ctx => { requestUserAgentStrings.push(ctx.get('user-agent')); const body = JSON.parse((await Helpers.readableToBuffer(ctx.req)).toString()); resolve(body); @@ -386,7 +412,7 @@ self.addEventListener('message', async event => { jsonResult.resolve(result.toString()); res.end(''); } else { - await new Promise((resolve) => setTimeout(resolve, 50)); + await new Promise(resolve => setTimeout(resolve, 50)); const body = Fs.readFileSync(`${__dirname}/assets/worker.js`); res.setHeader('etag', 'W/"602f25aa-573c"'); res.setHeader('content-type', 'application/javascript; charset=utf-8'); diff --git a/plugins/default-human-emulator/CHANGELOG.md b/plugins/default-human-emulator/CHANGELOG.md index 1f74c375c..7be7de3d2 100644 --- a/plugins/default-human-emulator/CHANGELOG.md +++ b/plugins/default-human-emulator/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/default-human-emulator + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/default-human-emulator diff --git a/plugins/default-human-emulator/package.json b/plugins/default-human-emulator/package.json index d21ef886f..ce2e59a0e 100644 --- a/plugins/default-human-emulator/package.json +++ b/plugins/default-human-emulator/package.json @@ -1,15 +1,15 @@ { "name": "@ulixee/default-human-emulator", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Default human emulator based on Xetera/ghost-cursor", "main": "index.js", "dependencies": { - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21" + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22" }, "devDependencies": { - "@ulixee/js-path": "2.0.0-alpha.21", - "@ulixee/unblocked-agent": "2.0.0-alpha.21", - "@ulixee/unblocked-agent-testing": "2.0.0-alpha.21" + "@ulixee/js-path": "2.0.0-alpha.22", + "@ulixee/unblocked-agent": "2.0.0-alpha.22", + "@ulixee/unblocked-agent-testing": "2.0.0-alpha.22" } } diff --git a/real-user-agents/CHANGELOG.md b/real-user-agents/CHANGELOG.md index e51bb864c..c2d851459 100644 --- a/real-user-agents/CHANGELOG.md +++ b/real-user-agents/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/real-user-agents + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/real-user-agents diff --git a/real-user-agents/data/browsersById.json b/real-user-agents/data/browsersById.json index 00ddf784a..c1ced90b8 100644 --- a/real-user-agents/data/browsersById.json +++ b/real-user-agents/data/browsersById.json @@ -1344,7 +1344,7 @@ "chrome-76-0": { "id": "chrome-76-0", "name": "Chrome", - "marketshare": 0.2, + "marketshare": 0.1, "version": { "major": "76", "minor": "0", @@ -1372,7 +1372,7 @@ "chrome-79-0": { "id": "chrome-79-0", "name": "Chrome", - "marketshare": 0.2, + "marketshare": 0.4, "version": { "major": "79", "minor": "0", @@ -1428,7 +1428,7 @@ "chrome-84-0": { "id": "chrome-84-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "84", "minor": "0", @@ -1442,7 +1442,7 @@ "chrome-83-0": { "id": "chrome-83-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0.4, "version": { "major": "83", "minor": "0", @@ -2048,7 +2048,7 @@ "ie-8-0": { "id": "ie-8-0", "name": "IE", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "8", "minor": "0" @@ -2235,7 +2235,7 @@ "safari-13-1": { "id": "safari-13-1", "name": "Safari", - "marketshare": 0.5, + "marketshare": 0.4, "version": { "major": "13", "minor": "1", @@ -2312,7 +2312,7 @@ "chrome-88-0": { "id": "chrome-88-0", "name": "Chrome", - "marketshare": 0, + "marketshare": 0.1, "version": { "major": "88", "minor": "0", @@ -2338,7 +2338,7 @@ "safari-14-0": { "id": "safari-14-0", "name": "Safari", - "marketshare": 0.2, + "marketshare": 0.3, "version": { "major": "14", "minor": "0", @@ -2441,7 +2441,7 @@ "chrome-90-0": { "id": "chrome-90-0", "name": "Chrome", - "marketshare": 0, + "marketshare": 0.1, "version": { "major": "90", "minor": "0", @@ -2509,7 +2509,7 @@ "chrome-92-0": { "id": "chrome-92-0", "name": "Chrome", - "marketshare": 0, + "marketshare": 0.1, "version": { "major": "92", "minor": "0", @@ -2523,7 +2523,7 @@ "chrome-97-0": { "id": "chrome-97-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "97", "minor": "0", @@ -2537,7 +2537,7 @@ "chrome-93-0": { "id": "chrome-93-0", "name": "Chrome", - "marketshare": 0.2, + "marketshare": 0.3, "version": { "major": "93", "minor": "0", @@ -2551,7 +2551,7 @@ "chrome-98-0": { "id": "chrome-98-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "98", "minor": "0", @@ -2565,7 +2565,7 @@ "chrome-94-0": { "id": "chrome-94-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "94", "minor": "0", @@ -2617,7 +2617,7 @@ "chrome-96-0": { "id": "chrome-96-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "96", "minor": "0", @@ -2801,7 +2801,7 @@ "safari-14-1": { "id": "safari-14-1", "name": "Safari", - "marketshare": 0.7, + "marketshare": 0.8, "version": { "major": "14", "minor": "1", @@ -2826,7 +2826,7 @@ "chrome-100-0": { "id": "chrome-100-0", "name": "Chrome", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "100", "minor": "0", @@ -2868,7 +2868,7 @@ "chrome-102-0": { "id": "chrome-102-0", "name": "Chrome", - "marketshare": 0.2, + "marketshare": 0.1, "version": { "major": "102", "minor": "0", @@ -2920,7 +2920,7 @@ "chrome-105-0": { "id": "chrome-105-0", "name": "Chrome", - "marketshare": 0.2, + "marketshare": 0.1, "version": { "major": "105", "minor": "0", @@ -2946,7 +2946,7 @@ "chrome-103-0": { "id": "chrome-103-0", "name": "Chrome", - "marketshare": 0.6, + "marketshare": 0.5, "version": { "major": "103", "minor": "0", @@ -3158,7 +3158,7 @@ "safari-15-6": { "id": "safari-15-6", "name": "Safari", - "marketshare": 1.7, + "marketshare": 1.8, "version": { "major": "15", "minor": "6", @@ -3183,7 +3183,7 @@ "chrome-107-0": { "id": "chrome-107-0", "name": "Chrome", - "marketshare": 0.2, + "marketshare": 0.1, "version": { "major": "107", "minor": "0", @@ -3235,7 +3235,7 @@ "chrome-108-0": { "id": "chrome-108-0", "name": "Chrome", - "marketshare": 0.8, + "marketshare": 0.3, "version": { "major": "108", "minor": "0", @@ -3249,7 +3249,7 @@ "edge-108-0": { "id": "edge-108-0", "name": "Edge", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "108", "minor": "0", @@ -3275,7 +3275,7 @@ "chrome-109-0": { "id": "chrome-109-0", "name": "Chrome", - "marketshare": 2.1, + "marketshare": 1.1, "version": { "major": "109", "minor": "0", @@ -3289,7 +3289,7 @@ "edge-109-0": { "id": "edge-109-0", "name": "Edge", - "marketshare": 0.2, + "marketshare": 0.1, "version": { "major": "109", "minor": "0", @@ -3303,7 +3303,7 @@ "firefox-109-0": { "id": "firefox-109-0", "name": "Firefox", - "marketshare": 0.1, + "marketshare": 0, "version": { "major": "109", "minor": "0" @@ -3315,7 +3315,7 @@ "chrome-110-0": { "id": "chrome-110-0", "name": "Chrome", - "marketshare": 9.1, + "marketshare": 0.3, "version": { "major": "110", "minor": "0", @@ -3329,7 +3329,7 @@ "edge-110-0": { "id": "edge-110-0", "name": "Edge", - "marketshare": 3, + "marketshare": 0, "version": { "major": "110", "minor": "0", @@ -3343,7 +3343,7 @@ "firefox-110-0": { "id": "firefox-110-0", "name": "Firefox", - "marketshare": 1.2, + "marketshare": 0, "version": { "major": "110", "minor": "0" @@ -3355,7 +3355,7 @@ "chrome-111-0": { "id": "chrome-111-0", "name": "Chrome", - "marketshare": 10.6, + "marketshare": 1.4, "version": { "major": "111", "minor": "0", @@ -3369,7 +3369,7 @@ "safari-16-3": { "id": "safari-16-3", "name": "Safari", - "marketshare": 3.8, + "marketshare": 1.9, "version": { "major": "16", "minor": "3" @@ -3381,7 +3381,7 @@ "firefox-111-0": { "id": "firefox-111-0", "name": "Firefox", - "marketshare": 0.9, + "marketshare": 0.1, "version": { "major": "111", "minor": "0" @@ -3393,7 +3393,7 @@ "edge-111-0": { "id": "edge-111-0", "name": "Edge", - "marketshare": 3.4, + "marketshare": 0.1, "version": { "major": "111", "minor": "0", @@ -3407,7 +3407,7 @@ "chrome-112-0": { "id": "chrome-112-0", "name": "Chrome", - "marketshare": 0, + "marketshare": 7.8, "version": { "major": "112", "minor": "0", @@ -3421,7 +3421,7 @@ "edge-112-0": { "id": "edge-112-0", "name": "Edge", - "marketshare": 0, + "marketshare": 2.2, "version": { "major": "112", "minor": "0", @@ -3435,7 +3435,7 @@ "firefox-112-0": { "id": "firefox-112-0", "name": "Firefox", - "marketshare": 0, + "marketshare": 0.7, "version": { "major": "112", "minor": "0" @@ -3443,5 +3443,73 @@ "deviceCategory": "desktop", "releaseDate": "unknown", "description": "" + }, + "chrome-113-0": { + "id": "chrome-113-0", + "name": "Chrome", + "marketshare": 9.6, + "version": { + "major": "113", + "minor": "0", + "build": "0", + "patch": "0" + }, + "deviceCategory": "desktop", + "releaseDate": "unknown", + "description": "" + }, + "firefox-113-0": { + "id": "firefox-113-0", + "name": "Firefox", + "marketshare": 0.9, + "version": { + "major": "113", + "minor": "0" + }, + "deviceCategory": "desktop", + "releaseDate": "unknown", + "description": "" + }, + "edge-113-0": { + "id": "edge-113-0", + "name": "Edge", + "marketshare": 3.1, + "version": { + "major": "113", + "minor": "0", + "build": "1774", + "patch": "35" + }, + "deviceCategory": "desktop", + "releaseDate": "unknown", + "description": "" + }, + "chrome-114-0": { + "id": "chrome-114-0", + "name": "Chrome", + "marketshare": 0.1, + "version": { + "major": "114", + "minor": "0", + "build": "0", + "patch": "0" + }, + "deviceCategory": "desktop", + "releaseDate": "unknown", + "description": "" + }, + "edge-114-0": { + "id": "edge-114-0", + "name": "Edge", + "marketshare": 0, + "version": { + "major": "114", + "minor": "0", + "build": "1823", + "patch": "37" + }, + "deviceCategory": "desktop", + "releaseDate": "unknown", + "description": "" } } diff --git a/real-user-agents/data/chromiumBuildVersions.json b/real-user-agents/data/chromiumBuildVersions.json index 7d223a18b..6115c1355 100644 --- a/real-user-agents/data/chromiumBuildVersions.json +++ b/real-user-agents/data/chromiumBuildVersions.json @@ -1,4 +1,491 @@ [ + "116.0.5827.1", + "116.0.5827.0", + "115.0.5790.29", + "114.0.5735.132", + "116.0.5826.1", + "116.0.5826.0", + "114.0.5735.131", + "114.0.5735.130", + "116.0.5825.1", + "116.0.5825.0", + "115.0.5790.28", + "114.0.5735.129", + "116.0.5824.1", + "116.0.5824.0", + "114.0.5735.128", + "116.0.5823.1", + "116.0.5823.0", + "115.0.5790.27", + "114.0.5735.127", + "116.0.5822.1", + "116.0.5822.0", + "116.0.5821.1", + "116.0.5821.0", + "115.0.5790.26", + "114.0.5735.126", + "114.0.5735.125", + "116.0.5820.1", + "114.0.5735.124", + "116.0.5820.0", + "116.0.5819.1", + "116.0.5819.0", + "115.0.5790.25", + "114.0.5735.123", + "116.0.5817.6", + "116.0.5817.5", + "116.0.5818.1", + "116.0.5818.0", + "116.0.5817.4", + "116.0.5817.3", + "116.0.5817.2", + "116.0.5817.1", + "116.0.5817.0", + "115.0.5790.24", + "114.0.5735.122", + "115.0.5790.23", + "114.0.5735.63", + "114.0.5735.62", + "115.0.5790.22", + "116.0.5816.1", + "116.0.5816.0", + "114.0.5735.121", + "115.0.5790.21", + "115.0.5790.20", + "116.0.5815.1", + "116.0.5815.0", + "115.0.5790.19", + "114.0.5735.120", + "108.0.5359.234", + "116.0.5814.1", + "109.0.5414.149", + "116.0.5814.0", + "116.0.5813.3", + "116.0.5813.2", + "116.0.5813.1", + "116.0.5813.0", + "115.0.5790.18", + "114.0.5735.119", + "114.0.5735.113", + "114.0.5735.112", + "114.0.5735.111", + "114.0.5735.110", + "116.0.5812.1", + "116.0.5812.0", + "109.0.5414.148", + "116.0.5811.1", + "116.0.5811.0", + "114.0.5735.109", + "114.0.5735.108", + "114.0.5735.107", + "114.0.5735.106", + "115.0.5790.17", + "114.0.5735.118", + "116.0.5810.1", + "116.0.5810.0", + "116.0.5809.2", + "116.0.5809.1", + "116.0.5809.0", + "115.0.5790.16", + "114.0.5735.117", + "114.0.5735.105", + "114.0.5735.104", + "114.0.5735.103", + "114.0.5735.102", + "114.0.5735.61", + "114.0.5735.60", + "114.0.5735.59", + "116.0.5808.2", + "116.0.5808.1", + "116.0.5808.0", + "116.0.5807.1", + "116.0.5807.0", + "115.0.5790.15", + "114.0.5735.100", + "116.0.5806.2", + "115.0.5787.8", + "108.0.5359.233", + "116.0.5806.1", + "116.0.5806.0", + "116.0.5805.2", + "116.0.5805.1", + "116.0.5805.0", + "115.0.5790.14", + "114.0.5735.99", + "116.0.5804.3", + "116.0.5803.2", + "116.0.5804.2", + "116.0.5804.1", + "116.0.5804.0", + "116.0.5803.1", + "116.0.5803.0", + "115.0.5790.13", + "114.0.5735.98", + "115.0.5790.12", + "115.0.5790.11", + "116.0.5802.1", + "116.0.5802.0", + "116.0.5801.1", + "116.0.5801.0", + "109.0.5414.147", + "115.0.5790.10", + "114.0.5735.97", + "116.0.5800.1", + "116.0.5800.0", + "116.0.5799.1", + "116.0.5799.0", + "115.0.5790.9", + "114.0.5735.96", + "116.0.5798.1", + "116.0.5798.0", + "116.0.5797.1", + "116.0.5797.0", + "115.0.5790.8", + "114.0.5735.95", + "116.0.5796.1", + "116.0.5796.0", + "116.0.5795.2", + "116.0.5795.1", + "116.0.5795.0", + "115.0.5790.7", + "116.0.5794.3", + "114.0.5735.94", + "114.0.5735.93", + "114.0.5735.92", + "114.0.5735.91", + "114.0.5735.90", + "114.0.5735.58", + "114.0.5735.57", + "116.0.5794.2", + "116.0.5791.2", + "116.0.5794.1", + "116.0.5794.0", + "116.0.5793.3", + "116.0.5793.2", + "116.0.5793.1", + "116.0.5793.0", + "115.0.5790.6", + "114.0.5735.89", + "116.0.5792.2", + "114.0.5735.88", + "114.0.5735.87", + "114.0.5735.86", + "114.0.5735.85", + "116.0.5792.1", + "116.0.5792.0", + "116.0.5791.1", + "116.0.5791.0", + "115.0.5790.5", + "114.0.5735.84", + "115.0.5790.4", + "115.0.5790.3", + "114.0.5735.56", + "114.0.5735.55", + "115.0.5790.2", + "115.0.5790.1", + "115.0.5790.0", + "114.0.5735.53", + "114.0.5735.52", + "114.0.5735.51", + "112.0.5615.213", + "114.0.5735.50", + "113.0.5672.177", + "113.0.5672.167", + "113.0.5672.166", + "114.0.5735.49", + "114.0.5735.48", + "114.0.5735.47", + "114.0.5735.46", + "114.0.5735.45", + "115.0.5789.2", + "114.0.5735.44", + "115.0.5789.1", + "113.0.5672.165", + "113.0.5672.164", + "115.0.5789.0", + "114.0.5735.43", + "115.0.5788.1", + "115.0.5788.0", + "109.0.5414.146", + "112.0.5615.212", + "114.0.5735.42", + "113.0.5672.176", + "115.0.5787.3", + "114.0.5735.41", + "115.0.5787.2", + "113.0.5672.163", + "113.0.5672.162", + "115.0.5787.1", + "115.0.5787.0", + "115.0.5786.1", + "115.0.5786.0", + "108.0.5359.232", + "112.0.5615.211", + "114.0.5735.40", + "113.0.5672.175", + "115.0.5785.1", + "115.0.5785.0", + "115.0.5784.1", + "115.0.5784.0", + "112.0.5615.210", + "114.0.5735.39", + "113.0.5672.174", + "115.0.5783.1", + "115.0.5783.0", + "115.0.5782.1", + "115.0.5782.0", + "112.0.5615.209", + "114.0.5735.38", + "113.0.5672.173", + "115.0.5781.2", + "115.0.5781.1", + "113.0.5672.161", + "113.0.5672.160", + "113.0.5672.159", + "113.0.5672.158", + "115.0.5780.2", + "115.0.5781.0", + "115.0.5780.1", + "115.0.5780.0", + "112.0.5615.208", + "114.0.5735.37", + "113.0.5672.156", + "115.0.5779.2", + "115.0.5779.1", + "115.0.5779.0", + "115.0.5778.1", + "115.0.5778.0", + "112.0.5615.207", + "114.0.5735.36", + "113.0.5672.155", + "113.0.5672.136", + "115.0.5777.2", + "115.0.5777.1", + "115.0.5777.0", + "115.0.5776.1", + "115.0.5776.0", + "112.0.5615.206", + "114.0.5735.35", + "113.0.5672.134", + "114.0.5735.34", + "114.0.5735.33", + "115.0.5773.5", + "115.0.5773.4", + "115.0.5773.3", + "109.0.5414.145", + "112.0.5615.205", + "114.0.5735.32", + "113.0.5672.133", + "112.0.5615.204", + "113.0.5672.132", + "113.0.5672.131", + "113.0.5672.130", + "113.0.5672.129", + "113.0.5672.128", + "113.0.5672.127", + "113.0.5672.126", + "115.0.5773.2", + "115.0.5773.1", + "115.0.5773.0", + "115.0.5772.1", + "115.0.5772.0", + "112.0.5615.203", + "114.0.5735.31", + "113.0.5672.125", + "115.0.5771.1", + "115.0.5771.0", + "115.0.5770.1", + "115.0.5770.0", + "112.0.5615.202", + "114.0.5735.30", + "113.0.5672.124", + "115.0.5769.1", + "115.0.5769.0", + "115.0.5768.1", + "115.0.5768.0", + "112.0.5615.201", + "114.0.5735.29", + "113.0.5672.123", + "115.0.5767.2", + "115.0.5767.1", + "115.0.5767.0", + "115.0.5766.1", + "115.0.5766.0", + "112.0.5615.200", + "114.0.5735.28", + "113.0.5672.122", + "115.0.5765.1", + "115.0.5765.0", + "113.0.5672.121", + "115.0.5758.3", + "115.0.5758.2", + "115.0.5764.1", + "115.0.5764.0", + "112.0.5615.199", + "114.0.5735.27", + "113.0.5672.120", + "115.0.5762.4", + "115.0.5763.1", + "115.0.5763.0", + "115.0.5762.3", + "115.0.5762.2", + "115.0.5762.1", + "115.0.5762.0", + "112.0.5615.198", + "114.0.5735.26", + "113.0.5672.119", + "114.0.5735.25", + "115.0.5761.2", + "114.0.5735.24", + "115.0.5761.1", + "115.0.5761.0", + "113.0.5672.118", + "115.0.5760.0", + "115.0.5759.2", + "109.0.5414.144", + "112.0.5615.197", + "114.0.5735.23", + "113.0.5672.117", + "114.0.5735.22", + "115.0.5757.2", + "115.0.5759.1", + "115.0.5759.0", + "115.0.5758.1", + "115.0.5758.0", + "112.0.5615.196", + "114.0.5735.21", + "113.0.5672.116", + "115.0.5757.1", + "115.0.5757.0", + "115.0.5756.1", + "115.0.5756.0", + "112.0.5615.195", + "114.0.5735.20", + "113.0.5672.115", + "115.0.5755.1", + "115.0.5755.0", + "115.0.5754.1", + "115.0.5754.0", + "112.0.5615.194", + "114.0.5735.19", + "113.0.5672.114", + "113.0.5672.95", + "113.0.5672.94", + "113.0.5672.93", + "113.0.5672.92", + "115.0.5753.3", + "115.0.5753.2", + "115.0.5753.1", + "115.0.5753.0", + "115.0.5752.2", + "115.0.5752.1", + "115.0.5752.0", + "112.0.5615.193", + "114.0.5735.18", + "113.0.5672.113", + "115.0.5751.2", + "108.0.5359.231", + "113.0.5672.109", + "115.0.5751.1", + "115.0.5751.0", + "115.0.5750.1", + "115.0.5750.0", + "112.0.5615.192", + "114.0.5735.17", + "113.0.5672.107", + "112.0.5615.183", + "113.0.5672.91", + "113.0.5672.90", + "113.0.5672.89", + "113.0.5672.88", + "115.0.5749.1", + "115.0.5749.0", + "115.0.5748.1", + "115.0.5748.0", + "112.0.5615.181", + "114.0.5735.16", + "113.0.5672.86", + "114.0.5735.15", + "115.0.5746.2", + "114.0.5735.14", + "115.0.5747.1", + "115.0.5747.0", + "115.0.5746.1", + "115.0.5746.0", + "109.0.5414.143", + "112.0.5615.180", + "114.0.5735.13", + "113.0.5672.85", + "113.0.5672.77", + "113.0.5672.76", + "115.0.5745.1", + "115.0.5745.0", + "115.0.5744.1", + "115.0.5744.0", + "112.0.5615.179", + "114.0.5735.12", + "113.0.5672.74", + "115.0.5743.1", + "115.0.5743.0", + "115.0.5742.1", + "115.0.5742.0", + "112.0.5615.178", + "114.0.5735.11", + "113.0.5672.73", + "115.0.5741.2", + "115.0.5741.1", + "115.0.5741.0", + "115.0.5740.1", + "115.0.5740.0", + "112.0.5615.177", + "114.0.5735.10", + "113.0.5672.72", + "115.0.5739.1", + "115.0.5739.0", + "115.0.5738.1", + "115.0.5738.0", + "112.0.5615.176", + "114.0.5735.9", + "113.0.5672.71", + "114.0.5735.8", + "115.0.5737.5", + "115.0.5737.4", + "115.0.5737.3", + "115.0.5737.2", + "113.0.5672.70", + "115.0.5737.1", + "115.0.5737.0", + "113.0.5672.69", + "115.0.5736.1", + "114.0.5735.7", + "115.0.5736.0", + "112.0.5615.175", + "114.0.5735.6", + "113.0.5672.68", + "114.0.5735.5", + "114.0.5735.4", + "114.0.5735.3", + "114.0.5735.2", + "114.0.5735.1", + "114.0.5735.0", + "113.0.5672.67", + "112.0.5615.174", + "113.0.5672.66", + "113.0.5672.65", + "113.0.5672.64", + "113.0.5672.63", + "113.0.5672.62", + "113.0.5672.61", + "114.0.5734.1", + "114.0.5734.0", + "114.0.5733.2", + "114.0.5733.1", + "114.0.5733.0", + "109.0.5414.142", + "113.0.5672.60", + "112.0.5615.173", + "114.0.5732.1", + "114.0.5732.0", "114.0.5731.1", "114.0.5731.0", "113.0.5672.59", diff --git a/real-user-agents/data/external-raw/browserstack/userAgents.json b/real-user-agents/data/external-raw/browserstack/userAgents.json index 2d930d641..8254e8ad3 100644 --- a/real-user-agents/data/external-raw/browserstack/userAgents.json +++ b/real-user-agents/data/external-raw/browserstack/userAgents.json @@ -15938,5 +15938,225 @@ "id": "Firefox-112.0--OS X-Ventura", "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/112.0", "osId": "mac-os-13" + }, + { + "id": "Chrome-113.0--OS X-High Sierra", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "mac-os-10-13" + }, + { + "id": "Chrome-113.0--OS X-Catalina", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "mac-os-10-15" + }, + { + "id": "Chrome-113.0--OS X-Mojave", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "mac-os-10-14" + }, + { + "id": "Chrome-113.0--Windows-10", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "windows-10" + }, + { + "id": "Chrome-113.0--Windows-11", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "windows-11" + }, + { + "id": "Chrome-113.0--OS X-Big Sur", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "mac-os-11" + }, + { + "id": "Chrome-113.0--OS X-Monterey", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "mac-os-12" + }, + { + "id": "Chrome-113.0--OS X-Ventura", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "osId": "mac-os-13" + }, + { + "id": "Firefox-113.0--Windows-7", + "string": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "windows-7" + }, + { + "id": "Edge-113.0--Windows-10", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "windows-10" + }, + { + "id": "Firefox-113.0--Windows-8", + "string": "Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "windows-8" + }, + { + "id": "Firefox-113.0--Windows-8.1", + "string": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "windows-8-1" + }, + { + "id": "Firefox-113.0--OS X-Sierra", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-10-12" + }, + { + "id": "Edge-113.0--Windows-11", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "windows-11" + }, + { + "id": "Firefox-113.0--Windows-10", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "windows-10" + }, + { + "id": "Firefox-113.0--Windows-11", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "windows-11" + }, + { + "id": "Edge-113.0--OS X-High Sierra", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "mac-os-10-13" + }, + { + "id": "Firefox-113.0--OS X-High Sierra", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-10-13" + }, + { + "id": "Edge-113.0--OS X-Mojave", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "mac-os-10-14" + }, + { + "id": "Firefox-113.0--OS X-Mojave", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-10-14" + }, + { + "id": "Edge-113.0--OS X-Catalina", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "mac-os-10-15" + }, + { + "id": "Edge-113.0--OS X-Big Sur", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "mac-os-11" + }, + { + "id": "Firefox-113.0--OS X-Catalina", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-10-15" + }, + { + "id": "Firefox-113.0--OS X-Big Sur", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-11" + }, + { + "id": "Edge-113.0--OS X-Monterey", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "mac-os-12" + }, + { + "id": "Firefox-113.0--OS X-Monterey", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-12" + }, + { + "id": "Edge-113.0--OS X-Ventura", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "osId": "mac-os-13" + }, + { + "id": "Firefox-113.0--OS X-Ventura", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "osId": "mac-os-13" + }, + { + "id": "Chrome-114.0--OS X-Mojave", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "mac-os-10-14" + }, + { + "id": "Chrome-114.0--OS X-High Sierra", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "mac-os-10-13" + }, + { + "id": "Chrome-114.0--OS X-Catalina", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "mac-os-10-15" + }, + { + "id": "Chrome-114.0--Windows-10", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "windows-10" + }, + { + "id": "Chrome-114.0--Windows-11", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "windows-11" + }, + { + "id": "Chrome-114.0--OS X-Ventura", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "mac-os-13" + }, + { + "id": "Chrome-114.0--OS X-Big Sur", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "mac-os-11" + }, + { + "id": "Chrome-114.0--OS X-Monterey", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "osId": "mac-os-12" + }, + { + "id": "Edge-114.0--Windows-10", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "windows-10" + }, + { + "id": "Edge-114.0--OS X-Catalina", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "mac-os-10-15" + }, + { + "id": "Edge-114.0--Windows-11", + "string": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "windows-11" + }, + { + "id": "Edge-114.0--OS X-Mojave", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "mac-os-10-14" + }, + { + "id": "Edge-114.0--OS X-High Sierra", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "mac-os-10-13" + }, + { + "id": "Edge-114.0--OS X-Big Sur", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "mac-os-11" + }, + { + "id": "Edge-114.0--OS X-Ventura", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "mac-os-13" + }, + { + "id": "Edge-114.0--OS X-Monterey", + "string": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "osId": "mac-os-12" } ] diff --git a/real-user-agents/data/external-raw/statcounter/browser_version.json b/real-user-agents/data/external-raw/statcounter/browser_version.json index 97bfd9414..ff7b7d15c 100644 --- a/real-user-agents/data/external-raw/statcounter/browser_version.json +++ b/real-user-agents/data/external-raw/statcounter/browser_version.json @@ -1,165 +1,165 @@ { - "fromMonthYear": "2023-03", - "toMonthYear": "2023-04", - "lastModified": "2023-04-01T07:15:46.618Z", + "fromMonthYear": "2023-05", + "toMonthYear": "2023-06", + "lastModified": "2023-06-01T07:17:07.899Z", "results": { - "Chrome 111.0": ["21.22", "0"], - "Chrome 110.0": ["18.28", "0"], - "Safari 16.3": ["7.6", "0"], - "Edge 111": ["6.85", "0"], - "Edge 110": ["6.07", "0"], - "Chrome 109.0": ["4.14", "0"], - "Safari 15.6": ["3.49", "0"], - "Chrome for Android": ["2.71", "0"], - "Firefox 110.0": ["2.33", "0"], - "Safari 16.2": ["2.15", "0"], - "Firefox 111.0": ["1.86", "0"], - "Chrome 108.0": ["1.66", "0"], - "Opera 96.0": ["1.45", "0"], - "Safari 14.1": ["1.37", "0"], - "Safari 16.1": ["1.19", "0"], - "Chrome 103.0": ["1.14", "0"], - "Safari 13.1": ["0.98", "0"], - "Opera 95.0": ["0.86", "0"], - "Safari 15.5": ["0.78", "0"], - "Chrome 56.0": ["0.47", "0"], - "Safari 14.0": ["0.45", "0"], - "Chrome 107.0": ["0.41", "0"], - "Safari 15.4": ["0.4", "0"], - "Chrome 105.0": ["0.4", "0"], - "Safari 16.0": ["0.39", "0"], - "Chrome 93.0": ["0.38", "0"], - "Chrome 87.0": ["0.38", "0"], - "Chrome 102.0": ["0.34", "0"], - "Safari 15.3": ["0.31", "0"], - "Chrome 79.0": ["0.31", "0"], - "Mozilla 0": ["0.31", "0"], - "Chrome 76.0": ["0.31", "0"], - "Edge 109": ["0.3", "0"], - "Chrome 104.0": ["0.28", "0"], - "Firefox 102.0": ["0.26", "0"], - "IE 11.0": ["0.24", "0"], - "Chrome 83.0": ["0.24", "0"], - "Chrome 85.0": ["0.23", "0"], - "Chrome 106.0": ["0.22", "0"], - "Chrome 97.0": ["0.19", "0"], - "Safari 15.1": ["0.19", "0"], - "Safari 15.2": ["0.18", "0"], - "Safari 9.1": ["0.18", "0"], - "Chrome 91.0": ["0.17", "0"], - "Safari 12.1": ["0.17", "0"], - "Chrome 101.0": ["0.17", "0"], - "Chrome 86.0": ["0.16", "0"], + "Chrome 113.0": ["19.22", "0"], + "Chrome 112.0": ["15.59", "0"], + "Safari 16.4": ["7.17", "0"], + "Edge 113": ["6.28", "0"], + "Edge 112": ["4.32", "0"], + "Chrome for Android": ["3.93", "0"], + "Safari 16.3": ["3.86", "0"], + "Safari 15.6": ["3.67", "0"], + "Opera 98.0": ["3.56", "0"], + "Chrome 111.0": ["2.84", "0"], + "Chrome 109.0": ["2.1", "0"], + "Firefox 113.0": ["1.7", "0"], + "Opera 97.0": ["1.68", "0"], + "Safari 14.1": ["1.57", "0"], + "Safari 16.2": ["1.55", "0"], + "Firefox 112.0": ["1.4", "0"], + "Safari 16.1": ["1.28", "0"], + "Chrome 103.0": ["0.93", "0"], + "Safari 15.5": ["0.92", "0"], + "Chrome 79.0": ["0.83", "0"], + "Safari 13.1": ["0.76", "0"], + "Chrome 83.0": ["0.76", "0"], + "Chrome 108.0": ["0.68", "0"], + "Chrome 110.0": ["0.67", "0"], + "Chrome 93.0": ["0.55", "0"], + "Safari 14.0": ["0.53", "0"], + "Safari 16.5": ["0.5", "0"], + "Safari 15.4": ["0.48", "0"], + "Chrome 87.0": ["0.42", "0"], + "Safari 15.3": ["0.4", "0"], + "Safari 16.0": ["0.4", "0"], + "Chrome 56.0": ["0.31", "0"], + "Chrome 76.0": ["0.29", "0"], + "Safari 9.1": ["0.28", "0"], + "Chrome 105.0": ["0.25", "0"], + "Firefox 102.0": ["0.25", "0"], + "Safari 15.1": ["0.23", "0"], + "Mozilla 0": ["0.23", "0"], + "Safari 12.1": ["0.21", "0"], + "Safari 15.2": ["0.2", "0"], + "Chrome 102.0": ["0.2", "0"], + "Chrome 85.0": ["0.2", "0"], + "IE 11.0": ["0.19", "0"], + "Chrome 91.0": ["0.19", "0"], + "Chrome 80.0": ["0.18", "0"], "Chrome 81.0": ["0.16", "0"], - "Firefox 78.0": ["0.16", "0"], + "Chrome 86.0": ["0.16", "0"], "Chrome 99.0": ["0.15", "0"], - "Chrome 113.0": ["0.14", "0"], - "Firefox 109.0": ["0.14", "0"], - "Chrome 100.0": ["0.12", "0"], - "Chrome 84.0": ["0.11", "0"], - "Chrome 89.0": ["0.11", "0"], - "Chrome 96.0": ["0.11", "0"], - "Chrome 80.0": ["0.11", "0"], - "Safari 16.4": ["0.1", "0"], - "Chrome 98.0": ["0.1", "0"], - "Chrome 94.0": ["0.1", "0"], - "Safari 15.0": ["0.1", "0"], - "IE 8.0": ["0.1", "0"], - "Safari 604.1": ["0.1", "0"], - "Edge 108": ["0.1", "0"], - "Chrome 92.0": ["0.09", "0"], - "Chrome 90.0": ["0.09", "0"], + "Chrome 107.0": ["0.15", "0"], + "Edge 109": ["0.15", "0"], + "Safari 15.0": ["0.15", "0"], + "Firefox 78.0": ["0.14", "0"], + "Chrome 114.0": ["0.13", "0"], + "Chrome 90.0": ["0.12", "0"], + "Edge 111": ["0.12", "0"], + "Chrome 101.0": ["0.12", "0"], + "Chrome 92.0": ["0.11", "0"], + "Firefox 111.0": ["0.1", "0"], + "Chrome 106.0": ["0.1", "0"], + "Chrome 104.0": ["0.1", "0"], + "Chrome 88.0": ["0.1", "0"], + "Chrome 89.0": ["0.1", "0"], "Safari 13.0": ["0.09", "0"], - "Chrome 66.0": ["0.08", "0"], - "Chrome 48.0": ["0.08", "0"], - "Firefox 94.0": ["0.07", "0"], - "Chrome 112.0": ["0.07", "0"], - "IE 9.0": ["0.07", "0"], - "Chrome 49.0": ["0.06", "0"], - "Firefox 52.0": ["0.06", "0"], - "Chrome 75.0": ["0.06", "0"], - "Chrome 61.0": ["0.06", "0"], - "Firefox 11.0": ["0.06", "0"], - "Chrome 88.0": ["0.06", "0"], - "360 Safe Browser 0": ["0.06", "0"], - "Firefox 108.0": ["0.05", "0"], - "Chrome 95.0": ["0.05", "0"], + "Chrome 96.0": ["0.09", "0"], + "Safari 604.1": ["0.09", "0"], + "Chrome 100.0": ["0.09", "0"], + "Chrome 74.0": ["0.08", "0"], + "Chrome 84.0": ["0.08", "0"], + "Chrome 115.0": ["0.08", "0"], + "Chrome 97.0": ["0.07", "0"], + "Opera 96.0": ["0.07", "0"], + "Chrome 98.0": ["0.07", "0"], + "Opera 89.0": ["0.07", "0"], + "Chrome 75.0": ["0.07", "0"], + "Opera 95.0": ["0.06", "0"], + "Chrome 48.0": ["0.06", "0"], + "Chrome 95.0": ["0.06", "0"], + "Chrome 66.0": ["0.06", "0"], + "Chrome 94.0": ["0.05", "0"], + "IE 8.0": ["0.05", "0"], + "Chrome 49.0": ["0.05", "0"], + "Edge 110": ["0.05", "0"], "Chrome 78.0": ["0.05", "0"], - "Chrome 74.0": ["0.04", "0"], - "Opera 94.0": ["0.04", "0"], - "Chrome 77.0": ["0.04", "0"], - "Chrome 71.0": ["0.04", "0"], + "Chrome 69.0": ["0.05", "0"], + "Chrome 77.0": ["0.05", "0"], + "Chrome 72.0": ["0.05", "0"], + "Firefox 84.0": ["0.04", "0"], + "Firefox 52.0": ["0.04", "0"], + "Chrome 68.0": ["0.04", "0"], + "IE 9.0": ["0.04", "0"], + "Edge 92": ["0.04", "0"], "Chrome 65.0": ["0.04", "0"], - "Chrome 114.0": ["0.04", "0"], - "Edge 107": ["0.04", "0"], - "Chrome 72.0": ["0.03", "0"], - "Chrome 40.0": ["0.03", "0"], - "Chrome 35.0": ["0.03", "0"], - "Chrome 69.0": ["0.03", "0"], - "Firefox 72.0": ["0.03", "0"], - "Chrome 67.0": ["0.03", "0"], - "Edge 112": ["0.03", "0"], - "Chrome 60.0": ["0.03", "0"], - "Safari 605.1": ["0.03", "0"], - "Firefox 107.0": ["0.02", "0"], + "Firefox 72.0": ["0.04", "0"], + "Firefox 94.0": ["0.04", "0"], + "Firefox 109.0": ["0.03", "0"], + "Chrome 70.0": ["0.03", "0"], + "Opera 99.0": ["0.03", "0"], + "Chrome 71.0": ["0.03", "0"], + "Chrome 61.0": ["0.03", "0"], + "Firefox 103.0": ["0.03", "0"], + "Firefox 11.0": ["0.03", "0"], + "Edge 102": ["0.03", "0"], + "Chrome 45.0": ["0.03", "0"], + "Chrome 44.0": ["0.03", "0"], + "Firefox 110.0": ["0.03", "0"], + "Chrome 73.0": ["0.03", "0"], + "360 Safe Browser 0": ["0.03", "0"], + "Firefox 108.0": ["0.02", "0"], + "Edge 108": ["0.02", "0"], + "Chrome 69.2": ["0.02", "0"], + "Safari 605.1": ["0.02", "0"], "Firefox 44.0": ["0.02", "0"], - "Chromium 71.0": ["0.02", "0"], - "Chrome 70.0": ["0.02", "0"], - "Firefox 105.0": ["0.02", "0"], - "Chrome 68.0": ["0.02", "0"], + "Opera 94.0": ["0.02", "0"], + "Chrome 67.0": ["0.02", "0"], + "Chrome 40.0": ["0.02", "0"], + "Edge 84": ["0.02", "0"], + "Chrome 43.0": ["0.02", "0"], + "Edge 101": ["0.02", "0"], + "Chrome 35.0": ["0.02", "0"], "Edge 87": ["0.02", "0"], - "Firefox 4.0": ["0.02", "0"], - "Firefox 48.0": ["0.02", "0"], - "Firefox 106.0": ["0.02", "0"], + "Safari 16.6": ["0.02", "0"], + "Firefox 114.0": ["0.02", "0"], + "Edge 107": ["0.02", "0"], + "Edge 103": ["0.02", "0"], "Firefox 91.0": ["0.02", "0"], - "Opera 63.0": ["0.02", "0"], - "IE 10.0": ["0.02", "0"], - "Safari 11.1": ["0.02", "0"], - "Firefox 83.0": ["0.02", "0"], - "Edge 101": ["0.02", "0"], - "Edge 18": ["0.02", "0"], "Safari 537.36": ["0.02", "0"], - "Edge 103": ["0.02", "0"], - "Firefox 87.0": ["0.02", "0"], - "Opera 97.0": ["0.02", "0"], - "Yandex Browser 23.1": ["0.02", "0"], - "Firefox 101.0": ["0.02", "0"], - "Edge 106": ["0.02", "0"], - "Chrome 43.0": ["0.01", "0"], - "Firefox 77.0": ["0.01", "0"], - "Opera 73.3": ["0.01", "0"], - "Firefox 104.0": ["0.01", "0"], - "Edge 12": ["0.01", "0"], - "Sogou Explorer 0": ["0.01", "0"], - "Edge 92": ["0.01", "0"], - "Firefox 103.0": ["0.01", "0"], - "Firefox 3.6": ["0.01", "0"], - "Safari 12.0": ["0.01", "0"], - "Chrome 62.0": ["0.01", "0"], - "Firefox 3.0": ["0.01", "0"], - "Firefox 40.0": ["0.01", "0"], - "Edge 105": ["0.01", "0"], - "Firefox 38.0": ["0.01", "0"], - "Safari 9.0": ["0.01", "0"], - "Chrome 41.0": ["0.01", "0"], + "Edge 83": ["0.02", "0"], + "Safari 12.0": ["0.02", "0"], + "Firefox 107.0": ["0.02", "0"], + "Firefox 70.0": ["0.02", "0"], + "Edge 104": ["0.01", "0"], + "Firefox 88.0": ["0.01", "0"], + "Chrome 116.0": ["0.01", "0"], + "Edge 86": ["0.01", "0"], + "Edge 91": ["0.01", "0"], "Firefox 54.0": ["0.01", "0"], - "Firefox 86.0": ["0.01", "0"], - "Safari 5.0": ["0.01", "0"], - "Chrome 73.0": ["0.01", "0"], - "Edge 84": ["0.01", "0"], - "Firefox 56.0": ["0.01", "0"], - "Opera 74.0": ["0.01", "0"], - "Safari 4.0": ["0.01", "0"], - "Firefox 82.0": ["0.01", "0"], - "Chrome 4.0": ["0.01", "0"], - "Firefox 59.0": ["0.01", "0"], - "Chrome 45.0": ["0.01", "0"], - "Safari 5.1": ["0.01", "0"], - "Firefox 17.0": ["0.01", "0"], + "Yandex Browser 23.3": ["0.01", "0"], + "Safari 11.1": ["0.01", "0"], + "Edge 80": ["0.01", "0"], + "Chrome 41.0": ["0.01", "0"], + "Firefox 38.0": ["0.01", "0"], + "Edge 89": ["0.01", "0"], + "Edge 81": ["0.01", "0"], + "Firefox 87.0": ["0.01", "0"], + "Firefox 105.0": ["0.01", "0"], + "Firefox 4.0": ["0.01", "0"], + "Chrome 31.0": ["0.01", "0"], + "Firefox 115.0": ["0.01", "0"], "Edge 99": ["0.01", "0"], - "Edge 86": ["0.01", "0"], - "Firefox 89.0": ["0.01", "0"], - "Firefox 3.5": ["0.01", "0"], - "Other": ["1.18", "0"] + "Firefox 40.0": ["0.01", "0"], + "Firefox 118.0": ["0.01", "0"], + "Firefox 123.0": ["0.01", "0"], + "Chrome 42.0": ["0.01", "0"], + "Chromium 103.0": ["0.01", "0"], + "Safari 9.0": ["0.01", "0"], + "Edge 90": ["0.01", "0"], + "Edge 85": ["0.01", "0"], + "Other": ["1", "0"] } } diff --git a/real-user-agents/data/external-raw/statcounter/macos_version.json b/real-user-agents/data/external-raw/statcounter/macos_version.json index c8454c22e..1ddb36327 100644 --- a/real-user-agents/data/external-raw/statcounter/macos_version.json +++ b/real-user-agents/data/external-raw/statcounter/macos_version.json @@ -1,25 +1,39 @@ { - "fromMonthYear": "2023-03", - "toMonthYear": "2023-04", - "lastModified": "2023-04-01T07:15:42.271Z", + "fromMonthYear": "2023-05", + "toMonthYear": "2023-06", + "lastModified": "2023-06-01T07:17:01.952Z", "results": { - "macOS Catalina": ["91.6", "0"], - "macOS High Sierra": ["2.07", "0"], - "macOS Mojave": ["1.82", "0"], - "OS X 10.10": ["1.62", "0"], - "macOS Sierra": ["1.05", "0"], - "OS X El Capitan": ["0.83", "0"], - "OS X Mavericks": ["0.3", "0"], - "mac OS X Snow Leopard": ["0.19", "0"], - "macOS Big Sur 11.0": ["0.11", "0"], - "mac OS X Lion": ["0.08", "0"], - "macOS Big Sur 10.16": ["0.07", "0"], + "macOS Catalina": ["91.77", "0"], + "macOS High Sierra": ["1.66", "0"], + "macOS Mojave": ["1.6", "0"], + "OS X 10.10": ["1.48", "0"], + "macOS Sierra": ["1.15", "0"], + "OS X El Capitan": ["0.79", "0"], + "OS X Mavericks": ["0.35", "0"], + "macOS Big Sur 11.0": ["0.17", "0"], + "mac OS X Snow Leopard": ["0.12", "0"], + "macOS Big Sur 10.16": ["0.09", "0"], "mac OS X Leopard": ["0.07", "0"], + "mac OS X Lion": ["0.07", "0"], + "mac OS X Tiger": ["0.06", "0"], + "mac OS X Panther": ["0.06", "0"], "OS X Mountain Lion": ["0.06", "0"], - "macOS Big Sur 11.2": ["0.06", "0"], - "mac OS X Tiger": ["0.02", "0"], - "mac OS X Panther": ["0.01", "0"], - "mac OS X Jaguar": ["0.01", "0"], - "Other": ["0.03", "0"] + "macOS Big Sur 11.2": ["0.05", "0"], + "mac OS X Jaguar": ["0.05", "0"], + "macOS Big Sur 11.5": ["0.04", "0"], + "macOS Big Sur 11.3": ["0.04", "0"], + "macOS Big Sur 11.1": ["0.04", "0"], + "macOS Big Sur 11.4": ["0.03", "0"], + "macOS 11.13": ["0.03", "0"], + "macOS 11.10": ["0.03", "0"], + "mac OS X Puma": ["0.03", "0"], + "macOS 11.15": ["0.03", "0"], + "macOS 11.11": ["0.03", "0"], + "macOS 11.12": ["0.03", "0"], + "mac OS X Cheetah.0": ["0.03", "0"], + "macOS 11.14": ["0.02", "0"], + "macOS 11.6": ["0.02", "0"], + "macOS 11.7": ["0.01", "0"], + "Other": ["0.02", "0"] } } diff --git a/real-user-agents/data/external-raw/statcounter/os_combined.json b/real-user-agents/data/external-raw/statcounter/os_combined.json index e60dcb2a5..fd2cb4f9e 100644 --- a/real-user-agents/data/external-raw/statcounter/os_combined.json +++ b/real-user-agents/data/external-raw/statcounter/os_combined.json @@ -1,14 +1,13 @@ { - "fromMonthYear": "2023-03", - "toMonthYear": "2023-04", - "lastModified": "2023-04-01T07:15:40.066Z", + "fromMonthYear": "2023-05", + "toMonthYear": "2023-06", + "lastModified": "2023-06-01T07:16:59.295Z", "results": { - "Windows": ["55.98", "0"], - "OS X": ["30.41", "0"], - "Chrome OS": ["7.99", "0"], - "Unknown": ["3.08", "0"], - "Linux": ["2.51", "0"], - "FreeBSD": ["0.01", "0"], - "Other": ["0.02", "0"] + "Windows": ["52.49", "0"], + "OS X": ["33.77", "0"], + "Chrome OS": ["7.47", "0"], + "Unknown": ["4.31", "0"], + "Linux": ["1.95", "0"], + "Other": ["0.01", "0"] } } diff --git a/real-user-agents/data/external-raw/statcounter/windows_version.json b/real-user-agents/data/external-raw/statcounter/windows_version.json index 7fda43402..52f086794 100644 --- a/real-user-agents/data/external-raw/statcounter/windows_version.json +++ b/real-user-agents/data/external-raw/statcounter/windows_version.json @@ -1,16 +1,16 @@ { - "fromMonthYear": "2023-03", - "toMonthYear": "2023-04", - "lastModified": "2023-04-01T07:15:44.337Z", + "fromMonthYear": "2023-05", + "toMonthYear": "2023-06", + "lastModified": "2023-06-01T07:17:05.163Z", "results": { - "Win10": ["68.19", "0"], - "Win11": ["26.97", "0"], - "Win7": ["2.78", "0"], - "Win8.1": ["1", "0"], - "WinXP": ["0.5", "0"], - "Win8": ["0.39", "0"], - "WinVista": ["0.14", "0"], - "Win2003": ["0.02", "0"], + "Win10": ["65.92", "0"], + "Win11": ["29.17", "0"], + "Win7": ["3.3", "0"], + "Win8.1": ["0.82", "0"], + "Win8": ["0.35", "0"], + "WinXP": ["0.27", "0"], + "WinVista": ["0.13", "0"], + "Win2003": ["0.01", "0"], "Other": ["0.01", "0"] } } diff --git a/real-user-agents/data/manual/osReleaseDates.json b/real-user-agents/data/manual/osReleaseDates.json index 86b86e036..124709c11 100644 --- a/real-user-agents/data/manual/osReleaseDates.json +++ b/real-user-agents/data/manual/osReleaseDates.json @@ -9,6 +9,7 @@ "chrome-os-88": "2021-01-19", "linux": "1991-09-17", "mac-os-41": "2023-01-23", + "mac-os-13-4": "2023-05-18", "mac-os-13-3-1": "2023-04-07", "mac-os-13-3": "2023-03-27", "mac-os-13-2-1": "2023-02-13", @@ -16,6 +17,7 @@ "mac-os-13-1": "2022-12-14", "mac-os-13-0-1": "2022-11-09", "mac-os-13": "2022-09-24", + "mac-os-12-6-6": "2023-05-18", "mac-os-12-6-5": "2023-04-10", "mac-os-12-6-4": "2023-03-27", "mac-os-12-6-2": "2022-12-13", @@ -31,6 +33,7 @@ "mac-os-12-1": "2021-12-13", "mac-os-12-0-1": "2021-10-25", "mac-os-12": "2021-10-18", + "mac-os-11-7-7": "2023-05-18", "mac-os-11-7-6": "2023-04-10", "mac-os-11-7-5": "2023-03-27", "mac-os-11-7-4": "2023-02-15", diff --git a/real-user-agents/data/marketshare.json b/real-user-agents/data/marketshare.json index 03ab04f94..f2467e218 100644 --- a/real-user-agents/data/marketshare.json +++ b/real-user-agents/data/marketshare.json @@ -1,186 +1,188 @@ { "byOsId": { - "mac-os-10-15": 7, - "mac-os-10-13": 0.2, + "mac-os-10-15": 7.8, + "mac-os-10-13": 0.1, "mac-os-10-14": 0.1, "mac-os-10-10": 0.1, "mac-os-10-12": 0.1, "mac-os-10-11": 0.1, "mac-os-10-9": 0, - "mac-os-10-6": 0, "mac-os-11": 0, - "mac-os-10-7": 0, + "mac-os-10-6": 0, "mac-os-10": 0, "mac-os-10-5": 0, - "mac-os-10-8": 0, + "mac-os-10-7": 0, "mac-os-Tiger": 0, "mac-os-Panther": 0, + "mac-os-10-8": 0, "mac-os-Jaguar": 0, + "mac-os-Puma": 0, + "mac-os-10-0": 0, "other": 0, - "windows-10": 9.5, + "windows-10": 8.6, "windows-11": 3.8, "windows-7": 0.4, "windows-8-1": 0.1, - "windows-5-2": 0.1, - "windows-8": 0.1, + "windows-8": 0, + "windows-5-2": 0, "windows-6": 0, "windows-2003": 0 }, "byBrowserId": { - "chrome-111-0": 10.6, - "chrome-110-0": 9.1, - "safari-16-3": 3.8, - "edge-111-0": 3.4, - "edge-110-0": 3, - "chrome-109-0": 2.1, - "safari-15-6": 1.7, - "firefox-110-0": 1.2, - "safari-16-2": 1.1, - "firefox-111-0": 0.9, - "chrome-108-0": 0.8, - "opera-96-0": 0.7, - "safari-14-1": 0.7, + "chrome-113-0": 9.6, + "chrome-112-0": 7.8, + "safari-16-4": 3.6, + "edge-113-0": 3.1, + "edge-112-0": 2.2, + "safari-16-3": 1.9, + "safari-15-6": 1.8, + "opera-98-0": 1.8, + "chrome-111-0": 1.4, + "chrome-109-0": 1.1, + "firefox-113-0": 0.9, + "opera-97-0": 0.8, + "safari-14-1": 0.8, + "safari-16-2": 0.8, + "firefox-112-0": 0.7, "safari-16-1": 0.6, - "chrome-103-0": 0.6, - "safari-13-1": 0.5, - "opera-95-0": 0.4, - "safari-15-5": 0.4, - "chrome-56-0": 0.2, - "safari-14-0": 0.2, - "chrome-107-0": 0.2, + "chrome-103-0": 0.5, + "safari-15-5": 0.5, + "chrome-79-0": 0.4, + "safari-13-1": 0.4, + "chrome-83-0": 0.4, + "chrome-108-0": 0.3, + "chrome-110-0": 0.3, + "chrome-93-0": 0.3, + "safari-14-0": 0.3, + "safari-16-5": 0.3, "safari-15-4": 0.2, - "chrome-105-0": 0.2, - "safari-16-0": 0.2, - "chrome-93-0": 0.2, "chrome-87-0": 0.2, - "chrome-102-0": 0.2, "safari-15-3": 0.2, - "chrome-79-0": 0.2, - "mozilla-0-0": 0.2, - "chrome-76-0": 0.2, - "edge-109-0": 0.2, - "chrome-104-0": 0.1, + "safari-16-0": 0.2, + "chrome-56-0": 0.2, + "chrome-76-0": 0.1, + "safari-9-1": 0.1, + "chrome-105-0": 0.1, "firefox-102-0": 0.1, - "ie-11-0": 0.1, - "chrome-83-0": 0.1, - "chrome-85-0": 0.1, - "chrome-106-0": 0.1, - "chrome-97-0": 0.1, "safari-15-1": 0.1, + "mozilla-0-0": 0.1, + "safari-12-1": 0.1, "safari-15-2": 0.1, - "safari-9-1": 0.1, + "chrome-102-0": 0.1, + "chrome-85-0": 0.1, + "ie-11-0": 0.1, "chrome-91-0": 0.1, - "safari-12-1": 0.1, - "chrome-101-0": 0.1, - "chrome-86-0": 0.1, + "chrome-80-0": 0.1, "chrome-81-0": 0.1, - "firefox-78-0": 0.1, + "chrome-86-0": 0.1, "chrome-99-0": 0.1, - "chrome-113-0": 0.1, - "firefox-109-0": 0.1, - "chrome-100-0": 0.1, - "chrome-84-0": 0.1, - "chrome-89-0": 0.1, - "chrome-96-0": 0.1, - "chrome-80-0": 0.1, - "safari-16-4": 0.1, - "chrome-98-0": 0.1, - "chrome-94-0": 0.1, + "chrome-107-0": 0.1, + "edge-109-0": 0.1, "safari-15-0": 0.1, - "ie-8-0": 0.1, - "safari-604-1": 0.1, - "edge-108-0": 0.1, - "chrome-92-0": 0, - "chrome-90-0": 0, + "firefox-78-0": 0.1, + "chrome-114-0": 0.1, + "chrome-90-0": 0.1, + "edge-111-0": 0.1, + "chrome-101-0": 0.1, + "chrome-92-0": 0.1, + "firefox-111-0": 0.1, + "chrome-106-0": 0.1, + "chrome-104-0": 0.1, + "chrome-88-0": 0.1, + "chrome-89-0": 0.1, "safari-13-0": 0, - "chrome-66-0": 0, + "chrome-96-0": 0, + "safari-604-1": 0, + "chrome-100-0": 0, + "chrome-74-0": 0, + "chrome-84-0": 0, + "chrome-115-0": 0, + "chrome-97-0": 0, + "opera-96-0": 0, + "chrome-98-0": 0, + "opera-89-0": 0, + "chrome-75-0": 0, + "opera-95-0": 0, "chrome-48-0": 0, - "firefox-94-0": 0, - "chrome-112-0": 0, - "ie-9-0": 0, + "chrome-95-0": 0, + "chrome-66-0": 0, + "chrome-94-0": 0, + "ie-8-0": 0, "chrome-49-0": 0, + "edge-110-0": 0, + "chrome-78-0": 0, + "chrome-69-0": 0, + "chrome-77-0": 0, + "chrome-72-0": 0, + "firefox-84-0": 0, "firefox-52-0": 0, - "chrome-75-0": 0, + "chrome-68-0": 0, + "ie-9-0": 0, + "edge-92-0": 0, + "chrome-65-0": 0, + "firefox-72-0": 0, + "firefox-94-0": 0, + "firefox-109-0": 0, + "chrome-70-0": 0, + "opera-99-0": 0, + "chrome-71-0": 0, "chrome-61-0": 0, + "firefox-103-0": 0, "firefox-11-0": 0, - "chrome-88-0": 0, + "edge-102-0": 0, + "chrome-45-0": 0, + "chrome-44-0": 0, + "firefox-110-0": 0, + "chrome-73-0": 0, "firefox-108-0": 0, - "chrome-95-0": 0, - "chrome-78-0": 0, - "chrome-74-0": 0, + "edge-108-0": 0, + "chrome-69-2": 0, + "safari-605-1": 0, + "firefox-44-0": 0, "opera-94-0": 0, - "chrome-77-0": 0, - "chrome-71-0": 0, - "chrome-65-0": 0, - "chrome-114-0": 0, - "edge-107-0": 0, - "chrome-72-0": 0, + "chrome-67-0": 0, "chrome-40-0": 0, + "edge-84-0": 0, + "chrome-43-0": 0, + "edge-101-0": 0, "chrome-35-0": 0, - "chrome-69-0": 0, - "firefox-72-0": 0, - "chrome-67-0": 0, - "edge-112-0": 0, - "chrome-60-0": 0, - "safari-605-1": 0, - "firefox-107-0": 0, - "firefox-44-0": 0, - "chromium-71-0": 0, - "chrome-70-0": 0, - "firefox-105-0": 0, - "chrome-68-0": 0, "edge-87-0": 0, - "firefox-4-0": 0, - "firefox-48-0": 0, - "firefox-106-0": 0, + "safari-16-6": 0, + "firefox-114-0": 0, + "edge-107-0": 0, + "edge-103-0": 0, "firefox-91-0": 0, - "opera-63-0": 0, - "ie-10-0": 0, - "safari-11-1": 0, - "firefox-83-0": 0, - "edge-101-0": 0, - "edge-18-0": 0, "safari-537-36": 0, - "edge-103-0": 0, - "firefox-87-0": 0, - "opera-97-0": 0, - "yandex-browser-23-1": 0, - "firefox-101-0": 0, - "edge-106-0": 0, - "chrome-43-0": 0, - "firefox-77-0": 0, - "opera-73-3": 0, - "firefox-104-0": 0, - "edge-12-0": 0, - "sogou-explorer-0-0": 0, - "edge-92-0": 0, - "firefox-103-0": 0, - "firefox-3-6": 0, + "edge-83-0": 0, "safari-12-0": 0, - "chrome-62-0": 0, - "firefox-3-0": 0, - "firefox-40-0": 0, - "edge-105-0": 0, - "firefox-38-0": 0, - "safari-9-0": 0, - "chrome-41-0": 0, + "firefox-107-0": 0, + "firefox-70-0": 0, + "edge-104-0": 0, + "firefox-88-0": 0, + "chrome-116-0": 0, + "edge-86-0": 0, + "edge-91-0": 0, "firefox-54-0": 0, - "firefox-86-0": 0, - "safari-5-0": 0, - "chrome-73-0": 0, - "edge-84-0": 0, - "firefox-56-0": 0, - "opera-74-0": 0, - "safari-4-0": 0, - "firefox-82-0": 0, - "chrome-4-0": 0, - "firefox-59-0": 0, - "chrome-45-0": 0, - "safari-5-1": 0, - "firefox-17-0": 0, + "yandex-browser-23-3": 0, + "safari-11-1": 0, + "edge-80-0": 0, + "chrome-41-0": 0, + "firefox-38-0": 0, + "edge-89-0": 0, + "edge-81-0": 0, + "firefox-87-0": 0, + "firefox-105-0": 0, + "firefox-4-0": 0, + "chrome-31-0": 0, + "firefox-115-0": 0, "edge-99-0": 0, - "edge-86-0": 0, - "firefox-89-0": 0, - "firefox-3-5": 0 + "firefox-40-0": 0, + "firefox-118-0": 0, + "firefox-123-0": 0, + "chrome-42-0": 0, + "chromium-103-0": 0, + "safari-9-0": 0, + "edge-90-0": 0, + "edge-85-0": 0 } } diff --git a/real-user-agents/data/operatingSystemsById.json b/real-user-agents/data/operatingSystemsById.json index 5d1b18cf1..44711123a 100644 --- a/real-user-agents/data/operatingSystemsById.json +++ b/real-user-agents/data/operatingSystemsById.json @@ -2,7 +2,7 @@ "windows-5-2": { "id": "windows-5-2", "name": "Windows", - "marketshare": 0.1, + "marketshare": 0, "deviceCategory": "desktop", "version": { "name": "XP", @@ -26,7 +26,7 @@ "windows-8": { "id": "windows-8", "name": "Windows", - "marketshare": 0.1, + "marketshare": 0, "deviceCategory": "desktop", "version": { "major": "8" @@ -49,7 +49,7 @@ "windows-10": { "id": "windows-10", "name": "Windows", - "marketshare": 9.5, + "marketshare": 8.6, "deviceCategory": "desktop", "version": { "major": "10" @@ -151,7 +151,7 @@ "mac-os-10-13": { "id": "mac-os-10-13", "name": "Mac OS", - "marketshare": 0.2, + "marketshare": 0.1, "deviceCategory": "desktop", "version": { "name": "High Sierra", @@ -177,7 +177,7 @@ "mac-os-10-15": { "id": "mac-os-10-15", "name": "Mac OS", - "marketshare": 7, + "marketshare": 7.8, "deviceCategory": "desktop", "version": { "name": "Catalina", diff --git a/real-user-agents/data/stableChromeVersions.json b/real-user-agents/data/stableChromeVersions.json index a5171675b..3a4f4cc76 100644 --- a/real-user-agents/data/stableChromeVersions.json +++ b/real-user-agents/data/stableChromeVersions.json @@ -1,4 +1,26 @@ [ + { + "id": "chrome-114-0", + "name": "chrome", + "majorVersion": 114, + "buildVersion": 5735, + "stablePatchesByOs": { + "mac": [106, 90], + "win": [110, 91], + "linux": [106, 90] + } + }, + { + "id": "chrome-113-0", + "name": "chrome", + "majorVersion": 113, + "buildVersion": 5672, + "stablePatchesByOs": { + "mac": [126, 92, 63], + "win": [127, 93, 64], + "linux": [126, 92, 63] + } + }, { "id": "chrome-112-0", "name": "chrome", diff --git a/real-user-agents/data/userAgentsById.json b/real-user-agents/data/userAgentsById.json index 21fe3cc1a..4baa9ab93 100644 --- a/real-user-agents/data/userAgentsById.json +++ b/real-user-agents/data/userAgentsById.json @@ -1,10 +1,62 @@ { + "mac-os-13--chrome-114-0": { + "id": "mac-os-13--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [106, 90], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], + "operatingSystemVersion": { + "major": "13" + }, + "operatingSystemId": "mac-os-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0 + }, + "mac-os-13--chrome-113-0": { + "id": "mac-os-13--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [126, 92, 63], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], + "operatingSystemVersion": { + "major": "13" + }, + "operatingSystemId": "mac-os-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 0 + }, "mac-os-13--chrome-112-0": { "id": "mac-os-13--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [137, 121, 49], "browserBaseVersion": [112, 0, 5615, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -18,7 +70,15 @@ "allPatchVersions": [152, 151, 150, 149, 148, 147, 146, 145, 122, 121], "stablePatchVersions": [146, 110, 64], "browserBaseVersion": [111, 0, 5563, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -32,7 +92,15 @@ "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [177, 100, 96, 77], "browserBaseVersion": [110, 0, 5481, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -43,10 +111,18 @@ }, "mac-os-13--chrome-109-0": { "id": "mac-os-13--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [119, 87], "browserBaseVersion": [109, 0, 5414, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -57,10 +133,18 @@ }, "mac-os-13--chrome-108-0": { "id": "mac-os-13--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [124, 98, 94, 71], "browserBaseVersion": [108, 0, 5359, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -74,7 +158,15 @@ "allPatchVersions": [150, 141, 124, 123, 122, 121, 114, 113, 111, 110], "stablePatchVersions": [121, 110, 87, 62], "browserBaseVersion": [107, 0, 5304, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -88,7 +180,15 @@ "allPatchVersions": [225, 224, 223, 222, 221, 220, 219, 218, 217, 216], "stablePatchVersions": [119, 103, 91, 61], "browserBaseVersion": [106, 0, 5249, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -102,7 +202,15 @@ "allPatchVersions": [148, 147, 146, 145, 136, 134, 133, 132, 131, 130], "stablePatchVersions": [125, 102, 52], "browserBaseVersion": [105, 0, 5195, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -116,7 +224,15 @@ "allPatchVersions": [132, 130, 129, 128, 127, 126, 125, 124, 123, 122], "stablePatchVersions": [101, 79], "browserBaseVersion": [104, 0, 5112, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -130,7 +246,15 @@ "allPatchVersions": [145, 144, 142, 141, 140, 139, 138, 137, 136, 135], "stablePatchVersions": [134, 114, 53], "browserBaseVersion": [103, 0, 5060, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -144,7 +268,15 @@ "allPatchVersions": [201, 200, 199, 197, 196, 195, 194, 193, 192, 191], "stablePatchVersions": [115, 61], "browserBaseVersion": [102, 0, 5005, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -158,7 +290,15 @@ "allPatchVersions": [74, 72, 71, 70, 69, 68, 67, 66, 65, 64], "stablePatchVersions": [64, 54, 41], "browserBaseVersion": [101, 0, 4951, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -172,7 +312,15 @@ "allPatchVersions": [241, 240, 239, 238, 237, 236, 235, 234, 233, 232], "stablePatchVersions": [127, 88, 75, 60], "browserBaseVersion": [100, 0, 4896, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -186,7 +334,15 @@ "allPatchVersions": [94, 88, 86, 84, 83, 82, 80, 79, 78, 77], "stablePatchVersions": [84, 83, 74, 51], "browserBaseVersion": [99, 0, 4844, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -200,7 +356,15 @@ "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], "stablePatchVersions": [109, 102, 80], "browserBaseVersion": [98, 0, 4758, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -214,7 +378,15 @@ "allPatchVersions": [116, 115, 114, 113, 112, 111, 110, 109, 108, 107], "stablePatchVersions": [99, 71], "browserBaseVersion": [97, 0, 4692, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -228,7 +400,15 @@ "allPatchVersions": [219, 218, 217, 216, 215, 214, 213, 212, 211, 210], "stablePatchVersions": [110, 93, 55, 45], "browserBaseVersion": [96, 0, 4664, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -242,7 +422,15 @@ "allPatchVersions": [78, 77, 76, 75, 74, 73, 72, 71, 70, 69], "stablePatchVersions": [69, 54], "browserBaseVersion": [95, 0, 4638, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -256,7 +444,15 @@ "allPatchVersions": [128, 127, 126, 125, 124, 123, 122, 121, 120, 119], "stablePatchVersions": [81, 71, 61, 54], "browserBaseVersion": [94, 0, 4606, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -270,7 +466,15 @@ "allPatchVersions": [137, 136, 135, 134, 133, 132, 131, 130, 129, 128], "stablePatchVersions": [82, 63], "browserBaseVersion": [93, 0, 4577, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -284,7 +488,15 @@ "allPatchVersions": [186, 185, 184, 183, 176, 166, 165, 163, 162, 161], "stablePatchVersions": [159, 131, 107], "browserBaseVersion": [92, 0, 4515, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -298,7 +510,15 @@ "allPatchVersions": [169, 168, 167, 166, 165, 164, 163, 162, 161, 160], "stablePatchVersions": [164, 114, 106, 101, 77], "browserBaseVersion": [91, 0, 4472, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -312,7 +532,15 @@ "allPatchVersions": [246, 245, 244, 243, 239, 238, 237, 236, 235, 234], "stablePatchVersions": [212, 93, 85, 72], "browserBaseVersion": [90, 0, 4430, null], - "uaClientHintsPlatformVersions": ["13.3.1", "13.3.0", "13.2.1", "13.2.0", "13.1.0", "13.0.1"], + "uaClientHintsPlatformVersions": [ + "13.4.0", + "13.3.1", + "13.3.0", + "13.2.1", + "13.2.0", + "13.1.0", + "13.0.1" + ], "operatingSystemVersion": { "major": "13" }, @@ -713,6 +941,34 @@ "browserId": "chrome-61-0", "marketshare": 0 }, + "mac-os-13--edge-114-0": { + "id": "mac-os-13--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "13" + }, + "operatingSystemId": "mac-os-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "mac-os-13--edge-113-0": { + "id": "mac-os-13--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "13" + }, + "operatingSystemId": "mac-os-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 0 + }, "mac-os-13--edge-112-0": { "id": "mac-os-13--edge-112-0", "allPatchVersions": [], @@ -1161,6 +1417,20 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-13--firefox-113-0": { + "id": "mac-os-13--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "13" + }, + "operatingSystemId": "mac-os-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "mac-os-13--firefox-112-0": { "id": "mac-os-13--firefox-112-0", "allPatchVersions": [], @@ -1791,12 +2061,73 @@ "browserId": "safari-16-1", "marketshare": null }, + "mac-os-12--chrome-114-0": { + "id": "mac-os-12--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [106, 90], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "12.6.6", + "12.6.5", + "12.6.4", + "12.6.2", + "12.6.1", + "12.6.0", + "12.5.1", + "12.5.0", + "12.4.0", + "12.3.1", + "12.3.0", + "12.2.1", + "12.2.0", + "12.1.0", + "12.0.1" + ], + "operatingSystemVersion": { + "major": "12" + }, + "operatingSystemId": "mac-os-12", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0 + }, + "mac-os-12--chrome-113-0": { + "id": "mac-os-12--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [126, 92, 63], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "12.6.6", + "12.6.5", + "12.6.4", + "12.6.2", + "12.6.1", + "12.6.0", + "12.5.1", + "12.5.0", + "12.4.0", + "12.3.1", + "12.3.0", + "12.2.1", + "12.2.0", + "12.1.0", + "12.0.1" + ], + "operatingSystemVersion": { + "major": "12" + }, + "operatingSystemId": "mac-os-12", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 0 + }, "mac-os-12--chrome-112-0": { "id": "mac-os-12--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [137, 121, 49], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -1826,6 +2157,7 @@ "stablePatchVersions": [146, 110, 64], "browserBaseVersion": [111, 0, 5563, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -1855,6 +2187,7 @@ "stablePatchVersions": [177, 100, 96, 77], "browserBaseVersion": [110, 0, 5481, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -1880,10 +2213,11 @@ }, "mac-os-12--chrome-109-0": { "id": "mac-os-12--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [119, 87], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -1909,10 +2243,11 @@ }, "mac-os-12--chrome-108-0": { "id": "mac-os-12--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [124, 98, 94, 71], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -1942,6 +2277,7 @@ "stablePatchVersions": [121, 110, 87, 62], "browserBaseVersion": [107, 0, 5304, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -1971,6 +2307,7 @@ "stablePatchVersions": [119, 103, 91, 61], "browserBaseVersion": [106, 0, 5249, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2000,6 +2337,7 @@ "stablePatchVersions": [125, 102, 52], "browserBaseVersion": [105, 0, 5195, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2029,6 +2367,7 @@ "stablePatchVersions": [101, 79], "browserBaseVersion": [104, 0, 5112, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2058,6 +2397,7 @@ "stablePatchVersions": [134, 114, 53], "browserBaseVersion": [103, 0, 5060, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2087,6 +2427,7 @@ "stablePatchVersions": [115, 61], "browserBaseVersion": [102, 0, 5005, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2116,6 +2457,7 @@ "stablePatchVersions": [64, 54, 41], "browserBaseVersion": [101, 0, 4951, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2145,6 +2487,7 @@ "stablePatchVersions": [127, 88, 75, 60], "browserBaseVersion": [100, 0, 4896, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2174,6 +2517,7 @@ "stablePatchVersions": [84, 83, 74, 51], "browserBaseVersion": [99, 0, 4844, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2203,6 +2547,7 @@ "stablePatchVersions": [109, 102, 80], "browserBaseVersion": [98, 0, 4758, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2232,6 +2577,7 @@ "stablePatchVersions": [99, 71], "browserBaseVersion": [97, 0, 4692, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2261,6 +2607,7 @@ "stablePatchVersions": [110, 93, 55, 45], "browserBaseVersion": [96, 0, 4664, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2290,6 +2637,7 @@ "stablePatchVersions": [69, 54], "browserBaseVersion": [95, 0, 4638, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2319,6 +2667,7 @@ "stablePatchVersions": [81, 71, 61, 54], "browserBaseVersion": [94, 0, 4606, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2348,6 +2697,7 @@ "stablePatchVersions": [82, 63], "browserBaseVersion": [93, 0, 4577, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2377,6 +2727,7 @@ "stablePatchVersions": [159, 131, 107], "browserBaseVersion": [92, 0, 4515, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2406,6 +2757,7 @@ "stablePatchVersions": [164, 114, 106, 101, 77], "browserBaseVersion": [91, 0, 4472, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -2435,6 +2787,7 @@ "stablePatchVersions": [212, 93, 85, 72], "browserBaseVersion": [90, 0, 4430, null], "uaClientHintsPlatformVersions": [ + "12.6.6", "12.6.5", "12.6.4", "12.6.2", @@ -3144,6 +3497,34 @@ "browserId": "chrome-40-0", "marketshare": 0 }, + "mac-os-12--edge-114-0": { + "id": "mac-os-12--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "12" + }, + "operatingSystemId": "mac-os-12", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "mac-os-12--edge-113-0": { + "id": "mac-os-12--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "12" + }, + "operatingSystemId": "mac-os-12", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 0 + }, "mac-os-12--edge-112-0": { "id": "mac-os-12--edge-112-0", "allPatchVersions": [], @@ -3592,6 +3973,20 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-12--firefox-113-0": { + "id": "mac-os-12--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "12" + }, + "operatingSystemId": "mac-os-12", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "mac-os-12--firefox-112-0": { "id": "mac-os-12--firefox-112-0", "allPatchVersions": [], @@ -5062,12 +5457,101 @@ "browserId": "safari-15-1", "marketshare": null }, + "mac-os-11--chrome-114-0": { + "id": "mac-os-11--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [106, 90], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "11.7.7", + "11.7.6", + "11.7.5", + "11.7.4", + "11.7.3", + "11.7.2", + "11.7.1", + "11.7.0", + "11.6.8", + "11.6.7", + "11.6.6", + "11.6.5", + "11.6.4", + "11.6.3", + "11.6.2", + "11.6.1", + "11.6.0", + "11.5.2", + "11.5.1", + "11.5.0", + "11.4.0", + "11.3.1", + "11.3.0", + "11.2.3", + "11.2.2", + "11.2.1", + "11.2.0", + "11.1.0", + "11.0.1" + ], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "mac-os-11", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0 + }, + "mac-os-11--chrome-113-0": { + "id": "mac-os-11--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [126, 92, 63], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "11.7.7", + "11.7.6", + "11.7.5", + "11.7.4", + "11.7.3", + "11.7.2", + "11.7.1", + "11.7.0", + "11.6.8", + "11.6.7", + "11.6.6", + "11.6.5", + "11.6.4", + "11.6.3", + "11.6.2", + "11.6.1", + "11.6.0", + "11.5.2", + "11.5.1", + "11.5.0", + "11.4.0", + "11.3.1", + "11.3.0", + "11.2.3", + "11.2.2", + "11.2.1", + "11.2.0", + "11.1.0", + "11.0.1" + ], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "mac-os-11", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 0 + }, "mac-os-11--chrome-112-0": { "id": "mac-os-11--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [137, 121, 49], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5111,6 +5595,7 @@ "stablePatchVersions": [146, 110, 64], "browserBaseVersion": [111, 0, 5563, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5154,6 +5639,7 @@ "stablePatchVersions": [177, 100, 96, 77], "browserBaseVersion": [110, 0, 5481, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5193,10 +5679,11 @@ }, "mac-os-11--chrome-109-0": { "id": "mac-os-11--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [119, 87], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5236,10 +5723,11 @@ }, "mac-os-11--chrome-108-0": { "id": "mac-os-11--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [124, 98, 94, 71], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5283,6 +5771,7 @@ "stablePatchVersions": [121, 110, 87, 62], "browserBaseVersion": [107, 0, 5304, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5326,6 +5815,7 @@ "stablePatchVersions": [119, 103, 91, 61], "browserBaseVersion": [106, 0, 5249, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5369,6 +5859,7 @@ "stablePatchVersions": [125, 102, 52], "browserBaseVersion": [105, 0, 5195, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5412,6 +5903,7 @@ "stablePatchVersions": [101, 79], "browserBaseVersion": [104, 0, 5112, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5455,6 +5947,7 @@ "stablePatchVersions": [134, 114, 53], "browserBaseVersion": [103, 0, 5060, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5498,6 +5991,7 @@ "stablePatchVersions": [115, 61], "browserBaseVersion": [102, 0, 5005, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5541,6 +6035,7 @@ "stablePatchVersions": [64, 54, 41], "browserBaseVersion": [101, 0, 4951, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5584,6 +6079,7 @@ "stablePatchVersions": [127, 88, 75, 60], "browserBaseVersion": [100, 0, 4896, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5627,6 +6123,7 @@ "stablePatchVersions": [84, 83, 74, 51], "browserBaseVersion": [99, 0, 4844, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5670,6 +6167,7 @@ "stablePatchVersions": [109, 102, 80], "browserBaseVersion": [98, 0, 4758, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5713,6 +6211,7 @@ "stablePatchVersions": [99, 71], "browserBaseVersion": [97, 0, 4692, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5756,6 +6255,7 @@ "stablePatchVersions": [110, 93, 55, 45], "browserBaseVersion": [96, 0, 4664, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5799,6 +6299,7 @@ "stablePatchVersions": [69, 54], "browserBaseVersion": [95, 0, 4638, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5842,6 +6343,7 @@ "stablePatchVersions": [81, 71, 61, 54], "browserBaseVersion": [94, 0, 4606, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5885,6 +6387,7 @@ "stablePatchVersions": [82, 63], "browserBaseVersion": [93, 0, 4577, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5928,6 +6431,7 @@ "stablePatchVersions": [159, 131, 107], "browserBaseVersion": [92, 0, 4515, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -5971,6 +6475,7 @@ "stablePatchVersions": [164, 114, 106, 101, 77], "browserBaseVersion": [91, 0, 4472, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -6014,6 +6519,7 @@ "stablePatchVersions": [212, 93, 85, 72], "browserBaseVersion": [90, 0, 4430, null], "uaClientHintsPlatformVersions": [ + "11.7.7", "11.7.6", "11.7.5", "11.7.4", @@ -6737,6 +7243,34 @@ "browserId": "chrome-40-0", "marketshare": 0 }, + "mac-os-11--edge-114-0": { + "id": "mac-os-11--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "mac-os-11", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "mac-os-11--edge-113-0": { + "id": "mac-os-11--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "mac-os-11", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 0 + }, "mac-os-11--edge-112-0": { "id": "mac-os-11--edge-112-0", "allPatchVersions": [], @@ -7185,6 +7719,20 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-11--firefox-113-0": { + "id": "mac-os-11--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "mac-os-11", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "mac-os-11--firefox-112-0": { "id": "mac-os-11--firefox-112-0", "allPatchVersions": [], @@ -8641,9 +9189,55 @@ "browserId": "safari-14-0", "marketshare": null }, + "mac-os-10-15--chrome-114-0": { + "id": "mac-os-10-15--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [106, 90], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "10.15.7", + "10.15.6", + "10.15.5", + "10.15.4", + "10.15.3", + "10.15.2", + "10.15.1" + ], + "operatingSystemVersion": { + "major": "10", + "minor": "15" + }, + "operatingSystemId": "mac-os-10-15", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0.03 + }, + "mac-os-10-15--chrome-113-0": { + "id": "mac-os-10-15--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [126, 92, 63], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "10.15.7", + "10.15.6", + "10.15.5", + "10.15.4", + "10.15.3", + "10.15.2", + "10.15.1" + ], + "operatingSystemVersion": { + "major": "10", + "minor": "15" + }, + "operatingSystemId": "mac-os-10-15", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 3.67 + }, "mac-os-10-15--chrome-112-0": { "id": "mac-os-10-15--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [137, 121, 49], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": [ @@ -8662,7 +9256,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "browserId": "chrome-112-0", - "marketshare": 0 + "marketshare": 2.98 }, "mac-os-10-15--chrome-111-0": { "id": "mac-os-10-15--chrome-111-0", @@ -8685,7 +9279,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "browserId": "chrome-111-0", - "marketshare": 3.6 + "marketshare": 0.53 }, "mac-os-10-15--chrome-110-0": { "id": "mac-os-10-15--chrome-110-0", @@ -8708,11 +9302,11 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "browserId": "chrome-110-0", - "marketshare": 3.09 + "marketshare": 0.11 }, "mac-os-10-15--chrome-109-0": { "id": "mac-os-10-15--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [119, 87], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": [ @@ -8731,11 +9325,11 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "browserId": "chrome-109-0", - "marketshare": 0.69 + "marketshare": 0.41 }, "mac-os-10-15--chrome-108-0": { "id": "mac-os-10-15--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [124, 98, 94, 71], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": [ @@ -8754,7 +9348,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "browserId": "chrome-108-0", - "marketshare": 0.26 + "marketshare": 0.11 }, "mac-os-10-15--chrome-107-0": { "id": "mac-os-10-15--chrome-107-0", @@ -8777,7 +9371,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "browserId": "chrome-107-0", - "marketshare": 0.06 + "marketshare": 0.03 }, "mac-os-10-15--chrome-106-0": { "id": "mac-os-10-15--chrome-106-0", @@ -8823,7 +9417,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36", "browserId": "chrome-105-0", - "marketshare": 0.06 + "marketshare": 0.03 }, "mac-os-10-15--chrome-104-0": { "id": "mac-os-10-15--chrome-104-0", @@ -8869,7 +9463,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.$patch$ Safari/537.36", "browserId": "chrome-103-0", - "marketshare": 0.19 + "marketshare": 0.18 }, "mac-os-10-15--chrome-102-0": { "id": "mac-os-10-15--chrome-102-0", @@ -8892,7 +9486,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.$patch$ Safari/537.36", "browserId": "chrome-102-0", - "marketshare": 0.06 + "marketshare": 0.03 }, "mac-os-10-15--chrome-101-0": { "id": "mac-os-10-15--chrome-101-0", @@ -8938,7 +9532,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.$patch$ Safari/537.36", "browserId": "chrome-100-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--chrome-99-0": { "id": "mac-os-10-15--chrome-99-0", @@ -8984,7 +9578,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.$patch$ Safari/537.36", "browserId": "chrome-98-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--chrome-97-0": { "id": "mac-os-10-15--chrome-97-0", @@ -9007,7 +9601,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.$patch$ Safari/537.36", "browserId": "chrome-97-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--chrome-96-0": { "id": "mac-os-10-15--chrome-96-0", @@ -9030,7 +9624,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.$patch$ Safari/537.36", "browserId": "chrome-96-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--chrome-95-0": { "id": "mac-os-10-15--chrome-95-0", @@ -9076,7 +9670,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.$patch$ Safari/537.36", "browserId": "chrome-94-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--chrome-93-0": { "id": "mac-os-10-15--chrome-93-0", @@ -9099,7 +9693,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.$patch$ Safari/537.36", "browserId": "chrome-93-0", - "marketshare": 0.06 + "marketshare": 0.11 }, "mac-os-10-15--chrome-92-0": { "id": "mac-os-10-15--chrome-92-0", @@ -9122,7 +9716,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.$patch$ Safari/537.36", "browserId": "chrome-92-0", - "marketshare": 0 + "marketshare": 0.03 }, "mac-os-10-15--chrome-91-0": { "id": "mac-os-10-15--chrome-91-0", @@ -9168,7 +9762,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.$patch$ Safari/537.36", "browserId": "chrome-90-0", - "marketshare": 0 + "marketshare": 0.03 }, "mac-os-10-15--chrome-89-0": { "id": "mac-os-10-15--chrome-89-0", @@ -9198,7 +9792,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.$patch$ Safari/537.36", "browserId": "chrome-88-0", - "marketshare": 0 + "marketshare": 0.03 }, "mac-os-10-15--chrome-87-0": { "id": "mac-os-10-15--chrome-87-0", @@ -9213,7 +9807,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.$patch$ Safari/537.36", "browserId": "chrome-87-0", - "marketshare": 0.06 + "marketshare": 0.07 }, "mac-os-10-15--chrome-86-0": { "id": "mac-os-10-15--chrome-86-0", @@ -9258,7 +9852,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.$patch$ Safari/537.36", "browserId": "chrome-84-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--chrome-83-0": { "id": "mac-os-10-15--chrome-83-0", @@ -9273,7 +9867,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.$patch$ Safari/537.36", "browserId": "chrome-83-0", - "marketshare": 0.03 + "marketshare": 0.14 }, "mac-os-10-15--chrome-81-0": { "id": "mac-os-10-15--chrome-81-0", @@ -9318,7 +9912,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.$patch$ Safari/537.36", "browserId": "chrome-79-0", - "marketshare": 0.06 + "marketshare": 0.14 }, "mac-os-10-15--chrome-78-0": { "id": "mac-os-10-15--chrome-78-0", @@ -9363,7 +9957,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.$patch$ Safari/537.36", "browserId": "chrome-76-0", - "marketshare": 0.06 + "marketshare": 0.03 }, "mac-os-10-15--chrome-75-0": { "id": "mac-os-10-15--chrome-75-0", @@ -9663,7 +10257,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.$patch$ Safari/537.36", "browserId": "chrome-56-0", - "marketshare": 0.06 + "marketshare": 0.07 }, "mac-os-10-15--chrome-55-0": { "id": "mac-os-10-15--chrome-55-0", @@ -9905,6 +10499,36 @@ "browserId": "chrome-40-0", "marketshare": 0 }, + "mac-os-10-15--edge-114-0": { + "id": "mac-os-10-15--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "15" + }, + "operatingSystemId": "mac-os-10-15", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "mac-os-10-15--edge-113-0": { + "id": "mac-os-10-15--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "15" + }, + "operatingSystemId": "mac-os-10-15", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 1.18 + }, "mac-os-10-15--edge-112-0": { "id": "mac-os-10-15--edge-112-0", "allPatchVersions": [], @@ -9918,7 +10542,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34", "browserId": "edge-112-0", - "marketshare": 0 + "marketshare": 0.84 }, "mac-os-10-15--edge-111-0": { "id": "mac-os-10-15--edge-111-0", @@ -9933,7 +10557,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.41", "browserId": "edge-111-0", - "marketshare": 1.15 + "marketshare": 0.03 }, "mac-os-10-15--edge-110-0": { "id": "mac-os-10-15--edge-110-0", @@ -9948,7 +10572,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41", "browserId": "edge-110-0", - "marketshare": 1.01 + "marketshare": 0 }, "mac-os-10-15--edge-109-0": { "id": "mac-os-10-15--edge-109-0", @@ -9963,7 +10587,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.49", "browserId": "edge-109-0", - "marketshare": 0.06 + "marketshare": 0.03 }, "mac-os-10-15--edge-108-0": { "id": "mac-os-10-15--edge-108-0", @@ -9978,7 +10602,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.41", "browserId": "edge-108-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--edge-107-0": { "id": "mac-os-10-15--edge-107-0", @@ -10385,6 +11009,21 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-10-15--firefox-113-0": { + "id": "mac-os-10-15--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "15" + }, + "operatingSystemId": "mac-os-10-15", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0.33 + }, "mac-os-10-15--firefox-112-0": { "id": "mac-os-10-15--firefox-112-0", "allPatchVersions": [], @@ -10398,7 +11037,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/112.0", "browserId": "firefox-112-0", - "marketshare": 0 + "marketshare": 0.26 }, "mac-os-10-15--firefox-111-0": { "id": "mac-os-10-15--firefox-111-0", @@ -10413,7 +11052,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/111.0", "browserId": "firefox-111-0", - "marketshare": 0.29 + "marketshare": 0.03 }, "mac-os-10-15--firefox-110-0": { "id": "mac-os-10-15--firefox-110-0", @@ -10428,7 +11067,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/110.0", "browserId": "firefox-110-0", - "marketshare": 0.39 + "marketshare": 0 }, "mac-os-10-15--firefox-109-0": { "id": "mac-os-10-15--firefox-109-0", @@ -10443,7 +11082,7 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/109.0", "browserId": "firefox-109-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-15--firefox-108-0": { "id": "mac-os-10-15--firefox-108-0", @@ -11928,11 +12567,55 @@ "operatingSystemId": "mac-os-10-15", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15", "browserId": "safari-13-1", - "marketshare": 0.5 + "marketshare": 0.4 + }, + "mac-os-10-14--chrome-114-0": { + "id": "mac-os-10-14--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [106, 90], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "10.14.6", + "10.14.5", + "10.14.4", + "10.14.3", + "10.14.2", + "10.14.1" + ], + "operatingSystemVersion": { + "major": "10", + "minor": "14" + }, + "operatingSystemId": "mac-os-10-14", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0 + }, + "mac-os-10-14--chrome-113-0": { + "id": "mac-os-10-14--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [126, 92, 63], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "10.14.6", + "10.14.5", + "10.14.4", + "10.14.3", + "10.14.2", + "10.14.1" + ], + "operatingSystemVersion": { + "major": "10", + "minor": "14" + }, + "operatingSystemId": "mac-os-10-14", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 0.04 }, "mac-os-10-14--chrome-112-0": { "id": "mac-os-10-14--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [137, 121, 49], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": [ @@ -11950,7 +12633,7 @@ "operatingSystemId": "mac-os-10-14", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "browserId": "chrome-112-0", - "marketshare": 0 + "marketshare": 0.03 }, "mac-os-10-14--chrome-111-0": { "id": "mac-os-10-14--chrome-111-0", @@ -11972,7 +12655,7 @@ "operatingSystemId": "mac-os-10-14", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "browserId": "chrome-111-0", - "marketshare": 0.05 + "marketshare": 0 }, "mac-os-10-14--chrome-110-0": { "id": "mac-os-10-14--chrome-110-0", @@ -11994,11 +12677,11 @@ "operatingSystemId": "mac-os-10-14", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "browserId": "chrome-110-0", - "marketshare": 0.04 + "marketshare": 0 }, "mac-os-10-14--chrome-109-0": { "id": "mac-os-10-14--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [119, 87], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": [ @@ -12020,7 +12703,7 @@ }, "mac-os-10-14--chrome-108-0": { "id": "mac-os-10-14--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [124, 98, 94, 71], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": [ @@ -13366,6 +14049,36 @@ "browserId": "chrome-27-0", "marketshare": 0 }, + "mac-os-10-14--edge-114-0": { + "id": "mac-os-10-14--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "14" + }, + "operatingSystemId": "mac-os-10-14", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "mac-os-10-14--edge-113-0": { + "id": "mac-os-10-14--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "14" + }, + "operatingSystemId": "mac-os-10-14", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 0.01 + }, "mac-os-10-14--edge-112-0": { "id": "mac-os-10-14--edge-112-0", "allPatchVersions": [], @@ -13379,7 +14092,7 @@ "operatingSystemId": "mac-os-10-14", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34", "browserId": "edge-112-0", - "marketshare": 0 + "marketshare": 0.01 }, "mac-os-10-14--edge-111-0": { "id": "mac-os-10-14--edge-111-0", @@ -13394,7 +14107,7 @@ "operatingSystemId": "mac-os-10-14", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.41", "browserId": "edge-111-0", - "marketshare": 0.01 + "marketshare": 0 }, "mac-os-10-14--edge-110-0": { "id": "mac-os-10-14--edge-110-0", @@ -13409,7 +14122,7 @@ "operatingSystemId": "mac-os-10-14", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41", "browserId": "edge-110-0", - "marketshare": 0.01 + "marketshare": 0 }, "mac-os-10-14--edge-109-0": { "id": "mac-os-10-14--edge-109-0", @@ -13846,6 +14559,21 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-10-14--firefox-113-0": { + "id": "mac-os-10-14--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "14" + }, + "operatingSystemId": "mac-os-10-14", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "mac-os-10-14--firefox-112-0": { "id": "mac-os-10-14--firefox-112-0", "allPatchVersions": [], @@ -15406,9 +16134,53 @@ "browserId": "safari-12-1", "marketshare": 0.1 }, + "mac-os-10-13--chrome-114-0": { + "id": "mac-os-10-13--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [106, 90], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "10.13.6", + "10.13.5", + "10.13.4", + "10.13.3", + "10.13.2", + "10.13.1" + ], + "operatingSystemVersion": { + "major": "10", + "minor": "13" + }, + "operatingSystemId": "mac-os-10-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0 + }, + "mac-os-10-13--chrome-113-0": { + "id": "mac-os-10-13--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [126, 92, 63], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "10.13.6", + "10.13.5", + "10.13.4", + "10.13.3", + "10.13.2", + "10.13.1" + ], + "operatingSystemVersion": { + "major": "10", + "minor": "13" + }, + "operatingSystemId": "mac-os-10-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 0.04 + }, "mac-os-10-13--chrome-112-0": { "id": "mac-os-10-13--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [137, 121, 49], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": [ @@ -15426,7 +16198,7 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "browserId": "chrome-112-0", - "marketshare": 0 + "marketshare": 0.03 }, "mac-os-10-13--chrome-111-0": { "id": "mac-os-10-13--chrome-111-0", @@ -15448,7 +16220,7 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "browserId": "chrome-111-0", - "marketshare": 0.1 + "marketshare": 0 }, "mac-os-10-13--chrome-110-0": { "id": "mac-os-10-13--chrome-110-0", @@ -15470,11 +16242,11 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "browserId": "chrome-110-0", - "marketshare": 0.08 + "marketshare": 0 }, "mac-os-10-13--chrome-109-0": { "id": "mac-os-10-13--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [119, 87], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": [ @@ -15492,11 +16264,11 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "browserId": "chrome-109-0", - "marketshare": 0.01 + "marketshare": 0 }, "mac-os-10-13--chrome-108-0": { "id": "mac-os-10-13--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [124, 98, 94, 71], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": [ @@ -16842,6 +17614,36 @@ "browserId": "chrome-27-0", "marketshare": 0 }, + "mac-os-10-13--edge-114-0": { + "id": "mac-os-10-13--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "13" + }, + "operatingSystemId": "mac-os-10-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "mac-os-10-13--edge-113-0": { + "id": "mac-os-10-13--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "13" + }, + "operatingSystemId": "mac-os-10-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 0.01 + }, "mac-os-10-13--edge-112-0": { "id": "mac-os-10-13--edge-112-0", "allPatchVersions": [], @@ -16855,7 +17657,7 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34", "browserId": "edge-112-0", - "marketshare": 0 + "marketshare": 0.01 }, "mac-os-10-13--edge-111-0": { "id": "mac-os-10-13--edge-111-0", @@ -16870,7 +17672,7 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.41", "browserId": "edge-111-0", - "marketshare": 0.03 + "marketshare": 0 }, "mac-os-10-13--edge-110-0": { "id": "mac-os-10-13--edge-110-0", @@ -16885,7 +17687,7 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41", "browserId": "edge-110-0", - "marketshare": 0.02 + "marketshare": 0 }, "mac-os-10-13--edge-109-0": { "id": "mac-os-10-13--edge-109-0", @@ -17322,6 +18124,21 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-10-13--firefox-113-0": { + "id": "mac-os-10-13--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "13" + }, + "operatingSystemId": "mac-os-10-13", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "mac-os-10-13--firefox-112-0": { "id": "mac-os-10-13--firefox-112-0", "allPatchVersions": [], @@ -17365,7 +18182,7 @@ "operatingSystemId": "mac-os-10-13", "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:109.0) Gecko/20100101 Firefox/110.0", "browserId": "firefox-110-0", - "marketshare": 0.01 + "marketshare": 0 }, "mac-os-10-13--firefox-109-0": { "id": "mac-os-10-13--firefox-109-0", @@ -20465,6 +21282,21 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "mac-os-10-12--firefox-113-0": { + "id": "mac-os-10-12--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10", + "minor": "12" + }, + "operatingSystemId": "mac-os-10-12", + "pattern": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "mac-os-10-12--firefox-112-0": { "id": "mac-os-10-12--firefox-112-0", "allPatchVersions": [], @@ -32008,9 +32840,37 @@ "browserId": "opera-12-15", "marketshare": 0 }, + "windows-11--chrome-114-0": { + "id": "windows-11--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [110, 91], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": ["13.0.0", "14.0.0"], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "windows-11", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0.01 + }, + "windows-11--chrome-113-0": { + "id": "windows-11--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [127, 93, 64], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": ["13.0.0", "14.0.0"], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "windows-11", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 1.78 + }, "windows-11--chrome-112-0": { "id": "windows-11--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [138, 121, 87, 50], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": ["13.0.0", "14.0.0"], @@ -32020,7 +32880,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "browserId": "chrome-112-0", - "marketshare": 0 + "marketshare": 1.45 }, "windows-11--chrome-111-0": { "id": "windows-11--chrome-111-0", @@ -32034,7 +32894,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "browserId": "chrome-111-0", - "marketshare": 1.95 + "marketshare": 0.26 }, "windows-11--chrome-110-0": { "id": "windows-11--chrome-110-0", @@ -32048,11 +32908,11 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "browserId": "chrome-110-0", - "marketshare": 1.67 + "marketshare": 0.05 }, "windows-11--chrome-109-0": { "id": "windows-11--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [120, 75], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": ["13.0.0", "14.0.0"], @@ -32062,11 +32922,11 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "browserId": "chrome-109-0", - "marketshare": 0.37 + "marketshare": 0.2 }, "windows-11--chrome-108-0": { "id": "windows-11--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [125, 99, 95, 72], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": ["13.0.0", "14.0.0"], @@ -32076,7 +32936,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "browserId": "chrome-108-0", - "marketshare": 0.14 + "marketshare": 0.05 }, "windows-11--chrome-107-0": { "id": "windows-11--chrome-107-0", @@ -32090,7 +32950,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "browserId": "chrome-107-0", - "marketshare": 0.03 + "marketshare": 0.01 }, "windows-11--chrome-106-0": { "id": "windows-11--chrome-106-0", @@ -32118,7 +32978,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36", "browserId": "chrome-105-0", - "marketshare": 0.03 + "marketshare": 0.01 }, "windows-11--chrome-104-0": { "id": "windows-11--chrome-104-0", @@ -32146,7 +33006,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.$patch$ Safari/537.36", "browserId": "chrome-103-0", - "marketshare": 0.1 + "marketshare": 0.09 }, "windows-11--chrome-102-0": { "id": "windows-11--chrome-102-0", @@ -32160,7 +33020,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.$patch$ Safari/537.36", "browserId": "chrome-102-0", - "marketshare": 0.03 + "marketshare": 0.01 }, "windows-11--chrome-101-0": { "id": "windows-11--chrome-101-0", @@ -32188,7 +33048,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.$patch$ Safari/537.36", "browserId": "chrome-100-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--chrome-99-0": { "id": "windows-11--chrome-99-0", @@ -32216,7 +33076,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.$patch$ Safari/537.36", "browserId": "chrome-98-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--chrome-97-0": { "id": "windows-11--chrome-97-0", @@ -32230,7 +33090,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.$patch$ Safari/537.36", "browserId": "chrome-97-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--chrome-96-0": { "id": "windows-11--chrome-96-0", @@ -32244,7 +33104,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.$patch$ Safari/537.36", "browserId": "chrome-96-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--chrome-95-0": { "id": "windows-11--chrome-95-0", @@ -32272,7 +33132,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.$patch$ Safari/537.36", "browserId": "chrome-94-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--chrome-93-0": { "id": "windows-11--chrome-93-0", @@ -32286,7 +33146,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.$patch$ Safari/537.36", "browserId": "chrome-93-0", - "marketshare": 0.03 + "marketshare": 0.05 }, "windows-11--chrome-92-0": { "id": "windows-11--chrome-92-0", @@ -32300,7 +33160,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.$patch$ Safari/537.36", "browserId": "chrome-92-0", - "marketshare": 0 + "marketshare": 0.01 }, "windows-11--chrome-91-0": { "id": "windows-11--chrome-91-0", @@ -32328,7 +33188,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.$patch$ Safari/537.36", "browserId": "chrome-90-0", - "marketshare": 0 + "marketshare": 0.01 }, "windows-11--chrome-89-0": { "id": "windows-11--chrome-89-0", @@ -32356,7 +33216,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.$patch$ Safari/537.36", "browserId": "chrome-88-0", - "marketshare": 0 + "marketshare": 0.01 }, "windows-11--chrome-87-0": { "id": "windows-11--chrome-87-0", @@ -32412,7 +33272,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.$patch$ Safari/537.36", "browserId": "chrome-84-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--chrome-83-0": { "id": "windows-11--chrome-83-0", @@ -32426,7 +33286,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.$patch$ Safari/537.36", "browserId": "chrome-83-0", - "marketshare": 0.01 + "marketshare": 0.07 }, "windows-11--chrome-81-0": { "id": "windows-11--chrome-81-0", @@ -32468,7 +33328,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.$patch$ Safari/537.36", "browserId": "chrome-79-0", - "marketshare": 0.03 + "marketshare": 0.07 }, "windows-11--chrome-78-0": { "id": "windows-11--chrome-78-0", @@ -32510,7 +33370,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.$patch$ Safari/537.36", "browserId": "chrome-76-0", - "marketshare": 0.03 + "marketshare": 0.01 }, "windows-11--chrome-75-0": { "id": "windows-11--chrome-75-0", @@ -33058,6 +33918,34 @@ "browserId": "chrome-37-0", "marketshare": 0 }, + "windows-11--edge-114-0": { + "id": "windows-11--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "windows-11", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "windows-11--edge-113-0": { + "id": "windows-11--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "windows-11", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 0.57 + }, "windows-11--edge-112-0": { "id": "windows-11--edge-112-0", "allPatchVersions": [], @@ -33070,7 +33958,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34", "browserId": "edge-112-0", - "marketshare": 0 + "marketshare": 0.4 }, "windows-11--edge-111-0": { "id": "windows-11--edge-111-0", @@ -33084,7 +33972,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.41", "browserId": "edge-111-0", - "marketshare": 0.62 + "marketshare": 0.01 }, "windows-11--edge-110-0": { "id": "windows-11--edge-110-0", @@ -33098,7 +33986,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41", "browserId": "edge-110-0", - "marketshare": 0.55 + "marketshare": 0 }, "windows-11--edge-109-0": { "id": "windows-11--edge-109-0", @@ -33112,7 +34000,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.49", "browserId": "edge-109-0", - "marketshare": 0.03 + "marketshare": 0.01 }, "windows-11--edge-108-0": { "id": "windows-11--edge-108-0", @@ -33126,7 +34014,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.42", "browserId": "edge-108-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--edge-107-0": { "id": "windows-11--edge-107-0", @@ -33506,6 +34394,20 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "windows-11--firefox-113-0": { + "id": "windows-11--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "11" + }, + "operatingSystemId": "windows-11", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0.16 + }, "windows-11--firefox-112-0": { "id": "windows-11--firefox-112-0", "allPatchVersions": [], @@ -33518,7 +34420,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0", "browserId": "firefox-112-0", - "marketshare": 0 + "marketshare": 0.12 }, "windows-11--firefox-111-0": { "id": "windows-11--firefox-111-0", @@ -33532,7 +34434,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0", "browserId": "firefox-111-0", - "marketshare": 0.16 + "marketshare": 0.01 }, "windows-11--firefox-110-0": { "id": "windows-11--firefox-110-0", @@ -33546,7 +34448,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0", "browserId": "firefox-110-0", - "marketshare": 0.21 + "marketshare": 0 }, "windows-11--firefox-109-0": { "id": "windows-11--firefox-109-0", @@ -33560,7 +34462,7 @@ "operatingSystemId": "windows-11", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0", "browserId": "firefox-109-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-11--firefox-108-0": { "id": "windows-11--firefox-108-0", @@ -34640,9 +35542,67 @@ "browserId": "firefox-32-0", "marketshare": 0 }, + "windows-10--chrome-114-0": { + "id": "windows-10--chrome-114-0", + "allPatchVersions": [132, 131, 130, 129, 128, 127, 126, 125, 124, 123], + "stablePatchVersions": [110, 91], + "browserBaseVersion": [114, 0, 5735, null], + "uaClientHintsPlatformVersions": [ + "1.0.0", + "2.0.0", + "3.0.0", + "4.0.0", + "5.0.0", + "6.0.0", + "7.0.0", + "8.0.0", + "8.0.0", + "10.0.0", + "10.0.0", + "10.0.0", + "11.0.0", + "12.0.0" + ], + "operatingSystemVersion": { + "major": "10" + }, + "operatingSystemId": "windows-10", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "browserId": "chrome-114-0", + "marketshare": 0.04 + }, + "windows-10--chrome-113-0": { + "id": "windows-10--chrome-113-0", + "allPatchVersions": [177, 176, 175, 174, 173, 167, 166, 165, 164, 163], + "stablePatchVersions": [127, 93, 64], + "browserBaseVersion": [113, 0, 5672, null], + "uaClientHintsPlatformVersions": [ + "1.0.0", + "2.0.0", + "3.0.0", + "4.0.0", + "5.0.0", + "6.0.0", + "7.0.0", + "8.0.0", + "8.0.0", + "10.0.0", + "10.0.0", + "10.0.0", + "11.0.0", + "12.0.0" + ], + "operatingSystemVersion": { + "major": "10" + }, + "operatingSystemId": "windows-10", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", + "browserId": "chrome-113-0", + "marketshare": 4.04 + }, "windows-10--chrome-112-0": { "id": "windows-10--chrome-112-0", - "allPatchVersions": [172, 171, 170, 169, 168, 167, 166, 165, 141, 140], + "allPatchVersions": [213, 212, 211, 210, 209, 208, 207, 206, 205, 204], "stablePatchVersions": [138, 121, 87, 50], "browserBaseVersion": [112, 0, 5615, null], "uaClientHintsPlatformVersions": [ @@ -34667,7 +35627,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "browserId": "chrome-112-0", - "marketshare": 0 + "marketshare": 3.28 }, "windows-10--chrome-111-0": { "id": "windows-10--chrome-111-0", @@ -34696,7 +35656,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "browserId": "chrome-111-0", - "marketshare": 4.88 + "marketshare": 0.59 }, "windows-10--chrome-110-0": { "id": "windows-10--chrome-110-0", @@ -34725,11 +35685,11 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "browserId": "chrome-110-0", - "marketshare": 4.19 + "marketshare": 0.12 }, "windows-10--chrome-109-0": { "id": "windows-10--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [120, 75], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": [ @@ -34754,11 +35714,11 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "browserId": "chrome-109-0", - "marketshare": 0.94 + "marketshare": 0.45 }, "windows-10--chrome-108-0": { "id": "windows-10--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [125, 99, 95, 72], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": [ @@ -34783,7 +35743,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "browserId": "chrome-108-0", - "marketshare": 0.35 + "marketshare": 0.12 }, "windows-10--chrome-107-0": { "id": "windows-10--chrome-107-0", @@ -34812,7 +35772,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "browserId": "chrome-107-0", - "marketshare": 0.08 + "marketshare": 0.04 }, "windows-10--chrome-106-0": { "id": "windows-10--chrome-106-0", @@ -34870,7 +35830,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36", "browserId": "chrome-105-0", - "marketshare": 0.08 + "marketshare": 0.04 }, "windows-10--chrome-104-0": { "id": "windows-10--chrome-104-0", @@ -34928,7 +35888,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.$patch$ Safari/537.36", "browserId": "chrome-103-0", - "marketshare": 0.26 + "marketshare": 0.2 }, "windows-10--chrome-102-0": { "id": "windows-10--chrome-102-0", @@ -34957,7 +35917,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.$patch$ Safari/537.36", "browserId": "chrome-102-0", - "marketshare": 0.08 + "marketshare": 0.04 }, "windows-10--chrome-101-0": { "id": "windows-10--chrome-101-0", @@ -35015,7 +35975,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.$patch$ Safari/537.36", "browserId": "chrome-100-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--chrome-99-0": { "id": "windows-10--chrome-99-0", @@ -35073,7 +36033,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.$patch$ Safari/537.36", "browserId": "chrome-98-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--chrome-97-0": { "id": "windows-10--chrome-97-0", @@ -35102,7 +36062,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.$patch$ Safari/537.36", "browserId": "chrome-97-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--chrome-96-0": { "id": "windows-10--chrome-96-0", @@ -35131,7 +36091,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.$patch$ Safari/537.36", "browserId": "chrome-96-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--chrome-95-0": { "id": "windows-10--chrome-95-0", @@ -35189,7 +36149,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.$patch$ Safari/537.36", "browserId": "chrome-94-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--chrome-93-0": { "id": "windows-10--chrome-93-0", @@ -35218,7 +36178,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.$patch$ Safari/537.36", "browserId": "chrome-93-0", - "marketshare": 0.08 + "marketshare": 0.12 }, "windows-10--chrome-92-0": { "id": "windows-10--chrome-92-0", @@ -35247,7 +36207,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.$patch$ Safari/537.36", "browserId": "chrome-92-0", - "marketshare": 0 + "marketshare": 0.04 }, "windows-10--chrome-91-0": { "id": "windows-10--chrome-91-0", @@ -35305,7 +36265,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.$patch$ Safari/537.36", "browserId": "chrome-90-0", - "marketshare": 0 + "marketshare": 0.04 }, "windows-10--chrome-89-0": { "id": "windows-10--chrome-89-0", @@ -35333,7 +36293,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.$patch$ Safari/537.36", "browserId": "chrome-88-0", - "marketshare": 0 + "marketshare": 0.04 }, "windows-10--chrome-87-0": { "id": "windows-10--chrome-87-0", @@ -35389,7 +36349,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.$patch$ Safari/537.36", "browserId": "chrome-84-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--chrome-83-0": { "id": "windows-10--chrome-83-0", @@ -35403,7 +36363,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.$patch$ Safari/537.36", "browserId": "chrome-83-0", - "marketshare": 0.04 + "marketshare": 0.16 }, "windows-10--chrome-81-0": { "id": "windows-10--chrome-81-0", @@ -35445,7 +36405,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.$patch$ Safari/537.36", "browserId": "chrome-79-0", - "marketshare": 0.08 + "marketshare": 0.16 }, "windows-10--chrome-78-0": { "id": "windows-10--chrome-78-0", @@ -35487,7 +36447,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.$patch$ Safari/537.36", "browserId": "chrome-76-0", - "marketshare": 0.08 + "marketshare": 0.04 }, "windows-10--chrome-75-0": { "id": "windows-10--chrome-75-0", @@ -36035,6 +36995,34 @@ "browserId": "chrome-37-0", "marketshare": 0 }, + "windows-10--edge-114-0": { + "id": "windows-10--edge-114-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [114, 0, 1823, 37], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10" + }, + "operatingSystemId": "windows-10", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.37", + "browserId": "edge-114-0", + "marketshare": 0 + }, + "windows-10--edge-113-0": { + "id": "windows-10--edge-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, 1774, 35], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10" + }, + "operatingSystemId": "windows-10", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35", + "browserId": "edge-113-0", + "marketshare": 1.3 + }, "windows-10--edge-112-0": { "id": "windows-10--edge-112-0", "allPatchVersions": [], @@ -36047,7 +37035,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.34", "browserId": "edge-112-0", - "marketshare": 0 + "marketshare": 0.92 }, "windows-10--edge-111-0": { "id": "windows-10--edge-111-0", @@ -36061,7 +37049,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.41", "browserId": "edge-111-0", - "marketshare": 1.56 + "marketshare": 0.04 }, "windows-10--edge-110-0": { "id": "windows-10--edge-110-0", @@ -36075,7 +37063,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41", "browserId": "edge-110-0", - "marketshare": 1.38 + "marketshare": 0 }, "windows-10--edge-109-0": { "id": "windows-10--edge-109-0", @@ -36089,7 +37077,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.49", "browserId": "edge-109-0", - "marketshare": 0.08 + "marketshare": 0.04 }, "windows-10--edge-108-0": { "id": "windows-10--edge-108-0", @@ -36103,7 +37091,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.42", "browserId": "edge-108-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--edge-107-0": { "id": "windows-10--edge-107-0", @@ -36539,6 +37527,20 @@ "browserId": "edge-15-0", "marketshare": 0 }, + "windows-10--firefox-113-0": { + "id": "windows-10--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "10" + }, + "operatingSystemId": "windows-10", + "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0.36 + }, "windows-10--firefox-112-0": { "id": "windows-10--firefox-112-0", "allPatchVersions": [], @@ -36551,7 +37553,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0", "browserId": "firefox-112-0", - "marketshare": 0 + "marketshare": 0.28 }, "windows-10--firefox-111-0": { "id": "windows-10--firefox-111-0", @@ -36565,7 +37567,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0", "browserId": "firefox-111-0", - "marketshare": 0.4 + "marketshare": 0.04 }, "windows-10--firefox-110-0": { "id": "windows-10--firefox-110-0", @@ -36579,7 +37581,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0", "browserId": "firefox-110-0", - "marketshare": 0.53 + "marketshare": 0 }, "windows-10--firefox-109-0": { "id": "windows-10--firefox-109-0", @@ -36593,7 +37595,7 @@ "operatingSystemId": "windows-10", "pattern": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0", "browserId": "firefox-109-0", - "marketshare": 0.04 + "marketshare": 0 }, "windows-10--firefox-108-0": { "id": "windows-10--firefox-108-0", @@ -37689,7 +38691,7 @@ }, "windows-8-1--chrome-109-0": { "id": "windows-8-1--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [120, 75], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": ["0.3.0"], @@ -37704,7 +38706,7 @@ }, "windows-8-1--chrome-108-0": { "id": "windows-8-1--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [125, 99, 95, 72], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": ["0.3.0"], @@ -39427,6 +40429,21 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "windows-8-1--firefox-113-0": { + "id": "windows-8-1--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "8", + "minor": "1" + }, + "operatingSystemId": "windows-8-1", + "pattern": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "windows-8-1--firefox-112-0": { "id": "windows-8-1--firefox-112-0", "allPatchVersions": [], @@ -40914,7 +41931,7 @@ }, "windows-8--chrome-109-0": { "id": "windows-8--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [120, 75], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": ["0.2.0"], @@ -40928,7 +41945,7 @@ }, "windows-8--chrome-108-0": { "id": "windows-8--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [125, 99, 95, 72], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": ["0.2.0"], @@ -42536,6 +43553,20 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "windows-8--firefox-113-0": { + "id": "windows-8--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "8" + }, + "operatingSystemId": "windows-8", + "pattern": "Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0 + }, "windows-8--firefox-112-0": { "id": "windows-8--firefox-112-0", "allPatchVersions": [], @@ -43938,7 +44969,7 @@ }, "windows-7--chrome-109-0": { "id": "windows-7--chrome-109-0", - "allPatchVersions": [141, 140, 139, 138, 137, 136, 135, 134, 133, 132], + "allPatchVersions": [149, 148, 147, 146, 145, 144, 143, 142, 141, 140], "stablePatchVersions": [120, 75], "browserBaseVersion": [109, 0, 5414, null], "uaClientHintsPlatformVersions": ["0.1.0"], @@ -43948,11 +44979,11 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "browserId": "chrome-109-0", - "marketshare": 0.03 + "marketshare": 0.02 }, "windows-7--chrome-108-0": { "id": "windows-7--chrome-108-0", - "allPatchVersions": [230, 229, 228, 227, 226, 225, 224, 223, 222, 221], + "allPatchVersions": [234, 233, 232, 231, 230, 229, 228, 227, 226, 225], "stablePatchVersions": [125, 99, 95, 72], "browserBaseVersion": [108, 0, 5359, null], "uaClientHintsPlatformVersions": ["0.1.0"], @@ -43962,7 +44993,7 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "browserId": "chrome-108-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-7--chrome-107-0": { "id": "windows-7--chrome-107-0", @@ -44032,7 +45063,7 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.$patch$ Safari/537.36", "browserId": "chrome-103-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-7--chrome-102-0": { "id": "windows-7--chrome-102-0", @@ -45672,6 +46703,20 @@ "browserId": "edge-80-0", "marketshare": 0 }, + "windows-7--firefox-113-0": { + "id": "windows-7--firefox-113-0", + "allPatchVersions": [], + "stablePatchVersions": [], + "browserBaseVersion": [113, 0, null, null], + "uaClientHintsPlatformVersions": [], + "operatingSystemVersion": { + "major": "7" + }, + "operatingSystemId": "windows-7", + "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0", + "browserId": "firefox-113-0", + "marketshare": 0.01 + }, "windows-7--firefox-112-0": { "id": "windows-7--firefox-112-0", "allPatchVersions": [], @@ -45684,7 +46729,7 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0", "browserId": "firefox-112-0", - "marketshare": 0 + "marketshare": 0.01 }, "windows-7--firefox-111-0": { "id": "windows-7--firefox-111-0", @@ -45698,7 +46743,7 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/111.0", "browserId": "firefox-111-0", - "marketshare": 0.01 + "marketshare": 0 }, "windows-7--firefox-110-0": { "id": "windows-7--firefox-110-0", @@ -45712,7 +46757,7 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0", "browserId": "firefox-110-0", - "marketshare": 0.02 + "marketshare": 0 }, "windows-7--firefox-109-0": { "id": "windows-7--firefox-109-0", @@ -47224,7 +48269,7 @@ "operatingSystemId": "windows-7", "pattern": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)", "browserId": "ie-8-0", - "marketshare": 0.1 + "marketshare": 0 }, "windows-7--opera-12-16": { "id": "windows-7--opera-12-16", @@ -48422,7 +49467,7 @@ "operatingSystemId": "windows-5-2", "pattern": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)", "browserId": "ie-7-0", - "marketshare": 0 + "marketshare": null }, "windows-5-2--ie-6-0": { "id": "windows-5-2--ie-6-0", @@ -48437,7 +49482,7 @@ "operatingSystemId": "windows-5-2", "pattern": "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)", "browserId": "ie-6-0", - "marketshare": 0 + "marketshare": null }, "windows-5-2--opera-12-16": { "id": "windows-5-2--opera-12-16", diff --git a/real-user-agents/lib/findUaClientHintsPlatformVersion.ts b/real-user-agents/lib/findUaClientHintsPlatformVersion.ts index 9bf807deb..6b4335025 100644 --- a/real-user-agents/lib/findUaClientHintsPlatformVersion.ts +++ b/real-user-agents/lib/findUaClientHintsPlatformVersion.ts @@ -20,7 +20,7 @@ export default function findUaClientHintsPlatformVersion(osId: string): string[] const uaClientHintsPlatformVersions: string[] = []; if (osId.startsWith('windows')) { let version = osId.replace('windows-', ''); - if (!version.includes('-')) version += '-0' + if (!version.includes('-')) version += '-0'; for (const [release, platform] of Object.entries(data.windowsUniversalApiMap)) { if (!release.startsWith(version)) continue; uaClientHintsPlatformVersions.push(platform); diff --git a/real-user-agents/package.json b/real-user-agents/package.json index 447e6e8e0..4828cf49d 100644 --- a/real-user-agents/package.json +++ b/real-user-agents/package.json @@ -1,21 +1,21 @@ { "name": "@ulixee/real-user-agents", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Real User Agents is a library created for use in the Unblocked and Ulixee projects. It sources real user agent strings from BrowserStack browsers, Chromium source control, and Statcounter statistics so that current, popular user agent strings can be generated for automation software.", "scripts": { "update": "node ../build/real-user-agents/scripts/update run && prettier data/**/*.json --write", "update:agents": "export $(cat .env | xargs) && node -e 'require(\"../build/real-user-agents/scripts/importBrowserstackUserAgents.js\").default()'" }, "dependencies": { - "@ulixee/commons": "2.0.0-alpha.21", - "@ulixee/unblocked-specification": "2.0.0-alpha.21", + "@ulixee/commons": "2.0.0-alpha.22", + "@ulixee/unblocked-specification": "2.0.0-alpha.22", "compare-versions": "^3.6.0", "ua-parser-js": "^0.7.24" }, "devDependencies": { "@types/selenium-webdriver": "^4.1.5", "@types/ua-parser-js": "^0.7.36", - "@ulixee/unblocked-agent": "2.0.0-alpha.21", + "@ulixee/unblocked-agent": "2.0.0-alpha.22", "axios": "^0.27.2", "browserstack-local": "^1.5.1", "csv-parser": "^2.3.2", diff --git a/specification/CHANGELOG.md b/specification/CHANGELOG.md index f65ebdfbf..11a395545 100644 --- a/specification/CHANGELOG.md +++ b/specification/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-alpha.22](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2023-06-12) + +**Note:** Version bump only for package @ulixee/unblocked-specification + + + + + # [2.0.0-alpha.21](https://github.com/ulixee/unblocked/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2023-04-24) **Note:** Version bump only for package @ulixee/unblocked-specification diff --git a/specification/agent/browser/IBrowser.ts b/specification/agent/browser/IBrowser.ts index ac97ab935..7460f11f1 100644 --- a/specification/agent/browser/IBrowser.ts +++ b/specification/agent/browser/IBrowser.ts @@ -1,6 +1,6 @@ +import type ITypedEventEmitter from '@ulixee/commons/interfaces/ITypedEventEmitter'; import IBrowserContext from './IBrowserContext'; import IBrowserEngine from './IBrowserEngine'; -import type ITypedEventEmitter from '@ulixee/commons/interfaces/ITypedEventEmitter'; import IDevtoolsSession from './IDevtoolsSession'; import IBrowserHooks from '../hooks/IBrowserHooks'; diff --git a/specification/agent/browser/IFrame.ts b/specification/agent/browser/IFrame.ts index 6605491fb..4cc5e9e60 100644 --- a/specification/agent/browser/IFrame.ts +++ b/specification/agent/browser/IFrame.ts @@ -1,15 +1,14 @@ import type ITypedEventEmitter from '@ulixee/commons/interfaces/ITypedEventEmitter'; -import type IRegisteredEventListener from '@ulixee/commons/interfaces/IRegisteredEventListener'; -import IPoint from './IPoint'; import { IJsPath } from '@ulixee/js-path'; -import { NavigationReason } from './NavigationReason'; -import IJsPathFunctions from './IJsPathFunctions'; +import { IElementInteractVerification, IInteractionGroups } from '../interact/IInteractions'; +import IDevtoolsSession from './IDevtoolsSession'; import { IFrameNavigations } from './IFrameNavigations'; -import { ILoadStatus } from './Location'; +import IJsPathFunctions from './IJsPathFunctions'; import INavigation from './INavigation'; -import { IElementInteractVerification, IInteractionGroups } from '../interact/IInteractions'; import { IPage } from './IPage'; -import IDevtoolsSession from './IDevtoolsSession'; +import IPoint from './IPoint'; +import { ILoadStatus } from './Location'; +import { NavigationReason } from './NavigationReason'; export interface IFrame extends ITypedEventEmitter { frameId: number; // assigned id unique to the browser context diff --git a/specification/agent/browser/IJsPathFunctions.ts b/specification/agent/browser/IJsPathFunctions.ts index a3ce0f5b8..172299711 100644 --- a/specification/agent/browser/IJsPathFunctions.ts +++ b/specification/agent/browser/IJsPathFunctions.ts @@ -1,7 +1,7 @@ -import IExecJsPathResult from './IExecJsPathResult'; import { IElementRect, IJsPath, INodePointer } from '@ulixee/js-path'; +import IExecJsPathResult from './IExecJsPathResult'; -import IPoint from '../browser/IPoint'; +import IPoint from "./IPoint"; const getNodePointerFnName = '__getNodePointer__'; const getClientRectFnName = '__getClientRect__'; diff --git a/specification/agent/browser/IPage.ts b/specification/agent/browser/IPage.ts index 9580fc84d..e9bb26d7d 100644 --- a/specification/agent/browser/IPage.ts +++ b/specification/agent/browser/IPage.ts @@ -1,5 +1,6 @@ import type IRegisteredEventListener from '@ulixee/commons/interfaces/IRegisteredEventListener'; import type ITypedEventEmitter from '@ulixee/commons/interfaces/ITypedEventEmitter'; +import { IJsPath } from '@ulixee/js-path'; import { IFrame, IFrameManagerEvents } from './IFrame'; import { IKeyboard, IMouse } from '../interact/IInput'; import { IBrowserNetworkEvents } from './IBrowserNetworkEvents'; @@ -8,7 +9,6 @@ import IDevtoolsSession from './IDevtoolsSession'; import IDialog from './IDialog'; import IBrowserContext from './IBrowserContext'; import IScreenshotOptions from './IScreenshotOptions'; -import { IJsPath } from '@ulixee/js-path'; import IExecJsPathResult from './IExecJsPathResult'; import IFileChooserPrompt from './IFileChooserPrompt'; import { IInteractionGroups } from '../interact/IInteractions'; diff --git a/specification/agent/browser/IViewport.ts b/specification/agent/browser/IViewport.ts index 7fa60f6f0..d4380e7f4 100644 --- a/specification/agent/browser/IViewport.ts +++ b/specification/agent/browser/IViewport.ts @@ -3,6 +3,7 @@ export default interface IViewport { height: number; deviceScaleFactor?: number; screenWidth?: number; + colorDepth?: number; screenHeight?: number; positionX?: number; positionY?: number; diff --git a/specification/agent/hooks/IBrowserHooks.ts b/specification/agent/hooks/IBrowserHooks.ts index 66af19806..97f9c3f56 100644 --- a/specification/agent/hooks/IBrowserHooks.ts +++ b/specification/agent/hooks/IBrowserHooks.ts @@ -1,10 +1,10 @@ +import Protocol from 'devtools-protocol'; import IDevtoolsSession from '../browser/IDevtoolsSession'; import { IPage } from '../browser/IPage'; import { IWorker } from '../browser/IWorker'; import IBrowser from '../browser/IBrowser'; import IBrowserUserConfig from '../browser/IBrowserUserConfig'; import IBrowserContext from '../browser/IBrowserContext'; -import Protocol from 'devtools-protocol'; import TargetInfo = Protocol.Target.TargetInfo; import { IFrame } from '../browser/IFrame'; diff --git a/specification/agent/interact/IInteractions.ts b/specification/agent/interact/IInteractions.ts index fb28a6526..b8d0b043c 100644 --- a/specification/agent/interact/IInteractions.ts +++ b/specification/agent/interact/IInteractions.ts @@ -1,5 +1,5 @@ -import IMouseResult from './IMouseResult'; import { IJsPath } from '@ulixee/js-path'; +import IMouseResult from './IMouseResult'; import IPoint from '../browser/IPoint'; import {IKeyboardShortcut} from "./IKeyboardShortcuts"; import {IKeyboardKeyCode} from "./IKeyboardLayoutUS"; diff --git a/specification/agent/interact/IInteractionsHelper.ts b/specification/agent/interact/IInteractionsHelper.ts index 8da4798a2..59a88799b 100644 --- a/specification/agent/interact/IInteractionsHelper.ts +++ b/specification/agent/interact/IInteractionsHelper.ts @@ -1,6 +1,6 @@ import type { IBoundLog } from '@ulixee/commons/interfaces/ILog'; -import IMouseResult from './IMouseResult'; import { IJsPath, INodePointer, INodeVisibility } from '@ulixee/js-path'; +import IMouseResult from './IMouseResult'; import IPoint from '../browser/IPoint'; import { IMousePosition } from './IInteractions'; import IRect from '../browser/IRect'; diff --git a/specification/agent/net/IHttpResourceLoadDetails.ts b/specification/agent/net/IHttpResourceLoadDetails.ts index 729884697..bfdb98888 100644 --- a/specification/agent/net/IHttpResourceLoadDetails.ts +++ b/specification/agent/net/IHttpResourceLoadDetails.ts @@ -1,8 +1,8 @@ import { URL } from 'url'; +import type { IEventSubscriber } from '@ulixee/commons/interfaces/IRegisteredEventListener'; import IResourceType from './IResourceType'; import IHttpHeaders from './IHttpHeaders'; import OriginType from './OriginType'; -import type { IEventSubscriber } from '@ulixee/commons/interfaces/IRegisteredEventListener'; export default interface IHttpResourceLoadDetails { id: number; diff --git a/specification/package.json b/specification/package.json index 3d864252b..f89697989 100644 --- a/specification/package.json +++ b/specification/package.json @@ -1,12 +1,12 @@ { "name": "@ulixee/unblocked-specification", - "version": "2.0.0-alpha.21", + "version": "2.0.0-alpha.22", "description": "Interfaces to interact with Unblocked Agent Plugins", "dependencies": { - "@ulixee/js-path": "2.0.0-alpha.21", + "@ulixee/js-path": "2.0.0-alpha.22", "devtools-protocol": "^0.0.981744" }, "devDependencies": { - "@ulixee/commons": "2.0.0-alpha.21" + "@ulixee/commons": "2.0.0-alpha.22" } } diff --git a/yarn.lock b/yarn.lock index 4f261c747..fddb3baab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,6 +211,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" + integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -330,142 +337,185 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^12.0.1": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-12.1.4.tgz#af4d9dd3c0122c7b39a61fa1cd2abbad0422dbe0" - integrity sha512-ZR1WjXLvqEffYyBPT0XdnSxtt3Ty1TMoujEtseW5o3vPnkA1UNashAMjQVg/oELqfaiAMnDw8SERPMN0e/0kLg== +"@commitlint/cli@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.6.3.tgz#a02194a2bb6efe4e681eda2addd072a8d02c9497" + integrity sha512-ItSz2fd4F+CujgIbQOfNNerDF1eFlsBGEfp9QcCb1kxTYMuKTYZzA6Nu1YRRrIaaWwe2E7awUGpIMrPoZkOG3A== dependencies: - "@commitlint/format" "^12.1.4" - "@commitlint/lint" "^12.1.4" - "@commitlint/load" "^12.1.4" - "@commitlint/read" "^12.1.4" - "@commitlint/types" "^12.1.4" - lodash "^4.17.19" + "@commitlint/format" "^17.4.4" + "@commitlint/lint" "^17.6.3" + "@commitlint/load" "^17.5.0" + "@commitlint/read" "^17.5.1" + "@commitlint/types" "^17.4.4" + execa "^5.0.0" + lodash.isfunction "^3.0.9" resolve-from "5.0.0" resolve-global "1.0.0" - yargs "^16.2.0" - -"@commitlint/config-conventional@^12.0.1": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-12.1.4.tgz#95bbab622f117a8a3e49f95917b08655040c66a8" - integrity sha512-ZIdzmdy4o4WyqywMEpprRCrehjCSQrHkaRTVZV411GyLigFQHlEBSJITAihLAWe88Qy/8SyoIe5uKvAsV5vRqQ== - dependencies: - conventional-changelog-conventionalcommits "^4.3.1" - -"@commitlint/ensure@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-12.1.4.tgz#287ae2dcc5ccb086e749705b1bd9bdb99773056f" - integrity sha512-MxHIBuAG9M4xl33qUfIeMSasbv3ktK0W+iygldBxZOL4QSYC2Gn66pZAQMnV9o3V+sVFHoAK2XUKqBAYrgbEqw== - dependencies: - "@commitlint/types" "^12.1.4" - lodash "^4.17.19" - -"@commitlint/execute-rule@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz#9973b02e9779adbf1522ae9ac207a4815ec73de1" - integrity sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg== - -"@commitlint/format@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-12.1.4.tgz#db2d46418a6ae57c90e5f7f65dff46f0265d9f24" - integrity sha512-h28ucMaoRjVvvgS6Bdf85fa/+ZZ/iu1aeWGCpURnQV7/rrVjkhNSjZwGlCOUd5kDV1EnZ5XdI7L18SUpRjs26g== - dependencies: - "@commitlint/types" "^12.1.4" - chalk "^4.0.0" - -"@commitlint/is-ignored@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-12.1.4.tgz#4c430bc3b361aa9be5cd4ddb252c1559870ea7bc" - integrity sha512-uTu2jQU2SKvtIRVLOzMQo3KxDtO+iJ1p0olmncwrqy4AfPLgwoyCP2CiULq5M7xpR3+dE3hBlZXbZTQbD7ycIw== - dependencies: - "@commitlint/types" "^12.1.4" - semver "7.3.5" - -"@commitlint/lint@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-12.1.4.tgz#856b7fd2b2e6367b836cb84a12f1c1b3c0e40d22" - integrity sha512-1kZ8YDp4to47oIPFELUFGLiLumtPNKJigPFDuHt2+f3Q3IKdQ0uk53n3CPl4uoyso/Og/EZvb1mXjFR/Yce4cA== - dependencies: - "@commitlint/is-ignored" "^12.1.4" - "@commitlint/parse" "^12.1.4" - "@commitlint/rules" "^12.1.4" - "@commitlint/types" "^12.1.4" + yargs "^17.0.0" + +"@commitlint/config-conventional@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.6.3.tgz#21f5835235493e386effeaa98b898124230b1000" + integrity sha512-bLyHEjjRWqlLQWIgYFHmUPbEFMOOLXeF3QbUinDIJev/u9e769tkoTH9YPknEywiuIrAgZaVo+OfzAIsJP0fsw== + dependencies: + conventional-changelog-conventionalcommits "^5.0.0" + +"@commitlint/config-validator@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.4.tgz#d0742705719559a101d2ee49c0c514044af6d64d" + integrity sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg== + dependencies: + "@commitlint/types" "^17.4.4" + ajv "^8.11.0" + +"@commitlint/ensure@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.4.tgz#a36e7719bdb9c2b86c8b8c2e852b463a7bfda5fa" + integrity sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g== + dependencies: + "@commitlint/types" "^17.4.4" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" + integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== + +"@commitlint/format@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.4.tgz#0f6e1b4d7a301c7b1dfd4b6334edd97fc050b9f5" + integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== + dependencies: + "@commitlint/types" "^17.4.4" + chalk "^4.1.0" -"@commitlint/load@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-12.1.4.tgz#e3c2dbc0e7d8d928f57a6878bd7219909fc0acab" - integrity sha512-Keszi0IOjRzKfxT+qES/n+KZyLrxy79RQz8wWgssCboYjKEp+wC+fLCgbiMCYjI5k31CIzIOq/16J7Ycr0C0EA== - dependencies: - "@commitlint/execute-rule" "^12.1.4" - "@commitlint/resolve-extends" "^12.1.4" - "@commitlint/types" "^12.1.4" - chalk "^4.0.0" - cosmiconfig "^7.0.0" - lodash "^4.17.19" +"@commitlint/is-ignored@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.6.3.tgz#8e21046558a0339fbf2a33ef0ad7d5a9ae7ff6bc" + integrity sha512-LQbNdnPbxrpbcrVKR5yf51SvquqktpyZJwqXx3lUMF6+nT9PHB8xn3wLy8pi2EQv5Zwba484JnUwDE1ygVYNQA== + dependencies: + "@commitlint/types" "^17.4.4" + semver "7.5.0" + +"@commitlint/lint@^17.6.3": + version "17.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.6.3.tgz#2d9a88b73c44be8b97508c980198a6f289251655" + integrity sha512-fBlXwt6SHJFgm3Tz+luuo3DkydAx9HNC5y4eBqcKuDuMVqHd2ugMNr+bQtx6riv9mXFiPoKp7nE4Xn/ls3iVDA== + dependencies: + "@commitlint/is-ignored" "^17.6.3" + "@commitlint/parse" "^17.4.4" + "@commitlint/rules" "^17.6.1" + "@commitlint/types" "^17.4.4" + +"@commitlint/load@^17.5.0": + version "17.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.5.0.tgz#be45dbbb50aaf5eb7e8e940e1e0d6171d1426bab" + integrity sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q== + dependencies: + "@commitlint/config-validator" "^17.4.4" + "@commitlint/execute-rule" "^17.4.0" + "@commitlint/resolve-extends" "^17.4.4" + "@commitlint/types" "^17.4.4" + "@types/node" "*" + chalk "^4.1.0" + cosmiconfig "^8.0.0" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" resolve-from "^5.0.0" + ts-node "^10.8.1" + typescript "^4.6.4 || ^5.0.0" -"@commitlint/message@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-12.1.4.tgz#3895edcc0709deca5945f3d55f5ea95a9f1f446d" - integrity sha512-6QhalEKsKQ/Y16/cTk5NH4iByz26fqws2ub+AinHPtM7Io0jy4e3rym9iE+TkEqiqWZlUigZnTwbPvRJeSUBaA== +"@commitlint/message@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" + integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== -"@commitlint/parse@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-12.1.4.tgz#ba03d54d24ef84f6fd2ff31c5e9998b22d7d0aa1" - integrity sha512-yqKSAsK2V4X/HaLb/yYdrzs6oD/G48Ilt0EJ2Mp6RJeWYxG14w/Out6JrneWnr/cpzemyN5hExOg6+TB19H/Lw== +"@commitlint/parse@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.4.tgz#8311b12f2b730de6ea0679ae2a37b386bcc5b04b" + integrity sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg== dependencies: - "@commitlint/types" "^12.1.4" + "@commitlint/types" "^17.4.4" conventional-changelog-angular "^5.0.11" - conventional-commits-parser "^3.0.0" + conventional-commits-parser "^3.2.2" -"@commitlint/read@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-12.1.4.tgz#552fda42ef185d5b578beb6f626a5f8b282de3a6" - integrity sha512-TnPQSJgD8Aod5Xeo9W4SaYKRZmIahukjcCWJ2s5zb3ZYSmj6C85YD9cR5vlRyrZjj78ItLUV/X4FMWWVIS38Jg== +"@commitlint/read@^17.5.1": + version "17.5.1" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.5.1.tgz#fec903b766e2c41e3cefa80630040fcaba4f786c" + integrity sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg== dependencies: - "@commitlint/top-level" "^12.1.4" - "@commitlint/types" "^12.1.4" - fs-extra "^9.0.0" - git-raw-commits "^2.0.0" + "@commitlint/top-level" "^17.4.0" + "@commitlint/types" "^17.4.4" + fs-extra "^11.0.0" + git-raw-commits "^2.0.11" + minimist "^1.2.6" -"@commitlint/resolve-extends@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-12.1.4.tgz#e758ed7dcdf942618b9f603a7c28a640f6a0802a" - integrity sha512-R9CoUtsXLd6KSCfsZly04grsH6JVnWFmVtWgWs1KdDpdV+G3TSs37tColMFqglpkx3dsWu8dsPD56+D9YnJfqg== +"@commitlint/resolve-extends@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz#8f931467dea8c43b9fe38373e303f7c220de6fdc" + integrity sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A== dependencies: + "@commitlint/config-validator" "^17.4.4" + "@commitlint/types" "^17.4.4" import-fresh "^3.0.0" - lodash "^4.17.19" + lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-12.1.4.tgz#0e141b08caa3d7bdc48aa784baa8baff3efd64db" - integrity sha512-W8m6ZSjg7RuIsIfzQiFHa48X5mcPXeKT9yjBxVmjHvYfS2FDBf1VxCQ7vO0JTVIdV4ohjZ0eKg/wxxUuZHJAZg== +"@commitlint/rules@^17.6.1": + version "17.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.6.1.tgz#dff529b8d1e0455808fe7e3e1fa70617e4eb2759" + integrity sha512-lUdHw6lYQ1RywExXDdLOKxhpp6857/4c95Dc/1BikrHgdysVUXz26yV0vp1GL7Gv+avx9WqZWTIVB7pNouxlfw== dependencies: - "@commitlint/ensure" "^12.1.4" - "@commitlint/message" "^12.1.4" - "@commitlint/to-lines" "^12.1.4" - "@commitlint/types" "^12.1.4" + "@commitlint/ensure" "^17.4.4" + "@commitlint/message" "^17.4.2" + "@commitlint/to-lines" "^17.4.0" + "@commitlint/types" "^17.4.4" + execa "^5.0.0" -"@commitlint/to-lines@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-12.1.4.tgz#caa582dbf121f377a0588bb64e25c4854843cd25" - integrity sha512-TParumvbi8bdx3EdLXz2MaX+e15ZgoCqNUgqHsRLwyqLUTRbqCVkzrfadG1UcMQk8/d5aMbb327ZKG3Q4BRorw== +"@commitlint/to-lines@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.4.0.tgz#9bd02e911e7d4eab3fb4a50376c4c6d331e10d8d" + integrity sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg== -"@commitlint/top-level@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-12.1.4.tgz#96d5c715bfc1bdf86dfcf11b67fc2cf7658c7a6e" - integrity sha512-d4lTJrOT/dXlpY+NIt4CUl77ciEzYeNVc0VFgUQ6VA+b1rqYD2/VWFjBlWVOrklxtSDeKyuEhs36RGrppEFAvg== +"@commitlint/top-level@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.4.0.tgz#540cac8290044cf846fbdd99f5cc51e8ac5f27d6" + integrity sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g== dependencies: find-up "^5.0.0" -"@commitlint/types@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-12.1.4.tgz#9618a5dc8991fb58e6de6ed89d7bf712fa74ba7e" - integrity sha512-KRIjdnWNUx6ywz+SJvjmNCbQKcKP6KArhjZhY2l+CWKxak0d77SOjggkMwFTiSgLODOwmuLTbarR2ZfWPiPMlw== +"@commitlint/types@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" + integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== dependencies: - chalk "^4.0.0" + chalk "^4.1.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== "@eslint/eslintrc@^1.4.1": version "1.4.1" @@ -527,110 +577,110 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== +"@jest/console@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.5.0.tgz#593a6c5c0d3f75689835f1b3b4688c4f8544cb57" + integrity sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + jest-message-util "^29.5.0" + jest-util "^29.5.0" slash "^3.0.0" -"@jest/core@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" - integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== +"@jest/core@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.5.0.tgz#76674b96904484e8214614d17261cc491e5f1f03" + integrity sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ== dependencies: - "@jest/console" "^28.1.3" - "@jest/reporters" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.5.0" + "@jest/reporters" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^28.1.3" - jest-config "^28.1.3" - jest-haste-map "^28.1.3" - jest-message-util "^28.1.3" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-resolve-dependencies "^28.1.3" - jest-runner "^28.1.3" - jest-runtime "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" - jest-watcher "^28.1.3" + jest-changed-files "^29.5.0" + jest-config "^29.5.0" + jest-haste-map "^29.5.0" + jest-message-util "^29.5.0" + jest-regex-util "^29.4.3" + jest-resolve "^29.5.0" + jest-resolve-dependencies "^29.5.0" + jest-runner "^29.5.0" + jest-runtime "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" + jest-watcher "^29.5.0" micromatch "^4.0.4" - pretty-format "^28.1.3" - rimraf "^3.0.0" + pretty-format "^29.5.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" - integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== +"@jest/environment@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.5.0.tgz#9152d56317c1fdb1af389c46640ba74ef0bb4c65" + integrity sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ== dependencies: - "@jest/fake-timers" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" - jest-mock "^28.1.3" + jest-mock "^29.5.0" -"@jest/expect-utils@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" - integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== +"@jest/expect-utils@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036" + integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg== dependencies: - jest-get-type "^28.0.2" + jest-get-type "^29.4.3" -"@jest/expect@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" - integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== +"@jest/expect@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.5.0.tgz#80952f5316b23c483fbca4363ce822af79c38fba" + integrity sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g== dependencies: - expect "^28.1.3" - jest-snapshot "^28.1.3" + expect "^29.5.0" + jest-snapshot "^29.5.0" -"@jest/fake-timers@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" - integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== +"@jest/fake-timers@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.5.0.tgz#d4d09ec3286b3d90c60bdcd66ed28d35f1b4dc2c" + integrity sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg== dependencies: - "@jest/types" "^28.1.3" - "@sinonjs/fake-timers" "^9.1.2" + "@jest/types" "^29.5.0" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^28.1.3" - jest-mock "^28.1.3" - jest-util "^28.1.3" + jest-message-util "^29.5.0" + jest-mock "^29.5.0" + jest-util "^29.5.0" -"@jest/globals@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" - integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== +"@jest/globals@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.5.0.tgz#6166c0bfc374c58268677539d0c181f9c1833298" + integrity sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ== dependencies: - "@jest/environment" "^28.1.3" - "@jest/expect" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/environment" "^29.5.0" + "@jest/expect" "^29.5.0" + "@jest/types" "^29.5.0" + jest-mock "^29.5.0" -"@jest/reporters@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" - integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== +"@jest/reporters@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.5.0.tgz#985dfd91290cd78ddae4914ba7921bcbabe8ac9b" + integrity sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" + "@jest/console" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" @@ -642,78 +692,77 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - jest-worker "^28.1.3" + jest-message-util "^29.5.0" + jest-util "^29.5.0" + jest-worker "^29.5.0" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" - terminal-link "^2.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== dependencies: - "@sinclair/typebox" "^0.24.1" + "@sinclair/typebox" "^0.25.16" -"@jest/source-map@^28.1.2": - version "28.1.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" - integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== +"@jest/source-map@^29.4.3": + version "29.4.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.4.3.tgz#ff8d05cbfff875d4a791ab679b4333df47951d20" + integrity sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w== dependencies: - "@jridgewell/trace-mapping" "^0.3.13" + "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== +"@jest/test-result@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.5.0.tgz#7c856a6ca84f45cc36926a4e9c6b57f1973f1408" + integrity sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ== dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.5.0" + "@jest/types" "^29.5.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" - integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== +"@jest/test-sequencer@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz#34d7d82d3081abd523dbddc038a3ddcb9f6d3cc4" + integrity sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ== dependencies: - "@jest/test-result" "^28.1.3" + "@jest/test-result" "^29.5.0" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" + jest-haste-map "^29.5.0" slash "^3.0.0" -"@jest/transform@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" - integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== +"@jest/transform@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9" + integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" + "@jest/types" "^29.5.0" + "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" + jest-haste-map "^29.5.0" + jest-regex-util "^29.4.3" + jest-util "^29.5.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - write-file-atomic "^4.0.1" + write-file-atomic "^4.0.2" -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== +"@jest/types@^29.5.0": + version "29.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593" + integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog== dependencies: - "@jest/schemas" "^28.1.3" + "@jest/schemas" "^29.4.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -742,6 +791,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" @@ -752,7 +806,15 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== @@ -760,6 +822,14 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + "@koa/multer@^3.0.0": version "3.0.2" resolved "https://registry.yarnpkg.com/@koa/multer/-/multer-3.0.2.tgz#04ed1af502de5793a6052daf6c256e94ef13e3a4" @@ -1647,30 +1717,62 @@ dependencies: "@octokit/openapi-types" "^12.11.0" -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== +"@pkgr/utils@^2.3.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.1.tgz#adf291d0357834c410ce80af16e711b56c7b1cd3" + integrity sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w== + dependencies: + cross-spawn "^7.0.3" + fast-glob "^3.2.12" + is-glob "^4.0.3" + open "^9.1.0" + picocolors "^1.0.0" + tslib "^2.5.0" + +"@sinclair/typebox@^0.25.16": + version "0.25.24" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== +"@sinonjs/fake-timers@^10.0.2": + version "10.2.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz#b3e322a34c5f26e3184e7f6115695f299c1b1194" + integrity sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^3.0.0" "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + "@types/accepts@*": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" @@ -1718,10 +1820,10 @@ dependencies: "@babel/types" "^7.3.0" -"@types/better-sqlite3@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-7.6.3.tgz#117c3c182e300799b84d1b7e1781c27d8d536505" - integrity sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ== +"@types/better-sqlite3@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-7.6.4.tgz#102462611e67aadf950d3ccca10292de91e6f35b" + integrity sha512-dzrRZCYPXIXfSR1/surNbJ/grU3scTaygS0OMzjlGf71i9sc2fGyHPXXiXmEvNIoE0cGwsanEFMVJxPXmco9Eg== dependencies: "@types/node" "*" @@ -1828,13 +1930,13 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^28.1.0": - version "28.1.8" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.8.tgz#6936409f3c9724ea431efd412ea0238a0f03b09b" - integrity sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw== +"@types/jest@^29.5.1": + version "29.5.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.1.tgz#83c818aa9a87da27d6da85d3378e5a34d2f31a47" + integrity sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ== dependencies: - expect "^28.0.0" - pretty-format "^28.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/json-schema@^7.0.9": version "7.0.11" @@ -1916,10 +2018,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== -"@types/node@^14.17.9", "@types/node@^14.18.31": - version "14.18.36" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.36.tgz#c414052cb9d43fab67d679d5f3c641be911f5835" - integrity sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ== +"@types/node@^16.18.31": + version "16.18.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.31.tgz#7de39c2b9363f0d95b129cc969fcbf98e870251c" + integrity sha512-KPXltf4z4g517OlVJO9XQ2357CYw7fvuJ3ZuBynjXC5Jos9i+K7LvFb7bUIwtJXSZj0vTp9Q6NJBSQpkwwO8Zw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1971,6 +2073,14 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/tar@^6.1.5": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@types/tar/-/tar-6.1.5.tgz#90ccb3b6a35430e7427410d50eed564e85feaaff" + integrity sha512-qm2I/RlZij5RofuY7vohTpYNaYcrSQlN2MyjucQc7ZweDwaEWkdN/EeNh6e9zjK6uEm6PwjdMXkcj05BxZdX1Q== + dependencies: + "@types/node" "*" + minipass "^4.0.0" + "@types/tough-cookie@^4.0.0": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" @@ -2026,30 +2136,30 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.27.1": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz#5fb0d43574c2411f16ea80f5fc335b8eaa7b28a8" - integrity sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg== +"@typescript-eslint/eslint-plugin@^5.59.6": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz#1e7a3e5318ece22251dfbc5c9c6feeb4793cc509" + integrity sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ== dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/type-utils" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.59.8" + "@typescript-eslint/type-utils" "5.59.8" + "@typescript-eslint/utils" "5.59.8" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" - regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.27.1": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.52.0.tgz#73c136df6c0133f1d7870de7131ccf356f5be5a4" - integrity sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA== +"@typescript-eslint/parser@^5.59.6": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.8.tgz#60cbb00671d86cf746044ab797900b1448188567" + integrity sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw== dependencies: - "@typescript-eslint/scope-manager" "5.52.0" - "@typescript-eslint/types" "5.52.0" - "@typescript-eslint/typescript-estree" "5.52.0" + "@typescript-eslint/scope-manager" "5.59.8" + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/typescript-estree" "5.59.8" debug "^4.3.4" "@typescript-eslint/scope-manager@5.52.0": @@ -2060,13 +2170,21 @@ "@typescript-eslint/types" "5.52.0" "@typescript-eslint/visitor-keys" "5.52.0" -"@typescript-eslint/type-utils@5.52.0": - version "5.52.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz#9fd28cd02e6f21f5109e35496df41893f33167aa" - integrity sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw== +"@typescript-eslint/scope-manager@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz#ff4ad4fec6433647b817c4a7d4b4165d18ea2fa8" + integrity sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig== dependencies: - "@typescript-eslint/typescript-estree" "5.52.0" - "@typescript-eslint/utils" "5.52.0" + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/visitor-keys" "5.59.8" + +"@typescript-eslint/type-utils@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.8.tgz#aa6c029a9d7706d26bbd25eb4666398781df6ea2" + integrity sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA== + dependencies: + "@typescript-eslint/typescript-estree" "5.59.8" + "@typescript-eslint/utils" "5.59.8" debug "^4.3.4" tsutils "^3.21.0" @@ -2075,6 +2193,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.52.0.tgz#19e9abc6afb5bd37a1a9bea877a1a836c0b3241b" integrity sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ== +"@typescript-eslint/types@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.8.tgz#212e54414733618f5d0fd50b2da2717f630aebf8" + integrity sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w== + "@typescript-eslint/typescript-estree@5.52.0": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz#6408cb3c2ccc01c03c278cb201cf07e73347dfca" @@ -2088,7 +2211,34 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.52.0", "@typescript-eslint/utils@^5.10.0": +"@typescript-eslint/typescript-estree@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz#801a7b1766481629481b3b0878148bd7a1f345d7" + integrity sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg== + dependencies: + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/visitor-keys" "5.59.8" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.8.tgz#34d129f35a2134c67fdaf024941e8f96050dca2b" + integrity sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.59.8" + "@typescript-eslint/types" "5.59.8" + "@typescript-eslint/typescript-estree" "5.59.8" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/utils@^5.10.0": version "5.52.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.52.0.tgz#b260bb5a8f6b00a0ed51db66bdba4ed5e4845a72" integrity sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA== @@ -2110,17 +2260,25 @@ "@typescript-eslint/types" "5.52.0" eslint-visitor-keys "^3.3.0" -"@ulixee/chrome-112-0@^5615.121.7": - version "5615.121.7" - resolved "https://registry.yarnpkg.com/@ulixee/chrome-112-0/-/chrome-112-0-5615.121.7.tgz#6c1a247d42249aefa9030e11651f52b3fd6e04da" - integrity sha512-48Hq6jWvylrFSSpKEbTd2Nt8whyhWafmkptgBivs0O99xWIN3SqnZ4cxUTCUeinTOhojxGITKxir15EQHLfclg== +"@typescript-eslint/visitor-keys@5.59.8": + version "5.59.8" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz#aa6a7ef862add919401470c09e1609392ef3cc40" + integrity sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ== + dependencies: + "@typescript-eslint/types" "5.59.8" + eslint-visitor-keys "^3.3.0" + +"@ulixee/chrome-113-0@^5672.127.8": + version "5672.127.8" + resolved "https://registry.yarnpkg.com/@ulixee/chrome-113-0/-/chrome-113-0-5672.127.8.tgz#6e6ff2fb393e10ab5321ade6058a3aff8d0b6d23" + integrity sha512-zbVEf6ZZWUF10JhqVQFptN6do2VmiSywX/NW4ByDT6IuFbQUheLuw9jHpA9IvO+8e180hklMX+QOKFPUTBUJqg== dependencies: "@ulixee/chrome-app" "^1.0.3" -"@ulixee/chrome-98-0@^4758.109.6": - version "4758.109.7" - resolved "https://registry.yarnpkg.com/@ulixee/chrome-98-0/-/chrome-98-0-4758.109.7.tgz#581c4e3d368ebe93e07e67e13c634331a3ab0d1c" - integrity sha512-7mxB8NosRza/Mc1AAOUHxy/71GuMs6eJpCfJMlHn9MbOtQRipGwd3Jng8Lit1T2VaN5EXZ0FBByAifSphgTOQA== +"@ulixee/chrome-114-0@^5735.91.8": + version "5735.91.8" + resolved "https://registry.yarnpkg.com/@ulixee/chrome-114-0/-/chrome-114-0-5735.91.8.tgz#0ca87baaaceb56131d726a4f3ecf8bb221620a13" + integrity sha512-X/WlSphkIOI6PDFq8kyKudmwD20sFrECI3sp8l8hmz8pnpQ5t4shpj5/Ry1G03wzvcHKb/qvu7WwqlmRUOC4cQ== dependencies: "@ulixee/chrome-app" "^1.0.3" @@ -2133,29 +2291,29 @@ progress "^2.0.3" tar "^6.1.11" -"@ulixee/repo-tools@^1.0.22": - version "1.0.22" - resolved "https://registry.yarnpkg.com/@ulixee/repo-tools/-/repo-tools-1.0.22.tgz#b906737cf464b5fc3ea0be5b2c958e0fedb76921" - integrity sha512-Qgocpy/bOCFfr5rIjAY+AHOonif/FgGcOuXUWpe8ucB402ujnIs/woyVzmj3INbu0K0fAop+sJcNvNkx4QhZew== +"@ulixee/repo-tools@^1.0.26": + version "1.0.26" + resolved "https://registry.yarnpkg.com/@ulixee/repo-tools/-/repo-tools-1.0.26.tgz#c664401802fadb795ca759330e73a601332d51c6" + integrity sha512-tK8dMp8gS+cV4ubqYFYeUU/vaOUwoozdKXTCkpqcImdOYU34jXoZyOJaaLjudH0Y3L+w3DoMdakLb/6TdIujtQ== dependencies: - "@typescript-eslint/eslint-plugin" "^5.27.1" - "@typescript-eslint/parser" "^5.27.1" + "@typescript-eslint/eslint-plugin" "^5.59.6" + "@typescript-eslint/parser" "^5.59.6" copyfiles "^2.4.1" eslint "^8.17.0" eslint-config-airbnb-base "^15.0.0" eslint-config-airbnb-typescript "^17.0.0" eslint-config-prettier "^8.5.0" - eslint-import-resolver-typescript "^2.7.1" + eslint-import-resolver-typescript "^3.5.5" eslint-plugin-eslint-comments "^3.2.0" - eslint-plugin-import "^2.26.0" - eslint-plugin-jest "^26.5.3" + eslint-plugin-import "^2.27.5" + eslint-plugin-jest "^27.2.1" eslint-plugin-jsx-a11y "^6.5.1" eslint-plugin-monorepo-cop "^1.0.2" - eslint-plugin-prettier "^4.0.0" - eslint-plugin-promise "^6.0.0" + eslint-plugin-prettier "^4.2.1" + eslint-plugin-promise "^6.1.1" prettier "^2.6.2" pretty-quick "^3.1.0" - typescript "^4.7.2" + typescript "^5.0.4" "@vue/compiler-sfc@2.7.14": version "2.7.14" @@ -2192,7 +2350,12 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.8.0: +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1, acorn@^8.8.0: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== @@ -2236,10 +2399,15 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== +ajv@^8.11.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" @@ -2258,6 +2426,11 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -2277,6 +2450,11 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +ansi-styles@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + anymatch@^3.0.3: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" @@ -2300,35 +2478,6 @@ aproba@^2.0.0: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -archiver-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" - integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== - dependencies: - glob "^7.1.4" - graceful-fs "^4.2.0" - lazystream "^1.0.0" - lodash.defaults "^4.2.0" - lodash.difference "^4.5.0" - lodash.flatten "^4.4.0" - lodash.isplainobject "^4.0.6" - lodash.union "^4.6.0" - normalize-path "^3.0.0" - readable-stream "^2.0.0" - -archiver@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6" - integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w== - dependencies: - archiver-utils "^2.1.0" - async "^3.2.3" - buffer-crc32 "^0.2.1" - readable-stream "^3.6.0" - readdir-glob "^1.0.0" - tar-stream "^2.2.0" - zip-stream "^4.1.0" - are-we-there-yet@~1.1.2: version "1.1.7" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" @@ -2337,6 +2486,11 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2467,11 +2621,6 @@ async@^2.5.0: dependencies: lodash "^4.17.14" -async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2524,15 +2673,15 @@ axobject-query@^3.1.1: dependencies: deep-equal "^2.0.5" -babel-jest@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" - integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== +babel-jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5" + integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q== dependencies: - "@jest/transform" "^28.1.3" + "@jest/transform" "^29.5.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^28.1.3" + babel-preset-jest "^29.5.0" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -2548,10 +2697,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" - integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== +babel-plugin-jest-hoist@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a" + integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -2576,12 +2725,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" - integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== +babel-preset-jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2" + integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg== dependencies: - babel-plugin-jest-hoist "^28.1.3" + babel-plugin-jest-hoist "^29.5.0" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -2616,7 +2765,7 @@ before-after-hook@^2.2.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== -big-integer@^1.6.17: +big-integer@^1.6.44: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== @@ -2631,7 +2780,7 @@ bignumber.js@^9.0.2: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== -binary@^0.3.0, binary@~0.3.0: +binary@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== @@ -2648,10 +2797,12 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -bluebird@~3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== +bplist-parser@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== + dependencies: + big-integer "^1.6.44" brace-expansion@^1.1.7: version "1.1.11" @@ -2661,13 +2812,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -2703,7 +2847,7 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: +buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== @@ -2713,11 +2857,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof-polyfill@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== - buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -2736,6 +2875,13 @@ builtins@^1.0.3: resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== +bundle-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" + integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== + dependencies: + run-applescript "^5.0.0" + busboy@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -2839,7 +2985,7 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1: +chalk@2.4.2, chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2848,6 +2994,11 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== + chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" @@ -2939,6 +3090,14 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -3022,10 +3181,10 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^2.0.16: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +colorette@^2.0.19: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== columnify@^1.5.4: version "1.6.0" @@ -3047,10 +3206,10 @@ commander@2.11.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^9.0.0, commander@^9.2.0, commander@^9.3.0: version "9.5.0" @@ -3070,16 +3229,6 @@ compare-versions@^3.6.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -compress-commons@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" - integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== - dependencies: - buffer-crc32 "^0.2.13" - crc32-stream "^4.0.2" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -3157,10 +3306,10 @@ conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-conventionalcommits@^4.3.1: - version "4.6.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" - integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== +conventional-changelog-conventionalcommits@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz#41bdce54eb65a848a4a3ffdca93e92fa22b64a86" + integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== dependencies: compare-func "^2.0.0" lodash "^4.17.15" @@ -3214,7 +3363,7 @@ conventional-commits-filter@^2.0.7: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: +conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== @@ -3240,11 +3389,16 @@ conventional-recommended-bump@^6.1.0: meow "^8.0.0" q "^1.5.1" -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" @@ -3286,6 +3440,11 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cosmiconfig-typescript-loader@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== + cosmiconfig@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" @@ -3297,18 +3456,20 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - -crc32-stream@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" - integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== +cosmiconfig@^8.0.0: + version "8.1.3" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" + integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== dependencies: - crc-32 "^1.2.0" - readable-stream "^3.4.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-env@^7.0.3: version "7.0.3" @@ -3378,7 +3539,7 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -3472,6 +3633,24 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== +default-browser-id@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== + dependencies: + bplist-parser "^0.2.0" + untildify "^4.0.0" + +default-browser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" + integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== + dependencies: + bundle-name "^3.0.0" + default-browser-id "^3.0.0" + execa "^7.1.1" + titleize "^3.0.0" + defaults@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" @@ -3479,6 +3658,11 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + define-properties@^1.1.3, define-properties@^1.1.4: version "1.2.0" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" @@ -3537,6 +3721,11 @@ devtools-protocol@0.0.1036444: resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1036444.tgz#a570d3cdde61527c82f9b03919847b8ac7b1c2b9" integrity sha512-0y4f/T8H9lsESV9kKP1HDUXgHxCdniFeJh6Erq+FbdOEvp/Ydp9t8kcAAM5gOd17pMrTDlFWntoHtzzeTUWKNw== +devtools-protocol@^0.0.1137505: + version "0.0.1137505" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1137505.tgz#5424148a191f46ab722ebdc05387f1bed9983faf" + integrity sha512-etlSdcQy8DiTCw5oV/AaQiEqEDMCHTGRcMpsqzlKUQQdC/AKadVNbN7GTVAwFOKtMo4i907DczhNkXebiZe85g== + devtools-protocol@^0.0.981744: version "0.0.981744" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf" @@ -3550,12 +3739,12 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff-sequences@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== +diff-sequences@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== -diff@^4.0.2: +diff@^4.0.1, 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== @@ -3602,18 +3791,16 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== - dependencies: - readable-stream "^2.0.2" - duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -3632,10 +3819,10 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.296.tgz#dbc84a25c25a432a12fbf62903cae4a87461eb8c" integrity sha512-i/6Q+Y9bluDa2a0NbMvdtG5TuS/1Fr3TKK8L+7UUL9QjRS5iFJzCC3r70xjyOnLiYG8qGV4/mMpe6HuAbdJW4w== -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" @@ -3671,12 +3858,13 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enquirer@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== +enhanced-resolve@^5.12.0: + version "5.14.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz#de684b6803724477a4af5d74ccae5de52c25f6b3" + integrity sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow== dependencies: - ansi-colors "^4.1.1" + graceful-fs "^4.2.4" + tapable "^2.2.0" env-paths@^2.2.0: version "2.2.1" @@ -3840,16 +4028,19 @@ eslint-import-resolver-node@^0.3.7: is-core-module "^2.11.0" resolve "^1.22.1" -eslint-import-resolver-typescript@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" - integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== +eslint-import-resolver-typescript@^3.5.5: + version "3.5.5" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz#0a9034ae7ed94b254a360fbea89187b60ea7456d" + integrity sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw== dependencies: debug "^4.3.4" - glob "^7.2.0" + enhanced-resolve "^5.12.0" + eslint-module-utils "^2.7.4" + get-tsconfig "^4.5.0" + globby "^13.1.3" + is-core-module "^2.11.0" is-glob "^4.0.3" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" + synckit "^0.8.5" eslint-module-utils@^2.7.4: version "2.7.4" @@ -3866,7 +4057,7 @@ eslint-plugin-eslint-comments@^3.2.0: escape-string-regexp "^1.0.5" ignore "^5.0.5" -eslint-plugin-import@^2.26.0: +eslint-plugin-import@^2.27.5: version "2.27.5" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== @@ -3887,10 +4078,10 @@ eslint-plugin-import@^2.26.0: semver "^6.3.0" tsconfig-paths "^3.14.1" -eslint-plugin-jest@^26.5.3: - version "26.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz#7931c31000b1c19e57dbfb71bbf71b817d1bf949" - integrity sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng== +eslint-plugin-jest@^27.2.1: + version "27.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz#b85b4adf41c682ea29f1f01c8b11ccc39b5c672c" + integrity sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -3924,14 +4115,14 @@ eslint-plugin-monorepo-cop@^1.0.2: read-pkg-up "^6.0.0" requireindex "~1.1.0" -eslint-plugin-prettier@^4.0.0: +eslint-plugin-prettier@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-promise@^6.0.0: +eslint-plugin-promise@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== @@ -4075,7 +4266,7 @@ eventemitter3@^4.0.4: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -execa@^4.0.0, execa@^4.1.0: +execa@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== @@ -4105,21 +4296,36 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^7.0.0, execa@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" + integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^28.0.0, expect@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" - integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== +expect@^29.0.0, expect@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7" + integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg== dependencies: - "@jest/expect-utils" "^28.1.3" - jest-get-type "^28.0.2" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + "@jest/expect-utils" "^29.5.0" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" extend@~3.0.2: version "3.0.2" @@ -4166,7 +4372,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.2.9: +fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== @@ -4177,7 +4383,7 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.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== @@ -4346,7 +4552,16 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^9.0.0, fs-extra@^9.1.0: +fs-extra@^11.0.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -4380,16 +4595,6 @@ fsevents@^2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -4443,11 +4648,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ has "^1.0.3" has-symbols "^1.0.3" -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -4475,7 +4675,7 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -4488,6 +4688,13 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +get-tsconfig@^4.5.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.6.0.tgz#e977690993a42f3e320e932427502a40f7af6d05" + integrity sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg== + dependencies: + resolve-pkg-maps "^1.0.0" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -4495,7 +4702,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: +git-raw-commits@^2.0.11, git-raw-commits@^2.0.8: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== @@ -4558,7 +4765,7 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4608,6 +4815,17 @@ globby@^11.0.2, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globby@^13.1.3: + version "13.1.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.4.tgz#2f91c116066bcec152465ba36e5caa4a13c01317" + integrity sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -4620,6 +4838,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + grapheme-splitter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" @@ -4783,6 +5006,11 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +human-signals@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== + humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" @@ -4797,10 +5025,10 @@ humanize-string@^2.1.0: dependencies: decamelize "^2.0.0" -husky@^7.0.1: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== +husky@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== iconv-lite@^0.4.24: version "0.4.24" @@ -4884,7 +5112,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, 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== @@ -5018,6 +5246,11 @@ is-docker@^2.0.0: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -5035,6 +5268,11 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -5054,6 +5292,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: dependencies: is-extglob "^2.1.1" +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" @@ -5081,11 +5326,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" @@ -5126,11 +5366,6 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - is-running@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-running/-/is-running-2.1.0.tgz#30a73ff5cc3854e4fc25490809e9f5abf8de09e0" @@ -5160,6 +5395,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -5197,11 +5437,6 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - is-weakmap@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" @@ -5301,370 +5536,366 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" - integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== +jest-changed-files@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.5.0.tgz#e88786dca8bf2aa899ec4af7644e16d9dcf9b23e" + integrity sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" - integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== +jest-circus@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.5.0.tgz#b5926989449e75bff0d59944bae083c9d7fb7317" + integrity sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA== dependencies: - "@jest/environment" "^28.1.3" - "@jest/expect" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/environment" "^29.5.0" + "@jest/expect" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-runtime "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" + jest-each "^29.5.0" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-runtime "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" p-limit "^3.1.0" - pretty-format "^28.1.3" + pretty-format "^29.5.0" + pure-rand "^6.0.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" - integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== +jest-cli@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.5.0.tgz#b34c20a6d35968f3ee47a7437ff8e53e086b4a67" + integrity sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw== dependencies: - "@jest/core" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/core" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" + jest-config "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" - integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== +jest-config@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.5.0.tgz#3cc972faec8c8aaea9ae158c694541b79f3748da" + integrity sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^28.1.3" - "@jest/types" "^28.1.3" - babel-jest "^28.1.3" + "@jest/test-sequencer" "^29.5.0" + "@jest/types" "^29.5.0" + babel-jest "^29.5.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^28.1.3" - jest-environment-node "^28.1.3" - jest-get-type "^28.0.2" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-runner "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" + jest-circus "^29.5.0" + jest-environment-node "^29.5.0" + jest-get-type "^29.4.3" + jest-regex-util "^29.4.3" + jest-resolve "^29.5.0" + jest-runner "^29.5.0" + jest-util "^29.5.0" + jest-validate "^29.5.0" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^28.1.3" + pretty-format "^29.5.0" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== +jest-diff@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63" + integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw== dependencies: chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + diff-sequences "^29.4.3" + jest-get-type "^29.4.3" + pretty-format "^29.5.0" -jest-docblock@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" - integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== +jest-docblock@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.4.3.tgz#90505aa89514a1c7dceeac1123df79e414636ea8" + integrity sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg== dependencies: detect-newline "^3.0.0" -jest-each@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" - integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== +jest-each@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.5.0.tgz#fc6e7014f83eac68e22b7195598de8554c2e5c06" + integrity sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" chalk "^4.0.0" - jest-get-type "^28.0.2" - jest-util "^28.1.3" - pretty-format "^28.1.3" - -jest-environment-node@^28.1.0, jest-environment-node@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" - integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/fake-timers" "^28.1.3" - "@jest/types" "^28.1.3" + jest-get-type "^29.4.3" + jest-util "^29.5.0" + pretty-format "^29.5.0" + +jest-environment-node@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.5.0.tgz#f17219d0f0cc0e68e0727c58b792c040e332c967" + integrity sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw== + dependencies: + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" - jest-mock "^28.1.3" - jest-util "^28.1.3" + jest-mock "^29.5.0" + jest-util "^29.5.0" -jest-get-type@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== +jest-get-type@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== -jest-haste-map@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" - integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== +jest-haste-map@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de" + integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" - jest-worker "^28.1.3" + jest-regex-util "^29.4.3" + jest-util "^29.5.0" + jest-worker "^29.5.0" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" - integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== +jest-leak-detector@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz#cf4bdea9615c72bac4a3a7ba7e7930f9c0610c8c" + integrity sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow== dependencies: - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + jest-get-type "^29.4.3" + pretty-format "^29.5.0" -jest-matcher-utils@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" - integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== +jest-matcher-utils@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5" + integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw== dependencies: chalk "^4.0.0" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + jest-diff "^29.5.0" + jest-get-type "^29.4.3" + pretty-format "^29.5.0" -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== +jest-message-util@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e" + integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^28.1.3" + pretty-format "^29.5.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" - integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== +jest-mock@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.5.0.tgz#26e2172bcc71d8b0195081ff1f146ac7e1518aed" + integrity sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" "@types/node" "*" + jest-util "^29.5.0" jest-pnp-resolver@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== -jest-regex-util@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== +jest-regex-util@^29.4.3: + version "29.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" + integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== -jest-resolve-dependencies@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" - integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== +jest-resolve-dependencies@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz#f0ea29955996f49788bf70996052aa98e7befee4" + integrity sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg== dependencies: - jest-regex-util "^28.0.2" - jest-snapshot "^28.1.3" + jest-regex-util "^29.4.3" + jest-snapshot "^29.5.0" -jest-resolve@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" - integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== +jest-resolve@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.5.0.tgz#b053cc95ad1d5f6327f0ac8aae9f98795475ecdc" + integrity sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" + jest-haste-map "^29.5.0" jest-pnp-resolver "^1.2.2" - jest-util "^28.1.3" - jest-validate "^28.1.3" + jest-util "^29.5.0" + jest-validate "^29.5.0" resolve "^1.20.0" - resolve.exports "^1.1.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" - integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== +jest-runner@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.5.0.tgz#6a57c282eb0ef749778d444c1d758c6a7693b6f8" + integrity sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ== dependencies: - "@jest/console" "^28.1.3" - "@jest/environment" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.5.0" + "@jest/environment" "^29.5.0" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" - emittery "^0.10.2" + emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^28.1.1" - jest-environment-node "^28.1.3" - jest-haste-map "^28.1.3" - jest-leak-detector "^28.1.3" - jest-message-util "^28.1.3" - jest-resolve "^28.1.3" - jest-runtime "^28.1.3" - jest-util "^28.1.3" - jest-watcher "^28.1.3" - jest-worker "^28.1.3" + jest-docblock "^29.4.3" + jest-environment-node "^29.5.0" + jest-haste-map "^29.5.0" + jest-leak-detector "^29.5.0" + jest-message-util "^29.5.0" + jest-resolve "^29.5.0" + jest-runtime "^29.5.0" + jest-util "^29.5.0" + jest-watcher "^29.5.0" + jest-worker "^29.5.0" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" - integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/fake-timers" "^28.1.3" - "@jest/globals" "^28.1.3" - "@jest/source-map" "^28.1.2" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" +jest-runtime@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.5.0.tgz#c83f943ee0c1da7eb91fa181b0811ebd59b03420" + integrity sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw== + dependencies: + "@jest/environment" "^29.5.0" + "@jest/fake-timers" "^29.5.0" + "@jest/globals" "^29.5.0" + "@jest/source-map" "^29.4.3" + "@jest/test-result" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" + "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - execa "^5.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-message-util "^28.1.3" - jest-mock "^28.1.3" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" + jest-haste-map "^29.5.0" + jest-message-util "^29.5.0" + jest-mock "^29.5.0" + jest-regex-util "^29.4.3" + jest-resolve "^29.5.0" + jest-snapshot "^29.5.0" + jest-util "^29.5.0" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" - integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== +jest-snapshot@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.5.0.tgz#c9c1ce0331e5b63cd444e2f95a55a73b84b1e8ce" + integrity sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/expect-utils" "^29.5.0" + "@jest/transform" "^29.5.0" + "@jest/types" "^29.5.0" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^28.1.3" + expect "^29.5.0" graceful-fs "^4.2.9" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - jest-haste-map "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + jest-diff "^29.5.0" + jest-get-type "^29.4.3" + jest-matcher-utils "^29.5.0" + jest-message-util "^29.5.0" + jest-util "^29.5.0" natural-compare "^1.4.0" - pretty-format "^28.1.3" + pretty-format "^29.5.0" semver "^7.3.5" -jest-summary-reporter@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/jest-summary-reporter/-/jest-summary-reporter-0.0.2.tgz#53b9997b56f343a0dd9af24199c68d371e01f534" - integrity sha512-rZ3ThO57l+ZJCxF74cXIGQU3cV9I7bSBe1ElBp0taE3x2JghgD69bNCKt0LvpVQX5azTRHG7LmcjIpwriVnTng== - dependencies: - chalk "^2.4.1" - -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== +jest-util@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f" + integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" - integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== +jest-validate@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.5.0.tgz#8e5a8f36178d40e47138dc00866a5f3bd9916ffc" + integrity sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.5.0" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^28.0.2" + jest-get-type "^29.4.3" leven "^3.1.0" - pretty-format "^28.1.3" + pretty-format "^29.5.0" -jest-watcher@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== +jest-watcher@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.5.0.tgz#cf7f0f949828ba65ddbbb45c743a382a4d911363" + integrity sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA== dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/test-result" "^29.5.0" + "@jest/types" "^29.5.0" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" + emittery "^0.13.1" + jest-util "^29.5.0" string-length "^4.0.1" -jest-worker@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== +jest-worker@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d" + integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA== dependencies: "@types/node" "*" + jest-util "^29.5.0" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^28.1.0: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" - integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== +jest@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.5.0.tgz#f75157622f5ce7ad53028f2f8888ab53e1f1f24e" + integrity sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ== dependencies: - "@jest/core" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/core" "^29.5.0" + "@jest/types" "^29.5.0" import-local "^3.0.2" - jest-cli "^28.1.3" + jest-cli "^29.5.0" js-sdsl@^4.1.4: version "4.3.0" @@ -5716,6 +5947,11 @@ json-schema-traverse@^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-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -5856,13 +6092,6 @@ language-tags@=1.0.5: dependencies: language-subtag-registry "~0.3.2" -lazystream@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" - integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== - dependencies: - readable-stream "^2.0.5" - lerna@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e" @@ -5941,48 +6170,46 @@ lighthouse-logger@^1.0.0: debug "^2.6.9" marky "^1.2.2" +lilconfig@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@^10.5.2: - version "10.5.4" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.4.tgz#cd153b5f0987d2371fc1d2847a409a2fe705b665" - integrity sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg== +lint-staged@^13.2.2: + version "13.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.2.tgz#5e711d3139c234f73402177be2f8dd312e6508ca" + integrity sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA== dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - commander "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - dedent "^0.7.0" - enquirer "^2.3.6" - execa "^4.1.0" - listr2 "^3.2.2" - log-symbols "^4.0.0" - micromatch "^4.0.2" + chalk "5.2.0" + cli-truncate "^3.1.0" + commander "^10.0.0" + debug "^4.3.4" + execa "^7.0.0" + lilconfig "2.1.0" + listr2 "^5.0.7" + micromatch "^4.0.5" normalize-path "^3.0.0" - please-upgrade-node "^3.2.0" - string-argv "0.3.1" - stringify-object "^3.3.0" + object-inspect "^1.12.3" + pidtree "^0.6.0" + string-argv "^0.3.1" + yaml "^2.2.2" -listenercount@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ== - -listr2@^3.2.2: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== +listr2@^5.0.7: + version "5.0.8" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" + integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== dependencies: cli-truncate "^2.1.0" - colorette "^2.0.16" + colorette "^2.0.19" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.5.1" + rxjs "^7.8.0" through "^2.3.8" wrap-ansi "^7.0.0" @@ -6042,20 +6269,15 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== lodash.ismatch@^4.4.0: version "4.4.0" @@ -6067,11 +6289,31 @@ lodash.isplainobject@^4.0.6: resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + lodash.merge@^4.6.2: 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.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -6087,24 +6329,21 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.union@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - log-update@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" @@ -6144,6 +6383,11 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + make-fetch-happen@^8.0.9: version "8.0.14" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" @@ -6251,7 +6495,7 @@ methods@^1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -6276,6 +6520,11 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -6288,13 +6537,6 @@ minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatc dependencies: brace-expansion "^1.1.7" -minimatch@^5.1.0: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -6376,6 +6618,11 @@ minipass@^4.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.3.tgz#00bfbaf1e16e35e804f4aa31a7c1f6b8d9f0ee72" integrity sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw== +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + minizlib@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" @@ -6405,7 +6652,7 @@ mkdirp-infer-owner@^2.0.0: infer-owner "^1.0.4" mkdirp "^1.0.3" -"mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -6497,11 +6744,16 @@ nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== -nanoid@^3.1.30, nanoid@^3.3.3, nanoid@^3.3.4: +nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -6727,6 +6979,13 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" + npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" @@ -6752,7 +7011,7 @@ object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.2, object-inspect@^1.9.0: +object-inspect@^1.12.2, object-inspect@^1.12.3, object-inspect@^1.9.0: version "1.12.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== @@ -6838,11 +7097,28 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + only@~0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ== +open@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" + integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== + dependencies: + default-browser "^4.0.0" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^2.2.0" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -7074,6 +7350,11 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -7138,6 +7419,11 @@ picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pidtree@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -7170,13 +7456,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -please-upgrade-node@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - postcss@^8.4.14: version "8.4.21" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" @@ -7203,13 +7482,12 @@ prettier@^2.6.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== -pretty-format@^28.0.0, pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== +pretty-format@^29.0.0, pretty-format@^29.5.0: + version "29.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a" + integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw== dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" + "@jest/schemas" "^29.4.3" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -7334,6 +7612,11 @@ puppeteer@17.1.3: unbzip2-stream "1.4.3" ws "8.8.1" +pure-rand@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306" + integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== + q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -7492,7 +7775,7 @@ read@1, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -7501,7 +7784,7 @@ read@1, read@~1.0.1: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@~2.3.6: +readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -7524,13 +7807,6 @@ readable-stream@~1.0.31: isarray "0.0.1" string_decoder "~0.10.x" -readdir-glob@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.2.tgz#b185789b8e6a43491635b6953295c5c5e3fd224c" - integrity sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA== - dependencies: - minimatch "^5.1.0" - readdir-scoped-modules@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" @@ -7606,6 +7882,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + requireindex@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162" @@ -7640,12 +7921,17 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -7677,13 +7963,6 @@ rfdc@^1.3.0: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== -rimraf@2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -7691,6 +7970,13 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@~2.5.2: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" @@ -7698,6 +7984,13 @@ rimraf@~2.5.2: dependencies: glob "^7.0.5" +run-applescript@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" + integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== + dependencies: + execa "^5.0.0" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -7717,10 +8010,10 @@ rxjs@^6.6.0, rxjs@^6.6.3: dependencies: tslib "^1.9.0" -rxjs@^7.5.1: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== +rxjs@^7.8.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" @@ -7757,20 +8050,15 @@ selenium-webdriver@4.4.0: tmp "^0.2.1" ws ">=8.7.0" -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== - "semver@2 || 3 || 4 || 5", semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== +semver@7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== dependencies: lru-cache "^6.0.0" @@ -7791,7 +8079,7 @@ set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -setimmediate@^1.0.5, setimmediate@~1.0.4: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -7869,6 +8157,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -7887,6 +8180,14 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -7942,7 +8243,7 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" -source-map-js@^1.0.1, source-map-js@^1.0.2: +source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -8096,10 +8397,10 @@ strict-uri-encode@^2.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-argv@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-length@^4.0.1: version "4.0.2" @@ -8127,6 +8428,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string.prototype.trimend@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" @@ -8164,15 +8474,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -8187,6 +8488,13 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -8202,6 +8510,11 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -8230,7 +8543,7 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -8244,19 +8557,24 @@ supports-color@^8.0.0, supports-color@^8.1.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +synckit@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" + integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== + dependencies: + "@pkgr/utils" "^2.3.1" + tslib "^2.5.0" + +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + tar-fs@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" @@ -8267,7 +8585,7 @@ tar-fs@2.1.1: pump "^3.0.0" tar-stream "^2.1.4" -tar-stream@^2.1.4, tar-stream@^2.2.0: +tar-stream@^2.1.4: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -8303,6 +8621,18 @@ tar@^6.0.2, tar@^6.1.0, tar@^6.1.11: mkdirp "^1.0.3" yallist "^4.0.0" +tar@^6.1.15: + version "6.1.15" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" + integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" @@ -8326,14 +8656,6 @@ temp-write@^4.0.0: temp-dir "^1.0.0" uuid "^3.3.2" -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -8381,6 +8703,11 @@ through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== +titleize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" + integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -8462,6 +8789,25 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +ts-node@^10.8.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" @@ -8482,6 +8828,11 @@ tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tslib@^2.5.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.2.tgz#1b6f07185c881557b0ffa84b111a0106989e8338" + integrity sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA== + tsscmp@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" @@ -8582,10 +8933,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@^4.7.2, typescript@^4.7.4: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +"typescript@^4.6.4 || ^5.0.0", typescript@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== typescript@~4.7.3: version "4.7.4" @@ -8664,22 +9015,6 @@ untildify@^4.0.0: resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -unzipper@^0.10.11: - version "0.10.11" - resolved "https://registry.yarnpkg.com/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" - integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== - dependencies: - big-integer "^1.6.17" - binary "~0.3.0" - bluebird "~3.4.1" - buffer-indexof-polyfill "~1.0.0" - duplexer2 "~0.1.4" - fstream "^1.0.12" - graceful-fs "^4.2.2" - listenercount "~1.0.1" - readable-stream "~2.3.6" - setimmediate "~1.0.4" - upath@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" @@ -8735,6 +9070,11 @@ uuid@^7.0.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + v8-to-istanbul@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" @@ -8928,7 +9268,7 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write-file-atomic@^4.0.1: +write-file-atomic@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== @@ -9014,6 +9354,11 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" + integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== + yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" @@ -9042,6 +9387,19 @@ yargs@^16.1.0, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yargs@^17.3.1: version "17.6.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" @@ -9068,20 +9426,16 @@ ylru@^1.2.0: resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.3.2.tgz#0de48017473275a4cbdfc83a1eaf67c01af8a785" integrity sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA== +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zip-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" - integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== - dependencies: - archiver-utils "^2.1.0" - compress-commons "^4.1.0" - readable-stream "^3.6.0" - zod@^3.20.2: version "3.20.6" resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.6.tgz#2f2f08ff81291d47d99e86140fedb4e0db08361a"