From 000ffe46f4cb86b46d1857b4c17c132471a1ce65 Mon Sep 17 00:00:00 2001 From: WaveSheep <33367781+wavesheep@users.noreply.github.com> Date: Tue, 29 Mar 2022 15:28:29 +0800 Subject: [PATCH 01/33] refactor: obj[key] have already triggered the getter (#914) Co-authored-by: wavesheep --- src/reactivity/reactive.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/reactivity/reactive.ts b/src/reactivity/reactive.ts index b8dff250..797a6cee 100644 --- a/src/reactivity/reactive.ts +++ b/src/reactivity/reactive.ts @@ -208,14 +208,13 @@ export function shallowReactive(obj: any) { proxy(observed, key, { get: function getterHandler() { - const value = getter ? getter.call(obj) : val ob.dep?.depend() - return value + return val }, set: function setterHandler(newVal: any) { if (getter && !setter) return - const value = getter ? getter.call(obj) : val - if (!isForceTrigger() && value === newVal) return + + if (!isForceTrigger() && val === newVal) return if (setter) { setter.call(obj, newVal) } else { From 5874eb5ead62cfe42dcb2de39f3d9115a0d5da23 Mon Sep 17 00:00:00 2001 From: edwardnie <31278178+edwardnyc@users.noreply.github.com> Date: Sat, 23 Apr 2022 18:49:51 +0800 Subject: [PATCH 02/33] feat: Unified as the key of raw in vue3 (#922) Co-authored-by: neiyichao03 --- src/reactivity/reactive.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/reactivity/reactive.ts b/src/reactivity/reactive.ts index 797a6cee..c15fc447 100644 --- a/src/reactivity/reactive.ts +++ b/src/reactivity/reactive.ts @@ -16,12 +16,14 @@ import { isRef, UnwrapRef } from './ref' import { rawSet, accessModifiedSet } from '../utils/sets' import { isForceTrigger } from './force' +const SKIPFLAG = '__v_skip' + export function isRaw(obj: any): boolean { return Boolean( obj && hasOwn(obj, '__ob__') && typeof obj.__ob__ === 'object' && - obj.__ob__?.__raw__ + obj.__ob__?.[SKIPFLAG] ) } @@ -30,7 +32,7 @@ export function isReactive(obj: any): boolean { obj && hasOwn(obj, '__ob__') && typeof obj.__ob__ === 'object' && - !obj.__ob__?.__raw__ + !obj.__ob__?.[SKIPFLAG] ) } @@ -261,7 +263,7 @@ export function markRaw(obj: T): T { // set the vue observable flag at obj const ob = createObserver() - ob.__raw__ = true + ob[SKIPFLAG] = true def(obj, '__ob__', ob) // mark as Raw From 564a5a478476cc404d65e87c8e3e0f4592e12a53 Mon Sep 17 00:00:00 2001 From: MinatoHikari <35342316+MinatoHikari@users.noreply.github.com> Date: Mon, 25 Apr 2022 12:40:28 +0800 Subject: [PATCH 03/33] feat(createElement): allow createElement to bind vm (#920) --- src/apis/createElement.ts | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/apis/createElement.ts b/src/apis/createElement.ts index 79ee9abc..c9c196aa 100644 --- a/src/apis/createElement.ts +++ b/src/apis/createElement.ts @@ -1,12 +1,40 @@ import type { CreateElement } from 'vue' -import { getVueConstructor, getCurrentInstance } from '../runtimeContext' +import { + getVueConstructor, + getCurrentInstance, + ComponentInternalInstance, +} from '../runtimeContext' import { defineComponentInstance } from '../utils/helper' import { warn } from '../utils' +import { AsyncComponent, Component } from 'vue/types/options' +import { VNode, VNodeChildren, VNodeData } from 'vue/types/vnode' + +export interface H extends CreateElement { + ( + this: ComponentInternalInstance | null, + tag?: + | string + | Component + | AsyncComponent + | (() => Component), + children?: VNodeChildren + ): VNode + ( + this: ComponentInternalInstance | null, + tag?: + | string + | Component + | AsyncComponent + | (() => Component), + data?: VNodeData, + children?: VNodeChildren + ): VNode +} let fallbackCreateElement: CreateElement -export const createElement = function createElement(...args: any) { - const instance = getCurrentInstance()?.proxy +export const createElement = function createElement(this, ...args: any) { + const instance = this ? this.proxy : getCurrentInstance()?.proxy if (!instance) { __DEV__ && warn('`createElement()` has been called outside of render function.') @@ -20,4 +48,4 @@ export const createElement = function createElement(...args: any) { } return instance.$createElement.apply(instance, args) -} as CreateElement +} as H From e0128e3c067542dfa4067289c2141eaa5e25cb59 Mon Sep 17 00:00:00 2001 From: edwardnie <31278178+edwardnyc@users.noreply.github.com> Date: Mon, 25 Apr 2022 12:41:48 +0800 Subject: [PATCH 04/33] test: add tests for createElement with binding (#921) Co-authored-by: neiyichao03 Co-authored-by: Anthony Fu --- test/v3/runtime-core/h.spec.ts | 43 ++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/test/v3/runtime-core/h.spec.ts b/test/v3/runtime-core/h.spec.ts index 1a551a95..d77d4577 100644 --- a/test/v3/runtime-core/h.spec.ts +++ b/test/v3/runtime-core/h.spec.ts @@ -1,5 +1,5 @@ -import { h, createApp } from '../../../src' -import { mockWarn } from '../../helpers' +import { h, createApp, ref, getCurrentInstance } from '../../../src' +import { mockWarn, sleep } from '../../helpers' describe('renderer: h', () => { mockWarn(true) @@ -10,6 +10,45 @@ describe('renderer: h', () => { ).toHaveBeenWarned() }) + it('should not warn with called outside of render function', async () => { + const spy = jest.fn() + const Comp = { + setup() { + const instance = getCurrentInstance() + const createElement = h.bind(instance) + const renderVnode = () => createElement('p', {}) + setTimeout(renderVnode, 10) + }, + } + const root = document.createElement('div') + createApp(Comp).mount(root) + await sleep(50) + + expect(spy).toHaveBeenCalledTimes(0) + }) + + it(`Should support h's responsive rendering`, async () => { + const Comp = { + setup() { + const showNode1 = ref(true) + setTimeout(() => { + showNode1.value = false + }, 10) + return () => + showNode1.value + ? h('div', void 0, [h('br'), 'hello world', h('br')]) + : h('div', void 0, [h('div'), 'nextTick render', h('div')]) + }, + } + const root = document.createElement('div') + const vm = createApp(Comp).mount(root) + expect(vm.$el.outerHTML).toBe(`

hello world
`) + await sleep(50) + expect(vm.$el.outerHTML).toBe( + `
nextTick render
` + ) + }) + it('should work with called outside of render function', () => { const msg = 'hello world' const vnode = h('hello-world', { From 7c1c248004e63e9f7d3b1fe6c77446f08bd01d01 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 25 Apr 2022 12:49:13 +0800 Subject: [PATCH 05/33] docs: note about `createElement` workaround --- README.md | 31 +++++++++++++++++++++++++++++++ src/apis/createElement.ts | 10 +++++----- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5f3cfba7..0f6c8616 100644 --- a/README.md +++ b/README.md @@ -401,6 +401,37 @@ app2.component('Bar', Bar) // equivalent to Vue.use('Bar', Bar) +### `createElement` / `h` + + +⚠️ createElement / h workaround + + +
+ +`createElement` / `h` in Vue 2 is only accessable in `render()` function. To use it outside of `render()`, you can explicitly bind a component instance to it. + +> :warning: **Warning**: This ability is provided as a workaround Vue 2, it's not part of the Vue 3 API. + +```jsx +import { h as _h } from '@vue/composition-api' + +export default { + setup() { + const vm = getCurrentInstance() + const h = _h.bind(vm) + + return () => + h('div', { + ref: 'root', + }) + }, +} +``` + + + + ### `shallowReadonly`
diff --git a/src/apis/createElement.ts b/src/apis/createElement.ts index c9c196aa..7f8bc2d6 100644 --- a/src/apis/createElement.ts +++ b/src/apis/createElement.ts @@ -11,7 +11,7 @@ import { VNode, VNodeChildren, VNodeData } from 'vue/types/vnode' export interface H extends CreateElement { ( - this: ComponentInternalInstance | null, + this: ComponentInternalInstance | null | undefined, tag?: | string | Component @@ -20,7 +20,7 @@ export interface H extends CreateElement { children?: VNodeChildren ): VNode ( - this: ComponentInternalInstance | null, + this: ComponentInternalInstance | null | undefined, tag?: | string | Component @@ -33,8 +33,8 @@ export interface H extends CreateElement { let fallbackCreateElement: CreateElement -export const createElement = function createElement(this, ...args: any) { - const instance = this ? this.proxy : getCurrentInstance()?.proxy +export const createElement: H = function createElement(this, ...args: any) { + const instance = this?.proxy || getCurrentInstance()?.proxy if (!instance) { __DEV__ && warn('`createElement()` has been called outside of render function.') @@ -48,4 +48,4 @@ export const createElement = function createElement(this, ...args: any) { } return instance.$createElement.apply(instance, args) -} as H +} From 7a416dbda6b782f11c3d2a7d045897fea3b72a13 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 25 Apr 2022 12:52:34 +0800 Subject: [PATCH 06/33] release v1.5.0 --- CHANGELOG.md | 11 +++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6a6117f..1ac08c1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ + +# [1.5.0](https://github.com/vuejs/composition-api/compare/v1.4.10...v1.5.0) (2022-04-25) + + +### Features + +* **createElement:** allow createElement to bind vm ([#920](https://github.com/vuejs/composition-api/issues/920)) ([564a5a4](https://github.com/vuejs/composition-api/commit/564a5a4)) +* Unified as the key of raw in vue3 ([#922](https://github.com/vuejs/composition-api/issues/922)) ([5874eb5](https://github.com/vuejs/composition-api/commit/5874eb5)) + + + ## [1.4.10](https://github.com/vuejs/composition-api/compare/v1.4.9...v1.4.10) (2022-03-16) diff --git a/README.md b/README.md index 0f6c8616..bd4f3583 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index fa13b0d5..a09303f8 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -40,7 +40,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index e115456b..69ba338d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.4.10", + "version": "1.5.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ "vue", From 293f03ba69fd8d27a72ba7cf2aff1ea038b6a38b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BB=96=E5=BA=94=E9=BE=99?= Date: Wed, 27 Apr 2022 15:31:44 +0800 Subject: [PATCH 07/33] fix: nullish check for vnode (#925) --- src/utils/instance.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/utils/instance.ts b/src/utils/instance.ts index 9a5be538..85e717ce 100644 --- a/src/utils/instance.ts +++ b/src/utils/instance.ts @@ -107,11 +107,13 @@ function updateTemplateRef(vm: ComponentInstance) { export function afterRender(vm: ComponentInstance) { const stack = [(vm as any)._vnode as VNode] while (stack.length) { - const vnode = stack.pop()! - if (vnode.context) updateTemplateRef(vnode.context) - if (vnode.children) { - for (let i = 0; i < vnode.children.length; ++i) { - stack.push(vnode.children[i]) + const vnode = stack.pop() + if (vnode) { + if (vnode.context) updateTemplateRef(vnode.context) + if (vnode.children) { + for (let i = 0; i < vnode.children.length; ++i) { + stack.push(vnode.children[i]) + } } } } From 679f5c2189f1647480d8cd41d9d67b225ffd83d4 Mon Sep 17 00:00:00 2001 From: MinatoHikari <35342316+MinatoHikari@users.noreply.github.com> Date: Wed, 27 Apr 2022 21:25:24 +0800 Subject: [PATCH 08/33] fix(type): align watch types with vue3 (#927) --- src/apis/watch.ts | 48 ++++++++++++++++++--------- test-dts/watch.test-d.tsx | 39 ++++++++++++++++++---- test/v3/runtime-core/apiWatch.spec.ts | 2 +- 3 files changed, 67 insertions(+), 22 deletions(-) diff --git a/src/apis/watch.ts b/src/apis/watch.ts index b3e0984c..00788d52 100644 --- a/src/apis/watch.ts +++ b/src/apis/watch.ts @@ -32,11 +32,7 @@ export type WatchCallback = ( onInvalidate: InvalidateCbRegistrator ) => any -type MapSources = { - [K in keyof T]: T[K] extends WatchSource ? V : never -} - -type MapOldSources = { +declare type MapSources = { [K in keyof T]: T[K] extends WatchSource ? Immediate extends true ? V | undefined @@ -44,6 +40,8 @@ type MapOldSources = { : never } +type MultiWatchSources = (WatchSource | object)[] + export interface WatchOptionsBase { flush?: FlushMode // onTrack?: ReactiveEffectOptions['onTrack']; @@ -204,8 +202,8 @@ function patchWatcherTeardown(watcher: VueWatcher, runCleanup: () => void) { function createWatcher( vm: ComponentInstance, - source: WatchSource | WatchSource[] | WatchEffect, - cb: WatchCallback | null, + source: WatchSource | WatchSource[] | WatchEffect, + cb: WatchCallback | null, options: WatchOptions ): () => void { if (__DEV__ && !cb) { @@ -416,27 +414,47 @@ export function watchSyncEffect(effect: WatchEffect) { return watchEffect(effect, { flush: 'sync' }) } -// overload #1: array of multiple sources + cb -// Readonly constraint helps the callback to correctly infer value types based -// on position in the source array. Otherwise the values will get a union type -// of all possible value types. +// overload #1 + #2 + #3: array of multiple sources + cb + +// overload #1: In readonly case the first overload must be spread tuple type. +// In otherwise members in tuple can not get the correct types. +export function watch< + T extends Readonly, + Immediate extends Readonly = false +>( + sources: [...T], + cb: WatchCallback, MapSources>, + options?: WatchOptions +): WatchStopHandle + +// overload #2: for not spread readonly tuple +export function watch< + T extends Readonly, + Immediate extends Readonly = false +>( + sources: T, + cb: WatchCallback, MapSources>, + options?: WatchOptions +): WatchStopHandle + +// overload #3: for not readonly multiSources export function watch< - T extends Readonly[]>, + T extends MultiWatchSources, Immediate extends Readonly = false >( sources: [...T], - cb: WatchCallback, MapOldSources>, + cb: WatchCallback, MapSources>, options?: WatchOptions ): WatchStopHandle -// overload #2: single source + cb +// overload #4: single source + cb export function watch = false>( source: WatchSource, cb: WatchCallback, options?: WatchOptions ): WatchStopHandle -// overload #3: watching reactive object w/ cb +// overload #5: watching reactive object w/ cb export function watch< T extends object, Immediate extends Readonly = false diff --git a/test-dts/watch.test-d.tsx b/test-dts/watch.test-d.tsx index 2811743c..581faa2a 100644 --- a/test-dts/watch.test-d.tsx +++ b/test-dts/watch.test-d.tsx @@ -10,17 +10,44 @@ watch(source, (value, oldValue) => { expectType(oldValue) }) -watch([source, source2, source3], (values, oldValues) => { - expectType<(string | number)[]>(values) - expectType<(string | number)[]>(oldValues) -}) +// spread array +watch( + [source, source2, source3], + ([source1, source2, source3], [oldSource1, oldSource2, oldSource3]) => { + expectType(source1) + expectType(source2) + expectType(source3) + expectType(oldSource1) + expectType(oldSource2) + expectType(oldSource3) + } +) // const array -watch([source, source2, source3], (values, oldValues) => { +watch([source, source2, source3] as const, (values, oldValues) => { expectType>(values) expectType>(oldValues) + expectType(values[0]) + expectType(values[1]) + expectType(values[2]) + expectType(oldValues[0]) + expectType(oldValues[1]) + expectType(oldValues[2]) }) +// const spread array +watch( + [source, source2, source3] as const, + ([source1, source2, source3], [oldSource1, oldSource2, oldSource3]) => { + expectType(source1) + expectType(source2) + expectType(source3) + expectType(oldSource1) + expectType(oldSource2) + expectType(oldSource3) + } +) + // immediate watcher's oldValue will be undefined on first run. watch( source, @@ -42,7 +69,7 @@ watch( // const array watch( - [source, source2, source3], + [source, source2, source3] as const, (values, oldValues) => { expectType>(values) expectType< diff --git a/test/v3/runtime-core/apiWatch.spec.ts b/test/v3/runtime-core/apiWatch.spec.ts index b6825e0f..57dc6335 100644 --- a/test/v3/runtime-core/apiWatch.spec.ts +++ b/test/v3/runtime-core/apiWatch.spec.ts @@ -143,7 +143,7 @@ describe('api: watch', () => { const status = ref(false) let dummy - watch([() => state.count, status], (vals, oldVals) => { + watch([() => state.count, status] as const, (vals, oldVals) => { dummy = [vals, oldVals] const [count] = vals const [, oldStatus] = oldVals From d8a868123a27b7ec0693ee5b34eb6f7dc5b4c519 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Wed, 27 Apr 2022 21:26:07 +0800 Subject: [PATCH 09/33] release v1.6.0 --- CHANGELOG.md | 11 +++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ac08c1c..6d74aa1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ + +# [1.6.0](https://github.com/vuejs/composition-api/compare/v1.5.0...v1.6.0) (2022-04-27) + + +### Bug Fixes + +* nullish check for vnode ([#925](https://github.com/vuejs/composition-api/issues/925)) ([293f03b](https://github.com/vuejs/composition-api/commit/293f03b)) +* **type:** align watch types with vue3 ([#927](https://github.com/vuejs/composition-api/issues/927)) ([679f5c2](https://github.com/vuejs/composition-api/commit/679f5c2)) + + + # [1.5.0](https://github.com/vuejs/composition-api/compare/v1.4.10...v1.5.0) (2022-04-25) diff --git a/README.md b/README.md index bd4f3583..796c633d 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index a09303f8..696a9d53 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -40,7 +40,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index 69ba338d..a08c3e92 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.5.0", + "version": "1.6.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ "vue", From 17d3fc120b396e460463dccc5244b3c1fe9a84a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=C3=A1n=20O=27Grady?= <1761115+miralize@users.noreply.github.com> Date: Thu, 5 May 2022 18:07:50 +0100 Subject: [PATCH 10/33] fix(inject): allow default value to be undefined (#930) --- src/apis/inject.ts | 14 ++++++------- test/v3/runtime-core/apiInject.spec.ts | 29 +++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/apis/inject.ts b/src/apis/inject.ts index e94c7a2b..37ed881d 100644 --- a/src/apis/inject.ts +++ b/src/apis/inject.ts @@ -74,13 +74,11 @@ export function inject( const val = resolveInject(key, vm) if (val !== NOT_FOUND) { return val + } else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) + ? defaultValue() + : defaultValue + } else if (__DEV__) { + warn(`Injection "${String(key)}" not found.`, vm) } - - if (defaultValue === undefined && __DEV__) { - warn(`Injection "${String(key)}" not found`, vm) - } - - return treatDefaultAsFactory && isFunction(defaultValue) - ? defaultValue() - : defaultValue } diff --git a/test/v3/runtime-core/apiInject.spec.ts b/test/v3/runtime-core/apiInject.spec.ts index 1ed7d5cb..99b7cc85 100644 --- a/test/v3/runtime-core/apiInject.spec.ts +++ b/test/v3/runtime-core/apiInject.spec.ts @@ -239,7 +239,7 @@ describe('api: provide/inject', () => { const root = document.createElement('div') const vm = createApp(Provider).mount(root) expect(vm.$el.outerHTML).toBe(`
`) - expect(`[Vue warn]: Injection "foo" not found`).toHaveBeenWarned() + expect(`[Vue warn]: Injection "foo" not found.`).toHaveBeenWarned() }) it('should warn unfound w/ injectionKey is undefined', () => { @@ -277,4 +277,31 @@ describe('api: provide/inject', () => { const vm = createApp(Comp).mount(root) expect(vm.$el.outerHTML).toBe(`
foo
`) }) + + it('should not warn when default value is undefined', () => { + const Provider = { + setup() { + provide('foo', undefined) + return () => h(Middle) + }, + } + + const Middle = { + setup() { + return () => h(Consumer) + }, + } + + const Consumer = { + setup() { + const foo = inject('foo') + return () => h('div', foo as unknown as string) + }, + } + + const root = document.createElement('div') + const vm = createApp(Provider).mount(root) + expect(vm.$el.outerHTML).toBe(`
`) + expect(`injection "foo" not found.`).not.toHaveBeenWarned() + }) }) From 145ea67132ef1043b0b3c402f0a100aae2dbca62 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 6 May 2022 01:13:25 +0800 Subject: [PATCH 11/33] chore: update deps --- .github/workflows/release.yml | 4 +- .github/workflows/test.yml | 10 +- package.json | 35 +-- pnpm-lock.yaml | 546 ++++++++++++++++------------------ 4 files changed, 279 insertions(+), 316 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c6f123b8..8dc9efaf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,10 +10,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 - name: Create Release run: npx conventional-github-releaser -p angular env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cd59bf2c..98eea558 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,18 +8,16 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [14.x, 16.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Install pnpm - uses: pnpm/action-setup@v2.0.1 - with: - version: 6.23.5 + uses: pnpm/action-setup@v2 - name: Set node version to ${{ matrix.node_version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node_version }} cache: "pnpm" diff --git a/package.json b/package.json index a08c3e92..2c3ed7be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "@vue/composition-api", "version": "1.6.0", + "packageManager": "pnpm@7.0.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ "vue", @@ -53,44 +54,40 @@ "vue": ">= 2.5 < 3" }, "devDependencies": { - "@rollup/plugin-node-resolve": "^13.1.3", - "@rollup/plugin-replace": "^3.0.1", + "@rollup/plugin-node-resolve": "^13.3.0", + "@rollup/plugin-replace": "^4.0.0", "@types/jest": "^26.0.24", - "@types/node": "^17.0.12", + "@types/node": "^17.0.31", "bumpp": "^7.1.1", "conventional-changelog-cli": "^2.2.2", "conventional-github-releaser": "^3.1.5", "cross-env": "^7.0.3", - "husky": "^4.3.8", "jest": "^26.6.3", - "lint-staged": "^11.2.6", - "prettier": "^2.5.1", + "lint-staged": "^12.4.1", + "prettier": "^2.6.2", "rimraf": "^3.0.2", - "rollup": "^2.66.1", - "rollup-plugin-dts": "^3.0.2", + "rollup": "^2.72.0", + "rollup-plugin-dts": "^4.2.1", "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-typescript2": "^0.31.1", + "rollup-plugin-typescript2": "^0.31.2", + "simple-git-hooks": "^2.7.0", "ts-jest": "^26.5.6", - "tslib": "^2.3.1", - "typescript": "^4.5.5", + "tslib": "^2.4.0", + "typescript": "^4.6.4", "vue": "^2.6.14", "vue-router": "^3.5.3", "vue-server-renderer": "^2.6.14", "vue3": "npm:vue@3.2.21" }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } + "simple-git-hooks": { + "pre-commit": "lint-staged" }, "lint-staged": { "*.js": [ - "prettier --write", - "git add" + "prettier --write" ], "*.ts?(x)": [ - "prettier --parser=typescript --write", - "git add" + "prettier --parser=typescript --write" ] }, "jest": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f97eb32c..ae6512cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,52 +1,52 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 specifiers: - '@rollup/plugin-node-resolve': ^13.1.3 - '@rollup/plugin-replace': ^3.0.1 + '@rollup/plugin-node-resolve': ^13.3.0 + '@rollup/plugin-replace': ^4.0.0 '@types/jest': ^26.0.24 - '@types/node': ^17.0.12 + '@types/node': ^17.0.31 bumpp: ^7.1.1 conventional-changelog-cli: ^2.2.2 conventional-github-releaser: ^3.1.5 cross-env: ^7.0.3 - husky: ^4.3.8 jest: ^26.6.3 - lint-staged: ^11.2.6 - prettier: ^2.5.1 + lint-staged: ^12.4.1 + prettier: ^2.6.2 rimraf: ^3.0.2 - rollup: ^2.66.1 - rollup-plugin-dts: ^3.0.2 + rollup: ^2.72.0 + rollup-plugin-dts: ^4.2.1 rollup-plugin-terser: ^7.0.2 - rollup-plugin-typescript2: ^0.31.1 + rollup-plugin-typescript2: ^0.31.2 + simple-git-hooks: ^2.7.0 ts-jest: ^26.5.6 - tslib: ^2.3.1 - typescript: ^4.5.5 + tslib: ^2.4.0 + typescript: ^4.6.4 vue: ^2.6.14 vue-router: ^3.5.3 vue-server-renderer: ^2.6.14 vue3: npm:vue@3.2.21 devDependencies: - '@rollup/plugin-node-resolve': 13.1.3_rollup@2.66.1 - '@rollup/plugin-replace': 3.0.1_rollup@2.66.1 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.72.0 + '@rollup/plugin-replace': 4.0.0_rollup@2.72.0 '@types/jest': 26.0.24 - '@types/node': 17.0.12 + '@types/node': 17.0.31 bumpp: 7.1.1 conventional-changelog-cli: 2.2.2 conventional-github-releaser: 3.1.5 cross-env: 7.0.3 - husky: 4.3.8 jest: 26.6.3 - lint-staged: 11.2.6 - prettier: 2.5.1 + lint-staged: 12.4.1 + prettier: 2.6.2 rimraf: 3.0.2 - rollup: 2.66.1 - rollup-plugin-dts: 3.0.2_rollup@2.66.1+typescript@4.5.5 - rollup-plugin-terser: 7.0.2_rollup@2.66.1 - rollup-plugin-typescript2: 0.31.1_f8bf7ef16db68f21ce19b3da6f289bbf - ts-jest: 26.5.6_jest@26.6.3+typescript@4.5.5 - tslib: 2.3.1 - typescript: 4.5.5 + rollup: 2.72.0 + rollup-plugin-dts: 4.2.1_s6zbpzdkhlvcqzhawas6jkergu + rollup-plugin-terser: 7.0.2_rollup@2.72.0 + rollup-plugin-typescript2: 0.31.2_gucgpcfkl2vuh2xx63prpab3bu + simple-git-hooks: 2.7.0 + ts-jest: 26.5.6_ip4jai7pxkumsngma2fb7ud2tm + tslib: 2.4.0 + typescript: 4.6.4 vue: 2.6.14 vue-router: 3.5.3 vue-server-renderer: 2.6.14 @@ -402,7 +402,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 chalk: 4.1.2 jest-message-util: 26.6.2 jest-util: 26.6.2 @@ -418,7 +418,7 @@ packages: '@jest/test-result': 26.6.2 '@jest/transform': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 ansi-escapes: 4.3.2 chalk: 4.1.2 exit: 0.1.2 @@ -455,7 +455,7 @@ packages: dependencies: '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 jest-mock: 26.6.2 dev: true @@ -465,7 +465,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@sinonjs/fake-timers': 6.0.1 - '@types/node': 17.0.12 + '@types/node': 17.0.31 jest-message-util: 26.6.2 jest-mock: 26.6.2 jest-util: 26.6.2 @@ -579,7 +579,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 17.0.12 + '@types/node': 17.0.31 '@types/yargs': 15.0.14 chalk: 4.1.2 dev: true @@ -615,32 +615,32 @@ packages: fastq: 1.13.0 dev: true - /@rollup/plugin-node-resolve/13.1.3_rollup@2.66.1: - resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==} + /@rollup/plugin-node-resolve/13.3.0_rollup@2.72.0: + resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.66.1 + '@rollup/pluginutils': 3.1.0_rollup@2.72.0 '@types/resolve': 1.17.1 - builtin-modules: 3.2.0 deepmerge: 4.2.2 + is-builtin-module: 3.1.0 is-module: 1.0.0 resolve: 1.22.0 - rollup: 2.66.1 + rollup: 2.72.0 dev: true - /@rollup/plugin-replace/3.0.1_rollup@2.66.1: - resolution: {integrity: sha512-989J5oRzf3mm0pO/0djTijdfEh9U3n63BIXN5X7T4U9BP+fN4oxQ6DvDuBvFaHA6scaHQRclqmKQEkBhB7k7Hg==} + /@rollup/plugin-replace/4.0.0_rollup@2.72.0: + resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.66.1 + '@rollup/pluginutils': 3.1.0_rollup@2.72.0 magic-string: 0.25.7 - rollup: 2.66.1 + rollup: 2.72.0 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.66.1: + /@rollup/pluginutils/3.1.0_rollup@2.72.0: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -649,7 +649,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 2.66.1 + rollup: 2.72.0 dev: true /@rollup/pluginutils/4.1.2: @@ -682,16 +682,16 @@ packages: engines: {node: '>= 6'} dev: true - /@ts-type/package-dts/1.0.58_@types+node@17.0.12: + /@ts-type/package-dts/1.0.58_@types+node@17.0.31: resolution: {integrity: sha512-Ry5RPZDAnSz/gyLtjd2a2yNC07CZ/PCOsuDzYj3phOolIgEH68HXRw6SbsDlavnVUEenDYj5GUM10gQ5iVEbVQ==} peerDependencies: '@types/bluebird': '*' '@types/node': '*' ts-toolbelt: '*' dependencies: - '@types/node': 17.0.12 + '@types/node': 17.0.31 '@types/semver': 7.3.9 - ts-type: 2.1.4_@types+node@17.0.12 + ts-type: 2.1.4_@types+node@17.0.31 dev: true /@types/babel__core/7.1.18: @@ -730,7 +730,7 @@ packages: /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 17.0.12 + '@types/node': 17.0.31 dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -760,18 +760,14 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/17.0.12: - resolution: {integrity: sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==} + /@types/node/17.0.31: + resolution: {integrity: sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==} dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true - /@types/prettier/2.4.3: resolution: {integrity: sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==} dev: true @@ -779,7 +775,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 17.0.12 + '@types/node': 17.0.31 dev: true /@types/semver/7.3.9: @@ -883,16 +879,16 @@ packages: resolution: {integrity: sha512-5EQmIPK6gw4UVYUbM959B0uPsJ58+xoMESCZs3N89XyvJ9e+fX4pqEPrOGV8OroIk3SbEvJcC+eYc8BH9JQrHA==} dev: true - /@yarn-tool/resolve-package/1.0.42_@types+node@17.0.12: + /@yarn-tool/resolve-package/1.0.42_@types+node@17.0.31: resolution: {integrity: sha512-1BAsoiD6jGAaPc7mRH0UxIVXgRSTv7fnhwfKkaFUYpqsU4ZR7KIigZTMcb2bujtlzKQbNneMPQGjiqe3F8cmlw==} peerDependencies: '@types/node': '*' dependencies: - '@ts-type/package-dts': 1.0.58_@types+node@17.0.12 - '@types/node': 17.0.12 + '@ts-type/package-dts': 1.0.58_@types+node@17.0.31 + '@types/node': 17.0.31 pkg-dir: 5.0.0 - tslib: 2.3.1 - upath2: 3.1.12_@types+node@17.0.12 + tslib: 2.4.0 + upath2: 3.1.12_@types+node@17.0.31 transitivePeerDependencies: - '@types/bluebird' - ts-toolbelt @@ -906,8 +902,8 @@ packages: through: 2.3.8 dev: true - /abab/2.0.5: - resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==} + /abab/2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true /acorn-globals/6.0.0: @@ -928,8 +924,8 @@ packages: hasBin: true dev: true - /acorn/8.7.0: - resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} + /acorn/8.7.1: + resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -955,11 +951,6 @@ packages: indent-string: 4.0.0 dev: true - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -977,6 +968,11 @@ packages: engines: {node: '>=8'} dev: true + /ansi-regex/6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + /ansi-styles/2.2.1: resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=} engines: {node: '>=0.10.0'} @@ -996,6 +992,11 @@ packages: color-convert: 2.0.1 dev: true + /ansi-styles/6.1.0: + resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} + engines: {node: '>=12'} + dev: true + /anymatch/2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -1416,6 +1417,14 @@ packages: string-width: 4.2.3 dev: true + /cli-truncate/3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + /cliui/6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: @@ -1476,10 +1485,6 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colorette/1.4.0: - resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} - dev: true - /colorette/2.0.16: resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} dev: true @@ -1528,10 +1533,6 @@ packages: dot-prop: 5.3.0 dev: true - /compare-versions/3.6.0: - resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} - dev: true - /component-emitter/1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true @@ -1804,17 +1805,6 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig/7.0.1: - resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true - /cross-env/7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} @@ -1885,7 +1875,7 @@ packages: resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} engines: {node: '>=10'} dependencies: - abab: 2.0.5 + abab: 2.0.6 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 dev: true @@ -1918,7 +1908,7 @@ packages: ms: 2.1.2 dev: true - /debug/4.3.3_supports-color@8.1.1: + /debug/4.3.3_supports-color@9.2.2: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: @@ -1928,7 +1918,7 @@ packages: optional: true dependencies: ms: 2.1.2 - supports-color: 8.1.1 + supports-color: 9.2.2 dev: true /decamelize-keys/1.1.0: @@ -2038,6 +2028,10 @@ packages: resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} dev: true + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /electron-to-chromium/1.4.54: resolution: {integrity: sha512-jRAoneRdSxnpRHO0ANpnEUtQHXxlgfVjrLOnQSisw1ryjXJXvS0pJaR/v2B7S++/tRjgEDp4Sjn5nmgb6uTySw==} dev: true @@ -2051,19 +2045,16 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true + /emoji-regex/9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + /end-of-stream/1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -2135,7 +2126,7 @@ packages: is-stream: 1.1.0 npm-run-path: 2.0.2 p-finally: 1.0.0 - signal-exit: 3.0.6 + signal-exit: 3.0.7 strip-eof: 1.0.0 dev: true @@ -2150,7 +2141,7 @@ packages: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 strip-final-newline: 2.0.0 dev: true @@ -2323,13 +2314,6 @@ packages: path-exists: 4.0.0 dev: true - /find-versions/4.0.0: - resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} - engines: {node: '>=10'} - dependencies: - semver-regex: 3.1.3 - dev: true - /for-in/1.0.2: resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} engines: {node: '>=0.10.0'} @@ -2341,7 +2325,7 @@ packages: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.34 + mime-types: 2.1.35 dev: true /fragment-cache/0.2.1: @@ -2358,13 +2342,13 @@ packages: readable-stream: 2.3.7 dev: true - /fs-extra/8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} dependencies: graceful-fs: 4.2.9 - jsonfile: 4.0.0 - universalify: 0.1.2 + jsonfile: 6.1.0 + universalify: 2.0.0 dev: true /fs.realpath/1.0.0: @@ -2393,10 +2377,6 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-own-enumerable-property-symbols/3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: true - /get-package-type/0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -2718,8 +2698,8 @@ packages: - supports-color dev: true - /https-proxy-agent/5.0.0: - resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 @@ -2738,24 +2718,6 @@ packages: engines: {node: '>=10.17.0'} dev: true - /husky/4.3.8: - resolution: {integrity: sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==} - engines: {node: '>=10'} - hasBin: true - requiresBuild: true - dependencies: - chalk: 4.1.2 - ci-info: 2.0.0 - compare-versions: 3.6.0 - cosmiconfig: 7.0.1 - find-versions: 4.0.0 - opencollective-postinstall: 2.0.3 - pkg-dir: 5.0.0 - please-upgrade-node: 3.2.0 - slash: 3.0.0 - which-pm-runs: 1.0.0 - dev: true - /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -2768,14 +2730,6 @@ packages: engines: {node: '>= 4'} dev: true - /import-fresh/3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - /import-local/3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -2852,6 +2806,13 @@ packages: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} dev: true + /is-builtin-module/3.1.0: + resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.2.0 + dev: true + /is-ci/2.0.0: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true @@ -2931,6 +2892,11 @@ packages: engines: {node: '>=8'} dev: true + /is-fullwidth-code-point/4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + /is-generator-fn/2.1.0: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} @@ -2989,11 +2955,6 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-regexp/1.0.0: - resolution: {integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk=} - engines: {node: '>=0.10.0'} - dev: true - /is-retry-allowed/1.2.0: resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} engines: {node: '>=0.10.0'} @@ -3227,7 +3188,7 @@ packages: '@jest/environment': 26.6.2 '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 jest-mock: 26.6.2 jest-util: 26.6.2 jsdom: 16.7.0 @@ -3245,7 +3206,7 @@ packages: '@jest/environment': 26.6.2 '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 jest-mock: 26.6.2 jest-util: 26.6.2 dev: true @@ -3261,7 +3222,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.5 - '@types/node': 17.0.12 + '@types/node': 17.0.31 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.9 @@ -3285,7 +3246,7 @@ packages: '@jest/source-map': 26.6.2 '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 chalk: 4.1.2 co: 4.6.0 expect: 26.6.2 @@ -3344,7 +3305,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 dev: true /jest-pnp-resolver/1.2.2_jest-resolve@26.6.2: @@ -3395,7 +3356,7 @@ packages: '@jest/environment': 26.6.2 '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 chalk: 4.1.2 emittery: 0.7.2 exit: 0.1.2 @@ -3463,7 +3424,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 17.0.12 + '@types/node': 17.0.31 graceful-fs: 4.2.9 dev: true @@ -3494,7 +3455,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 chalk: 4.1.2 graceful-fs: 4.2.9 is-ci: 2.0.0 @@ -3519,7 +3480,7 @@ packages: dependencies: '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 - '@types/node': 17.0.12 + '@types/node': 17.0.31 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 26.6.2 @@ -3530,7 +3491,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 17.0.12 + '@types/node': 17.0.31 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -3572,8 +3533,8 @@ packages: canvas: optional: true dependencies: - abab: 2.0.5 - acorn: 8.7.0 + abab: 2.0.6 + acorn: 8.7.1 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -3584,7 +3545,7 @@ packages: form-data: 3.0.1 html-encoding-sniffer: 2.0.1 http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.0 parse5: 6.0.1 @@ -3597,7 +3558,7 @@ packages: whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - ws: 7.5.6 + ws: 7.5.7 xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil @@ -3635,8 +3596,10 @@ packages: minimist: 1.2.5 dev: true - /jsonfile/4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.9 dev: true @@ -3694,33 +3657,41 @@ packages: type-check: 0.3.2 dev: true + /lilconfig/2.0.4: + resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} + engines: {node: '>=10'} + dev: true + /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/11.2.6: - resolution: {integrity: sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==} + /lint-staged/12.4.1: + resolution: {integrity: sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dependencies: - cli-truncate: 2.1.0 - colorette: 1.4.0 + cli-truncate: 3.1.0 + colorette: 2.0.16 commander: 8.3.0 - cosmiconfig: 7.0.1 - debug: 4.3.3_supports-color@8.1.1 - enquirer: 2.3.6 + debug: 4.3.3_supports-color@9.2.2 execa: 5.1.1 - listr2: 3.14.0_enquirer@2.3.6 + lilconfig: 2.0.4 + listr2: 4.0.5 micromatch: 4.0.4 normalize-path: 3.0.0 - please-upgrade-node: 3.2.0 + object-inspect: 1.12.0 + pidtree: 0.5.0 string-argv: 0.3.1 - stringify-object: 3.3.0 - supports-color: 8.1.1 + supports-color: 9.2.2 + yaml: 1.10.2 + transitivePeerDependencies: + - enquirer dev: true - /listr2/3.14.0_enquirer@2.3.6: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} + /listr2/4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -3729,11 +3700,10 @@ packages: dependencies: cli-truncate: 2.1.0 colorette: 2.0.16 - enquirer: 2.3.6 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.5.2 + rxjs: 7.5.5 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -3833,7 +3803,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: currently-unhandled: 0.4.1 - signal-exit: 3.0.6 + signal-exit: 3.0.7 dev: true /lowercase-keys/1.0.0: @@ -3859,6 +3829,13 @@ packages: sourcemap-codec: 1.4.8 dev: true + /magic-string/0.26.1: + resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} + engines: {node: '>=12'} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + /make-dir/3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -4004,16 +3981,16 @@ packages: picomatch: 2.3.1 dev: true - /mime-db/1.51.0: - resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} dev: true - /mime-types/2.1.34: - resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: - mime-db: 1.51.0 + mime-db: 1.52.0 dev: true /mimic-fn/2.1.0: @@ -4222,6 +4199,10 @@ packages: kind-of: 3.2.2 dev: true + /object-inspect/1.12.0: + resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} + dev: true + /object-visit/1.0.1: resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} engines: {node: '>=0.10.0'} @@ -4249,11 +4230,6 @@ packages: mimic-fn: 2.1.0 dev: true - /opencollective-postinstall/2.0.3: - resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} - hasBin: true - dev: true - /optionator/0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -4352,13 +4328,6 @@ packages: engines: {node: '>=6'} dev: true - /parent-module/1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - /parse-github-repo-url/1.4.1: resolution: {integrity: sha1-nn2LslKmy2ukJZUGC3v23z28H1A=} dev: true @@ -4422,7 +4391,7 @@ packages: /path-is-network-drive/1.0.13: resolution: {integrity: sha512-Hg74mRN6mmXV+gTm3INjFK40ncAmC/Lo4qoQaSZ+GT3hZzlKdWQSqAjqyPeW0SvObP2W073WyYEBWY9d3wOm3A==} dependencies: - tslib: 2.3.1 + tslib: 2.4.0 dev: true /path-key/2.0.1: @@ -4442,7 +4411,7 @@ packages: /path-strip-sep/1.0.10: resolution: {integrity: sha512-JpCy+8LAJQQTO1bQsb/84s1g+/Stm3h39aOpPRBQ/paMUGVPPZChLTOTKHoaCkc/6sKuF7yVsnq5Pe1S6xQGcA==} dependencies: - tslib: 2.3.1 + tslib: 2.4.0 dev: true /path-type/1.1.0: @@ -4475,6 +4444,12 @@ packages: engines: {node: '>=8.6'} dev: true + /pidtree/0.5.0: + resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + /pify/2.3.0: resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} engines: {node: '>=0.10.0'} @@ -4516,12 +4491,6 @@ packages: find-up: 5.0.0 dev: true - /please-upgrade-node/3.2.0: - resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} - dependencies: - semver-compare: 1.0.0 - dev: true - /posix-character-classes/0.1.1: resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} engines: {node: '>=0.10.0'} @@ -4546,8 +4515,8 @@ packages: engines: {node: '>=4'} dev: true - /prettier/2.5.1: - resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} + /prettier/2.6.2: + resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -4771,11 +4740,6 @@ packages: resolve-from: 5.0.0 dev: true - /resolve-from/4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - /resolve-from/5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -4786,13 +4750,6 @@ packages: deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} - dependencies: - is-core-module: 2.8.1 - path-parse: 1.0.7 - dev: true - /resolve/1.22.0: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true @@ -4813,7 +4770,7 @@ packages: engines: {node: '>=8'} dependencies: onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 dev: true /ret/0.1.15: @@ -4837,56 +4794,56 @@ packages: glob: 7.2.0 dev: true - /rollup-plugin-dts/3.0.2_rollup@2.66.1+typescript@4.5.5: - resolution: {integrity: sha512-hswlsdWu/x7k5pXzaLP6OvKRKcx8Bzprksz9i9mUe72zvt8LvqAb/AZpzs6FkLgmyRaN8B6rUQOVtzA3yEt9Yw==} - engines: {node: '>=v12.22.1'} + /rollup-plugin-dts/4.2.1_s6zbpzdkhlvcqzhawas6jkergu: + resolution: {integrity: sha512-eaxQZNUJ5iQcxNGlpJ1CUgG4OSVqWjDZ3nNSWBIoGrpcote2aNphSe1RJOaSYkb8dwn3o+rYm1vvld/5z3EGSQ==} + engines: {node: '>=v12.22.11'} peerDependencies: - rollup: ^2.48.0 - typescript: ^4.2.4 + rollup: ^2.70 + typescript: ^4.6 dependencies: - magic-string: 0.25.7 - rollup: 2.66.1 - typescript: 4.5.5 + magic-string: 0.26.1 + rollup: 2.72.0 + typescript: 4.6.4 optionalDependencies: '@babel/code-frame': 7.16.7 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.66.1: + /rollup-plugin-terser/7.0.2_rollup@2.72.0: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 dependencies: '@babel/code-frame': 7.16.7 jest-worker: 26.6.2 - rollup: 2.66.1 + rollup: 2.72.0 serialize-javascript: 4.0.0 terser: 5.10.0 transitivePeerDependencies: - acorn dev: true - /rollup-plugin-typescript2/0.31.1_f8bf7ef16db68f21ce19b3da6f289bbf: - resolution: {integrity: sha512-sklqXuQwQX+stKi4kDfEkneVESPi3YM/2S899vfRdF9Yi40vcC50Oq4A4cSZJNXsAQE/UsBZl5fAOsBLziKmjw==} + /rollup-plugin-typescript2/0.31.2_gucgpcfkl2vuh2xx63prpab3bu: + resolution: {integrity: sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==} peerDependencies: rollup: '>=1.26.3' typescript: '>=2.4.0' dependencies: '@rollup/pluginutils': 4.1.2 - '@yarn-tool/resolve-package': 1.0.42_@types+node@17.0.12 + '@yarn-tool/resolve-package': 1.0.42_@types+node@17.0.31 find-cache-dir: 3.3.2 - fs-extra: 8.1.0 - resolve: 1.20.0 - rollup: 2.66.1 - tslib: 2.2.0 - typescript: 4.5.5 + fs-extra: 10.1.0 + resolve: 1.22.0 + rollup: 2.72.0 + tslib: 2.4.0 + typescript: 4.6.4 transitivePeerDependencies: - '@types/bluebird' - '@types/node' - ts-toolbelt dev: true - /rollup/2.66.1: - resolution: {integrity: sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w==} + /rollup/2.72.0: + resolution: {integrity: sha512-KqtR2YcO35/KKijg4nx4STO3569aqCUeGRkKWnJ6r+AvBBrVY9L4pmf4NHVrQr4mTOq6msbohflxr2kpihhaOA==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -4904,10 +4861,10 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs/7.5.2: - resolution: {integrity: sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==} + /rxjs/7.5.5: + resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: - tslib: 2.3.1 + tslib: 2.4.0 dev: true /safe-buffer/5.1.2: @@ -4952,20 +4909,11 @@ packages: xmlchars: 2.2.0 dev: true - /semver-compare/1.0.0: - resolution: {integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w=} - dev: true - /semver-regex/2.0.0: resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} engines: {node: '>=6'} dev: true - /semver-regex/3.1.3: - resolution: {integrity: sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==} - engines: {node: '>=8'} - dev: true - /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -5043,6 +4991,16 @@ packages: resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} dev: true + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /simple-git-hooks/2.7.0: + resolution: {integrity: sha512-nQe6ASMO9zn5/htIrU37xEIHGr9E6wikXelLbOeTcfsX2O++DHaVug7RSQoq+kO7DvZTH37WA5gW49hN9HTDmQ==} + hasBin: true + requiresBuild: true + dev: true + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -5070,6 +5028,14 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true + /slice-ansi/5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.1.0 + is-fullwidth-code-point: 4.0.0 + dev: true + /snapdragon-node/2.1.1: resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} engines: {node: '>=0.10.0'} @@ -5252,6 +5218,15 @@ packages: strip-ansi: 6.0.1 dev: true + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + /string_decoder/1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -5264,15 +5239,6 @@ packages: safe-buffer: 5.2.1 dev: true - /stringify-object/3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 - dev: true - /strip-ansi/3.0.1: resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} engines: {node: '>=0.10.0'} @@ -5287,6 +5253,13 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-ansi/7.0.1: + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + /strip-bom/2.0.0: resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=} engines: {node: '>=0.10.0'} @@ -5353,11 +5326,9 @@ packages: has-flag: 4.0.0 dev: true - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 + /supports-color/9.2.2: + resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} + engines: {node: '>=12'} dev: true /supports-hyperlinks/2.2.0: @@ -5532,7 +5503,7 @@ packages: engines: {node: '>=8'} dev: true - /ts-jest/26.5.6_jest@26.6.3+typescript@4.5.5: + /ts-jest/26.5.6_ip4jai7pxkumsngma2fb7ud2tm: resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} engines: {node: '>= 10'} hasBin: true @@ -5550,28 +5521,24 @@ packages: make-error: 1.3.6 mkdirp: 1.0.4 semver: 7.3.5 - typescript: 4.5.5 + typescript: 4.6.4 yargs-parser: 20.2.9 dev: true - /ts-type/2.1.4_@types+node@17.0.12: + /ts-type/2.1.4_@types+node@17.0.31: resolution: {integrity: sha512-wnajiiIMhn/RHJ1oPld95siKmMJrOgaT6+rMmC8vO1LORgDFEzKP2nBmEFM5b4XVe7Q0J5KcU9oRJFzju7UzrA==} peerDependencies: '@types/bluebird': '*' '@types/node': '*' ts-toolbelt: ^9.6.0 dependencies: - '@types/node': 17.0.12 - tslib: 2.3.1 + '@types/node': 17.0.31 + tslib: 2.4.0 typedarray-dts: 1.0.0 dev: true - /tslib/2.2.0: - resolution: {integrity: sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==} - dev: true - - /tslib/2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + /tslib/2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true /type-check/0.3.2: @@ -5621,8 +5588,8 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.5.5: - resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + /typescript/4.6.4: + resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -5655,6 +5622,11 @@ packages: engines: {node: '>= 4.0.0'} dev: true + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + /unset-value/1.0.0: resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} engines: {node: '>=0.10.0'} @@ -5663,15 +5635,15 @@ packages: isobject: 3.0.1 dev: true - /upath2/3.1.12_@types+node@17.0.12: + /upath2/3.1.12_@types+node@17.0.31: resolution: {integrity: sha512-yC3eZeCyCXFWjy7Nu4pgjLhXNYjuzuUmJiRgSSw6TJp8Emc+E4951HGPJf+bldFC5SL7oBLeNbtm1fGzXn2gxw==} peerDependencies: '@types/node': '*' dependencies: - '@types/node': 17.0.12 + '@types/node': 17.0.31 path-is-network-drive: 1.0.13 path-strip-sep: 1.0.10 - tslib: 2.3.1 + tslib: 2.4.0 dev: true /urix/0.1.0: @@ -5811,10 +5783,6 @@ packages: resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} dev: true - /which-pm-runs/1.0.0: - resolution: {integrity: sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=} - dev: true - /which/1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -5866,12 +5834,12 @@ packages: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 - signal-exit: 3.0.6 + signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 dev: true - /ws/7.5.6: - resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} + /ws/7.5.7: + resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 From 4ed04588676885cfbc1cbcdedfff96dd0025e5a0 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 6 May 2022 01:16:09 +0800 Subject: [PATCH 12/33] release v1.6.1 --- CHANGELOG.md | 10 ++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d74aa1f..c85c8a7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ + +## [1.6.1](https://github.com/vuejs/composition-api/compare/v1.6.0...v1.6.1) (2022-05-05) + + +### Bug Fixes + +* **inject:** allow default value to be undefined ([#930](https://github.com/vuejs/composition-api/issues/930)) ([17d3fc1](https://github.com/vuejs/composition-api/commit/17d3fc1)) + + + # [1.6.0](https://github.com/vuejs/composition-api/compare/v1.5.0...v1.6.0) (2022-04-27) diff --git a/README.md b/README.md index 796c633d..b2fa5eb9 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index 696a9d53..c8e658b5 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -40,7 +40,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index 2c3ed7be..44bc9a9e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.6.0", + "version": "1.6.1", "packageManager": "pnpm@7.0.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ From 2ddd57f6874d2e0ce220ea189ae6ef681729020e Mon Sep 17 00:00:00 2001 From: "X.Q. Chen" <31237954+brenner8023@users.noreply.github.com> Date: Fri, 6 May 2022 18:31:06 +0800 Subject: [PATCH 13/33] docs: update code demo and code annotation (#931) --- README.md | 2 +- README.zh-CN.md | 2 +- src/apis/effectScope.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b2fa5eb9..cb206535 100644 --- a/README.md +++ b/README.md @@ -347,7 +347,7 @@ export default { > Similarly, in Vue 2 you will need to call `del` to [ensure a key deletion triggers view updates](https://vuejs.org/v2/api/#Vue-delete) in reactive objects (similar to `Vue.delete` but for `reactive objects` created by the Composition API). In Vue 3 you can just delete them by calling `delete foo.bar`. ```ts -import { reactive, set } from '@vue/composition-api' +import { reactive, set, del } from '@vue/composition-api' const a = reactive({ foo: 1 diff --git a/README.zh-CN.md b/README.zh-CN.md index c8e658b5..a61cdcb3 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -187,7 +187,7 @@ b.list[1].count === 1 // true > ⚠️ 警告: `set` 和 `del` 并非 Vue 3 的一部分。由于 [Vue 2.x 响应式系统的限制](https://vuejs.org/v2/guide/reactivity.html#For-Objects),我们在插件中提供该 API 作为添加响应式属性的一个变通方案。在 Vue 3 中,你只需要直接为属性赋值即可。 ```ts -import { reactive, set } from '@vue/composition-api' +import { reactive, set, del } from '@vue/composition-api' const a = reactive({ foo: 1 diff --git a/src/apis/effectScope.ts b/src/apis/effectScope.ts index cde52c5c..89521ed1 100644 --- a/src/apis/effectScope.ts +++ b/src/apis/effectScope.ts @@ -84,7 +84,7 @@ export function recordEffectScope( scope.effects.push(effect) return } - // destory on parent component unmounted + // destroy on parent component unmounted const vm = getCurrentInstance()?.proxy vm && vm.$on('hook:destroyed', () => effect.stop()) } @@ -103,7 +103,7 @@ export function onScopeDispose(fn: () => void) { } else if (__DEV__) { warn( `onScopeDispose() is called when there is no active effect scope` + - ` to be associated with.` + ` to be associated with.` ) } } From fcee0382ee68170e7708346723b37f427e223397 Mon Sep 17 00:00:00 2001 From: ZHAO Jinxiang Date: Wed, 18 May 2022 17:20:55 +0800 Subject: [PATCH 14/33] feat(types): fix props JSDoc loss (#935) * feat(types): simplify `ExtractPropTypes` to avoid props JSDocs being removed * feat(types): avoid props JSDocs loss due to `default` option --- src/component/componentProps.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/component/componentProps.ts b/src/component/componentProps.ts index f66af446..7abf0d4b 100644 --- a/src/component/componentProps.ts +++ b/src/component/componentProps.ts @@ -69,11 +69,13 @@ type InferPropType = T extends null : ExtractCorrectPropType : T -export type ExtractPropTypes = O extends object - ? { [K in RequiredKeys]: InferPropType } & { - [K in OptionalKeys]?: InferPropType - } - : { [K in string]: any } +export type ExtractPropTypes = { + // use `keyof Pick>` instead of `RequiredKeys` to support IDE features + [K in keyof Pick>]: InferPropType +} & { + // use `keyof Pick>` instead of `OptionalKeys` to support IDE features + [K in keyof Pick>]?: InferPropType +} type DefaultKeys = { [K in keyof T]: T[K] extends @@ -93,5 +95,6 @@ type DefaultKeys = { // extract props which defined with default from prop options export type ExtractDefaultPropTypes = O extends object - ? { [K in DefaultKeys]: InferPropType } + ? // use `keyof Pick>` instead of `DefaultKeys` to support IDE features + { [K in keyof Pick>]: InferPropType } : {} From 032f2c75992043a02a61e05d5f1493d78738ae72 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 23 May 2022 19:39:50 +0800 Subject: [PATCH 15/33] release v1.6.2 --- CHANGELOG.md | 10 ++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c85c8a7a..ee91f8c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ + +## [1.6.2](https://github.com/vuejs/composition-api/compare/v1.6.1...v1.6.2) (2022-05-23) + + +### Features + +* **types:** fix props JSDoc loss ([#935](https://github.com/vuejs/composition-api/issues/935)) ([fcee038](https://github.com/vuejs/composition-api/commit/fcee038)) + + + ## [1.6.1](https://github.com/vuejs/composition-api/compare/v1.6.0...v1.6.1) (2022-05-05) diff --git a/README.md b/README.md index cb206535..c15a00d4 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index a61cdcb3..8cf1a117 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -40,7 +40,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index 44bc9a9e..c01a5bf6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.6.1", + "version": "1.6.2", "packageManager": "pnpm@7.0.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ From d167b9b41e74729337596b201690b2280d18cc93 Mon Sep 17 00:00:00 2001 From: lsdsjy Date: Fri, 24 Jun 2022 17:49:02 +0800 Subject: [PATCH 16/33] feat: support Vue3 style app-level provide (#945) --- src/apis/createApp.ts | 14 +++++++++++++- test/createApp.spec.ts | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/apis/createApp.ts b/src/apis/createApp.ts index 4c86dde9..8f3aa208 100644 --- a/src/apis/createApp.ts +++ b/src/apis/createApp.ts @@ -3,6 +3,7 @@ import { VueConstructor } from 'vue' import { Directive } from '../component/directives' import { getVueConstructor } from '../runtimeContext' import { warn } from '../utils' +import { InjectionKey } from './inject' // Has a generic to match Vue 3 API and be type compatible export interface App { @@ -12,6 +13,7 @@ export interface App { component: VueConstructor['component'] directive(name: string): Directive | undefined directive(name: string, directive: Directive): this + provide(key: InjectionKey | symbol | string, value: T): this mount: Vue['$mount'] unmount: Vue['$destroy'] } @@ -21,11 +23,17 @@ export function createApp(rootComponent: any, rootProps: any = undefined): App { let mountedVM: Vue | undefined = undefined + let provide: Record = {} + const app: App = { config: V.config, use: V.use.bind(V), mixin: V.mixin.bind(V), component: V.component.bind(V), + provide(key: InjectionKey | symbol | string, value: T) { + provide[key as any] = value + return this + }, directive(name: string, dir?: Directive | undefined): any { if (dir) { V.directive(name, dir as any) @@ -36,7 +44,11 @@ export function createApp(rootComponent: any, rootProps: any = undefined): App { }, mount: (el, hydrating) => { if (!mountedVM) { - mountedVM = new V({ propsData: rootProps, ...rootComponent }) + mountedVM = new V({ + propsData: rootProps, + ...rootComponent, + provide: { ...provide, ...rootComponent.provide }, + }) mountedVM.$mount(el, hydrating) return mountedVM } else { diff --git a/test/createApp.spec.ts b/test/createApp.spec.ts index 3c3419a8..097a52c9 100644 --- a/test/createApp.spec.ts +++ b/test/createApp.spec.ts @@ -62,4 +62,45 @@ describe('createApp', () => { await nextTick() expect(vm.$el.textContent).toBe('foobar') }) + + it('should work with provide', async () => { + const Foo = defineComponent({ + inject: ['msg'], + template: '

{{msg}}

', + }) + + const app = createApp( + defineComponent({ + template: '', + components: { Foo }, + }) + ) + app.provide('msg', 'foobar') + const vm = app.mount() + + await nextTick() + expect(vm.$el.textContent).toBe('foobar') + }) + + it("should respect root component's provide", async () => { + const Foo = defineComponent({ + inject: ['msg'], + template: '

{{msg}}

', + }) + + const app = createApp( + defineComponent({ + template: '', + provide: { + msg: 'root component', + }, + components: { Foo }, + }) + ) + app.provide('msg', 'application') + const vm = app.mount() + + await nextTick() + expect(vm.$el.textContent).toBe('root component') + }) }) From 14a014ef8a50d31f232e40be46ad8bd5de83efaa Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 24 Jun 2022 17:51:57 +0800 Subject: [PATCH 17/33] release v1.6.3 --- CHANGELOG.md | 10 ++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee91f8c5..7a1ce9dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ + +## [1.6.3](https://github.com/vuejs/composition-api/compare/v1.6.2...v1.6.3) (2022-06-24) + + +### Features + +* support Vue3 style app-level provide ([#945](https://github.com/vuejs/composition-api/issues/945)) ([d167b9b](https://github.com/vuejs/composition-api/commit/d167b9b)) + + + ## [1.6.2](https://github.com/vuejs/composition-api/compare/v1.6.1...v1.6.2) (2022-05-23) diff --git a/README.md b/README.md index c15a00d4..fc5e0066 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index 8cf1a117..8345d604 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -40,7 +40,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index c01a5bf6..740c80c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.6.2", + "version": "1.6.3", "packageManager": "pnpm@7.0.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ From 1efdcffd89ea4a28508ac750e21a64b8eef8f232 Mon Sep 17 00:00:00 2001 From: Stark YE <695549485@qq.com> Date: Sat, 25 Jun 2022 19:34:41 +0800 Subject: [PATCH 18/33] docs: update and supplement documentation (#946) --- README.md | 1 + README.zh-CN.md | 81 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 59 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index fc5e0066..053632bf 100644 --- a/README.md +++ b/README.md @@ -403,6 +403,7 @@ app2.component('Bar', Bar) // equivalent to Vue.use('Bar', Bar) ### `createElement` / `h` +
⚠️ createElement / h workaround diff --git a/README.zh-CN.md b/README.zh-CN.md index 8345d604..b9201fc6 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -179,29 +179,6 @@ b.list[1].count === 1 // true
-
- -⚠️ setdel 添加与刪除响应式属性变通方案 - - -> ⚠️ 警告: `set` 和 `del` 并非 Vue 3 的一部分。由于 [Vue 2.x 响应式系统的限制](https://vuejs.org/v2/guide/reactivity.html#For-Objects),我们在插件中提供该 API 作为添加响应式属性的一个变通方案。在 Vue 3 中,你只需要直接为属性赋值即可。 - -```ts -import { reactive, set, del } from '@vue/composition-api' - -const a = reactive({ - foo: 1 -}) - -// 添加新的响应式属性 -set(a, 'bar', 1) - -// 刪除属性并触发响应式更新 -del(a, 'bar') -``` - -
- ### 模板 Refs
@@ -366,6 +343,32 @@ declare module '@vue/composition-api' {
+
+ +⚠️ setdel 添加与刪除响应式属性变通方案 + + +> ⚠️ 警告: `set` 和 `del` 并非 Vue 3 的一部分。由于 [Vue 2.x 响应式系统的限制](https://vuejs.org/v2/guide/reactivity.html#For-Objects), 我们在这里提供它们作为一种变通方案。 +> 在 Vue 2中,你将需要调用`set` 去追踪`object`上新的属性 (与`Vue.set`类似,但用于由 Composition API 创建的`reactive objects`)。在 Vue 3 中,你只需要像对待普通对象一样直接为属性赋值即可。 +> +> 同样地, 在 Vue 2 中你将需要调用`del`去 [确保响应式对象中属性的删除将触发视图更新](https://vuejs.org/v2/api/#Vue-delete) (与`Vue.delete`类似,但用于由 Composition API 创建的`reactive objects`)。在Vue3中,你只需要通过调用 `delete foo.bar` 来删除它们。 + +```ts +import { reactive, set, del } from '@vue/composition-api' + +const a = reactive({ + foo: 1 +}) + +// 添加新的响应式属性 +set(a, 'bar', 1) + +// 刪除属性并触发响应式更新 +del(a, 'bar') +``` + +
+ ### Watch
@@ -408,6 +411,38 @@ app2.component('Bar', Bar) // 相当于 Vue.use('Bar', Bar)
+### `createElement` / `h` + +
+ +⚠️ createElement / h 变通方案 + + +
+ +在 Vue2中 `createElement` / `h` 只能通过 `render()` 函数访问。要在 `render()`之外使用它, 你可以显式地给它绑定一个组件实例。 + +> :warning: **警告**: 此功能是作为 Vue 2 的变通方法提供的,它不是 Vue 3 API 的一部分。 + +```jsx +import { h as _h } from '@vue/composition-api' + +export default { + setup() { + const vm = getCurrentInstance() + const h = _h.bind(vm) + + return () => + h('div', { + ref: 'root', + }) + }, +} +``` + +
+ + ### `shallowReadonly`
From 6117f8153a8a6a7be358c0c7afea6fe6e60f61ae Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 1 Jul 2022 21:33:24 +0800 Subject: [PATCH 19/33] fix: add note about Vue 2.7 --- README.md | 3 +++ README.zh-CN.md | 3 +++ package.json | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 053632bf..5388b3ee 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,9 @@ Vue 2 plugin for **Composition API** English | [中文](./README.zh-CN.md) ・ [**Composition API Docs**](https://v3.vuejs.org/guide/composition-api-introduction.html) + +> ⚠️ With the release of [Vue 2.7](https://blog.vuejs.org/posts/vue-2-7-naruto.html), which has Composition API built-in, **you no longer need this plugin**. Thereby this plugin has entered maintenance mode and will only support Vue 2.6 or earlier. This project will reach End of Life by the end of 2022. + ## Installation ### NPM diff --git a/README.zh-CN.md b/README.zh-CN.md index b9201fc6..b76800f0 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -7,6 +7,9 @@ [English](./README.md) | 中文 ・ [**组合式 API 文档**](https://v3.cn.vuejs.org/guide/composition-api-introduction.html) + +> ⚠️ 随着 [Vue 2.7](https://blog.vuejs.org/posts/vue-2-7-naruto.html)的发布,它内置了Composition API,**你不再需要这个插件了**。因此,这个插件已经进入维护模式,将只支持Vue 2.6 或更早的版本。本项目将在 2022 年底达到生命终点(EOL)。 + ## 安装 ### NPM diff --git a/package.json b/package.json index 740c80c3..e6f21b6c 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ }, "homepage": "https://github.com/vuejs/composition-api#readme", "peerDependencies": { - "vue": ">= 2.5 < 3" + "vue": ">= 2.5 < 2.7" }, "devDependencies": { "@rollup/plugin-node-resolve": "^13.3.0", From 1f02fa8e9e20d40b6d5c4c184f9e8120adb0f244 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 1 Jul 2022 21:33:51 +0800 Subject: [PATCH 20/33] release v1.7.0 --- CHANGELOG.md | 10 ++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a1ce9dc..68b86a84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ + +# [1.7.0](https://github.com/vuejs/composition-api/compare/v1.6.3...v1.7.0) (2022-07-01) + + +### Bug Fixes + +* add note about Vue 2.7 ([6117f81](https://github.com/vuejs/composition-api/commit/6117f81)) + + + ## [1.6.3](https://github.com/vuejs/composition-api/compare/v1.6.2...v1.6.3) (2022-06-24) diff --git a/README.md b/README.md index 5388b3ee..79908ab5 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index b76800f0..95fe59e5 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -43,7 +43,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index e6f21b6c..d245b2a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.6.3", + "version": "1.7.0", "packageManager": "pnpm@7.0.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ From 961a52dc1db88f9ee1b4e87ae8f629836e54bf73 Mon Sep 17 00:00:00 2001 From: Cheng-DX <68094066+Cheng-DX@users.noreply.github.com> Date: Mon, 4 Jul 2022 13:15:18 +0800 Subject: [PATCH 21/33] docs: better chinese readme about template ref (#948) --- README.zh-CN.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.zh-CN.md b/README.zh-CN.md index 95fe59e5..e8353db2 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -186,7 +186,7 @@ b.list[1].count === 1 // true
-✅ 字符串 ref && 从 setup() 返回 ref +✅ 在`模板`中使用字符串 ref && 从 setup() 返回 ref ```html @@ -216,7 +216,7 @@ b.list[1].count === 1 // true
-✅ 字符串 ref && 从 setup() 返回 ref && 渲染函数 / JSX +✅ 在render()中使用字符串 ref && 从 setup() 返回 ref ```jsx @@ -244,7 +244,7 @@ export default {
-❌ 函数 ref +❌ 函数式 ref ```html @@ -269,7 +269,7 @@ export default {
-❌ 在 setup() 中的渲染函数 / JSX +❌ 在 setup() 中返回的`渲染函数 / JSX` ```jsx From c3f4e91f30af6672b40d6b53ff98f5c487f6a6b2 Mon Sep 17 00:00:00 2001 From: Pavel Ladygin Date: Wed, 10 Aug 2022 07:59:59 +0300 Subject: [PATCH 22/33] fix(types): add `Date` to `BaseTypes` (#957) --- src/reactivity/ref.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reactivity/ref.ts b/src/reactivity/ref.ts index 4da6a55f..c035b445 100644 --- a/src/reactivity/ref.ts +++ b/src/reactivity/ref.ts @@ -34,7 +34,7 @@ type WeakCollections = WeakMap | WeakSet // corner case when use narrows type // Ex. type RelativePath = string & { __brand: unknown } // RelativePath extends object -> true -type BaseTypes = string | number | boolean | Node | Window +type BaseTypes = string | number | boolean | Node | Window | Date export type ShallowUnwrapRef = { [K in keyof T]: T[K] extends Ref ? V : T[K] From 7e7114251d5cad37957d1aa3caa14c971f08af28 Mon Sep 17 00:00:00 2001 From: "X.Q. Chen" <31237954+brenner8023@users.noreply.github.com> Date: Fri, 19 Aug 2022 00:51:17 +0800 Subject: [PATCH 23/33] refactor: switch jest to vitest (#962) --- package.json | 29 +- pnpm-lock.yaml | 3249 ++++------------- test/apis/computed.spec.js | 268 +- test/apis/inject.spec.js | 106 +- test/apis/lifecycle.spec.js | 318 +- test/apis/state.spec.js | 198 +- test/apis/useCssModule.spec.js | 35 +- test/apis/warn.spec.js | 8 +- test/apis/watch.spec.js | 1240 ++++--- test/helpers/mockWarn.ts | 16 +- ...{wait-for-update.js => wait-for-update.ts} | 10 +- test/setup.spec.js | 304 +- test/setupContext.spec.ts | 6 +- test/setupTest.js | 9 - test/ssr/serverPrefetch.spec.js | 12 +- test/ssr/ssrReactive.spec.ts | 59 +- test/templateRefs.spec.js | 131 +- test/use.spec.ts | 2 +- test/v3/reactivity/computed.spec.ts | 10 +- test/v3/reactivity/del.spec.ts | 10 +- test/v3/reactivity/effectScope.spec.ts | 10 +- test/v3/reactivity/reactive.spec.ts | 4 +- test/v3/reactivity/readonly.spec.ts | 4 +- test/v3/reactivity/set.spec.ts | 6 +- .../v3/runtime-core/apiAsyncComponent.spec.ts | 22 +- test/v3/runtime-core/apiLifecycle.spec.ts | 18 +- test/v3/runtime-core/apiWatch.spec.ts | 24 +- test/v3/runtime-core/h.spec.ts | 2 +- test/vitest.setup.js | 14 + tsconfig.json | 3 +- vitest.config.ts | 16 + 31 files changed, 2259 insertions(+), 3884 deletions(-) rename test/helpers/{wait-for-update.js => wait-for-update.ts} (88%) delete mode 100644 test/setupTest.js create mode 100644 test/vitest.setup.js create mode 100644 vitest.config.ts diff --git a/package.json b/package.json index d245b2a4..8981aa07 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "start": "rollup -c -w", "build": "rimraf dist && rollup -c", "lint": "prettier --write --parser typescript \"{src,test,test-dts}/**/*.ts?(x)\" && prettier --write \"{src,test}/**/*.js\"", - "test": "cross-env NODE_ENV=test jest", + "test": "vitest", "test:all": "pnpm run test && pnpm run test:dts", "test:dts": "tsc -p ./test-dts/tsconfig.json && tsc -p ./test-dts/tsconfig.vue3.json && pnpm run build && tsc -p ./test-dts/tsconfig.build.json", "update-readme": "node ./scripts/update-readme.js", @@ -56,13 +56,11 @@ "devDependencies": { "@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-replace": "^4.0.0", - "@types/jest": "^26.0.24", "@types/node": "^17.0.31", "bumpp": "^7.1.1", "conventional-changelog-cli": "^2.2.2", "conventional-github-releaser": "^3.1.5", - "cross-env": "^7.0.3", - "jest": "^26.6.3", + "jsdom": "^20.0.0", "lint-staged": "^12.4.1", "prettier": "^2.6.2", "rimraf": "^3.0.2", @@ -71,9 +69,9 @@ "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.31.2", "simple-git-hooks": "^2.7.0", - "ts-jest": "^26.5.6", "tslib": "^2.4.0", "typescript": "^4.6.4", + "vitest": "^0.22.0", "vue": "^2.6.14", "vue-router": "^3.5.3", "vue-server-renderer": "^2.6.14", @@ -90,27 +88,6 @@ "prettier --parser=typescript --write" ] }, - "jest": { - "verbose": true, - "globals": { - "__DEV__": true, - "__VERSION__": "0.0.0" - }, - "setupFiles": [ - "/test/setupTest.js" - ], - "setupFilesAfterEnv": [ - "/test/helpers/wait-for-update.js" - ], - "moduleFileExtensions": [ - "ts", - "js" - ], - "testMatch": [ - "/test/**/*.spec.{js,ts}" - ], - "preset": "ts-jest" - }, "prettier": { "semi": false, "singleQuote": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ae6512cd..67e01ba3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,13 +3,11 @@ lockfileVersion: 5.4 specifiers: '@rollup/plugin-node-resolve': ^13.3.0 '@rollup/plugin-replace': ^4.0.0 - '@types/jest': ^26.0.24 '@types/node': ^17.0.31 bumpp: ^7.1.1 conventional-changelog-cli: ^2.2.2 conventional-github-releaser: ^3.1.5 - cross-env: ^7.0.3 - jest: ^26.6.3 + jsdom: ^20.0.0 lint-staged: ^12.4.1 prettier: ^2.6.2 rimraf: ^3.0.2 @@ -18,9 +16,9 @@ specifiers: rollup-plugin-terser: ^7.0.2 rollup-plugin-typescript2: ^0.31.2 simple-git-hooks: ^2.7.0 - ts-jest: ^26.5.6 tslib: ^2.4.0 typescript: ^4.6.4 + vitest: ^0.22.0 vue: ^2.6.14 vue-router: ^3.5.3 vue-server-renderer: ^2.6.14 @@ -29,13 +27,11 @@ specifiers: devDependencies: '@rollup/plugin-node-resolve': 13.3.0_rollup@2.72.0 '@rollup/plugin-replace': 4.0.0_rollup@2.72.0 - '@types/jest': 26.0.24 '@types/node': 17.0.31 bumpp: 7.1.1 conventional-changelog-cli: 2.2.2 conventional-github-releaser: 3.1.5 - cross-env: 7.0.3 - jest: 26.6.3 + jsdom: 20.0.0 lint-staged: 12.4.1 prettier: 2.6.2 rimraf: 3.0.2 @@ -44,9 +40,9 @@ devDependencies: rollup-plugin-terser: 7.0.2_rollup@2.72.0 rollup-plugin-typescript2: 0.31.2_gucgpcfkl2vuh2xx63prpab3bu simple-git-hooks: 2.7.0 - ts-jest: 26.5.6_ip4jai7pxkumsngma2fb7ud2tm tslib: 2.4.0 typescript: 4.6.4 + vitest: 0.22.0_jsdom@20.0.0 vue: 2.6.14 vue-router: 3.5.3 vue-server-renderer: 2.6.14 @@ -54,6 +50,10 @@ devDependencies: packages: + /@antfu/utils/0.5.2: + resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + dev: true + /@babel/code-frame/7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} @@ -61,149 +61,11 @@ packages: '@babel/highlight': 7.16.10 dev: true - /@babel/compat-data/7.16.8: - resolution: {integrity: sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/core/7.16.12: - resolution: {integrity: sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.16.8 - '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.16.12 - '@babel/helper-module-transforms': 7.16.7 - '@babel/helpers': 7.16.7 - '@babel/parser': 7.16.12 - '@babel/template': 7.16.7 - '@babel/traverse': 7.16.10 - '@babel/types': 7.16.8 - convert-source-map: 1.8.0 - debug: 4.3.3 - gensync: 1.0.0-beta.2 - json5: 2.2.0 - semver: 6.3.0 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/generator/7.16.8: - resolution: {integrity: sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - jsesc: 2.5.2 - source-map: 0.5.7 - dev: true - - /@babel/helper-compilation-targets/7.16.7_@babel+core@7.16.12: - resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.16.8 - '@babel/core': 7.16.12 - '@babel/helper-validator-option': 7.16.7 - browserslist: 4.19.1 - semver: 6.3.0 - dev: true - - /@babel/helper-environment-visitor/7.16.7: - resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-function-name/7.16.7: - resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-get-function-arity': 7.16.7 - '@babel/template': 7.16.7 - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-get-function-arity/7.16.7: - resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-hoist-variables/7.16.7: - resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-module-imports/7.16.7: - resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-module-transforms/7.16.7: - resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-module-imports': 7.16.7 - '@babel/helper-simple-access': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/helper-validator-identifier': 7.16.7 - '@babel/template': 7.16.7 - '@babel/traverse': 7.16.10 - '@babel/types': 7.16.8 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-plugin-utils/7.16.7: - resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-simple-access/7.16.7: - resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@babel/helper-split-export-declaration/7.16.7: - resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.8 - dev: true - /@babel/helper-validator-identifier/7.16.7: resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option/7.16.7: - resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helpers/7.16.7: - resolution: {integrity: sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.16.7 - '@babel/traverse': 7.16.10 - '@babel/types': 7.16.8 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/highlight/7.16.10: resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} engines: {node: '>=6.9.0'} @@ -219,371 +81,20 @@ packages: hasBin: true dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.12: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.16.12: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.16.12: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.12: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.16.12: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.16.12: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.16.12: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.16.12: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.16.12: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.16.12: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.16.12: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.16.12: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.16.7 - dev: true - - /@babel/template/7.16.7: - resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.7 - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - dev: true - - /@babel/traverse/7.16.10: - resolution: {integrity: sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.16.8 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.16.7 - '@babel/helper-hoist-variables': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - debug: 4.3.3 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/types/7.16.8: - resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.16.7 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage/0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@cnakazawa/watch/1.0.4: - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true - dependencies: - exec-sh: 0.3.6 - minimist: 1.2.5 + /@esbuild/linux-loong64/0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true dev: true + optional: true /@hutson/parse-repository-url/3.0.2: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} dev: true - /@istanbuljs/load-nyc-config/1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - dev: true - - /@istanbuljs/schema/0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/console/26.6.2: - resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - chalk: 4.1.2 - jest-message-util: 26.6.2 - jest-util: 26.6.2 - slash: 3.0.0 - dev: true - - /@jest/core/26.6.3: - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.9 - jest-changed-files: 26.6.2 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 - micromatch: 4.0.4 - p-each-series: 2.2.0 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/environment/26.6.2: - resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - jest-mock: 26.6.2 - dev: true - - /@jest/fake-timers/26.6.2: - resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@sinonjs/fake-timers': 6.0.1 - '@types/node': 17.0.31 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-util: 26.6.2 - dev: true - - /@jest/globals/26.6.2: - resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/environment': 26.6.2 - '@jest/types': 26.6.2 - expect: 26.6.2 - dev: true - - /@jest/reporters/26.6.2: - resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.0 - graceful-fs: 4.2.9 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.3 - jest-haste-map: 26.6.2 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - slash: 3.0.0 - source-map: 0.6.1 - string-length: 4.0.2 - terminal-link: 2.1.1 - v8-to-istanbul: 7.1.2 - optionalDependencies: - node-notifier: 8.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/source-map/26.6.2: - resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} - engines: {node: '>= 10.14.2'} - dependencies: - callsites: 3.1.0 - graceful-fs: 4.2.9 - source-map: 0.6.1 - dev: true - - /@jest/test-result/26.6.2: - resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/types': 26.6.2 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-sequencer/26.6.3: - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.9 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/transform/26.6.2: - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/core': 7.16.12 - '@jest/types': 26.6.2 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.8.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.9 - jest-haste-map: 26.6.2 - jest-regex-util: 26.0.0 - jest-util: 26.6.2 - micromatch: 4.0.4 - pirates: 4.0.5 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/types/26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 17.0.31 - '@types/yargs': 15.0.14 - chalk: 4.1.2 - dev: true - /@jsdevtools/ez-spawn/3.0.4: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} @@ -665,21 +176,9 @@ packages: engines: {node: '>=4'} dev: true - /@sinonjs/commons/1.8.3: - resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers/6.0.1: - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} - dependencies: - '@sinonjs/commons': 1.8.3 - dev: true - - /@tootallnate/once/1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} + /@tootallnate/once/2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} dev: true /@ts-type/package-dts/1.0.58_@types+node@17.0.31: @@ -694,84 +193,32 @@ packages: ts-type: 2.1.4_@types+node@17.0.31 dev: true - /@types/babel__core/7.1.18: - resolution: {integrity: sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==} - dependencies: - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.14.2 - dev: true - - /@types/babel__generator/7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.16.8 - dev: true - - /@types/babel__template/7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/chai-subset/1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: - '@babel/parser': 7.16.12 - '@babel/types': 7.16.8 + '@types/chai': 4.3.3 dev: true - /@types/babel__traverse/7.14.2: - resolution: {integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==} - dependencies: - '@babel/types': 7.16.8 + /@types/chai/4.3.3: + resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==} dev: true /@types/estree/0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/graceful-fs/4.1.5: - resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} - dependencies: - '@types/node': 17.0.31 + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/istanbul-lib-coverage/2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true - - /@types/istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - - /@types/istanbul-reports/3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - - /@types/jest/26.0.24: - resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} - dependencies: - jest-diff: 26.6.2 - pretty-format: 26.6.2 - dev: true - - /@types/minimist/1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true - - /@types/node/17.0.31: - resolution: {integrity: sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==} + /@types/node/17.0.31: + resolution: {integrity: sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==} dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/prettier/2.4.3: - resolution: {integrity: sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==} - dev: true - /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: @@ -782,20 +229,6 @@ packages: resolution: {integrity: sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==} dev: true - /@types/stack-utils/2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - - /@types/yargs-parser/20.2.1: - resolution: {integrity: sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==} - dev: true - - /@types/yargs/15.0.14: - resolution: {integrity: sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==} - dependencies: - '@types/yargs-parser': 20.2.1 - dev: true - /@vue/compiler-core/3.2.21: resolution: {integrity: sha512-NhhiQZNG71KNq1h5pMW/fAXdTF7lJRaSI7LDm2edhHXVz1ROMICo8SreUmQnSf4Fet0UPBVqJ988eF4+936iDQ==} dependencies: @@ -823,7 +256,7 @@ packages: '@vue/shared': 3.2.21 estree-walker: 2.0.2 magic-string: 0.25.7 - postcss: 8.4.5 + postcss: 8.4.16 source-map: 0.6.1 dev: true @@ -924,8 +357,8 @@ packages: hasBin: true dev: true - /acorn/8.7.1: - resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} + /acorn/8.8.0: + resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -938,7 +371,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.3 + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -959,7 +392,7 @@ packages: dev: true /ansi-regex/2.1.1: - resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=} + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} dev: true @@ -997,42 +430,6 @@ packages: engines: {node: '>=12'} dev: true - /anymatch/2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - dev: true - - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /arr-diff/4.0.0: - resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=} - engines: {node: '>=0.10.0'} - dev: true - - /arr-flatten/1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-union/3.1.0: - resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=} - engines: {node: '>=0.10.0'} - dev: true - /array-back/3.1.0: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} engines: {node: '>=6'} @@ -1052,19 +449,13 @@ packages: engines: {node: '>=8'} dev: true - /array-unique/0.3.2: - resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=} - engines: {node: '>=0.10.0'} - dev: true - /arrify/1.0.1: resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} engines: {node: '>=0.10.0'} dev: true - /assign-symbols/1.0.0: - resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} - engines: {node: '>=0.10.0'} + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /astral-regex/2.0.0: @@ -1073,105 +464,13 @@ packages: dev: true /asynckit/0.4.0: - resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} - dev: true - - /atob/2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - - /babel-jest/26.6.3_@babel+core@7.16.12: - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.12 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/babel__core': 7.1.18 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 26.6.2_@babel+core@7.16.12 - chalk: 4.1.2 - graceful-fs: 4.2.9 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-istanbul/6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.16.7 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.1.0 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-jest-hoist/26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/template': 7.16.7 - '@babel/types': 7.16.8 - '@types/babel__core': 7.1.18 - '@types/babel__traverse': 7.14.2 - dev: true - - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.16.12: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.12 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.12 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.16.12 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.16.12 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.12 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.12 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.12 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.12 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.16.12 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.16.12 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.12 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.12 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.12 - dev: true - - /babel-preset-jest/26.6.2_@babel+core@7.16.12: - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.12 - babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.12 + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /base/0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -1179,22 +478,6 @@ packages: concat-map: 0.0.1 dev: true - /braces/2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - dev: true - /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -1206,31 +489,6 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist/4.19.1: - resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001303 - electron-to-chromium: 1.4.54 - escalade: 3.1.1 - node-releases: 2.0.1 - picocolors: 1.0.0 - dev: true - - /bs-logger/0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - - /bser/2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - dependencies: - node-int64: 0.4.0 - dev: true - /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true @@ -1253,19 +511,21 @@ packages: semver: 7.3.5 dev: true - /cache-base/1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} + /c12/0.2.9: + resolution: {integrity: sha512-6jYdexgAKr+3kYoTmvC5eDtDHUg7GmFQSdeQqZzAKiPlFAN1heGUoXDbAYYwUCfefZy+WgVJbmAej5TTQpp3jA==} dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 + defu: 6.1.0 + dotenv: 16.0.1 + gittar: 0.1.1 + jiti: 1.14.0 + mlly: 0.5.12 + pathe: 0.3.4 + rc9: 1.2.2 + dev: true + + /cac/6.7.12: + resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==} + engines: {node: '>=8'} dev: true /cacheable-request/2.1.4: @@ -1284,11 +544,6 @@ packages: resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=} dev: true - /callsites/3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - /camelcase-keys/2.1.0: resolution: {integrity: sha1-MIvur/3ygRkFHvodkyITyRuPkuc=} engines: {node: '>=0.10.0'} @@ -1330,20 +585,17 @@ packages: engines: {node: '>=6'} dev: true - /camelcase/6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - - /caniuse-lite/1.0.30001303: - resolution: {integrity: sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==} - dev: true - - /capture-exit/2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} + /chai/4.3.6: + resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} + engines: {node: '>=4'} dependencies: - rsvp: 4.8.5 + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 3.0.1 + get-func-name: 2.0.0 + loupe: 2.3.4 + pathval: 1.1.1 + type-detect: 4.0.8 dev: true /chalk/1.1.3: @@ -1374,27 +626,37 @@ packages: supports-color: 7.2.0 dev: true - /char-regex/1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + /changelogen/0.1.1: + resolution: {integrity: sha512-LBbyAPmqpJ3sm/soYWZ+z8FDACaGB9eY8O2villawSxRDv83kve25Kje54FkiN6YrPiQaW2ehz9owKY+YzHTWw==} + hasBin: true + dependencies: + c12: 0.2.9 + consola: 2.15.3 + execa: 6.1.0 + mri: 1.2.0 + scule: 0.2.1 dev: true - /ci-info/2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + /changelogithub/0.6.6: + resolution: {integrity: sha512-9STm+siwI3pvigi0UcuI5l1RGkilg8Eh7nE6LiGcOBrMnrxW5wt+To+HNPMnmPLL0L9KVVVMll7xNykd0UwQIg==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + '@antfu/utils': 0.5.2 + c12: 0.2.9 + cac: 6.7.12 + changelogen: 0.1.1 + execa: 6.1.0 + kolorist: 1.5.1 + ohmyfetch: 0.4.18 dev: true - /cjs-module-lexer/0.6.0: - resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} + /check-error/1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} dev: true - /class-utils/0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 + /chownr/1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: true /clean-stack/2.2.0: @@ -1425,14 +687,6 @@ packages: string-width: 5.1.2 dev: true - /cliui/6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: true - /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -1447,23 +701,6 @@ packages: mimic-response: 1.0.1 dev: true - /co/4.6.0: - resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - - /collect-v8-coverage/1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true - - /collection-visit/1.0.0: - resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - /color-convert/1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -1478,7 +715,7 @@ packages: dev: true /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true /color-name/1.1.4: @@ -1533,14 +770,14 @@ packages: dot-prop: 5.3.0 dev: true - /component-emitter/1.3.0: - resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} - dev: true - /concat-map/0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true + /consola/2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + /conventional-changelog-angular/1.6.6: resolution: {integrity: sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==} dependencies: @@ -1790,40 +1027,10 @@ packages: through2: 2.0.5 dev: true - /convert-source-map/1.8.0: - resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} - dependencies: - safe-buffer: 5.1.2 - dev: true - - /copy-descriptor/0.1.1: - resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} - engines: {node: '>=0.10.0'} - dev: true - /core-util-is/1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cross-env/7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - dependencies: - cross-spawn: 7.0.3 - dev: true - - /cross-spawn/6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1837,8 +1044,8 @@ packages: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true - /cssom/0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + /cssom/0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} dev: true /cssstyle/2.3.0: @@ -1871,32 +1078,26 @@ packages: engines: {node: '>=8'} dev: true - /data-urls/2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} + /data-urls/3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} dependencies: abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 dev: true /dateformat/3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - dependencies: - ms: 2.0.0 - dev: true - /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} dependencies: ms: 2.1.3 dev: true - /debug/4.3.3: + /debug/4.3.3_supports-color@9.2.2: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: @@ -1906,10 +1107,11 @@ packages: optional: true dependencies: ms: 2.1.2 + supports-color: 9.2.2 dev: true - /debug/4.3.3_supports-color@9.2.2: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1918,7 +1120,6 @@ packages: optional: true dependencies: ms: 2.1.2 - supports-color: 9.2.2 dev: true /decamelize-keys/1.1.0: @@ -1934,8 +1135,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /decimal.js/10.3.1: - resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} + /decimal.js/10.4.0: + resolution: {integrity: sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg==} dev: true /decode-uri-component/0.2.0: @@ -1950,6 +1151,13 @@ packages: mimic-response: 1.0.1 dev: true + /deep-eql/3.0.1: + resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} + engines: {node: '>=0.12'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -1959,41 +1167,17 @@ packages: engines: {node: '>=0.10.0'} dev: true - /define-property/0.2.5: - resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true - - /define-property/1.0.0: - resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - dev: true - - /define-property/2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 + /defu/6.1.0: + resolution: {integrity: sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==} dev: true /delayed-stream/1.0.0: - resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true - /detect-newline/3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - - /diff-sequences/26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} + /destr/1.1.1: + resolution: {integrity: sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==} dev: true /dir-glob/3.0.1: @@ -2003,11 +1187,11 @@ packages: path-type: 4.0.0 dev: true - /domexception/2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} + /domexception/4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} dependencies: - webidl-conversions: 5.0.0 + webidl-conversions: 7.0.0 dev: true /dot-prop/3.0.0: @@ -2024,6 +1208,11 @@ packages: is-obj: 2.0.0 dev: true + /dotenv/16.0.1: + resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} + engines: {node: '>=12'} + dev: true + /duplexer3/0.1.4: resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} dev: true @@ -2032,15 +1221,6 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium/1.4.54: - resolution: {integrity: sha512-jRAoneRdSxnpRHO0ANpnEUtQHXxlgfVjrLOnQSisw1ryjXJXvS0pJaR/v2B7S++/tRjgEDp4Sjn5nmgb6uTySw==} - dev: true - - /emittery/0.7.2: - resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} - engines: {node: '>=10'} - dev: true - /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -2049,10 +1229,9 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /end-of-stream/1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 + /entities/4.3.1: + resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} + engines: {node: '>=0.12'} dev: true /error-ex/1.3.2: @@ -2061,88 +1240,260 @@ packages: is-arrayish: 0.2.1 dev: true - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + /esbuild-android-64/0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true dev: true + optional: true - /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} - engines: {node: '>=0.8.0'} + /esbuild-android-arm64/0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /escape-string-regexp/2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + /esbuild-darwin-64/0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /escodegen/2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} - hasBin: true - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 + /esbuild-darwin-arm64/0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + /esbuild-freebsd-64/0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /estraverse/5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + /esbuild-freebsd-arm64/0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /estree-walker/1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + /esbuild-linux-32/0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true dev: true + optional: true - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + /esbuild-linux-64/0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /esutils/2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + /esbuild-linux-arm/0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /exec-sh/0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} + /esbuild-linux-arm64/0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /execa/1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + /esbuild-linux-mips64le/0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 dev: true - /execa/4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} + /escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + engines: {node: '>=0.8.0'} + dev: true + + /escodegen/2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} + hasBin: true dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} dev: true /execa/5.1.1: @@ -2160,63 +1511,19 @@ packages: strip-final-newline: 2.0.0 dev: true - /exit/0.1.2: - resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} - engines: {node: '>= 0.8.0'} - dev: true - - /expand-brackets/2.1.4: - resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - dev: true - - /expect/26.6.2: - resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - ansi-styles: 4.3.0 - jest-get-type: 26.3.0 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - dev: true - - /extend-shallow/2.0.1: - resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow/3.0.2: - resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true - - /extglob/2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} + /execa/6.1.0: + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 3.0.1 + 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 dev: true /fast-glob/3.2.11: @@ -2230,12 +1537,8 @@ packages: micromatch: 4.0.4 dev: true - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - /fast-levenshtein/2.0.6: - resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fastq/1.13.0: @@ -2244,22 +1547,6 @@ packages: reusify: 1.0.4 dev: true - /fb-watchman/2.0.1: - resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} - dependencies: - bser: 2.1.1 - dev: true - - /fill-range/4.0.0: - resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: true - /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -2314,13 +1601,13 @@ packages: path-exists: 4.0.0 dev: true - /for-in/1.0.2: - resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} - engines: {node: '>=0.10.0'} + /flat/5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true dev: true - /form-data/3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 @@ -2328,13 +1615,6 @@ packages: mime-types: 2.1.35 dev: true - /fragment-cache/0.2.1: - resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true - /from2/2.3.0: resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} dependencies: @@ -2351,6 +1631,12 @@ packages: universalify: 2.0.0 dev: true + /fs-minipass/1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + dependencies: + minipass: 2.9.0 + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true @@ -2367,19 +1653,13 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true - /gensync/1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true - /get-caller-file/2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-package-type/0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + /get-func-name/2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} dev: true /get-pkg-repo/1.4.0: @@ -2414,30 +1694,11 @@ packages: engines: {node: '>=4'} dev: true - /get-stream/4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream/5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - /get-stream/6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /get-value/2.0.6: - resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=} - engines: {node: '>=0.10.0'} - dev: true - /gh-got/7.1.0: resolution: {integrity: sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ==} engines: {node: '>=4'} @@ -2502,6 +1763,14 @@ packages: ini: 1.3.8 dev: true + /gittar/0.1.1: + resolution: {integrity: sha512-p+XuqWJpW9ahUuNTptqeFjudFq31o6Jd+maMBarkMAR5U3K9c7zJB4sQ4BV8mIqrTOV29TtqikDhnZfCD4XNfQ==} + engines: {node: '>=4'} + dependencies: + mkdirp: 0.5.6 + tar: 4.4.19 + dev: true + /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2520,11 +1789,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals/11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -2564,11 +1828,6 @@ packages: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true - /growly/1.3.0: - resolution: {integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=} - dev: true - optional: true - /handlebars/4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} @@ -2614,37 +1873,6 @@ packages: has-symbol-support-x: 1.4.2 dev: true - /has-value/0.3.1: - resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value/1.0.0: - resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values/0.1.4: - resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=} - engines: {node: '>=0.10.0'} - dev: true - - /has-values/1.0.0: - resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - /has/1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -2672,28 +1900,24 @@ packages: lru-cache: 6.0.0 dev: true - /html-encoding-sniffer/2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} + /html-encoding-sniffer/3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} dependencies: - whatwg-encoding: 1.0.5 - dev: true - - /html-escaper/2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + whatwg-encoding: 2.0.0 dev: true /http-cache-semantics/3.8.1: resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} dev: true - /http-proxy-agent/4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + /http-proxy-agent/5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} dependencies: - '@tootallnate/once': 1.1.2 + '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.3 + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true @@ -2703,23 +1927,23 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.3 + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: true - /human-signals/1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true - /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true - /iconv-lite/0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + /human-signals/3.0.1: + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} + dev: true + + /iconv-lite/0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 @@ -2730,20 +1954,6 @@ packages: engines: {node: '>= 4'} dev: true - /import-local/3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - - /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} - engines: {node: '>=0.8.19'} - dev: true - /indent-string/2.1.0: resolution: {integrity: sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=} engines: {node: '>=0.10.0'} @@ -2784,28 +1994,10 @@ packages: p-is-promise: 1.1.0 dev: true - /is-accessor-descriptor/0.1.6: - resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor/1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /is-arrayish/0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} dev: true - /is-buffer/1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true - /is-builtin-module/3.1.0: resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} engines: {node: '>=6'} @@ -2813,11 +2005,10 @@ packages: builtin-modules: 3.2.0 dev: true - /is-ci/2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true + /is-core-module/2.10.0: + resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} dependencies: - ci-info: 2.0.0 + has: 1.0.3 dev: true /is-core-module/2.8.1: @@ -2826,57 +2017,6 @@ packages: has: 1.0.3 dev: true - /is-data-descriptor/0.1.4: - resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-data-descriptor/1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - - /is-descriptor/0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true - - /is-descriptor/1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true - - /is-docker/2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - optional: true - - /is-extendable/0.1.1: - resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable/1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - /is-extglob/2.1.1: resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} engines: {node: '>=0.10.0'} @@ -2891,600 +2031,91 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - - /is-fullwidth-code-point/4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true - - /is-generator-fn/2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - - /is-glob/4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-module/1.0.0: - resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} - dev: true - - /is-number/3.0.0: - resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-number/7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-obj/1.0.1: - resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=} - engines: {node: '>=0.10.0'} - dev: true - - /is-obj/2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true - - /is-object/1.0.2: - resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} - dev: true - - /is-plain-obj/1.1.0: - resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} - engines: {node: '>=0.10.0'} - dev: true - - /is-plain-object/2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /is-potential-custom-element-name/1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true - - /is-retry-allowed/1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - dev: true - - /is-stream/1.1.0: - resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} - engines: {node: '>=0.10.0'} - dev: true - - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-text-path/1.0.1: - resolution: {integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=} - engines: {node: '>=0.10.0'} - dependencies: - text-extensions: 1.9.0 - dev: true - - /is-typedarray/1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} - dev: true - - /is-utf8/0.2.1: - resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} - dev: true - - /is-windows/1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true - - /is-wsl/2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - optional: true - - /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} - dev: true - - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true - - /isobject/2.1.0: - resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - - /isobject/3.0.1: - resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=} - engines: {node: '>=0.10.0'} - dev: true - - /istanbul-lib-coverage/3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-instrument/4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.16.12 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-instrument/5.1.0: - resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} - engines: {node: '>=8'} - dependencies: - '@babel/core': 7.16.12 - '@babel/parser': 7.16.12 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-report/3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps/4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.3 - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports/3.1.3: - resolution: {integrity: sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - - /isurl/1.0.0: - resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} - engines: {node: '>= 4'} - dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.2 - dev: true - - /jest-changed-files/26.6.2: - resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - execa: 4.1.0 - throat: 5.0.0 - dev: true - - /jest-cli/26.6.3: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.2'} - hasBin: true - dependencies: - '@jest/core': 26.6.3 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.9 - import-local: 3.1.0 - is-ci: 2.0.0 - jest-config: 26.6.3 - jest-util: 26.6.2 - jest-validate: 26.6.2 - prompts: 2.4.2 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-config/26.6.3: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - '@babel/core': 7.16.12 - '@jest/test-sequencer': 26.6.3 - '@jest/types': 26.6.2 - babel-jest: 26.6.3_@babel+core@7.16.12 - chalk: 4.1.2 - deepmerge: 4.2.2 - glob: 7.2.0 - graceful-fs: 4.2.9 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - micromatch: 4.0.4 - pretty-format: 26.6.2 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-diff/26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} - dependencies: - chalk: 4.1.2 - diff-sequences: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - dev: true - - /jest-docblock/26.0.0: - resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} - engines: {node: '>= 10.14.2'} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each/26.6.2: - resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.2 - jest-get-type: 26.3.0 - jest-util: 26.6.2 - pretty-format: 26.6.2 - dev: true - - /jest-environment-jsdom/26.6.2: - resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - jest-mock: 26.6.2 - jest-util: 26.6.2 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-environment-node/26.6.2: - resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - jest-mock: 26.6.2 - jest-util: 26.6.2 - dev: true - - /jest-get-type/26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} - dev: true - - /jest-haste-map/26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/graceful-fs': 4.1.5 - '@types/node': 17.0.31 - anymatch: 3.1.2 - fb-watchman: 2.0.1 - graceful-fs: 4.2.9 - jest-regex-util: 26.0.0 - jest-serializer: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - micromatch: 4.0.4 - sane: 4.1.0 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 + + /is-fullwidth-code-point/4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true - /jest-jasmine2/26.6.3: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: - '@babel/traverse': 7.16.10 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - chalk: 4.1.2 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate + is-extglob: 2.1.1 dev: true - /jest-leak-detector/26.6.2: - resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} - engines: {node: '>= 10.14.2'} - dependencies: - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + /is-module/1.0.0: + resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} dev: true - /jest-matcher-utils/26.6.2: - resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} - engines: {node: '>= 10.14.2'} - dependencies: - chalk: 4.1.2 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} dev: true - /jest-message-util/26.6.2: - resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/code-frame': 7.16.7 - '@jest/types': 26.6.2 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.9 - micromatch: 4.0.4 - pretty-format: 26.6.2 - slash: 3.0.0 - stack-utils: 2.0.5 + /is-obj/1.0.1: + resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=} + engines: {node: '>=0.10.0'} dev: true - /jest-mock/26.6.2: - resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 17.0.31 + /is-obj/2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} dev: true - /jest-pnp-resolver/1.2.2_jest-resolve@26.6.2: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 26.6.2 + /is-object/1.0.2: + resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} dev: true - /jest-regex-util/26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} + /is-plain-obj/1.1.0: + resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} + engines: {node: '>=0.10.0'} dev: true - /jest-resolve-dependencies/26.6.3: - resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - jest-regex-util: 26.0.0 - jest-snapshot: 26.6.2 + /is-potential-custom-element-name/1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /jest-resolve/26.6.2: - resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.2 - graceful-fs: 4.2.9 - jest-pnp-resolver: 1.2.2_jest-resolve@26.6.2 - jest-util: 26.6.2 - read-pkg-up: 7.0.1 - resolve: 1.22.0 - slash: 3.0.0 + /is-retry-allowed/1.2.0: + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} dev: true - /jest-runner/26.6.3: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - chalk: 4.1.2 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.9 - jest-config: 26.6.3 - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3 - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.21 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} dev: true - /jest-runtime/26.6.3: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: true - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.14 - chalk: 4.1.2 - cjs-module-lexer: 0.6.0 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.0 - graceful-fs: 4.2.9 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate + /is-stream/3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /jest-serializer/26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} + /is-text-path/1.0.1: + resolution: {integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=} + engines: {node: '>=0.10.0'} dependencies: - '@types/node': 17.0.31 - graceful-fs: 4.2.9 + text-extensions: 1.9.0 dev: true - /jest-snapshot/26.6.2: - resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/types': 7.16.8 - '@jest/types': 26.6.2 - '@types/babel__traverse': 7.14.2 - '@types/prettier': 2.4.3 - chalk: 4.1.2 - expect: 26.6.2 - graceful-fs: 4.2.9 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - jest-haste-map: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - natural-compare: 1.4.0 - pretty-format: 26.6.2 - semver: 7.3.5 + /is-utf8/0.2.1: + resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} dev: true - /jest-util/26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - chalk: 4.1.2 - graceful-fs: 4.2.9 - is-ci: 2.0.0 - micromatch: 4.0.4 + /isarray/1.0.0: + resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: true - /jest-validate/26.6.2: - resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 26.3.0 - leven: 3.1.0 - pretty-format: 26.6.2 + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true - /jest-watcher/26.6.2: - resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} - engines: {node: '>= 10.14.2'} + /isurl/1.0.0: + resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} + engines: {node: '>= 4'} dependencies: - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 17.0.31 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest-util: 26.6.2 - string-length: 4.0.2 + has-to-string-tag-x: 1.4.1 + is-object: 1.0.2 dev: true /jest-worker/26.6.2: @@ -3496,37 +2127,18 @@ packages: supports-color: 7.2.0 dev: true - /jest/26.6.3: - resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} - engines: {node: '>= 10.14.2'} + /jiti/1.14.0: + resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==} hasBin: true - dependencies: - '@jest/core': 26.6.3 - import-local: 3.1.0 - jest-cli: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate dev: true /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /jsdom/16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} + /jsdom/20.0.0: + resolution: {integrity: sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==} + engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 peerDependenciesMeta: @@ -3534,44 +2146,38 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.7.1 + acorn: 8.8.0 acorn-globals: 6.0.0 - cssom: 0.4.4 + cssom: 0.5.0 cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.3.1 - domexception: 2.0.1 + data-urls: 3.0.2 + decimal.js: 10.4.0 + domexception: 4.0.0 escodegen: 2.0.0 - form-data: 3.0.1 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.0 - parse5: 6.0.1 - saxes: 5.0.1 + nwsapi: 2.2.1 + parse5: 7.0.0 + saxes: 6.0.0 symbol-tree: 3.2.4 tough-cookie: 4.0.0 w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.7 - xml-name-validator: 3.0.0 + w3c-xmlserializer: 3.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.8.1 + xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: true - /jsesc/2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - /json-buffer/3.0.0: resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} dev: true @@ -3588,12 +2194,8 @@ packages: resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} dev: true - /json5/2.2.0: - resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.5 + /jsonc-parser/3.1.0: + resolution: {integrity: sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==} dev: true /jsonfile/6.1.0: @@ -3615,25 +2217,6 @@ packages: json-buffer: 3.0.0 dev: true - /kind-of/3.2.2: - resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/4.0.0: - resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of/5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true - /kind-of/6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -3644,13 +2227,12 @@ packages: engines: {node: '>=6'} dev: true - /leven/3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + /kolorist/1.5.1: + resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} dev: true /levn/0.3.0: - resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 @@ -3729,6 +2311,11 @@ packages: strip-bom: 3.0.0 dev: true + /local-pkg/0.4.2: + resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} + engines: {node: '>=14'} + dev: true + /locate-path/2.0.0: resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} engines: {node: '>=4'} @@ -3806,6 +2393,12 @@ packages: signal-exit: 3.0.7 dev: true + /loupe/2.3.4: + resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} + dependencies: + get-func-name: 2.0.0 + dev: true + /lowercase-keys/1.0.0: resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} engines: {node: '>=0.10.0'} @@ -3843,21 +2436,6 @@ packages: semver: 6.3.0 dev: true - /make-error/1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /makeerror/1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - dependencies: - tmpl: 1.0.5 - dev: true - - /map-cache/0.2.2: - resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=} - engines: {node: '>=0.10.0'} - dev: true - /map-obj/1.0.1: resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} engines: {node: '>=0.10.0'} @@ -3873,13 +2451,6 @@ packages: engines: {node: '>=8'} dev: true - /map-visit/1.0.0: - resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - /meow/3.7.0: resolution: {integrity: sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=} engines: {node: '>=0.10.0'} @@ -3954,25 +2525,6 @@ packages: engines: {node: '>= 8'} dev: true - /micromatch/3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - dev: true - /micromatch/4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} @@ -3998,6 +2550,11 @@ packages: engines: {node: '>=6'} dev: true + /mimic-fn/4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + /mimic-response/1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} @@ -4035,18 +2592,37 @@ packages: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: true - /mixin-deep/1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: true + + /minipass/2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 + safe-buffer: 5.2.1 + yallist: 3.1.1 dev: true - /mkdirp/1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} + /minizlib/1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + dependencies: + minipass: 2.9.0 + dev: true + + /mkdirp/0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true + dependencies: + minimist: 1.2.6 + dev: true + + /mlly/0.5.12: + resolution: {integrity: sha512-8moXGh6Hfy2Nmys3DDEm4CuxDBk5Y7Lk1jQ4JcwW0djO9b+SCKTpw0enIQeZIuEnPljdxHSGmcbXU9hpIIEYeQ==} + dependencies: + acorn: 8.8.0 + pathe: 0.3.4 + pkg-types: 0.3.3 + ufo: 0.8.5 dev: true /modify-values/1.0.1: @@ -4054,8 +2630,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /ms/2.0.0: - resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} + /mri/1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} dev: true /ms/2.1.2: @@ -4066,60 +2643,18 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /nanoid/3.2.0: - resolution: {integrity: sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==} + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /nanomatch/1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - dev: true - - /natural-compare/1.4.0: - resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} - dev: true - /neo-async/2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /nice-try/1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true - - /node-int64/0.4.0: - resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} - dev: true - - /node-notifier/8.0.2: - resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} - requiresBuild: true - dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.3.5 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 - dev: true - optional: true - - /node-releases/2.0.1: - resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} + /node-fetch-native/0.1.4: + resolution: {integrity: sha512-10EKpOCQPXwZVFh3U1ptOMWBgKTbsN7Vvo6WVKt5pw4hp8zbv6ZVBZPlXw+5M6Tyi1oc1iD4/sNPd71KYA16tQ==} dev: true /normalize-package-data/2.5.0: @@ -4141,13 +2676,6 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-path/2.1.1: - resolution: {integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=} - engines: {node: '>=0.10.0'} - dependencies: - remove-trailing-separator: 1.1.0 - dev: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -4162,13 +2690,6 @@ packages: sort-keys: 2.0.0 dev: true - /npm-run-path/2.0.2: - resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -4176,13 +2697,20 @@ packages: path-key: 3.1.1 dev: true + /npm-run-path/5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + /number-is-nan/1.0.1: resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=} engines: {node: '>=0.10.0'} dev: true - /nwsapi/2.2.0: - resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} + /nwsapi/2.2.1: + resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} dev: true /object-assign/4.1.1: @@ -4190,31 +2718,17 @@ packages: engines: {node: '>=0.10.0'} dev: true - /object-copy/0.1.0: - resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - /object-inspect/1.12.0: resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} dev: true - /object-visit/1.0.1: - resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /object.pick/1.3.0: - resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=} - engines: {node: '>=0.10.0'} + /ohmyfetch/0.4.18: + resolution: {integrity: sha512-MslzNrQzBLtZHmiZBI8QMOcMpdNFlK61OJ34nFNFynZ4v+4BonfCQ7VIN4EGXvGGq5zhDzgdJoY3o9S1l2T7KQ==} dependencies: - isobject: 3.0.1 + destr: 1.1.1 + node-fetch-native: 0.1.4 + ufo: 0.8.5 + undici: 5.8.2 dev: true /once/1.4.0: @@ -4230,6 +2744,13 @@ packages: mimic-fn: 2.1.0 dev: true + /onetime/6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + /optionator/0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -4247,11 +2768,6 @@ packages: engines: {node: '>=4'} dev: true - /p-each-series/2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - dev: true - /p-finally/1.0.0: resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} engines: {node: '>=4'} @@ -4357,13 +2873,10 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse5/6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: true - - /pascalcase/0.1.1: - resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} - engines: {node: '>=0.10.0'} + /parse5/7.0.0: + resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==} + dependencies: + entities: 4.3.1 dev: true /path-exists/2.1.0: @@ -4394,16 +2907,16 @@ packages: tslib: 2.4.0 dev: true - /path-key/2.0.1: - resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} - engines: {node: '>=4'} - dev: true - /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} dev: true + /path-key/4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true @@ -4435,6 +2948,14 @@ packages: engines: {node: '>=8'} dev: true + /pathe/0.3.4: + resolution: {integrity: sha512-YWgqEdxf36R6vcsyj0A+yT/rDRPe0wui4J9gRR7T4whjU5Lx/jZOr75ckEgTNaLVQABAwsrlzHRpIKcCdXAQ5A==} + dev: true + + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -4472,11 +2993,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pirates/4.0.5: - resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} - engines: {node: '>= 6'} - dev: true - /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -4491,22 +3007,25 @@ packages: find-up: 5.0.0 dev: true - /posix-character-classes/0.1.1: - resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} - engines: {node: '>=0.10.0'} + /pkg-types/0.3.3: + resolution: {integrity: sha512-6AJcCMnjUQPQv/Wk960w0TOmjhdjbeaQJoSKWRQv9N3rgkessCu6J0Ydsog/nw1MbpnxHuPzYbfOn2KmlZO1FA==} + dependencies: + jsonc-parser: 3.1.0 + mlly: 0.5.12 + pathe: 0.3.4 dev: true - /postcss/8.4.5: - resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} + /postcss/8.4.16: + resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.2.0 + nanoid: 3.3.4 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true /prelude-ls/1.1.2: - resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} dev: true @@ -4516,19 +3035,9 @@ packages: dev: true /prettier/2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /pretty-format/26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} - dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 + resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} + engines: {node: '>=10.13.0'} + hasBin: true dev: true /process-nextick-args/2.0.1: @@ -4543,15 +3052,8 @@ packages: sisteransi: 1.0.5 dev: true - /psl/1.8.0: - resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} - dev: true - - /pump/3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 + /psl/1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true /punycode/2.1.1: @@ -4593,8 +3095,12 @@ packages: safe-buffer: 5.2.1 dev: true - /react-is/17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + /rc9/1.2.2: + resolution: {integrity: sha512-zbe8+HR2X28eZepAwohuKkebbEsA67h0DO9I7g12QrHa2CQopR9gztOLPIPXXGTvcxeUjAN4wZ+b29t3m/u05g==} + dependencies: + defu: 6.1.0 + destr: 1.1.1 + flat: 5.0.2 dev: true /read-pkg-up/1.0.1: @@ -4695,28 +3201,6 @@ packages: strip-indent: 3.0.0 dev: true - /regex-not/1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true - - /remove-trailing-separator/1.1.0: - resolution: {integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8=} - dev: true - - /repeat-element/1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string/1.6.1: - resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=} - engines: {node: '>=0.10'} - dev: true - /repeating/2.0.1: resolution: {integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=} engines: {node: '>=0.10.0'} @@ -4729,27 +3213,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /require-main-filename/2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true - - /resolve-cwd/3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - - /resolve-from/5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true - - /resolve-url/0.2.1: - resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true - /resolve/1.22.0: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true @@ -4759,6 +3222,15 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.10.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /responselike/1.0.2: resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} dependencies: @@ -4773,11 +3245,6 @@ packages: signal-exit: 3.0.7 dev: true - /ret/0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -4850,9 +3317,12 @@ packages: fsevents: 2.3.2 dev: true - /rsvp/4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} + /rollup/2.77.3: + resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 dev: true /run-parallel/1.2.0: @@ -4875,38 +3345,19 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safe-regex/1.1.0: - resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=} - dependencies: - ret: 0.1.15 - dev: true - /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sane/4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true + /saxes/6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} dependencies: - '@cnakazawa/watch': 1.0.4 - anymatch: 2.0.0 - capture-exit: 2.0.0 - exec-sh: 0.3.6 - execa: 1.0.0 - fb-watchman: 2.0.1 - micromatch: 3.1.10 - minimist: 1.2.5 - walker: 1.0.8 + xmlchars: 2.2.0 dev: true - /saxes/5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} - dependencies: - xmlchars: 2.2.0 + /scule/0.2.1: + resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} dev: true /semver-regex/2.0.0: @@ -4944,27 +3395,6 @@ packages: randombytes: 2.1.0 dev: true - /set-blocking/2.0.0: - resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} - dev: true - - /set-value/2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - - /shebang-command/1.2.0: - resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 - dev: true - /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -4972,21 +3402,11 @@ packages: shebang-regex: 3.0.0 dev: true - /shebang-regex/1.0.0: - resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} - engines: {node: '>=0.10.0'} - dev: true - /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true - /shellwords/0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - dev: true - optional: true - /signal-exit/3.0.6: resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} dev: true @@ -5036,36 +3456,6 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /snapdragon-node/2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true - - /snapdragon-util/3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /snapdragon/0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - dev: true - /sort-keys/2.0.0: resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} engines: {node: '>=4'} @@ -5078,17 +3468,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map-resolve/0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true - /source-map-support/0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -5096,21 +3475,11 @@ packages: source-map: 0.6.1 dev: true - /source-map-url/0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true - /source-map/0.5.6: resolution: {integrity: sha1-dc449SvwczxafwwRjYEzSiu19BI=} engines: {node: '>=0.10.0'} dev: true - /source-map/0.5.7: - resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} - engines: {node: '>=0.10.0'} - dev: true - /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -5147,13 +3516,6 @@ packages: resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} dev: true - /split-string/3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true - /split/1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} dependencies: @@ -5172,25 +3534,6 @@ packages: readable-stream: 3.6.0 dev: true - /sprintf-js/1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} - dev: true - - /stack-utils/2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - - /static-extend/0.1.2: - resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true - /strict-uri-encode/1.1.0: resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} engines: {node: '>=0.10.0'} @@ -5201,14 +3544,6 @@ packages: engines: {node: '>=0.6.19'} dev: true - /string-length/4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -5272,21 +3607,16 @@ packages: engines: {node: '>=4'} dev: true - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - - /strip-eof/1.0.0: - resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=} - engines: {node: '>=0.10.0'} - dev: true - /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true + /strip-final-newline/3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + /strip-indent/1.0.1: resolution: {integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=} engines: {node: '>=0.10.0'} @@ -5331,14 +3661,6 @@ packages: engines: {node: '>=12'} dev: true - /supports-hyperlinks/2.2.0: - resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -5348,6 +3670,19 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true + /tar/4.4.19: + resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} + engines: {node: '>=4.5'} + dependencies: + chownr: 1.1.4 + fs-minipass: 1.2.7 + minipass: 2.9.0 + minizlib: 1.3.3 + mkdirp: 0.5.6 + safe-buffer: 5.2.1 + yallist: 3.1.1 + dev: true + /temp-dir/2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -5361,14 +3696,6 @@ packages: uuid: 3.4.0 dev: true - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.2.0 - dev: true - /terser/5.10.0: resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} engines: {node: '>=10'} @@ -5384,24 +3711,11 @@ packages: source-map-support: 0.5.21 dev: true - /test-exclude/6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.0 - minimatch: 3.0.4 - dev: true - /text-extensions/1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} dev: true - /throat/5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - dev: true - /through/2.3.8: resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} dev: true @@ -5431,28 +3745,16 @@ packages: engines: {node: '>=0.10.0'} dev: true - /tmpl/1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true - - /to-fast-properties/2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} - engines: {node: '>=4'} - dev: true - - /to-object-path/0.3.0: - resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 + /tinypool/0.2.4: + resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} + engines: {node: '>=14.0.0'} dev: true - /to-regex-range/2.1.1: - resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=} - engines: {node: '>=0.10.0'} + /tinyspy/1.0.1: + resolution: {integrity: sha512-xuhU//HrMEC6mcZPKjQpusK5ZHeh9b1JpeMAkFqR3kasUEk1dGdJXWqRYh2945qq0N7ftiv1QQQLh1RSE7lS1w==} + engines: {node: '>=14.0.0'} dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 + changelogithub: 0.6.6 dev: true /to-regex-range/5.0.1: @@ -5462,28 +3764,18 @@ packages: is-number: 7.0.0 dev: true - /to-regex/3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - /tough-cookie/4.0.0: resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} engines: {node: '>=6'} dependencies: - psl: 1.8.0 + psl: 1.9.0 punycode: 2.1.1 universalify: 0.1.2 dev: true - /tr46/2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} + /tr46/3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} dependencies: punycode: 2.1.1 dev: true @@ -5503,28 +3795,6 @@ packages: engines: {node: '>=8'} dev: true - /ts-jest/26.5.6_ip4jai7pxkumsngma2fb7ud2tm: - resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} - engines: {node: '>= 10'} - hasBin: true - peerDependencies: - jest: '>=26 <27' - typescript: '>=3.8 <5.0' - dependencies: - bs-logger: 0.2.6 - buffer-from: 1.1.2 - fast-json-stable-stringify: 2.1.0 - jest: 26.6.3 - jest-util: 26.6.2 - json5: 2.2.0 - lodash: 4.17.21 - make-error: 1.3.6 - mkdirp: 1.0.4 - semver: 7.3.5 - typescript: 4.6.4 - yargs-parser: 20.2.9 - dev: true - /ts-type/2.1.4_@types+node@17.0.31: resolution: {integrity: sha512-wnajiiIMhn/RHJ1oPld95siKmMJrOgaT6+rMmC8vO1LORgDFEzKP2nBmEFM5b4XVe7Q0J5KcU9oRJFzju7UzrA==} peerDependencies: @@ -5542,7 +3812,7 @@ packages: dev: true /type-check/0.3.2: - resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 @@ -5582,12 +3852,6 @@ packages: resolution: {integrity: sha512-Ka0DBegjuV9IPYFT1h0Qqk5U4pccebNIJCGl8C5uU7xtOs+jpJvKGAY4fHGK25hTmXZOEUl9Cnsg5cS6K/b5DA==} dev: true - /typedarray-to-buffer/3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - dependencies: - is-typedarray: 1.0.0 - dev: true - /typescript/4.6.4: resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} @@ -5599,6 +3863,10 @@ packages: engines: {node: '>=8'} dev: true + /ufo/0.8.5: + resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} + dev: true + /uglify-js/3.15.0: resolution: {integrity: sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==} engines: {node: '>=0.8.0'} @@ -5607,14 +3875,9 @@ packages: dev: true optional: true - /union-value/1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 + /undici/5.8.2: + resolution: {integrity: sha512-3KLq3pXMS0Y4IELV045fTxqz04Nk9Ms7yfBBHum3yxsTR4XNn+ZCaUbf/mWitgYDAhsplQ0B1G4S5D345lMO3A==} + engines: {node: '>=12.18'} dev: true /universalify/0.1.2: @@ -5627,14 +3890,6 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unset-value/1.0.0: - resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - /upath2/3.1.12_@types+node@17.0.31: resolution: {integrity: sha512-yC3eZeCyCXFWjy7Nu4pgjLhXNYjuzuUmJiRgSSw6TJp8Emc+E4951HGPJf+bldFC5SL7oBLeNbtm1fGzXn2gxw==} peerDependencies: @@ -5646,11 +3901,6 @@ packages: tslib: 2.4.0 dev: true - /urix/0.1.0: - resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - /url-parse-lax/3.0.0: resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} engines: {node: '>=4'} @@ -5663,11 +3913,6 @@ packages: engines: {node: '>= 4'} dev: true - /use/3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - /util-deprecate/1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true @@ -5678,26 +3923,78 @@ packages: hasBin: true dev: true - /uuid/8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.1.1 + spdx-expression-parse: 3.0.1 dev: true - optional: true - /v8-to-istanbul/7.1.2: - resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} - engines: {node: '>=10.10.0'} + /vite/3.0.8: + resolution: {integrity: sha512-AOZ4eN7mrkJiOLuw8IA7piS4IdOQyQCA81GxGsAQvAZzMRi9ZwGB3TOaYsj4uLAWK46T5L4AfQ6InNGlxX30IQ==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + terser: ^5.4.0 + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + terser: + optional: true dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.8.0 - source-map: 0.7.3 + esbuild: 0.14.54 + postcss: 8.4.16 + resolve: 1.22.1 + rollup: 2.77.3 + optionalDependencies: + fsevents: 2.3.2 dev: true - /validate-npm-package-license/3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + /vitest/0.22.0_jsdom@20.0.0: + resolution: {integrity: sha512-BSIro/QOHLaQY08FHwT6THWhqLQ+VPU+N4Rdo4pcP+16XB6oLmNNAXGcSh/MOLUhfUy+mqCwx7AyKmU7Ms5R+g==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true dependencies: - spdx-correct: 3.1.1 - spdx-expression-parse: 3.0.1 + '@types/chai': 4.3.3 + '@types/chai-subset': 1.3.3 + '@types/node': 17.0.31 + chai: 4.3.6 + debug: 4.3.4 + jsdom: 20.0.0 + local-pkg: 0.4.2 + tinypool: 0.2.4 + tinyspy: 1.0.1 + vite: 3.0.8 + transitivePeerDependencies: + - less + - sass + - stylus + - supports-color + - terser dev: true /vue-router/3.5.3: @@ -5737,57 +4034,36 @@ packages: browser-process-hrtime: 1.0.0 dev: true - /w3c-xmlserializer/2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - dependencies: - xml-name-validator: 3.0.0 - dev: true - - /walker/1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - dependencies: - makeerror: 1.0.12 - dev: true - - /webidl-conversions/5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - dev: true - - /webidl-conversions/6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - dev: true - - /whatwg-encoding/1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + /w3c-xmlserializer/3.0.0: + resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} + engines: {node: '>=12'} dependencies: - iconv-lite: 0.4.24 + xml-name-validator: 4.0.0 dev: true - /whatwg-mimetype/2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + /webidl-conversions/7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} dev: true - /whatwg-url/8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} + /whatwg-encoding/2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 + iconv-lite: 0.6.3 dev: true - /which-module/2.0.0: - resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + /whatwg-mimetype/3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} dev: true - /which/1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + /whatwg-url/11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} dependencies: - isexe: 2.0.0 + tr46: 3.0.0 + webidl-conversions: 7.0.0 dev: true /which/2.0.2: @@ -5829,18 +4105,9 @@ packages: resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} dev: true - /write-file-atomic/3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - dev: true - - /ws/7.5.7: - resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} - engines: {node: '>=8.3.0'} + /ws/8.8.1: + resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -5851,8 +4118,9 @@ packages: optional: true dev: true - /xml-name-validator/3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + /xml-name-validator/4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} dev: true /xmlchars/2.2.0: @@ -5864,15 +4132,15 @@ packages: engines: {node: '>=0.4'} dev: true - /y18n/4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true - /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} dev: true + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true @@ -5895,23 +4163,6 @@ packages: engines: {node: '>=10'} dev: true - /yargs/15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.0 - y18n: 4.0.3 - yargs-parser: 18.1.3 - dev: true - /yargs/16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} diff --git a/test/apis/computed.spec.js b/test/apis/computed.spec.js index da7c8300..9779e96a 100644 --- a/test/apis/computed.spec.js +++ b/test/apis/computed.spec.js @@ -1,71 +1,72 @@ -const Vue = require('vue/dist/vue.common.js') -const { - ref, - computed, - isReadonly, - reactive, - isRef, - toRef, -} = require('../../src') +import Vue from 'vue/dist/vue.common.js' +import { ref, computed, isReadonly, reactive, isRef, toRef } from '../../src' describe('Hooks computed', () => { + let warn = null + beforeEach(() => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) + warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) }) afterEach(() => { warn.mockRestore() }) - it('basic usage', (done) => { - const vm = new Vue({ - template: '
{{ b }}
', - setup() { - const a = ref(1) - const b = computed(() => a.value + 1) - return { - a, - b, - } - }, - }).$mount() - expect(vm.b).toBe(2) - expect(vm.$el.textContent).toBe('2') - vm.a = 2 - expect(vm.b).toBe(3) - waitForUpdate(() => { - expect(vm.$el.textContent).toBe('3') - }).then(done) - }) + it('basic usage', () => + new Promise((done, reject) => { + done.fail = reject - it('with setter', (done) => { - const vm = new Vue({ - template: '
{{ b }}
', - setup() { - const a = ref(1) - const b = computed({ - get: () => a.value + 1, - set: (v) => (a.value = v - 1), - }) - return { - a, - b, - } - }, - }).$mount() - expect(vm.b).toBe(2) - expect(vm.$el.textContent).toBe('2') - vm.a = 2 - expect(vm.b).toBe(3) - waitForUpdate(() => { - expect(vm.$el.textContent).toBe('3') - vm.b = 1 - expect(vm.a).toBe(0) - }) - .then(() => { - expect(vm.$el.textContent).toBe('1') + const vm = new Vue({ + template: '
{{ b }}
', + setup() { + const a = ref(1) + const b = computed(() => a.value + 1) + return { + a, + b, + } + }, + }).$mount() + expect(vm.b).toBe(2) + expect(vm.$el.textContent).toBe('2') + vm.a = 2 + expect(vm.b).toBe(3) + waitForUpdate(() => { + expect(vm.$el.textContent).toBe('3') + }).then(done) + })) + + it('with setter', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + template: '
{{ b }}
', + setup() { + const a = ref(1) + const b = computed({ + get: () => a.value + 1, + set: (v) => (a.value = v - 1), + }) + return { + a, + b, + } + }, + }).$mount() + expect(vm.b).toBe(2) + expect(vm.$el.textContent).toBe('2') + vm.a = 2 + expect(vm.b).toBe(3) + waitForUpdate(() => { + expect(vm.$el.textContent).toBe('3') + vm.b = 1 + expect(vm.a).toBe(0) }) - .then(done) - }) + .then(() => { + expect(vm.$el.textContent).toBe('1') + }) + .then(done) + })) it('warn assigning to computed with no setter', () => { const vm = new Vue({ @@ -82,27 +83,30 @@ describe('Hooks computed', () => { ) }) - it('watching computed', (done) => { - const spy = jest.fn() - const vm = new Vue({ - setup() { - const a = ref(1) - const b = computed(() => a.value + 1) - return { - a, - b, - } - }, - }) - vm.$watch('b', spy) - vm.a = 2 - waitForUpdate(() => { - expect(spy).toHaveBeenCalledWith(3, 2) - }).then(done) - }) + it('watching computed', () => + new Promise((done, reject) => { + done.fail = reject + + const spy = vi.fn() + const vm = new Vue({ + setup() { + const a = ref(1) + const b = computed(() => a.value + 1) + return { + a, + b, + } + }, + }) + vm.$watch('b', spy) + vm.a = 2 + waitForUpdate(() => { + expect(spy).toHaveBeenCalledWith(3, 2) + }).then(done) + })) it('caching', () => { - const spy = jest.fn() + const spy = vi.fn() const vm = new Vue({ setup() { const a = ref(1) @@ -123,42 +127,45 @@ describe('Hooks computed', () => { expect(spy.mock.calls.length).toBe(1) }) - it('as component', (done) => { - const Comp = Vue.extend({ - template: `
{{ b }} {{ c }}
`, - setup() { - const a = ref(1) - const b = computed(() => { - return a.value + 1 - }) - return { - a, - b, - } - }, - }) + it('as component', () => + new Promise((done, reject) => { + done.fail = reject - const vm = new Comp({ - setup(_, { _vm }) { - const c = computed(() => { - return _vm.b + 1 - }) + const Comp = Vue.extend({ + template: `
{{ b }} {{ c }}
`, + setup() { + const a = ref(1) + const b = computed(() => { + return a.value + 1 + }) + return { + a, + b, + } + }, + }) - return { - c, - } - }, - }).$mount() - expect(vm.b).toBe(2) - expect(vm.c).toBe(3) - expect(vm.$el.textContent).toBe('2 3') - vm.a = 2 - expect(vm.b).toBe(3) - expect(vm.c).toBe(4) - waitForUpdate(() => { - expect(vm.$el.textContent).toBe('3 4') - }).then(done) - }) + const vm = new Comp({ + setup(_, { _vm }) { + const c = computed(() => { + return _vm.b + 1 + }) + + return { + c, + } + }, + }).$mount() + expect(vm.b).toBe(2) + expect(vm.c).toBe(3) + expect(vm.$el.textContent).toBe('2 3') + vm.a = 2 + expect(vm.b).toBe(3) + expect(vm.c).toBe(4) + waitForUpdate(() => { + expect(vm.$el.textContent).toBe('3 4') + }).then(done) + })) it('rethrow computed error', () => { const vm = new Vue({ @@ -202,25 +209,28 @@ describe('Hooks computed', () => { expect(app.$children[1].example).toBe('B') }) - it('should watch a reactive property created via toRef', (done) => { - const spy = jest.fn() - const vm = new Vue({ - setup() { - const a = reactive({}) - const b = toRef(a, 'b') + it('should watch a reactive property created via toRef', () => + new Promise((done, reject) => { + done.fail = reject - return { - a, - b, - } - }, - }) - vm.$watch('b', spy) - vm.b = 2 - waitForUpdate(() => { - expect(spy).toHaveBeenCalledWith(2, undefined) - }).then(done) - }) + const spy = vi.fn() + const vm = new Vue({ + setup() { + const a = reactive({}) + const b = toRef(a, 'b') + + return { + a, + b, + } + }, + }) + vm.$watch('b', spy) + vm.b = 2 + waitForUpdate(() => { + expect(spy).toHaveBeenCalledWith(2, undefined) + }).then(done) + })) it('should be readonly', () => { let a = { a: 1 } diff --git a/test/apis/inject.spec.js b/test/apis/inject.spec.js index b2a817f8..655967dd 100644 --- a/test/apis/inject.spec.js +++ b/test/apis/inject.spec.js @@ -1,5 +1,5 @@ -const Vue = require('vue/dist/vue.common.js') -const { inject, provide, ref, reactive } = require('../../src') +import Vue from 'vue/dist/vue.common.js' +import { inject, provide, ref, reactive } from '../../src' let injected const injectedComp = { @@ -20,8 +20,10 @@ beforeEach(() => { }) describe('Hooks provide/inject', () => { + let warn = null + beforeEach(() => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) + warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) }) afterEach(() => { warn.mockRestore() @@ -68,57 +70,63 @@ describe('Hooks provide/inject', () => { expect(injected).toBe('foo') }) - it('should work for ref value', (done) => { - const Msg = Symbol() - const app = new Vue({ - template: ``, - setup() { - provide(Msg, ref('hello')) - }, - components: { - child: { - template: `
{{ msg }}
`, - setup() { - return { - msg: inject(Msg), - } + it('should work for ref value', () => + new Promise((done, reject) => { + done.fail = reject + + const Msg = Symbol() + const app = new Vue({ + template: ``, + setup() { + provide(Msg, ref('hello')) + }, + components: { + child: { + template: `
{{ msg }}
`, + setup() { + return { + msg: inject(Msg), + } + }, }, }, - }, - }).$mount() + }).$mount() - app.$children[0].msg = 'bar' - waitForUpdate(() => { - expect(app.$el.textContent).toBe('bar') - }).then(done) - }) + app.$children[0].msg = 'bar' + waitForUpdate(() => { + expect(app.$el.textContent).toBe('bar') + }).then(done) + })) - it('should work for reactive value', (done) => { - const State = Symbol() - let obj - const app = new Vue({ - template: ``, - setup() { - provide(State, reactive({ msg: 'foo' })) - }, - components: { - child: { - template: `
{{ state.msg }}
`, - setup() { - obj = inject(State) - return { - state: obj, - } + it('should work for reactive value', () => + new Promise((done, reject) => { + done.fail = reject + + const State = Symbol() + let obj + const app = new Vue({ + template: ``, + setup() { + provide(State, reactive({ msg: 'foo' })) + }, + components: { + child: { + template: `
{{ state.msg }}
`, + setup() { + obj = inject(State) + return { + state: obj, + } + }, }, }, - }, - }).$mount() - expect(obj.msg).toBe('foo') - app.$children[0].state.msg = 'bar' - waitForUpdate(() => { - expect(app.$el.textContent).toBe('bar') - }).then(done) - }) + }).$mount() + expect(obj.msg).toBe('foo') + app.$children[0].state.msg = 'bar' + waitForUpdate(() => { + expect(app.$el.textContent).toBe('bar') + }).then(done) + })) it('should work when combined with 2.x provide option', () => { const State = Symbol() @@ -148,7 +156,7 @@ describe('Hooks provide/inject', () => { it('should call default value as factory', () => { const State = Symbol() - let fn = jest.fn() + let fn = vi.fn() new Vue({ template: ``, setup() {}, diff --git a/test/apis/lifecycle.spec.js b/test/apis/lifecycle.spec.js index 7f291279..8ae55537 100644 --- a/test/apis/lifecycle.spec.js +++ b/test/apis/lifecycle.spec.js @@ -1,5 +1,5 @@ -const Vue = require('vue/dist/vue.common.js') -const { +import Vue from 'vue/dist/vue.common.js' +import { onBeforeMount, onMounted, onBeforeUpdate, @@ -8,12 +8,12 @@ const { onUnmounted, onErrorCaptured, getCurrentInstance, -} = require('../../src') +} from '../../src' describe('Hooks lifecycle', () => { describe('beforeMount', () => { it('should not have mounted', () => { - const spy = jest.fn() + const spy = vi.fn() const vm = new Vue({ render() {}, setup(_, { _vm }) { @@ -34,7 +34,7 @@ describe('Hooks lifecycle', () => { describe('mounted', () => { it('should have mounted', () => { - const spy = jest.fn() + const spy = vi.fn() const vm = new Vue({ template: '
', setup(_, { _vm }) { @@ -52,7 +52,7 @@ describe('Hooks lifecycle', () => { }) it('should call for manually mounted instance with parent', () => { - const spy = jest.fn() + const spy = vi.fn() const parent = new Vue() expect(spy).not.toHaveBeenCalled() new Vue({ @@ -138,177 +138,195 @@ describe('Hooks lifecycle', () => { }) describe('beforeUpdate', () => { - it('should be called before update', (done) => { - const spy = jest.fn() - const vm = new Vue({ - template: '
{{ msg }}
', - data: { msg: 'foo' }, - setup(_, { _vm }) { - onBeforeUpdate(() => { - expect(_vm.$el.textContent).toBe('foo') - spy() - }) - }, - }).$mount() - expect(spy).not.toHaveBeenCalled() - vm.msg = 'bar' - expect(spy).not.toHaveBeenCalled() // should be async - waitForUpdate(() => { - expect(spy).toHaveBeenCalled() - }).then(done) - }) + it('should be called before update', () => + new Promise((done, reject) => { + done.fail = reject - it('should be called before render and allow mutating state', (done) => { - const vm = new Vue({ - template: '
{{ msg }}
', - data: { msg: 'foo' }, - setup(_, { _vm }) { - onBeforeUpdate(() => { - _vm.msg += '!' - }) - }, - }).$mount() - expect(vm.$el.textContent).toBe('foo') - vm.msg = 'bar' - waitForUpdate(() => { - expect(vm.$el.textContent).toBe('bar!') - }).then(done) - }) + const spy = vi.fn() + const vm = new Vue({ + template: '
{{ msg }}
', + data: { msg: 'foo' }, + setup(_, { _vm }) { + onBeforeUpdate(() => { + expect(_vm.$el.textContent).toBe('foo') + spy() + }) + }, + }).$mount() + expect(spy).not.toHaveBeenCalled() + vm.msg = 'bar' + expect(spy).not.toHaveBeenCalled() // should be async + waitForUpdate(() => { + expect(spy).toHaveBeenCalled() + }).then(done) + })) - it('should not be called after destroy', (done) => { - const beforeUpdate = jest.fn() - const destroyed = jest.fn() + it('should be called before render and allow mutating state', () => + new Promise((done, reject) => { + done.fail = reject - Vue.component('todo', { - template: '
{{todo.done}}
', - props: ['todo'], - setup() { - onBeforeUpdate(beforeUpdate) - onUnmounted(destroyed) - }, - }) + const vm = new Vue({ + template: '
{{ msg }}
', + data: { msg: 'foo' }, + setup(_, { _vm }) { + onBeforeUpdate(() => { + _vm.msg += '!' + }) + }, + }).$mount() + expect(vm.$el.textContent).toBe('foo') + vm.msg = 'bar' + waitForUpdate(() => { + expect(vm.$el.textContent).toBe('bar!') + }).then(done) + })) - const vm = new Vue({ - template: ` + it('should not be called after destroy', () => + new Promise((done, reject) => { + done.fail = reject + + const beforeUpdate = vi.fn() + const destroyed = vi.fn() + + Vue.component('todo', { + template: '
{{todo.done}}
', + props: ['todo'], + setup() { + onBeforeUpdate(beforeUpdate) + onUnmounted(destroyed) + }, + }) + + const vm = new Vue({ + template: `
`, - data() { - return { - todos: [{ id: 1, done: false }], - } - }, - computed: { - pendingTodos() { - return this.todos.filter((t) => !t.done) + data() { + return { + todos: [{ id: 1, done: false }], + } }, - }, - }).$mount() + computed: { + pendingTodos() { + return this.todos.filter((t) => !t.done) + }, + }, + }).$mount() - vm.todos[0].done = true - waitForUpdate(() => { - expect(destroyed).toHaveBeenCalled() - expect(beforeUpdate).not.toHaveBeenCalled() - }).then(done) - }) + vm.todos[0].done = true + waitForUpdate(() => { + expect(destroyed).toHaveBeenCalled() + expect(beforeUpdate).not.toHaveBeenCalled() + }).then(done) + })) }) describe('updated', () => { - it('should be called after update', (done) => { - const spy = jest.fn() - const vm = new Vue({ - template: '
{{ msg }}
', - data: { msg: 'foo' }, - setup(_, { _vm }) { - onUpdated(() => { - expect(_vm.$el.textContent).toBe('bar') - spy() - }) - }, - }).$mount() - expect(spy).not.toHaveBeenCalled() - vm.msg = 'bar' - expect(spy).not.toHaveBeenCalled() // should be async - waitForUpdate(() => { - expect(spy).toHaveBeenCalled() - }).then(done) - }) + it('should be called after update', () => + new Promise((done, reject) => { + done.fail = reject - it('should be called after children are updated', (done) => { - const calls = [] - const vm = new Vue({ - template: '
{{ msg }}
', - data: { msg: 'foo' }, - components: { - test: { - template: `
`, - setup(_, { _vm }) { - onUpdated(() => { - expect(_vm.$el.textContent).toBe('bar') - calls.push('child') - }) + const spy = vi.fn() + const vm = new Vue({ + template: '
{{ msg }}
', + data: { msg: 'foo' }, + setup(_, { _vm }) { + onUpdated(() => { + expect(_vm.$el.textContent).toBe('bar') + spy() + }) + }, + }).$mount() + expect(spy).not.toHaveBeenCalled() + vm.msg = 'bar' + expect(spy).not.toHaveBeenCalled() // should be async + waitForUpdate(() => { + expect(spy).toHaveBeenCalled() + }).then(done) + })) + + it('should be called after children are updated', () => + new Promise((done, reject) => { + done.fail = reject + + const calls = [] + const vm = new Vue({ + template: '
{{ msg }}
', + data: { msg: 'foo' }, + components: { + test: { + template: `
`, + setup(_, { _vm }) { + onUpdated(() => { + expect(_vm.$el.textContent).toBe('bar') + calls.push('child') + }) + }, }, }, - }, - setup(_, { _vm }) { - onUpdated(() => { - expect(_vm.$el.textContent).toBe('bar') - calls.push('parent') - }) - }, - }).$mount() + setup(_, { _vm }) { + onUpdated(() => { + expect(_vm.$el.textContent).toBe('bar') + calls.push('parent') + }) + }, + }).$mount() - expect(calls).toEqual([]) - vm.msg = 'bar' - expect(calls).toEqual([]) - waitForUpdate(() => { - expect(calls).toEqual(['child', 'parent']) - }).then(done) - }) + expect(calls).toEqual([]) + vm.msg = 'bar' + expect(calls).toEqual([]) + waitForUpdate(() => { + expect(calls).toEqual(['child', 'parent']) + }).then(done) + })) - it('should not be called after destroy', (done) => { - const updated = jest.fn() - const destroyed = jest.fn() + it('should not be called after destroy', () => + new Promise((done, reject) => { + done.fail = reject - Vue.component('todo', { - template: '
{{todo.done}}
', - props: ['todo'], - setup() { - onUpdated(updated) - onUnmounted(destroyed) - }, - }) + const updated = vi.fn() + const destroyed = vi.fn() - const vm = new Vue({ - template: ` + Vue.component('todo', { + template: '
{{todo.done}}
', + props: ['todo'], + setup() { + onUpdated(updated) + onUnmounted(destroyed) + }, + }) + + const vm = new Vue({ + template: `
`, - data() { - return { - todos: [{ id: 1, done: false }], - } - }, - computed: { - pendingTodos() { - return this.todos.filter((t) => !t.done) + data() { + return { + todos: [{ id: 1, done: false }], + } }, - }, - }).$mount() + computed: { + pendingTodos() { + return this.todos.filter((t) => !t.done) + }, + }, + }).$mount() - vm.todos[0].done = true - waitForUpdate(() => { - expect(destroyed).toHaveBeenCalled() - expect(updated).not.toHaveBeenCalled() - }).then(done) - }) + vm.todos[0].done = true + waitForUpdate(() => { + expect(destroyed).toHaveBeenCalled() + expect(updated).not.toHaveBeenCalled() + }).then(done) + })) }) describe('beforeUnmount', () => { it('should be called before destroy', () => { - const spy = jest.fn() + const spy = vi.fn() const vm = new Vue({ render() {}, setup(_, { _vm }) { @@ -329,7 +347,7 @@ describe('Hooks lifecycle', () => { describe('unmounted', () => { it('should be called after destroy', () => { - const spy = jest.fn() + const spy = vi.fn() const vm = new Vue({ render() {}, setup(_, { _vm }) { @@ -352,7 +370,7 @@ describe('Hooks lifecycle', () => { let globalSpy beforeEach(() => { - globalSpy = Vue.config.errorHandler = jest.fn() + globalSpy = Vue.config.errorHandler = vi.fn() }) afterEach(() => { @@ -360,7 +378,7 @@ describe('Hooks lifecycle', () => { }) it('should capture error from child component', () => { - const spy = jest.fn() + const spy = vi.fn() let child let err diff --git a/test/apis/state.spec.js b/test/apis/state.spec.js index c2861ab1..936ff7f5 100644 --- a/test/apis/state.spec.js +++ b/test/apis/state.spec.js @@ -1,13 +1,5 @@ -const Vue = require('vue/dist/vue.common.js') -const { - reactive, - ref, - watch, - set, - toRefs, - computed, - unref, -} = require('../../src') +import Vue from 'vue/dist/vue.common.js' +import { reactive, ref, watch, set, toRefs, computed, unref } from '../../src' describe('api/ref', () => { it('should work with array', () => { @@ -29,67 +21,76 @@ describe('api/ref', () => { expect(a.value).toBe(2) }) - it('should be reactive', (done) => { - const a = ref(1) - let dummy - watch( - a, - () => { - dummy = a.value - }, - { immediate: true } - ) - expect(dummy).toBe(1) - a.value = 2 - waitForUpdate(() => { - expect(dummy).toBe(2) - }).then(done) - }) - - it('should make nested properties reactive', (done) => { - const a = ref({ - count: 1, - }) - let dummy - watch( - a, - () => { - dummy = a.value.count - }, - { deep: true, immediate: true } - ) - expect(dummy).toBe(1) - a.value.count = 2 - waitForUpdate(() => { - expect(dummy).toBe(2) - }).then(done) - }) + it('should be reactive', () => + new Promise((done, reject) => { + done.fail = reject + + const a = ref(1) + let dummy + watch( + a, + () => { + dummy = a.value + }, + { immediate: true } + ) + expect(dummy).toBe(1) + a.value = 2 + waitForUpdate(() => { + expect(dummy).toBe(2) + }).then(done) + })) + + it('should make nested properties reactive', () => + new Promise((done, reject) => { + done.fail = reject + + const a = ref({ + count: 1, + }) + let dummy + watch( + a, + () => { + dummy = a.value.count + }, + { deep: true, immediate: true } + ) + expect(dummy).toBe(1) + a.value.count = 2 + waitForUpdate(() => { + expect(dummy).toBe(2) + }).then(done) + })) }) describe('api/reactive', () => { - it('should work', (done) => { - const app = new Vue({ - setup() { - return { - state: reactive({ - count: 0, - }), - } - }, - render(h) { - return h('div', [h('span', this.state.count)]) - }, - }).$mount() - - expect(app.$el.querySelector('span').textContent).toBe('0') - app.state.count++ - waitForUpdate(() => { - expect(app.$el.querySelector('span').textContent).toBe('1') - }).then(done) - }) + it('should work', () => + new Promise((done, reject) => { + done.fail = reject + + const app = new Vue({ + setup() { + return { + state: reactive({ + count: 0, + }), + } + }, + render(h) { + return h('div', [h('span', this.state.count)]) + }, + }).$mount() + + expect(app.$el.querySelector('span').textContent).toBe('0') + app.state.count++ + waitForUpdate(() => { + expect(app.$el.querySelector('span').textContent).toBe('1') + }).then(done) + })) it('should warn for non-object params', () => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) + let warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) reactive() expect(warn.mock.calls[0][0]).toMatch( '[Vue warn]: "reactive()" must be called on an object.' @@ -104,40 +105,43 @@ describe('api/reactive', () => { }) describe('api/toRefs', () => { - it('should work', (done) => { - const state = reactive({ - foo: 1, - bar: 2, - }) + it('should work', () => + new Promise((done, reject) => { + done.fail = reject - let dummy - watch( - () => state, - () => { - dummy = state.foo - }, - { immediate: true } - ) - const stateAsRefs = toRefs(state) - expect(dummy).toBe(1) - expect(stateAsRefs.foo.value).toBe(1) - expect(stateAsRefs.bar.value).toBe(2) - state.foo++ - waitForUpdate(() => { - dummy = 2 - expect(stateAsRefs.foo.value).toBe(2) - stateAsRefs.foo.value++ - }) - .then(() => { - dummy = 3 - expect(state.foo).toBe(3) + const state = reactive({ + foo: 1, + bar: 2, }) - .then(done) - }) + + let dummy + watch( + () => state, + () => { + dummy = state.foo + }, + { immediate: true } + ) + const stateAsRefs = toRefs(state) + expect(dummy).toBe(1) + expect(stateAsRefs.foo.value).toBe(1) + expect(stateAsRefs.bar.value).toBe(2) + state.foo++ + waitForUpdate(() => { + dummy = 2 + expect(stateAsRefs.foo.value).toBe(2) + stateAsRefs.foo.value++ + }) + .then(() => { + dummy = 3 + expect(state.foo).toBe(3) + }) + .then(done) + })) it('should proxy plain object but not make it a reactive', () => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) - const spy = jest.fn() + let warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) + const spy = vi.fn() const state = { foo: 1, bar: 2, @@ -379,7 +383,7 @@ describe('unwrapping', () => { }) it('should not call the computed property until accessing it', () => { - const spy = jest.fn() + const spy = vi.fn() const state = reactive({ count: 1, double: computed(() => { diff --git a/test/apis/useCssModule.spec.js b/test/apis/useCssModule.spec.js index c7befddf..0580ddf5 100644 --- a/test/apis/useCssModule.spec.js +++ b/test/apis/useCssModule.spec.js @@ -1,5 +1,5 @@ -const Vue = require('vue/dist/vue.common.js') -const { useCssModule } = require('../../src') +import Vue from 'vue/dist/vue.common.js' +import { useCssModule } from '../../src' const style = { whateverStyle: 'whateverStyle' } @@ -13,19 +13,20 @@ function injectStyles() { } describe('api/useCssModule', () => { - it('should get the same object', (done) => { - const vm = new Vue({ - beforeCreate() { - injectStyles.call(this) - }, - template: '
{{style}}
', - setup() { - const style = useCssModule() - return { style } - }, - }) - vm.$mount() - expect(vm.style).toBe(style) - done() - }) + it('should get the same object', () => + new Promise((done) => { + const vm = new Vue({ + beforeCreate() { + injectStyles.call(this) + }, + template: '
{{style}}
', + setup() { + const style = useCssModule() + return { style } + }, + }) + vm.$mount() + expect(vm.style).toBe(style) + done() + })) }) diff --git a/test/apis/warn.spec.js b/test/apis/warn.spec.js index 9ceb5fa9..2b6aa665 100644 --- a/test/apis/warn.spec.js +++ b/test/apis/warn.spec.js @@ -1,9 +1,11 @@ -const Vue = require('vue/dist/vue.common.js') -const { warn: apiWarn } = require('../../src') +import Vue from 'vue/dist/vue.common.js' +import { warn as apiWarn } from '../../src' describe('api/warn', () => { + let warn = null + beforeEach(() => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) + warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) }) afterEach(() => { warn.mockRestore() diff --git a/test/apis/watch.spec.js b/test/apis/watch.spec.js index 3462a7fc..e1aab32f 100644 --- a/test/apis/watch.spec.js +++ b/test/apis/watch.spec.js @@ -1,5 +1,5 @@ -const Vue = require('vue/dist/vue.common.js') -const { +import Vue from 'vue/dist/vue.common.js' +import { ref, reactive, watch, @@ -8,338 +8,374 @@ const { computed, nextTick, markRaw, -} = require('../../src') -const { mockWarn } = require('../helpers') +} from '../../src' +import { mockWarn } from '../helpers' describe('api/watch', () => { mockWarn(true) const anyFn = expect.any(Function) let spy beforeEach(() => { - spy = jest.fn() + spy = vi.fn() }) afterEach(() => { spy.mockReset() }) - it('should work', (done) => { - const onCleanupSpy = jest.fn() - const vm = new Vue({ - setup() { - const a = ref(1) - watch( - a, - (n, o, _onCleanup) => { - spy(n, o, _onCleanup) - _onCleanup(onCleanupSpy) - }, - { immediate: true } - ) - return { - a, - } - }, - template: `
{{a}}
`, - }).$mount() - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(1, undefined, anyFn) - expect(onCleanupSpy).toHaveBeenCalledTimes(0) - vm.a = 2 - vm.a = 3 - expect(spy).toBeCalledTimes(1) - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(3, 1, anyFn) - expect(onCleanupSpy).toHaveBeenCalledTimes(1) + it('should work', () => + new Promise((done, reject) => { + done.fail = reject - vm.$destroy() - }) - .then(() => { - expect(onCleanupSpy).toHaveBeenCalledTimes(2) + const onCleanupSpy = vi.fn() + const vm = new Vue({ + setup() { + const a = ref(1) + watch( + a, + (n, o, _onCleanup) => { + spy(n, o, _onCleanup) + _onCleanup(onCleanupSpy) + }, + { immediate: true } + ) + return { + a, + } + }, + template: `
{{a}}
`, + }).$mount() + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(1, undefined, anyFn) + expect(onCleanupSpy).toHaveBeenCalledTimes(0) + vm.a = 2 + vm.a = 3 + expect(spy).toBeCalledTimes(1) + waitForUpdate(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith(3, 1, anyFn) + expect(onCleanupSpy).toHaveBeenCalledTimes(1) + + vm.$destroy() }) - .then(done) - }) + .then(() => { + expect(onCleanupSpy).toHaveBeenCalledTimes(2) + }) + .then(done) + })) - it('basic usage(value wrapper)', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - watch(a, (n, o) => spy(n, o), { flush: 'pre', immediate: true }) + it('basic usage(value wrapper)', () => + new Promise((done, reject) => { + done.fail = reject - return { - a, - } - }, - template: `
{{a}}
`, - }).$mount() - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(1, undefined) - vm.a = 2 - expect(spy).toBeCalledTimes(1) - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + const vm = new Vue({ + setup() { + const a = ref(1) + watch(a, (n, o) => spy(n, o), { flush: 'pre', immediate: true }) - it('basic usage(function)', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - watch( - () => a.value, - (n, o) => spy(n, o), - { immediate: true } - ) + return { + a, + } + }, + template: `
{{a}}
`, + }).$mount() + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(1, undefined) + vm.a = 2 + expect(spy).toBeCalledTimes(1) + waitForUpdate(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) - return { - a, - } - }, - template: `
{{a}}
`, - }).$mount() - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(1, undefined) - vm.a = 2 - expect(spy).toBeCalledTimes(1) - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + it('basic usage(function)', () => + new Promise((done, reject) => { + done.fail = reject - it('multiple cbs (after option merge)', (done) => { - const spy1 = jest.fn() - const a = ref(1) - const Test = Vue.extend({ - setup() { - watch(a, (n, o) => spy1(n, o)) - }, - }) - new Test({ - setup() { - watch(a, (n, o) => spy(n, o)) - return { - a, - } - }, - template: `
{{a}}
`, - }).$mount() - a.value = 2 - waitForUpdate(() => { - expect(spy1).toHaveBeenLastCalledWith(2, 1) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + const vm = new Vue({ + setup() { + const a = ref(1) + watch( + () => a.value, + (n, o) => spy(n, o), + { immediate: true } + ) - it('with option: lazy', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - watch(a, (n, o) => spy(n, o), { lazy: true }) + return { + a, + } + }, + template: `
{{a}}
`, + }).$mount() + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(1, undefined) + vm.a = 2 + expect(spy).toBeCalledTimes(1) + waitForUpdate(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) - return { - a, - } - }, - template: `
{{a}}
`, - }).$mount() - expect(spy).not.toHaveBeenCalled() - vm.a = 2 - waitForUpdate(() => { - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + it('multiple cbs (after option merge)', () => + new Promise((done, reject) => { + done.fail = reject - it('with option: deep', (done) => { - const vm = new Vue({ - setup() { - const a = ref({ b: 1 }) - watch(a, (n, o) => spy(n, o), { lazy: true, deep: true }) + const spy1 = vi.fn() + const a = ref(1) + const Test = Vue.extend({ + setup() { + watch(a, (n, o) => spy1(n, o)) + }, + }) + new Test({ + setup() { + watch(a, (n, o) => spy(n, o)) + return { + a, + } + }, + template: `
{{a}}
`, + }).$mount() + a.value = 2 + waitForUpdate(() => { + expect(spy1).toHaveBeenLastCalledWith(2, 1) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) - return { - a, - } - }, - template: `
{{a}}
`, - }).$mount() - const oldA = vm.a - expect(spy).not.toHaveBeenCalled() - vm.a.b = 2 - expect(spy).not.toHaveBeenCalled() - waitForUpdate(() => { - expect(spy).toHaveBeenLastCalledWith(vm.a, vm.a) - vm.a = { b: 3 } - }) - .then(() => { - expect(spy).toHaveBeenLastCalledWith(vm.a, oldA) + it('with option: lazy', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + setup() { + const a = ref(1) + watch(a, (n, o) => spy(n, o), { lazy: true }) + + return { + a, + } + }, + template: `
{{a}}
`, + }).$mount() + expect(spy).not.toHaveBeenCalled() + vm.a = 2 + waitForUpdate(() => { + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) + + it('with option: deep', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + setup() { + const a = ref({ b: 1 }) + watch(a, (n, o) => spy(n, o), { lazy: true, deep: true }) + + return { + a, + } + }, + template: `
{{a}}
`, + }).$mount() + const oldA = vm.a + expect(spy).not.toHaveBeenCalled() + vm.a.b = 2 + expect(spy).not.toHaveBeenCalled() + waitForUpdate(() => { + expect(spy).toHaveBeenLastCalledWith(vm.a, vm.a) + vm.a = { b: 3 } }) - .then(done) - }) + .then(() => { + expect(spy).toHaveBeenLastCalledWith(vm.a, oldA) + }) + .then(done) + })) - it('markRaw', (done) => { - const nestedState = ref(100) + it('markRaw', () => + new Promise((done, reject) => { + done.fail = reject - const state = ref({ - rawValue: markRaw({ - nestedState, - }), - }) + const nestedState = ref(100) - watch( - state, - () => { - spy() - }, - { deep: true } - ) + const state = ref({ + rawValue: markRaw({ + nestedState, + }), + }) - function changeRawValue() { - nestedState.value = Math.random() - } + watch( + state, + () => { + spy() + }, + { deep: true } + ) - changeRawValue() + function changeRawValue() { + nestedState.value = Math.random() + } - waitForUpdate(() => { - expect(spy).not.toBeCalled() - }).then(done) - }) + changeRawValue() - it('should flush after render (immediate=false)', (done) => { - let rerenderedText - const vm = new Vue({ - setup() { - const a = ref(1) - watch( - a, - (newVal, oldVal) => { - spy(newVal, oldVal) - rerenderedText = vm.$el.textContent - }, - { lazy: true, flush: 'post' } - ) - return { - a, - } - }, - render(h) { - return h('div', this.a) - }, - }).$mount() - expect(spy).not.toHaveBeenCalled() - vm.a = 2 - waitForUpdate(() => { - expect(rerenderedText).toBe('2') - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + waitForUpdate(() => { + expect(spy).not.toBeCalled() + }).then(done) + })) - it('should flush after render (immediate=true)', (done) => { - let rerenderedText - var vm = new Vue({ - setup() { - const a = ref(1) - watch( - a, - (newVal, oldVal) => { - spy(newVal, oldVal) - if (vm) { + it('should flush after render (immediate=false)', () => + new Promise((done, reject) => { + done.fail = reject + + let rerenderedText + const vm = new Vue({ + setup() { + const a = ref(1) + watch( + a, + (newVal, oldVal) => { + spy(newVal, oldVal) rerenderedText = vm.$el.textContent - } - }, - { immediate: true, flush: 'post' } - ) - return { - a, - } - }, - render(h) { - return h('div', this.a) - }, - }).$mount() - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(1, undefined) - vm.a = 2 - waitForUpdate(() => { - expect(rerenderedText).toBe('2') - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + }, + { lazy: true, flush: 'post' } + ) + return { + a, + } + }, + render(h) { + return h('div', this.a) + }, + }).$mount() + expect(spy).not.toHaveBeenCalled() + vm.a = 2 + waitForUpdate(() => { + expect(rerenderedText).toBe('2') + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) - it('should flush before render', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - watch( - a, - (newVal, oldVal) => { - spy(newVal, oldVal) - expect(vm.$el.textContent).toBe('1') - }, - { lazy: true, flush: 'pre' } - ) - return { - a, - } - }, - render(h) { - return h('div', this.a) - }, - }).$mount() - vm.a = 2 - waitForUpdate(() => { + it('should flush after render (immediate=true)', () => + new Promise((done, reject) => { + done.fail = reject + + let rerenderedText + var vm = new Vue({ + setup() { + const a = ref(1) + watch( + a, + (newVal, oldVal) => { + spy(newVal, oldVal) + if (vm) { + rerenderedText = vm.$el.textContent + } + }, + { immediate: true, flush: 'post' } + ) + return { + a, + } + }, + render(h) { + return h('div', this.a) + }, + }).$mount() expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + expect(spy).toHaveBeenLastCalledWith(1, undefined) + vm.a = 2 + waitForUpdate(() => { + expect(rerenderedText).toBe('2') + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) - it('should flush synchronously', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - watch(a, (n, o) => spy(n, o), { lazy: true, flush: 'sync' }) - return { - a, - } - }, - render(h) { - return h('div', this.a) - }, - }).$mount() - expect(spy).not.toHaveBeenCalled() - vm.a = 2 - expect(spy).toHaveBeenLastCalledWith(2, 1) - vm.a = 3 - expect(spy).toHaveBeenLastCalledWith(3, 2) - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - }).then(done) - }) + it('should flush before render', () => + new Promise((done, reject) => { + done.fail = reject - it('should support watching unicode paths', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - watch(a, (n, o) => spy(n, o), { lazy: true }) + const vm = new Vue({ + setup() { + const a = ref(1) + watch( + a, + (newVal, oldVal) => { + spy(newVal, oldVal) + expect(vm.$el.textContent).toBe('1') + }, + { lazy: true, flush: 'pre' } + ) + return { + a, + } + }, + render(h) { + return h('div', this.a) + }, + }).$mount() + vm.a = 2 + waitForUpdate(() => { + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) - return { - 数据: a, - } - }, - render(h) { - return h('div', this['数据']) - }, - }).$mount() - expect(spy).not.toHaveBeenCalled() - vm['数据'] = 2 - expect(spy).not.toHaveBeenCalled() - waitForUpdate(() => { + it('should flush synchronously', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + setup() { + const a = ref(1) + watch(a, (n, o) => spy(n, o), { lazy: true, flush: 'sync' }) + return { + a, + } + }, + render(h) { + return h('div', this.a) + }, + }).$mount() + expect(spy).not.toHaveBeenCalled() + vm.a = 2 expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + vm.a = 3 + expect(spy).toHaveBeenLastCalledWith(3, 2) + waitForUpdate(() => { + expect(spy).toBeCalledTimes(2) + }).then(done) + })) + + it('should support watching unicode paths', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + setup() { + const a = ref(1) + watch(a, (n, o) => spy(n, o), { lazy: true }) + + return { + 数据: a, + } + }, + render(h) { + return h('div', this['数据']) + }, + }).$mount() + expect(spy).not.toHaveBeenCalled() + vm['数据'] = 2 + expect(spy).not.toHaveBeenCalled() + waitForUpdate(() => { + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) it('should allow to be triggered in setup', () => { new Vue({ @@ -354,105 +390,111 @@ describe('api/watch', () => { expect(spy).toHaveBeenNthCalledWith(2, 1, 0) }) - it('should run in a expected order', (done) => { - const result = [] - var vm = new Vue({ - setup() { - const x = ref(0) - - // prettier-ignore - watchEffect(() => { void x.value; result.push('sync effect'); }, { flush: 'sync' }); - // prettier-ignore - watchEffect(() => { void x.value; result.push('pre effect'); }, { flush: 'pre' }); - // prettier-ignore - watchEffect(() => { void x.value; result.push('post effect'); }, { flush: 'post' }); - - // prettier-ignore - watch(x, () => { result.push('sync callback') }, { flush: 'sync', immediate: true }) - // prettier-ignore - watch(x, () => { result.push('pre callback') }, { flush: 'pre', immediate: true }) - // prettier-ignore - watch(x, () => { result.push('post callback') }, { flush: 'post', immediate: true }) - - const inc = () => { - result.push('before inc') - x.value++ - result.push('after inc') - } - - return { x, inc } - }, - template: `
{{x}}
`, - }).$mount() - expect(result).toEqual([ - 'sync effect', - 'pre effect', - 'post effect', - 'sync callback', - 'pre callback', - 'post callback', - ]) - result.length = 0 - - waitForUpdate(() => { - expect(result).toEqual([]) - result.length = 0 + it('should run in a expected order', () => + new Promise((done, reject) => { + done.fail = reject - vm.inc() - }) - .then(() => { - expect(result).toEqual([ - 'before inc', - 'sync effect', - 'sync callback', - 'after inc', - 'pre effect', - 'pre callback', - 'post effect', - 'post callback', - ]) - }) - .then(done) - }) - - describe('simple effect', () => { - it('should work', (done) => { - let onCleanup - const onCleanupSpy = jest.fn() - const vm = new Vue({ + const result = [] + var vm = new Vue({ setup() { - const count = ref(0) - watchEffect((_onCleanup) => { - onCleanup = _onCleanup - _onCleanup(onCleanupSpy) - spy(count.value) - }) - - return { - count, + const x = ref(0) + + // prettier-ignore + watchEffect(() => { void x.value; result.push('sync effect'); }, { flush: 'sync' }); + // prettier-ignore + watchEffect(() => { void x.value; result.push('pre effect'); }, { flush: 'pre' }); + // prettier-ignore + watchEffect(() => { void x.value; result.push('post effect'); }, { flush: 'post' }); + + // prettier-ignore + watch(x, () => { result.push('sync callback') }, { flush: 'sync', immediate: true }) + // prettier-ignore + watch(x, () => { result.push('pre callback') }, { flush: 'pre', immediate: true }) + // prettier-ignore + watch(x, () => { result.push('post callback') }, { flush: 'post', immediate: true }) + + const inc = () => { + result.push('before inc') + x.value++ + result.push('after inc') } + + return { x, inc } }, - render(h) { - return h('div', this.count) - }, + template: `
{{x}}
`, }).$mount() - expect(spy).toHaveBeenCalled() + expect(result).toEqual([ + 'sync effect', + 'pre effect', + 'post effect', + 'sync callback', + 'pre callback', + 'post callback', + ]) + result.length = 0 + waitForUpdate(() => { - expect(onCleanup).toEqual(anyFn) - expect(onCleanupSpy).toHaveBeenCalledTimes(0) - expect(spy).toHaveBeenLastCalledWith(0) - vm.count++ + expect(result).toEqual([]) + result.length = 0 + + vm.inc() }) .then(() => { - expect(spy).toHaveBeenLastCalledWith(1) - expect(onCleanupSpy).toHaveBeenCalledTimes(1) - vm.$destroy() - }) - .then(() => { - expect(onCleanupSpy).toHaveBeenCalledTimes(2) + expect(result).toEqual([ + 'before inc', + 'sync effect', + 'sync callback', + 'after inc', + 'pre effect', + 'pre callback', + 'post effect', + 'post callback', + ]) }) .then(done) - }) + })) + + describe('simple effect', () => { + it('should work', () => + new Promise((done, reject) => { + done.fail = reject + + let onCleanup + const onCleanupSpy = vi.fn() + const vm = new Vue({ + setup() { + const count = ref(0) + watchEffect((_onCleanup) => { + onCleanup = _onCleanup + _onCleanup(onCleanupSpy) + spy(count.value) + }) + + return { + count, + } + }, + render(h) { + return h('div', this.count) + }, + }).$mount() + expect(spy).toHaveBeenCalled() + waitForUpdate(() => { + expect(onCleanup).toEqual(anyFn) + expect(onCleanupSpy).toHaveBeenCalledTimes(0) + expect(spy).toHaveBeenLastCalledWith(0) + vm.count++ + }) + .then(() => { + expect(spy).toHaveBeenLastCalledWith(1) + expect(onCleanupSpy).toHaveBeenCalledTimes(1) + vm.$destroy() + }) + .then(() => { + expect(onCleanupSpy).toHaveBeenCalledTimes(2) + }) + .then(done) + })) it('sync=true', () => { const vm = new Vue({ @@ -496,7 +538,7 @@ describe('api/watch', () => { it('warn and not respect deep option when using effect', async () => { const arr = ref([1, [2]]) - const spy = jest.fn() + const spy = vi.fn() watchEffect( () => { spy() @@ -514,103 +556,115 @@ describe('api/watch', () => { describe('Multiple sources', () => { let obj1, obj2 - it('do not store the intermediate state', (done) => { - new Vue({ - setup() { - obj1 = reactive({ a: 1 }) - obj2 = reactive({ a: 2 }) - watch([() => obj1.a, () => obj2.a], (n, o) => spy(n, o), { - immediate: true, - }) - return { - obj1, - obj2, - } - }, - template: `
{{obj1.a}} {{obj2.a}}
`, - }).$mount() - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith([1, 2], []) - obj1.a = 2 - obj2.a = 3 - - obj1.a = 3 - obj2.a = 4 - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith([3, 4], [1, 2]) - obj2.a = 5 - obj2.a = 6 - }) - .then(() => { - expect(spy).toBeCalledTimes(3) - expect(spy).toHaveBeenLastCalledWith([3, 6], [3, 4]) - }) - .then(done) - }) - - it('basic usage(immediate=true, flush=none-sync)', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - const b = ref(1) - watch([a, b], (n, o) => spy(n, o), { flush: 'post', immediate: true }) + it('do not store the intermediate state', () => + new Promise((done, reject) => { + done.fail = reject + + new Vue({ + setup() { + obj1 = reactive({ a: 1 }) + obj2 = reactive({ a: 2 }) + watch([() => obj1.a, () => obj2.a], (n, o) => spy(n, o), { + immediate: true, + }) + return { + obj1, + obj2, + } + }, + template: `
{{obj1.a}} {{obj2.a}}
`, + }).$mount() + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith([1, 2], []) + obj1.a = 2 + obj2.a = 3 - return { - a, - b, - } - }, - template: `
{{a}} {{b}}
`, - }).$mount() - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith([1, 1], []) - vm.a = 2 - expect(spy).toBeCalledTimes(1) - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith([2, 1], [1, 1]) - vm.a = 3 - vm.b = 3 - }) - .then(() => { - expect(spy).toBeCalledTimes(3) - expect(spy).toHaveBeenLastCalledWith([3, 3], [2, 1]) + obj1.a = 3 + obj2.a = 4 + waitForUpdate(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith([3, 4], [1, 2]) + obj2.a = 5 + obj2.a = 6 }) - .then(done) - }) - - it('basic usage(immediate=false, flush=none-sync)', (done) => { - const vm = new Vue({ - setup() { - const a = ref(1) - const b = ref(1) - watch([a, b], (n, o) => spy(n, o), { - immediate: false, - flush: 'post', + .then(() => { + expect(spy).toBeCalledTimes(3) + expect(spy).toHaveBeenLastCalledWith([3, 6], [3, 4]) }) - - return { - a, - b, - } - }, - template: `
{{a}} {{b}}
`, - }).$mount() - vm.a = 2 - expect(spy).not.toHaveBeenCalled() - waitForUpdate(() => { + .then(done) + })) + + it('basic usage(immediate=true, flush=none-sync)', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + setup() { + const a = ref(1) + const b = ref(1) + watch([a, b], (n, o) => spy(n, o), { + flush: 'post', + immediate: true, + }) + + return { + a, + b, + } + }, + template: `
{{a}} {{b}}
`, + }).$mount() expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith([2, 1], [1, 1]) - vm.a = 3 - vm.b = 3 - }) - .then(() => { + expect(spy).toHaveBeenLastCalledWith([1, 1], []) + vm.a = 2 + expect(spy).toBeCalledTimes(1) + waitForUpdate(() => { expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith([3, 3], [2, 1]) + expect(spy).toHaveBeenLastCalledWith([2, 1], [1, 1]) + vm.a = 3 + vm.b = 3 }) - .then(done) - }) + .then(() => { + expect(spy).toBeCalledTimes(3) + expect(spy).toHaveBeenLastCalledWith([3, 3], [2, 1]) + }) + .then(done) + })) + + it('basic usage(immediate=false, flush=none-sync)', () => + new Promise((done, reject) => { + done.fail = reject + + const vm = new Vue({ + setup() { + const a = ref(1) + const b = ref(1) + watch([a, b], (n, o) => spy(n, o), { + immediate: false, + flush: 'post', + }) + + return { + a, + b, + } + }, + template: `
{{a}} {{b}}
`, + }).$mount() + vm.a = 2 + expect(spy).not.toHaveBeenCalled() + waitForUpdate(() => { + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith([2, 1], [1, 1]) + vm.a = 3 + vm.b = 3 + }) + .then(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith([3, 3], [2, 1]) + }) + .then(done) + })) it('basic usage(immediate=true, flush=sync)', () => { const vm = new Vue({ @@ -684,36 +738,42 @@ describe('api/watch', () => { }) describe('Out of setup', () => { - it('should work', (done) => { - const obj = reactive({ a: 1 }) - watch( - () => obj.a, - (n, o) => spy(n, o), - { immediate: true } - ) - expect(spy).toHaveBeenLastCalledWith(1, undefined) - obj.a = 2 - waitForUpdate(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(2, 1) - }).then(done) - }) + it('should work', () => + new Promise((done, reject) => { + done.fail = reject - it('simple effect', (done) => { - const obj = reactive({ a: 1 }) - watchEffect(() => spy(obj.a)) - expect(spy).toHaveBeenCalled() - waitForUpdate(() => { - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(1) + const obj = reactive({ a: 1 }) + watch( + () => obj.a, + (n, o) => spy(n, o), + { immediate: true } + ) + expect(spy).toHaveBeenLastCalledWith(1, undefined) obj.a = 2 - }) - .then(() => { + waitForUpdate(() => { expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(2) + expect(spy).toHaveBeenLastCalledWith(2, 1) + }).then(done) + })) + + it('simple effect', () => + new Promise((done, reject) => { + done.fail = reject + + const obj = reactive({ a: 1 }) + watchEffect(() => spy(obj.a)) + expect(spy).toHaveBeenCalled() + waitForUpdate(() => { + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(1) + obj.a = 2 }) - .then(done) - }) + .then(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith(2) + }) + .then(done) + })) }) describe('cleanup', () => { @@ -734,48 +794,54 @@ describe('api/watch', () => { return p } - it('work with effect', (done) => { - const id = ref(1) - const promises = [] - watchEffect((onCleanup) => { - const val = getAsyncValue(id.value) - promises.push(val) - onCleanup(() => { - val.cancel() + it('work with effect', () => + new Promise((done, reject) => { + done.fail = reject + + const id = ref(1) + const promises = [] + watchEffect((onCleanup) => { + const val = getAsyncValue(id.value) + promises.push(val) + onCleanup(() => { + val.cancel() + }) }) - }) - waitForUpdate(() => { - id.value = 2 - }) - .thenWaitFor(async (next) => { - const values = await Promise.all(promises) - expect(values).toEqual(['canceled', 2]) - next() + waitForUpdate(() => { + id.value = 2 }) - .then(done) - }) + .thenWaitFor(async (next) => { + const values = await Promise.all(promises) + expect(values).toEqual(['canceled', 2]) + next() + }) + .then(done) + })) - it('run cleanup when watch stops (effect)', (done) => { - const spy = jest.fn() - const cleanup = jest.fn() - const stop = watchEffect((onCleanup) => { - spy() - onCleanup(cleanup) - }) - waitForUpdate(() => { - expect(spy).toHaveBeenCalled() - stop() - }) - .then(() => { - expect(cleanup).toHaveBeenCalled() + it('run cleanup when watch stops (effect)', () => + new Promise((done, reject) => { + done.fail = reject + + const spy = vi.fn() + const cleanup = vi.fn() + const stop = watchEffect((onCleanup) => { + spy() + onCleanup(cleanup) }) - .then(done) - }) + waitForUpdate(() => { + expect(spy).toHaveBeenCalled() + stop() + }) + .then(() => { + expect(cleanup).toHaveBeenCalled() + }) + .then(done) + })) it('run cleanup when watch stops', () => { const id = ref(1) - const spy = jest.fn() - const cleanup = jest.fn() + const spy = vi.fn() + const cleanup = vi.fn() const stop = watch( id, (value, oldValue, onCleanup) => { @@ -790,60 +856,66 @@ describe('api/watch', () => { expect(cleanup).toHaveBeenCalled() }) - it('should not collect reactive in onCleanup', (done) => { - const ref1 = ref(1) - const ref2 = ref(1) - watchEffect((onCleanup) => { - spy(ref1.value) - onCleanup(() => { - ref2.value = ref2.value + 1 - }) - }) - waitForUpdate(() => { - expect(spy).toBeCalledTimes(1) - expect(spy).toHaveBeenLastCalledWith(1) - ref1.value++ - }) - .then(() => { - expect(spy).toBeCalledTimes(2) - expect(spy).toHaveBeenLastCalledWith(2) - ref2.value = 10 - }) - .then(() => { - expect(spy).toBeCalledTimes(2) - }) - .then(done) - }) + it('should not collect reactive in onCleanup', () => + new Promise((done, reject) => { + done.fail = reject - it('work with callback ', (done) => { - const id = ref(1) - const promises = [] - watch( - id, - (newVal, oldVal, onCleanup) => { - const val = getAsyncValue(newVal) - promises.push(val) + const ref1 = ref(1) + const ref2 = ref(1) + watchEffect((onCleanup) => { + spy(ref1.value) onCleanup(() => { - val.cancel() + ref2.value = ref2.value + 1 }) - }, - { immediate: true } - ) - id.value = 2 - waitForUpdate() - .thenWaitFor(async (next) => { - const values = await Promise.all(promises) - expect(values).toEqual(['canceled', 2]) - next() }) - .then(done) - }) + waitForUpdate(() => { + expect(spy).toBeCalledTimes(1) + expect(spy).toHaveBeenLastCalledWith(1) + ref1.value++ + }) + .then(() => { + expect(spy).toBeCalledTimes(2) + expect(spy).toHaveBeenLastCalledWith(2) + ref2.value = 10 + }) + .then(() => { + expect(spy).toBeCalledTimes(2) + }) + .then(done) + })) + + it('work with callback ', () => + new Promise((done, reject) => { + done.fail = reject + + const id = ref(1) + const promises = [] + watch( + id, + (newVal, oldVal, onCleanup) => { + const val = getAsyncValue(newVal) + promises.push(val) + onCleanup(() => { + val.cancel() + }) + }, + { immediate: true } + ) + id.value = 2 + waitForUpdate() + .thenWaitFor(async (next) => { + const values = await Promise.all(promises) + expect(values).toEqual(['canceled', 2]) + next() + }) + .then(done) + })) }) it('should execute watch when new key is added', () => { const r = reactive({}) - const cb = jest.fn() + const cb = vi.fn() watch(r, cb, { deep: true }) @@ -854,7 +926,7 @@ describe('api/watch', () => { it('watching sources: ref<[]>', async () => { const foo = ref([1]) - const cb = jest.fn() + const cb = vi.fn() watch(foo, cb) foo.value = foo.value.slice() await nextTick() @@ -869,7 +941,7 @@ describe('api/watch', () => { const div3 = computed(() => { return number.value > 3 ? '>3' : '<=3' }) - const cb = jest.fn() + const cb = vi.fn() watch([div2, div3], cb) number.value = 2 await nextTick() diff --git a/test/helpers/mockWarn.ts b/test/helpers/mockWarn.ts index 500238b9..c9be10d0 100644 --- a/test/helpers/mockWarn.ts +++ b/test/helpers/mockWarn.ts @@ -1,13 +1,15 @@ declare global { - namespace jest { - interface Matchers { - toHaveBeenWarned(): R - toHaveBeenWarnedLast(): R - toHaveBeenWarnedTimes(n: number): R + namespace Vi { + interface JestAssertion { + toHaveBeenWarned(): T + toHaveBeenWarnedLast(): T + toHaveBeenWarnedTimes(n: number): T } } } +import type { SpyInstance } from 'vitest' + export const mockError = () => mockWarn(true) export function mockWarn(asError = false) { @@ -76,12 +78,12 @@ export function mockWarn(asError = false) { }, }) - let warn: jest.SpyInstance + let warn: SpyInstance const asserted: Set = new Set() beforeEach(() => { asserted.clear() - warn = jest.spyOn(console, asError ? 'error' : 'warn') + warn = vi.spyOn(console, asError ? 'error' : 'warn') warn.mockImplementation(() => {}) }) diff --git a/test/helpers/wait-for-update.js b/test/helpers/wait-for-update.ts similarity index 88% rename from test/helpers/wait-for-update.js rename to test/helpers/wait-for-update.ts index df8334d1..c125757d 100644 --- a/test/helpers/wait-for-update.js +++ b/test/helpers/wait-for-update.ts @@ -1,4 +1,4 @@ -const Vue = require('vue') +import Vue from 'vue' // helper for async assertions. // Use like this: @@ -13,7 +13,7 @@ const Vue = require('vue') // }) // .then(done) -const waitForUpdate = (initialCb) => { +export const waitForUpdate = (initialCb) => { let end const queue = initialCb ? [initialCb] : [] @@ -69,12 +69,6 @@ const waitForUpdate = (initialCb) => { return chainer } -if (typeof window !== 'undefined') { - window.waitForUpdate = waitForUpdate -} - -exports.waitForUpdate = waitForUpdate - function timeout(n) { return (next) => setTimeout(next, n) } diff --git a/test/setup.spec.js b/test/setup.spec.js index 4f55b03d..8d5e75e2 100644 --- a/test/setup.spec.js +++ b/test/setup.spec.js @@ -1,5 +1,5 @@ -const Vue = require('vue/dist/vue.common.js') -const { +import Vue from 'vue/dist/vue.common.js' +import { ref, computed, h, @@ -16,12 +16,14 @@ const { onMounted, set, del, -} = require('../src') -const { sleep } = require('./helpers/utils') +} from '../src' +import { sleep } from './helpers/utils' describe('setup', () => { + let warn = null + beforeEach(() => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) + warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) }) afterEach(() => { warn.mockRestore() @@ -93,52 +95,55 @@ describe('setup', () => { expect(vm.b).toBe(1) }) - it('should work with `methods` and `data` options', (done) => { - let calls = 0 - const vm = new Vue({ - template: `
{{a}}{{b}}{{c}}
`, - setup() { - return { - a: ref(1), - } - }, - beforeUpdate() { - calls++ - }, - created() { - this.m() - }, - data() { - return { - b: this.a, - c: 0, - } - }, - methods: { - m() { - this.c = this.a + it('should work with `methods` and `data` options', () => + new Promise((done, reject) => { + done.fail = reject + + let calls = 0 + const vm = new Vue({ + template: `
{{a}}{{b}}{{c}}
`, + setup() { + return { + a: ref(1), + } }, - }, - }).$mount() - expect(vm.a).toBe(1) - expect(vm.b).toBe(1) - expect(vm.c).toBe(1) - vm.a = 2 - waitForUpdate(() => { - expect(calls).toBe(1) - expect(vm.a).toBe(2) + beforeUpdate() { + calls++ + }, + created() { + this.m() + }, + data() { + return { + b: this.a, + c: 0, + } + }, + methods: { + m() { + this.c = this.a + }, + }, + }).$mount() + expect(vm.a).toBe(1) expect(vm.b).toBe(1) expect(vm.c).toBe(1) - vm.b = 2 - }) - .then(() => { - expect(calls).toBe(2) + vm.a = 2 + waitForUpdate(() => { + expect(calls).toBe(1) expect(vm.a).toBe(2) - expect(vm.b).toBe(2) + expect(vm.b).toBe(1) expect(vm.c).toBe(1) + vm.b = 2 }) - .then(done) - }) + .then(() => { + expect(calls).toBe(2) + expect(vm.a).toBe(2) + expect(vm.b).toBe(2) + expect(vm.c).toBe(1) + }) + .then(done) + })) it('should receive props as first params', () => { let props @@ -307,46 +312,49 @@ describe('setup', () => { expect(vm.$refs.test.b).toBe(1) }) - it('props should be reactive', (done) => { - let calls = 0 - let _props - const vm = new Vue({ - template: ``, - setup() { - return { msg: ref('hello') } - }, - beforeUpdate() { - calls++ - }, - components: { - child: { - template: `{{ localMsg }}`, - props: ['msg'], - setup(props) { - _props = props + it('props should be reactive', () => + new Promise((done, reject) => { + done.fail = reject - return { - localMsg: props.msg, - computedMsg: computed(() => props.msg + ' world'), - } + let calls = 0 + let _props + const vm = new Vue({ + template: ``, + setup() { + return { msg: ref('hello') } + }, + beforeUpdate() { + calls++ + }, + components: { + child: { + template: `{{ localMsg }}`, + props: ['msg'], + setup(props) { + _props = props + + return { + localMsg: props.msg, + computedMsg: computed(() => props.msg + ' world'), + } + }, }, }, - }, - }).$mount() + }).$mount() - expect(isReactive(_props)).toBe(true) + expect(isReactive(_props)).toBe(true) - const child = vm.$children[0] - expect(child.localMsg).toBe('hello') - expect(child.computedMsg).toBe('hello world') - expect(calls).toBe(0) - vm.msg = 'hi' - waitForUpdate(() => { + const child = vm.$children[0] expect(child.localMsg).toBe('hello') - expect(child.computedMsg).toBe('hi world') - expect(calls).toBe(1) - }).then(done) - }) + expect(child.computedMsg).toBe('hello world') + expect(calls).toBe(0) + vm.msg = 'hi' + waitForUpdate(() => { + expect(child.localMsg).toBe('hello') + expect(child.computedMsg).toBe('hi world') + expect(calls).toBe(1) + }).then(done) + })) it('toRefs(props) should not warn', async () => { let a @@ -407,37 +415,40 @@ describe('setup', () => { }).$mount() }) - it('should not make returned non-reactive object reactive', (done) => { - const vm = new Vue({ - setup() { - return { - form: { - a: 1, - b: 2, - }, - } - }, - template: '
{{ form.a }}, {{ form.b }}
', - }).$mount() - expect(vm.$el.textContent).toBe('1, 2') + it('should not make returned non-reactive object reactive', () => + new Promise((done, reject) => { + done.fail = reject - // should not trigger a re-render - vm.form.a = 2 - waitForUpdate(() => { + const vm = new Vue({ + setup() { + return { + form: { + a: 1, + b: 2, + }, + } + }, + template: '
{{ form.a }}, {{ form.b }}
', + }).$mount() expect(vm.$el.textContent).toBe('1, 2') - // not trigger event - vm.form = { a: 2, b: 3 } - }) - .then(() => { + // should not trigger a re-render + vm.form.a = 2 + waitForUpdate(() => { expect(vm.$el.textContent).toBe('1, 2') + + // not trigger event + vm.form = { a: 2, b: 3 } }) - .then(done) - }) + .then(() => { + expect(vm.$el.textContent).toBe('1, 2') + }) + .then(done) + })) it("should put a unenumerable '__ob__' for non-reactive object", () => { const clone = (obj) => JSON.parse(JSON.stringify(obj)) - const componentSetup = jest.fn((props) => { + const componentSetup = vi.fn((props) => { const internalOptions = clone(props.options) return { internalOptions } }) @@ -454,7 +465,7 @@ describe('setup', () => { }) it('current vue should exist in nested setup call', () => { - const spy = jest.fn() + const spy = vi.fn() new Vue({ setup() { new Vue({ @@ -491,47 +502,50 @@ describe('setup', () => { expect(p).toBe(undefined) }) - it('inline render function should work', (done) => { - // let createElement; - const vm = new Vue({ - props: ['msg'], - template: '
1
', - setup(props) { - const count = ref(0) - const increment = () => { - count.value++ - } + it('inline render function should work', () => + new Promise((done, reject) => { + done.fail = reject - return () => - h('div', [ - h('span', props.msg), - h( - 'button', - { - on: { - click: increment, + // let createElement; + const vm = new Vue({ + props: ['msg'], + template: '
1
', + setup(props) { + const count = ref(0) + const increment = () => { + count.value++ + } + + return () => + h('div', [ + h('span', props.msg), + h( + 'button', + { + on: { + click: increment, + }, }, - }, - count.value - ), - ]) - }, - propsData: { - msg: 'foo', - }, - }).$mount() - expect(vm.$el.querySelector('span').textContent).toBe('foo') - expect(vm.$el.querySelector('button').textContent).toBe('0') - vm.$el.querySelector('button').click() - waitForUpdate(() => { - expect(vm.$el.querySelector('button').textContent).toBe('1') - vm.msg = 'bar' - }) - .then(() => { - expect(vm.$el.querySelector('span').textContent).toBe('bar') + count.value + ), + ]) + }, + propsData: { + msg: 'foo', + }, + }).$mount() + expect(vm.$el.querySelector('span').textContent).toBe('foo') + expect(vm.$el.querySelector('button').textContent).toBe('0') + vm.$el.querySelector('button').click() + waitForUpdate(() => { + expect(vm.$el.querySelector('button').textContent).toBe('1') + vm.msg = 'bar' }) - .then(done) - }) + .then(() => { + expect(vm.$el.querySelector('span').textContent).toBe('bar') + }) + .then(done) + })) describe('setup unwrap', () => { test('ref', () => { @@ -825,7 +839,7 @@ describe('setup', () => { describe('Methods', () => { it('binds methods when calling with parenthesis', async () => { let context = null - const contextFunction = jest.fn(function () { + const contextFunction = vi.fn(function () { context = this }) @@ -845,7 +859,7 @@ describe('setup', () => { it('binds methods when calling without parenthesis', async () => { let context = null - const contextFunction = jest.fn(function () { + const contextFunction = vi.fn(function () { context = this }) @@ -1176,7 +1190,7 @@ describe('setup', () => { {}, { get() { - return jest.fn() + return vi.fn() }, } ) @@ -1223,7 +1237,7 @@ describe('setup', () => { // #794 it('should not trigger getter w/ object computed nested', () => { - const spy = jest.fn() + const spy = vi.fn() new Vue({ setup() { new Vue({ diff --git a/test/setupContext.spec.ts b/test/setupContext.spec.ts index 701bc95d..7943d5c2 100644 --- a/test/setupContext.spec.ts +++ b/test/setupContext.spec.ts @@ -65,9 +65,7 @@ describe('setupContext', () => { }) it('warn for slots calls outside of the render() function', () => { - let warn = jest - .spyOn(global.console, 'error') - .mockImplementation(() => null) + let warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) createApp( defineComponent({ @@ -229,7 +227,7 @@ describe('setupContext', () => { // #794 it('should not trigger getter w/ object computed nested', async () => { - const spy = jest.fn() + const spy = vi.fn() createApp( defineComponent({ template: `
`, diff --git a/test/setupTest.js b/test/setupTest.js deleted file mode 100644 index 0f0e5cc4..00000000 --- a/test/setupTest.js +++ /dev/null @@ -1,9 +0,0 @@ -const Vue = require('vue/dist/vue.common') -const FullVue = require('vue/dist/vue.runtime.common') -const plugin = require('../src').default - -FullVue.config.productionTip = false -FullVue.config.devtools = false -Vue.config.productionTip = false -Vue.config.devtools = false -Vue.use(plugin) diff --git a/test/ssr/serverPrefetch.spec.js b/test/ssr/serverPrefetch.spec.js index 578c7866..14d2dd8c 100644 --- a/test/ssr/serverPrefetch.spec.js +++ b/test/ssr/serverPrefetch.spec.js @@ -1,12 +1,6 @@ -const Vue = require('vue/dist/vue.common.js') -const { createRenderer } = require('vue-server-renderer') -const { - ref, - onServerPrefetch, - getCurrentInstance, - isReactive, - reactive, -} = require('../../src') +import Vue from 'vue/dist/vue.common.js' +import { createRenderer } from 'vue-server-renderer' +import { ref, onServerPrefetch, getCurrentInstance } from '../../src' function fetch(result) { return new Promise((resolve) => { diff --git a/test/ssr/ssrReactive.spec.ts b/test/ssr/ssrReactive.spec.ts index c5fa4d6e..66c3dc3d 100644 --- a/test/ssr/ssrReactive.spec.ts +++ b/test/ssr/ssrReactive.spec.ts @@ -78,42 +78,43 @@ describe('SSR Reactive', () => { }) // #550 - it('props should work with set', async (done) => { - let props: any + it('props should work with set', () => + new Promise(async (done) => { + let props: any - const app = new Vue({ - render(this: any, h) { - return h('child', { attrs: { msg: this.msg } }) - }, - setup() { - return { msg: ref('hello') } - }, - components: { - child: { - render(this: any, h: any) { - return h('span', this.data.msg) - }, - props: ['msg'], - setup(_props) { - props = _props - - return { data: _props } + const app = new Vue({ + render(this: any, h) { + return h('child', { attrs: { msg: this.msg } }) + }, + setup() { + return { msg: ref('hello') } + }, + components: { + child: { + render(this: any, h: any) { + return h('span', this.data.msg) + }, + props: ['msg'], + setup(_props) { + props = _props + + return { data: _props } + }, }, }, - }, - }) + }) - const serverRenderer = createRenderer() - const html = await serverRenderer.renderToString(app) + const serverRenderer = createRenderer() + const html = await serverRenderer.renderToString(app) - expect(html).toBe('hello') + expect(html).toBe('hello') - expect(props.bar).toBeUndefined() - set(props, 'bar', 'bar') - expect(props.bar).toBe('bar') + expect(props.bar).toBeUndefined() + set(props, 'bar', 'bar') + expect(props.bar).toBe('bar') - done() - }) + done() + })) // #721 it('should behave correctly', () => { diff --git a/test/templateRefs.spec.js b/test/templateRefs.spec.js index 2becd297..42bfee01 100644 --- a/test/templateRefs.spec.js +++ b/test/templateRefs.spec.js @@ -1,73 +1,80 @@ -const Vue = require('vue/dist/vue.common.js') -const { ref, watchEffect, nextTick } = require('../src') +import Vue from 'vue/dist/vue.common.js' +import { ref, watchEffect, nextTick } from '../src' describe('ref', () => { - it('should work', (done) => { - let dummy - const vm = new Vue({ - setup() { - const ref1 = ref(null) - watchEffect(() => { - dummy = ref1.value - }) + it('should work', () => + new Promise((done) => { + let dummy + const vm = new Vue({ + setup() { + const ref1 = ref(null) + watchEffect(() => { + dummy = ref1.value + }) - return { - bar: ref1, - } - }, - template: `
+ return { + bar: ref1, + } + }, + template: `
`, - components: { - test: { - id: 'test', - template: '
test
', + components: { + test: { + id: 'test', + template: '
test
', + }, }, - }, - }).$mount() - vm.$nextTick() - .then(() => { - expect(dummy).toBe(vm.$refs.bar) - }) - .then(done) - }) - - it('should dynamically update refs', (done) => { - const vm = new Vue({ - setup() { - const ref1 = ref(null) - const ref2 = ref(null) - watchEffect(() => { - dummy1 = ref1.value - dummy2 = ref2.value + }).$mount() + vm.$nextTick() + .then(() => { + expect(dummy).toBe(vm.$refs.bar) }) + .then(done) + })) - return { - value: 'bar', - bar: ref1, - foo: ref2, - } - }, - template: '
', - }).$mount() - waitForUpdate(() => {}) - .then(() => { - expect(dummy1).toBe(vm.$refs.bar) - expect(dummy2).toBe(null) - vm.value = 'foo' - }) - .then(() => { - // vm updated. ref update occures after updated; - }) - .then(() => { - // no render cycle, empty tick - }) - .then(() => { - expect(dummy1).toBe(null) - expect(dummy2).toBe(vm.$refs.foo) - }) - .then(done) - }) + it('should dynamically update refs', () => + new Promise((done, reject) => { + done.fail = reject + + let dummy1 = null + let dummy2 = null + + const vm = new Vue({ + setup() { + const ref1 = ref(null) + const ref2 = ref(null) + watchEffect(() => { + dummy1 = ref1.value + dummy2 = ref2.value + }) + + return { + value: 'bar', + bar: ref1, + foo: ref2, + } + }, + template: '
', + }).$mount() + waitForUpdate(() => {}) + .then(() => { + expect(dummy1).toBe(vm.$refs.bar) + expect(dummy2).toBe(null) + vm.value = 'foo' + }) + .then(() => { + // vm updated. ref update occures after updated; + }) + .then(() => { + // no render cycle, empty tick + }) + .then(() => { + expect(dummy1).toBe(null) + expect(dummy2).toBe(vm.$refs.foo) + }) + .then(done) + })) // #296 it('should dynamically update refs in context', async () => { diff --git a/test/use.spec.ts b/test/use.spec.ts index 469e2f81..b375dbfb 100644 --- a/test/use.spec.ts +++ b/test/use.spec.ts @@ -25,7 +25,7 @@ describe('use', () => { config: { optionMergeStrategies: {}, }, - mixin: jest.fn(), + mixin: vi.fn(), } // @ts-ignore diff --git a/test/v3/reactivity/computed.spec.ts b/test/v3/reactivity/computed.spec.ts index 75517286..f903066b 100644 --- a/test/v3/reactivity/computed.spec.ts +++ b/test/v3/reactivity/computed.spec.ts @@ -23,7 +23,7 @@ describe('reactivity/computed', () => { it('should compute lazily', () => { const value = reactive<{ foo?: number }>({ foo: undefined }) - const getter = jest.fn(() => value.foo) + const getter = vi.fn(() => value.foo) const cValue = computed(getter) // lazy @@ -77,8 +77,8 @@ describe('reactivity/computed', () => { it('should trigger effect when chained', () => { const value = reactive({ foo: 0 }) - const getter1 = jest.fn(() => value.foo) - const getter2 = jest.fn(() => { + const getter1 = vi.fn(() => value.foo) + const getter2 = vi.fn(() => { return c1.value + 1 }) const c1 = computed(getter1) @@ -103,8 +103,8 @@ describe('reactivity/computed', () => { it('should trigger effect when chained (mixed invocations)', async () => { const value = reactive({ foo: 0 }) - const getter1 = jest.fn(() => value.foo) - const getter2 = jest.fn(() => { + const getter1 = vi.fn(() => value.foo) + const getter2 = vi.fn(() => { return c1.value + 1 }) const c1 = computed(getter1) diff --git a/test/v3/reactivity/del.spec.ts b/test/v3/reactivity/del.spec.ts index f590034e..ef544569 100644 --- a/test/v3/reactivity/del.spec.ts +++ b/test/v3/reactivity/del.spec.ts @@ -6,7 +6,7 @@ describe('reactivity/del', () => { const obj = reactive<{ a?: object }>({ a: {}, }) - const spy = jest.fn() + const spy = vi.fn() watch(obj, spy, { deep: true, flush: 'sync' }) delete obj.a // Vue 2 limitation expect(spy).not.toHaveBeenCalled() @@ -17,7 +17,7 @@ describe('reactivity/del', () => { const obj = reactive<{ a?: object }>({ a: {}, }) - const spy = jest.fn() + const spy = vi.fn() watch(obj, spy, { deep: true, flush: 'sync' }) del(obj, 'a') expect(spy).toBeCalledTimes(1) @@ -26,7 +26,7 @@ describe('reactivity/del', () => { it('should not remove element on array index and should not trigger reactivity', () => { const arr = ref([1, 2, 3]) - const spy = jest.fn() + const spy = vi.fn() watch(arr, spy, { flush: 'sync' }) delete arr.value[1] // Vue 2 limitation; workaround with .splice() expect(spy).not.toHaveBeenCalled() @@ -35,7 +35,7 @@ describe('reactivity/del', () => { it('should trigger reactivity when using del on array', () => { const arr = ref([1, 2, 3]) - const spy = jest.fn() + const spy = vi.fn() watch(arr, spy, { flush: 'sync' }) del(arr.value, 1) expect(spy).toBeCalledTimes(1) @@ -47,7 +47,7 @@ describe('reactivity/del', () => { const MAX_VALID_ARRAY_LENGTH = Math.pow(2, 32) - 1 const NON_VALIDD_INDEX = MAX_VALID_ARRAY_LENGTH + 1 set(arr.value, NON_VALIDD_INDEX, 0) - const spy = jest.fn() + const spy = vi.fn() watchEffect( () => { spy(arr.value) diff --git a/test/v3/reactivity/effectScope.spec.ts b/test/v3/reactivity/effectScope.spec.ts index f50a4b3f..c231348c 100644 --- a/test/v3/reactivity/effectScope.spec.ts +++ b/test/v3/reactivity/effectScope.spec.ts @@ -17,7 +17,7 @@ describe('reactivity/effect/scope', () => { mockWarn(true) it('should run', () => { - const fnSpy = jest.fn(() => {}) + const fnSpy = vi.fn(() => {}) new EffectScope().run(fnSpy) expect(fnSpy).toHaveBeenCalledTimes(1) }) @@ -210,7 +210,7 @@ describe('reactivity/effect/scope', () => { }) it('should warn onScopeDispose() is called when there is no active effect scope', () => { - const spy = jest.fn() + const spy = vi.fn() const scope = new EffectScope() scope.run(() => { onScopeDispose(spy) @@ -231,9 +231,9 @@ describe('reactivity/effect/scope', () => { it('test with higher level APIs', async () => { const r = ref(1) - const computedSpy = jest.fn() - const watchSpy = jest.fn() - const watchEffectSpy = jest.fn() + const computedSpy = vi.fn() + const watchSpy = vi.fn() + const watchEffectSpy = vi.fn() let c: ComputedRef const scope = new EffectScope() diff --git a/test/v3/reactivity/reactive.spec.ts b/test/v3/reactivity/reactive.spec.ts index 19dbe534..af18d2d7 100644 --- a/test/v3/reactivity/reactive.spec.ts +++ b/test/v3/reactivity/reactive.spec.ts @@ -12,9 +12,9 @@ import { } from '../../../src' describe('reactivity/reactive', () => { - let warn: jest.SpyInstance + let warn: vi.SpyInstance beforeEach(() => { - warn = jest.spyOn(global.console, 'error').mockImplementation(() => null) + warn = vi.spyOn(global.console, 'error').mockImplementation(() => null) warn.mockReset() }) afterEach(() => { diff --git a/test/v3/reactivity/readonly.spec.ts b/test/v3/reactivity/readonly.spec.ts index 8aa29ba6..2f371884 100644 --- a/test/v3/reactivity/readonly.spec.ts +++ b/test/v3/reactivity/readonly.spec.ts @@ -424,7 +424,7 @@ describe('reactivity/readonly', () => { // #712 test('watch should work for ref with shallowReadonly', async () => { - const cb = jest.fn() + const cb = vi.fn() const vm = new Vue({ template: '
{{ countRef }}
', setup() { @@ -452,7 +452,7 @@ describe('reactivity/readonly', () => { // #712 test('watch should work for reactive with shallowReadonly', async () => { - const cb = jest.fn() + const cb = vi.fn() const vm = new Vue({ template: '
{{ count.number }}
', setup() { diff --git a/test/v3/reactivity/set.spec.ts b/test/v3/reactivity/set.spec.ts index d0a76072..c6522c08 100644 --- a/test/v3/reactivity/set.spec.ts +++ b/test/v3/reactivity/set.spec.ts @@ -3,7 +3,7 @@ import { set, reactive, ref, watch, watchEffect } from '../../../src' describe('reactivity/set', () => { it('should not trigger reactivity on native object member assignment', () => { const obj = reactive<{ a?: number }>({}) - const spy = jest.fn() + const spy = vi.fn() watch(obj, spy, { deep: true, flush: 'sync' }) obj.a = 1 expect(spy).not.toHaveBeenCalled() @@ -12,7 +12,7 @@ describe('reactivity/set', () => { it('should trigger reactivity when using set on reactive object', () => { const obj = reactive<{ a?: number }>({}) - const spy = jest.fn() + const spy = vi.fn() watch(obj, spy, { deep: true, flush: 'sync' }) set(obj, 'a', 1) expect(spy).toBeCalledTimes(1) @@ -21,7 +21,7 @@ describe('reactivity/set', () => { it('should trigger watchEffect when using set to change value of array length', () => { const arr = ref([1, 2, 3]) - const spy = jest.fn() + const spy = vi.fn() watchEffect( () => { spy(arr.value) diff --git a/test/v3/runtime-core/apiAsyncComponent.spec.ts b/test/v3/runtime-core/apiAsyncComponent.spec.ts index 97f2941d..dbc54d04 100644 --- a/test/v3/runtime-core/apiAsyncComponent.spec.ts +++ b/test/v3/runtime-core/apiAsyncComponent.spec.ts @@ -151,7 +151,7 @@ describe('api: defineAsyncComponent', () => { render: () => (toggle.value ? h(Foo) : null), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) @@ -200,7 +200,7 @@ describe('api: defineAsyncComponent', () => { render: () => (toggle.value ? h(Foo) : null), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) @@ -247,7 +247,7 @@ describe('api: defineAsyncComponent', () => { render: () => (toggle.value ? h(Foo) : null), }) - jest.spyOn(global.console, 'error').mockImplementation(() => null) + vi.spyOn(global.console, 'error').mockImplementation(() => null) const vm = app.mount() expect(vm.$el.textContent).toBe('') @@ -296,7 +296,7 @@ describe('api: defineAsyncComponent', () => { render: () => (toggle.value ? h(Foo) : null), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) @@ -349,7 +349,7 @@ describe('api: defineAsyncComponent', () => { render: () => h(Foo), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) @@ -384,7 +384,7 @@ describe('api: defineAsyncComponent', () => { render: () => h(Foo), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) @@ -418,7 +418,7 @@ describe('api: defineAsyncComponent', () => { const app = createApp({ render: () => h(Foo), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) const vm = app.mount() @@ -452,7 +452,7 @@ describe('api: defineAsyncComponent', () => { const app = createApp({ render: () => h(Foo), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) const vm = app.mount() @@ -499,7 +499,7 @@ describe('api: defineAsyncComponent', () => { render: () => h(Foo), }) - jest.spyOn(global.console, 'error').mockImplementation(() => null) + vi.spyOn(global.console, 'error').mockImplementation(() => null) const vm = app.mount() expect(vm.$el.textContent).toBe('') @@ -543,7 +543,7 @@ describe('api: defineAsyncComponent', () => { render: () => h(Foo), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) const vm = app.mount() @@ -584,7 +584,7 @@ describe('api: defineAsyncComponent', () => { render: () => h(Foo), }) - const handler = jest + const handler = vi .spyOn(global.console, 'error') .mockImplementation(() => null) const vm = app.mount() diff --git a/test/v3/runtime-core/apiLifecycle.spec.ts b/test/v3/runtime-core/apiLifecycle.spec.ts index b616d243..ac22a676 100644 --- a/test/v3/runtime-core/apiLifecycle.spec.ts +++ b/test/v3/runtime-core/apiLifecycle.spec.ts @@ -16,7 +16,7 @@ import { describe('api: lifecycle hooks', () => { it('onBeforeMount', () => { const root = document.createElement('div') - const fn = jest.fn(() => { + const fn = vi.fn(() => { // should be called before inner div is rendered expect(root.innerHTML).toBe(``) }) @@ -34,7 +34,7 @@ describe('api: lifecycle hooks', () => { it('onMounted', () => { const root = document.createElement('div') - const fn = jest.fn(() => { + const fn = vi.fn(() => { // should be called after inner div is rendered expect(root.outerHTML).toBe(`
`) }) @@ -53,7 +53,7 @@ describe('api: lifecycle hooks', () => { it('onBeforeUpdate', async () => { const count = ref(0) // const root = document.createElement('div'); - const fn = jest.fn(() => { + const fn = vi.fn(() => { // should be called before inner div is updated expect(vm.$el.outerHTML).toBe(`
0
`) }) @@ -75,7 +75,7 @@ describe('api: lifecycle hooks', () => { it('onUpdated', async () => { const count = ref(0) // const root = document.createElement('div'); - const fn = jest.fn(() => { + const fn = vi.fn(() => { // should be called after inner div is updated expect(vm.$el.outerHTML).toBe(`
1
`) }) @@ -97,7 +97,7 @@ describe('api: lifecycle hooks', () => { // it('onBeforeUnmount', async () => { // const toggle = ref(true); // const root = document.createElement('div'); - // const fn = jest.fn(() => { + // const fn = vi.fn(() => { // // should be called before inner div is removed // expect(root.outerHTML).toBe(`
`); // }); @@ -126,7 +126,7 @@ describe('api: lifecycle hooks', () => { // it('onUnmounted', async () => { // const toggle = ref(true); // const root = document.createElement('div'); - // const fn = jest.fn(() => { + // const fn = vi.fn(() => { // // should be called after inner div is removed // expect(root.outerHTML).toBe(``); // }); @@ -155,7 +155,7 @@ describe('api: lifecycle hooks', () => { it('onBeforeUnmount in onMounted', async () => { const toggle = ref(true) const root = document.createElement('div') - const fn = jest.fn(() => { + const fn = vi.fn(() => { // should be called before inner div is removed expect(root.outerHTML).toBe(`
`) }) @@ -274,7 +274,7 @@ describe('api: lifecycle hooks', () => { // it('onRenderTracked', () => { // const events: DebuggerEvent[] = []; - // const onTrack = jest.fn((e: DebuggerEvent) => { + // const onTrack = vi.fn((e: DebuggerEvent) => { // events.push(e); // }); // const obj = reactive({ foo: 1, bar: 2 }); @@ -309,7 +309,7 @@ describe('api: lifecycle hooks', () => { // it('onRenderTriggered', async () => { // const events: DebuggerEvent[] = []; - // const onTrigger = jest.fn((e: DebuggerEvent) => { + // const onTrigger = vi.fn((e: DebuggerEvent) => { // events.push(e); // }); // const obj = reactive({ foo: 1, bar: 2 }); diff --git a/test/v3/runtime-core/apiWatch.spec.ts b/test/v3/runtime-core/apiWatch.spec.ts index 57dc6335..cd28dcb5 100644 --- a/test/v3/runtime-core/apiWatch.spec.ts +++ b/test/v3/runtime-core/apiWatch.spec.ts @@ -14,8 +14,8 @@ import { getRegisteredVueOrDefault } from '../../../src/runtimeContext' describe('api: watch', () => { const Vue = getRegisteredVueOrDefault() - // const warnSpy = jest.spyOn(console, 'warn'); - const warnSpy = jest.spyOn((Vue as any).util, 'warn') + // const warnSpy = vi.spyOn(console, 'warn'); + const warnSpy = vi.spyOn((Vue as any).util, 'warn') beforeEach(() => { warnSpy.mockReset() @@ -208,7 +208,7 @@ describe('api: watch', () => { it('cleanup registration (effect)', async () => { const state = reactive({ count: 0 }) - const cleanup = jest.fn() + const cleanup = vi.fn() let dummy const stop = watchEffect((onCleanup) => { onCleanup(cleanup) @@ -227,7 +227,7 @@ describe('api: watch', () => { it('cleanup registration (with source)', async () => { const count = ref(0) - const cleanup = jest.fn() + const cleanup = vi.fn() let dummy const stop = watch(count, (count, prevCount, onCleanup) => { onCleanup(cleanup) @@ -251,7 +251,7 @@ describe('api: watch', () => { // it('flush timing: post (default)', async () => { // const count = ref(0); // let callCount = 0; - // const assertion = jest.fn(count => { + // const assertion = vi.fn(count => { // callCount++; // // on mount, the watcher callback should be called before DOM render // // on update, should be called after the count is updated @@ -281,7 +281,7 @@ describe('api: watch', () => { // const count2 = ref(0); // let callCount = 0; - // const assertion = jest.fn((count, count2Value) => { + // const assertion = vi.fn((count, count2Value) => { // callCount++; // // on mount, the watcher callback should be called before DOM render // // on update, should be called before the count is updated @@ -322,7 +322,7 @@ describe('api: watch', () => { // const count2 = ref(0); // let callCount = 0; - // const assertion = jest.fn(count => { + // const assertion = vi.fn(count => { // callCount++; // // on mount, the watcher callback should be called before DOM render // // on update, should be called before the count is updated @@ -408,7 +408,7 @@ describe('api: watch', () => { it('immediate', async () => { const count = ref(0) - const cb = jest.fn() + const cb = vi.fn() watch(count, cb, { immediate: true }) expect(cb).toHaveBeenCalledTimes(1) count.value++ @@ -418,14 +418,14 @@ describe('api: watch', () => { it('immediate: triggers when initial value is null', async () => { const state = ref(null) - const spy = jest.fn() + const spy = vi.fn() watch(() => state.value, spy, { immediate: true }) expect(spy).toHaveBeenCalled() }) it('immediate: triggers when initial value is undefined', async () => { const state = ref() - const spy = jest.fn() + const spy = vi.fn() watch(() => state.value, spy, { immediate: true }) expect(spy).toHaveBeenCalled() state.value = 3 @@ -500,7 +500,7 @@ describe('api: watch', () => { // it('warn and not respect deep option when using effect', async () => { // const arr = ref([1, [2]]); - // const spy = jest.fn(); + // const spy = vi.fn(); // watchEffect( // () => { // spy(); @@ -577,7 +577,7 @@ describe('api: watch', () => { // #805 #807 it('watching sources: [ref<[]>] w/ deep', async () => { const foo = ref([1]) - const cb = jest.fn() + const cb = vi.fn() watch([foo], cb, { deep: true }) foo.value.push(2) await nextTick() diff --git a/test/v3/runtime-core/h.spec.ts b/test/v3/runtime-core/h.spec.ts index d77d4577..a5d17454 100644 --- a/test/v3/runtime-core/h.spec.ts +++ b/test/v3/runtime-core/h.spec.ts @@ -11,7 +11,7 @@ describe('renderer: h', () => { }) it('should not warn with called outside of render function', async () => { - const spy = jest.fn() + const spy = vi.fn() const Comp = { setup() { const instance = getCurrentInstance() diff --git a/test/vitest.setup.js b/test/vitest.setup.js new file mode 100644 index 00000000..9c88c0b8 --- /dev/null +++ b/test/vitest.setup.js @@ -0,0 +1,14 @@ +import Vue from 'vue/dist/vue.common' +import FullVue from 'vue/dist/vue.runtime.common' +import plugin from '../src' +import { waitForUpdate } from './helpers/wait-for-update' + +FullVue.config.productionTip = false +FullVue.config.devtools = false +Vue.config.productionTip = false +Vue.config.devtools = false +Vue.use(plugin) + +if (!global.waitForUpdate) { + global.waitForUpdate = waitForUpdate +} diff --git a/tsconfig.json b/tsconfig.json index ac0f7f33..f79735fb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "target": "es5", "lib": ["dom", "esnext"], + "types": ["vitest/globals"], "module": "esnext", "moduleResolution": "node", "skipLibCheck": true, @@ -19,5 +20,5 @@ "downlevelIteration": true, "noUnusedLocals": true }, - "include": ["src"] + "include": ["src", "test", "test-dts"] } diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 00000000..84ebc53e --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from 'vitest/config' + +export default defineConfig({ + test: { + watch: false, + globals: true, + setupFiles: ['./test/vitest.setup.js'], + include: ['./test/**/*.spec.{js,ts}'], + environment: 'jsdom', + }, + define: { + __DEV__: true, + __VERSION__: true, + _refBrand: true, + }, +}) From 39f203684b89d9af0fbd005123eb3783af1d4d18 Mon Sep 17 00:00:00 2001 From: Mater Date: Fri, 23 Sep 2022 12:56:33 +0800 Subject: [PATCH 24/33] fix(types): add types to package export (#968) --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 8981aa07..b1324fda 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "exports": { ".": { "import": "./dist/vue-composition-api.mjs", + "types": "./dist/vue-composition-api.d.ts", "require": "./index.js" }, "./*": "./*" From 5e3fc1e37706c4deaf2ad7f6e3b31ceee145846e Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 23 Sep 2022 12:57:32 +0800 Subject: [PATCH 25/33] release v1.7.1 --- CHANGELOG.md | 11 +++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68b86a84..e3e5010f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ + +## [1.7.1](https://github.com/vuejs/composition-api/compare/v1.7.0...v1.7.1) (2022-09-23) + + +### Bug Fixes + +* **types:** add `Date` to `BaseTypes` ([#957](https://github.com/vuejs/composition-api/issues/957)) ([c3f4e91](https://github.com/vuejs/composition-api/commit/c3f4e91)) +* **types:** add types to package export ([#968](https://github.com/vuejs/composition-api/issues/968)) ([39f2036](https://github.com/vuejs/composition-api/commit/39f2036)) + + + # [1.7.0](https://github.com/vuejs/composition-api/compare/v1.6.3...v1.7.0) (2022-07-01) diff --git a/README.md b/README.md index 79908ab5..1847a088 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index e8353db2..315e6147 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -43,7 +43,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index b1324fda..8f1630b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.7.0", + "version": "1.7.1", "packageManager": "pnpm@7.0.0", "description": "Provide logic composition capabilities for Vue.", "keywords": [ From 6247ba3a1e593b297321f68c1b7bb0dee2c3ea1e Mon Sep 17 00:00:00 2001 From: zhangxiaofan <40513678+workkk98@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:37:56 +0800 Subject: [PATCH 26/33] fix(types): function constructor should be a Function (#972) Co-authored-by: zhanghefan --- src/component/componentProps.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/component/componentProps.ts b/src/component/componentProps.ts index 7abf0d4b..0cac1bc5 100644 --- a/src/component/componentProps.ts +++ b/src/component/componentProps.ts @@ -59,7 +59,7 @@ type InferPropType = T extends null ? boolean : T extends DateConstructor | { type: DateConstructor} ? Date - : T extends FunctionConstructor + : T extends FunctionConstructor | { type: FunctionConstructor } ? Function : T extends Prop ? unknown extends V From 1a05a1d4f2cdfdc1b66b094045b335d5605b2946 Mon Sep 17 00:00:00 2001 From: NoDocCat Date: Tue, 31 Jan 2023 13:49:37 +0800 Subject: [PATCH 27/33] docs: fix build status badges error (#977) --- README.md | 2 +- README.zh-CN.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1847a088..76ccfbbf 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Vue 2 plugin for **Composition API** [![npm](https://img.shields.io/npm/v/@vue/composition-api)](https://www.npmjs.com/package/@vue/composition-api) -[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vuejs/composition-api/Build%20&%20Test)](https://github.com/vuejs/composition-api/actions?query=workflow%3A%22Build+%26+Test%22) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vuejs/composition-api/test.yml)](https://github.com/vuejs/composition-api/actions?query=workflow%3A%22Build+%26+Test%22) [![Minzipped size](https://badgen.net/bundlephobia/minzip/@vue/composition-api)](https://bundlephobia.com/result?p=@vue/composition-api) English | [中文](./README.zh-CN.md) ・ [**Composition API Docs**](https://v3.vuejs.org/guide/composition-api-introduction.html) diff --git a/README.zh-CN.md b/README.zh-CN.md index 315e6147..f6953621 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -3,7 +3,7 @@ 用于提供 **组合式 API** 的 Vue 2 插件. [![npm](https://img.shields.io/npm/v/@vue/composition-api)](https://www.npmjs.com/package/@vue/composition-api) -[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vuejs/composition-api/Build%20&%20Test)](https://github.com/vuejs/composition-api/actions?query=workflow%3A%22Build+%26+Test%22) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vuejs/composition-api/test.yml)](https://github.com/vuejs/composition-api/actions?query=workflow%3A%22Build+%26+Test%22) [English](./README.md) | 中文 ・ [**组合式 API 文档**](https://v3.cn.vuejs.org/guide/composition-api-introduction.html) From 0db743337dd843d251db27f47eec191c04703003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=A3=E9=87=8C=E5=A5=BD=E8=84=8F=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5?= <453491931@qq.com> Date: Mon, 3 Apr 2023 15:40:05 +0800 Subject: [PATCH 28/33] docs: typo (#979) --- README.md | 2 +- README.zh-CN.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 76ccfbbf..2929ee94 100644 --- a/README.md +++ b/README.md @@ -399,7 +399,7 @@ app1.component('Foo', Foo) // equivalent to Vue.component('Foo', Foo) app1.use(VueRouter) // equivalent to Vue.use(VueRouter) const app2 = createApp(RootComponent2) -app2.component('Bar', Bar) // equivalent to Vue.use('Bar', Bar) +app2.component('Bar', Bar) // equivalent to Vue.component('Bar', Bar) ```
diff --git a/README.zh-CN.md b/README.zh-CN.md index f6953621..fd6caa8e 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -409,7 +409,7 @@ app1.component('Foo', Foo) // 相当于 Vue.component('Foo', Foo) app1.use(VueRouter) // 相当于 Vue.use(VueRouter) const app2 = createApp(RootComponent2) -app2.component('Bar', Bar) // 相当于 Vue.use('Bar', Bar) +app2.component('Bar', Bar) // 相当于 Vue.component('Bar', Bar) ```
From c2d60b7befb347515af65a4dc6e9e120ad85f09b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=A3=E9=87=8C=E5=A5=BD=E8=84=8F=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5?= Date: Tue, 4 Apr 2023 15:05:48 +0800 Subject: [PATCH 29/33] chore: typo (#981) --- .github/workflows/test.yml | 2 +- README.md | 8 ++++---- src/apis/watch.ts | 2 +- test/v3/reactivity/del.spec.ts | 6 +++--- test/v3/reactivity/effectScope.spec.ts | 2 +- test/vue.ts | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 98eea558..b045758f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: env: CI: true - - name: Typing Declartion Tests + - name: Typing Declaration Tests run: pnpm run test:dts env: CI: true diff --git a/README.md b/README.md index 2929ee94..1dc575f9 100644 --- a/README.md +++ b/README.md @@ -334,7 +334,7 @@ export default { `reactive` uses `Vue.observable` underneath which will ***mutate*** the original object. -> :bulb: In Vue 3, it will return an new proxy object. +> :bulb: In Vue 3, it will return a new proxy object.
@@ -391,7 +391,7 @@ watch(() => { ⚠️ createApp() is global -In Vue 3, `createApp()` is introduced to provide context(plugin, components, etc.) isolation between app instances. Due the the design of Vue 2, in this plugin, we provide `createApp()` as a forward compatible API which is just an alias of the global. +In Vue 3, `createApp()` is introduced to provide context(plugin, components, etc.) isolation between app instances. Due the design of Vue 2, in this plugin, we provide `createApp()` as a forward compatible API which is just an alias of the global. ```ts const app1 = createApp(RootComponent1) @@ -443,7 +443,7 @@ export default { ⚠️ shallowReadonly() will create a new object and with the same root properties, new properties added will not be readonly or reactive. -> :bulb: In Vue 3, it will return an new proxy object. +> :bulb: In Vue 3, it will return a new proxy object.
@@ -553,6 +553,6 @@ defineComponent({ ### Performance Impact -Due the the limitation of Vue2's public API. `@vue/composition-api` inevitably introduces some performance overhead. Note that in most scenarios, this shouldn't be the source of performance issues. +Due the limitation of Vue2's public API. `@vue/composition-api` inevitably introduces some performance overhead. Note that in most scenarios, this shouldn't be the source of performance issues. You can check the [benchmark results](https://antfu.github.io/vue-composition-api-benchmark-results/) for more details. diff --git a/src/apis/watch.ts b/src/apis/watch.ts index 00788d52..9987ec5a 100644 --- a/src/apis/watch.ts +++ b/src/apis/watch.ts @@ -383,7 +383,7 @@ function createWatcher( if (isReactive(watcher.value) && watcher.value.__ob__?.dep && deep) { watcher.value.__ob__.dep.addSub({ update() { - // this will force the source to be revaluated and the callback + // this will force the source to be reevaluated and the callback // executed if needed watcher.run() }, diff --git a/test/v3/reactivity/del.spec.ts b/test/v3/reactivity/del.spec.ts index ef544569..490ce00d 100644 --- a/test/v3/reactivity/del.spec.ts +++ b/test/v3/reactivity/del.spec.ts @@ -45,8 +45,8 @@ describe('reactivity/del', () => { it('should trigger reactivity when using del on array to delete index out of valid array length', () => { const arr = ref([]) const MAX_VALID_ARRAY_LENGTH = Math.pow(2, 32) - 1 - const NON_VALIDD_INDEX = MAX_VALID_ARRAY_LENGTH + 1 - set(arr.value, NON_VALIDD_INDEX, 0) + const NON_VALID_INDEX = MAX_VALID_ARRAY_LENGTH + 1 + set(arr.value, NON_VALID_INDEX, 0) const spy = vi.fn() watchEffect( () => { @@ -55,7 +55,7 @@ describe('reactivity/del', () => { { flush: 'sync' } ) expect(spy).toBeCalledTimes(1) - del(arr.value, NON_VALIDD_INDEX) + del(arr.value, NON_VALID_INDEX) expect(spy).toBeCalledTimes(2) }) }) diff --git a/test/v3/reactivity/effectScope.spec.ts b/test/v3/reactivity/effectScope.spec.ts index c231348c..decb8710 100644 --- a/test/v3/reactivity/effectScope.spec.ts +++ b/test/v3/reactivity/effectScope.spec.ts @@ -132,7 +132,7 @@ describe('reactivity/effect/scope', () => { await nextTick() expect(dummy).toBe(7) - // nested scope should not be stoped + // nested scope should not be stopped expect(doubled).toBe(12) }) diff --git a/test/vue.ts b/test/vue.ts index a81d1551..bdbb802f 100644 --- a/test/vue.ts +++ b/test/vue.ts @@ -1,5 +1,5 @@ // `vue.common.js` is required for shallow mounts. -// Typescript can not infer it properly, this file is a workround to set the type +// Typescript can not infer it properly, this file is a workaround to set the type // @ts-ignore import _vue from 'vue/dist/vue.common' From 06357e799ed9196700861a9ab221c3bef8dc685b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=A3=E9=87=8C=E5=A5=BD=E8=84=8F=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5?= Date: Tue, 4 Apr 2023 15:10:41 +0800 Subject: [PATCH 30/33] test: typo (#980) --- test/apis/watch.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/apis/watch.spec.js b/test/apis/watch.spec.js index e1aab32f..982f0769 100644 --- a/test/apis/watch.spec.js +++ b/test/apis/watch.spec.js @@ -549,8 +549,8 @@ describe('api/watch', () => { expect(spy).toHaveBeenCalledTimes(1) arr.value[1][0] = 3 await nextTick() - expect(spy).toHaveBeenCalledTimes(1), - expect(`"deep" option is only respected`).toHaveBeenWarned() + expect(spy).toHaveBeenCalledTimes(1) + expect(`"deep" option is only respected`).toHaveBeenWarned() }) }) From 599423c94b7aee1ddc83d553788b99c5f91b664a Mon Sep 17 00:00:00 2001 From: Hawtim Date: Tue, 15 Aug 2023 18:55:04 +0800 Subject: [PATCH 31/33] feat: support inject key types (#986) --- pnpm-lock.yaml | 2 +- src/apis/inject.ts | 8 +++----- src/env.d.ts | 1 + src/utils/utils.ts | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67e01ba3..a2ada191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1000,8 +1000,8 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - is-text-path: 1.0.1 JSONStream: 1.3.5 + is-text-path: 1.0.1 lodash: 4.17.21 meow: 8.1.2 split2: 3.2.2 diff --git a/src/apis/inject.ts b/src/apis/inject.ts index 37ed881d..693b1920 100644 --- a/src/apis/inject.ts +++ b/src/apis/inject.ts @@ -17,10 +17,8 @@ function resolveInject( ): any { let source = vm while (source) { - // @ts-ignore - if (source._provided && hasOwn(source._provided, provideKey)) { - //@ts-ignore - return source._provided[provideKey] + if (source._provided && hasOwn(source._provided, provideKey as PropertyKey)) { + return source._provided[provideKey as PropertyKey] } source = source.$parent } @@ -29,7 +27,7 @@ function resolveInject( } export function provide(key: InjectionKey | string, value: T): void { - const vm: any = getCurrentInstanceForFn('provide')?.proxy + const vm = getCurrentInstanceForFn('provide')?.proxy if (!vm) return if (!vm._provided) { diff --git a/src/env.d.ts b/src/env.d.ts index 8e362480..0433fb7a 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -13,6 +13,7 @@ declare module 'vue/types/vue' { readonly _uid: number readonly _data: Record _watchers: VueWatcher[] + _provided: Record __composition_api_state__?: VfaState } diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 9b715714..2f0a18b5 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -36,7 +36,7 @@ export function def(obj: Object, key: string, val: any, enumerable?: boolean) { }) } -export function hasOwn(obj: Object, key: string): boolean { +export function hasOwn(obj: Object, key: PropertyKey): boolean { return Object.hasOwnProperty.call(obj, key) } From 55c89d89d67d8cbacac4c8983cc5543ae0e528fa Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 15 Aug 2023 13:08:07 +0200 Subject: [PATCH 32/33] chore: update deps --- package.json | 20 +- pnpm-lock.yaml | 2221 +++++++++++++++++++++++++----------------------- 2 files changed, 1190 insertions(+), 1051 deletions(-) diff --git a/package.json b/package.json index 8f1630b6..f10fc589 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vue/composition-api", "version": "1.7.1", - "packageManager": "pnpm@7.0.0", + "packageManager": "pnpm@8.6.12", "description": "Provide logic composition capabilities for Vue.", "keywords": [ "vue", @@ -43,7 +43,7 @@ "test:dts": "tsc -p ./test-dts/tsconfig.json && tsc -p ./test-dts/tsconfig.vue3.json && pnpm run build && tsc -p ./test-dts/tsconfig.build.json", "update-readme": "node ./scripts/update-readme.js", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s && pnpm run update-readme && git add CHANGELOG.md README.*", - "release": "bumpp -x \"npm run changelog\" --all --tag --commit --push && npm publish", + "release": "bumpp -x \"npm run changelog\" --all && npm publish", "release-gh": "conventional-github-releaser -p angular", "prepublishOnly": "npm run build" }, @@ -58,25 +58,25 @@ "@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-replace": "^4.0.0", "@types/node": "^17.0.31", - "bumpp": "^7.1.1", + "bumpp": "^9.1.1", "conventional-changelog-cli": "^2.2.2", "conventional-github-releaser": "^3.1.5", "jsdom": "^20.0.0", - "lint-staged": "^12.4.1", - "prettier": "^2.6.2", - "rimraf": "^3.0.2", + "lint-staged": "^14.0.0", + "prettier": "^3.0.1", + "rimraf": "^5.0.1", "rollup": "^2.72.0", "rollup-plugin-dts": "^4.2.1", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.31.2", - "simple-git-hooks": "^2.7.0", + "simple-git-hooks": "^2.9.0", "tslib": "^2.4.0", "typescript": "^4.6.4", - "vitest": "^0.22.0", + "vitest": "^0.34.1", "vue": "^2.6.14", + "vue3": "npm:vue@3.2.21", "vue-router": "^3.5.3", - "vue-server-renderer": "^2.6.14", - "vue3": "npm:vue@3.2.21" + "vue-server-renderer": "^2.6.14" }, "simple-git-hooks": { "pre-commit": "lint-staged" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a2ada191..773d5d6b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,72 +1,102 @@ -lockfileVersion: 5.4 - -specifiers: - '@rollup/plugin-node-resolve': ^13.3.0 - '@rollup/plugin-replace': ^4.0.0 - '@types/node': ^17.0.31 - bumpp: ^7.1.1 - conventional-changelog-cli: ^2.2.2 - conventional-github-releaser: ^3.1.5 - jsdom: ^20.0.0 - lint-staged: ^12.4.1 - prettier: ^2.6.2 - rimraf: ^3.0.2 - rollup: ^2.72.0 - rollup-plugin-dts: ^4.2.1 - rollup-plugin-terser: ^7.0.2 - rollup-plugin-typescript2: ^0.31.2 - simple-git-hooks: ^2.7.0 - tslib: ^2.4.0 - typescript: ^4.6.4 - vitest: ^0.22.0 - vue: ^2.6.14 - vue-router: ^3.5.3 - vue-server-renderer: ^2.6.14 - vue3: npm:vue@3.2.21 +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false devDependencies: - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.72.0 - '@rollup/plugin-replace': 4.0.0_rollup@2.72.0 - '@types/node': 17.0.31 - bumpp: 7.1.1 - conventional-changelog-cli: 2.2.2 - conventional-github-releaser: 3.1.5 - jsdom: 20.0.0 - lint-staged: 12.4.1 - prettier: 2.6.2 - rimraf: 3.0.2 - rollup: 2.72.0 - rollup-plugin-dts: 4.2.1_s6zbpzdkhlvcqzhawas6jkergu - rollup-plugin-terser: 7.0.2_rollup@2.72.0 - rollup-plugin-typescript2: 0.31.2_gucgpcfkl2vuh2xx63prpab3bu - simple-git-hooks: 2.7.0 - tslib: 2.4.0 - typescript: 4.6.4 - vitest: 0.22.0_jsdom@20.0.0 - vue: 2.6.14 - vue-router: 3.5.3 - vue-server-renderer: 2.6.14 - vue3: /vue/3.2.21 + '@rollup/plugin-node-resolve': + specifier: ^13.3.0 + version: 13.3.0(rollup@2.72.0) + '@rollup/plugin-replace': + specifier: ^4.0.0 + version: 4.0.0(rollup@2.72.0) + '@types/node': + specifier: ^17.0.31 + version: 17.0.31 + bumpp: + specifier: ^9.1.1 + version: 9.1.1 + conventional-changelog-cli: + specifier: ^2.2.2 + version: 2.2.2 + conventional-github-releaser: + specifier: ^3.1.5 + version: 3.1.5 + jsdom: + specifier: ^20.0.0 + version: 20.0.0 + lint-staged: + specifier: ^14.0.0 + version: 14.0.0 + prettier: + specifier: ^3.0.1 + version: 3.0.1 + rimraf: + specifier: ^5.0.1 + version: 5.0.1 + rollup: + specifier: ^2.72.0 + version: 2.72.0 + rollup-plugin-dts: + specifier: ^4.2.1 + version: 4.2.1(rollup@2.72.0)(typescript@4.6.4) + rollup-plugin-terser: + specifier: ^7.0.2 + version: 7.0.2(rollup@2.72.0) + rollup-plugin-typescript2: + specifier: ^0.31.2 + version: 0.31.2(@types/bluebird@3.5.38)(@types/node@17.0.31)(rollup@2.72.0)(ts-toolbelt@9.6.0)(typescript@4.6.4) + simple-git-hooks: + specifier: ^2.9.0 + version: 2.9.0 + tslib: + specifier: ^2.4.0 + version: 2.4.0 + typescript: + specifier: ^4.6.4 + version: 4.6.4 + vitest: + specifier: ^0.34.1 + version: 0.34.1(jsdom@20.0.0) + vue: + specifier: ^2.6.14 + version: 2.6.14 + vue-router: + specifier: ^3.5.3 + version: 3.5.3(vue@2.6.14) + vue-server-renderer: + specifier: ^2.6.14 + version: 2.6.14 + vue3: + specifier: npm:vue@3.2.21 + version: /vue@3.2.21 packages: - /@antfu/utils/0.5.2: - resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} - dev: true - - /@babel/code-frame/7.16.7: + /@babel/code-frame@7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.16.10 dev: true - /@babel/helper-validator-identifier/7.16.7: + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.16.7: resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} dev: true - /@babel/highlight/7.16.10: + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.16.10: resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} engines: {node: '>=6.9.0'} dependencies: @@ -75,13 +105,24 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.16.12: + /@babel/parser@7.16.12: resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 dev: true - /@esbuild/linux-loong64/0.14.54: + /@esbuild/linux-loong64@0.14.54: resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} engines: {node: '>=12'} cpu: [loong64] @@ -90,12 +131,35 @@ packages: dev: true optional: true - /@hutson/parse-repository-url/3.0.2: + /@hutson/parse-repository-url@3.0.2: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} dev: true - /@jsdevtools/ez-spawn/3.0.4: + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jest/schemas@29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jsdevtools/ez-spawn@3.0.4: resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} dependencies: @@ -105,7 +169,7 @@ packages: type-detect: 4.0.8 dev: true - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: @@ -113,12 +177,12 @@ packages: run-parallel: 1.2.0 dev: true - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} dev: true - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: @@ -126,13 +190,20 @@ packages: fastq: 1.13.0 dev: true - /@rollup/plugin-node-resolve/13.3.0_rollup@2.72.0: + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@rollup/plugin-node-resolve@13.3.0(rollup@2.72.0): resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.72.0 + '@rollup/pluginutils': 3.1.0(rollup@2.72.0) '@types/resolve': 1.17.1 deepmerge: 4.2.2 is-builtin-module: 3.1.0 @@ -141,17 +212,17 @@ packages: rollup: 2.72.0 dev: true - /@rollup/plugin-replace/4.0.0_rollup@2.72.0: + /@rollup/plugin-replace@4.0.0(rollup@2.72.0): resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.72.0 + '@rollup/pluginutils': 3.1.0(rollup@2.72.0) magic-string: 0.25.7 rollup: 2.72.0 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.72.0: + /@rollup/pluginutils@3.1.0(rollup@2.72.0): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -163,7 +234,7 @@ packages: rollup: 2.72.0 dev: true - /@rollup/pluginutils/4.1.2: + /@rollup/pluginutils@4.1.2: resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -171,65 +242,125 @@ packages: picomatch: 2.3.1 dev: true - /@sindresorhus/is/0.7.0: + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sindresorhus/is@0.7.0: resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} engines: {node: '>=4'} dev: true - /@tootallnate/once/2.0.0: + /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} dev: true - /@ts-type/package-dts/1.0.58_@types+node@17.0.31: + /@ts-type/package-dts@1.0.58(@types/bluebird@3.5.38)(@types/node@17.0.31)(ts-toolbelt@9.6.0): resolution: {integrity: sha512-Ry5RPZDAnSz/gyLtjd2a2yNC07CZ/PCOsuDzYj3phOolIgEH68HXRw6SbsDlavnVUEenDYj5GUM10gQ5iVEbVQ==} peerDependencies: '@types/bluebird': '*' '@types/node': '*' ts-toolbelt: '*' dependencies: + '@types/bluebird': 3.5.38 '@types/node': 17.0.31 '@types/semver': 7.3.9 - ts-type: 2.1.4_@types+node@17.0.31 + ts-toolbelt: 9.6.0 + ts-type: 2.1.4(@types/bluebird@3.5.38)(@types/node@17.0.31)(ts-toolbelt@9.6.0) + dev: true + + /@types/bluebird@3.5.38: + resolution: {integrity: sha512-yR/Kxc0dd4FfwtEoLZMoqJbM/VE/W7hXn/MIjb+axcwag0iFmSPK7OBUZq1YWLynJUoWQkfUrI7T0HDqGApNSg==} dev: true - /@types/chai-subset/1.3.3: + /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: - '@types/chai': 4.3.3 + '@types/chai': 4.3.5 dev: true - /@types/chai/4.3.3: - resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==} + /@types/chai@4.3.5: + resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: true - /@types/estree/0.0.39: + /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/minimist/1.2.2: + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 17.0.31 + dev: true + + /@types/minimist@1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/17.0.31: + /@types/node@17.0.31: resolution: {integrity: sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==} dev: true - /@types/normalize-package-data/2.4.1: + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/resolve/1.17.1: + /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: '@types/node': 17.0.31 dev: true - /@types/semver/7.3.9: + /@types/responselike@1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 17.0.31 + dev: true + + /@types/semver@7.3.9: resolution: {integrity: sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==} dev: true - /@vue/compiler-core/3.2.21: + /@vitest/expect@0.34.1: + resolution: {integrity: sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==} + dependencies: + '@vitest/spy': 0.34.1 + '@vitest/utils': 0.34.1 + chai: 4.3.7 + dev: true + + /@vitest/runner@0.34.1: + resolution: {integrity: sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==} + dependencies: + '@vitest/utils': 0.34.1 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + + /@vitest/snapshot@0.34.1: + resolution: {integrity: sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==} + dependencies: + magic-string: 0.30.2 + pathe: 1.1.1 + pretty-format: 29.6.2 + dev: true + + /@vitest/spy@0.34.1: + resolution: {integrity: sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==} + dependencies: + tinyspy: 2.1.1 + dev: true + + /@vitest/utils@0.34.1: + resolution: {integrity: sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==} + dependencies: + diff-sequences: 29.4.3 + loupe: 2.3.6 + pretty-format: 29.6.2 + dev: true + + /@vue/compiler-core@3.2.21: resolution: {integrity: sha512-NhhiQZNG71KNq1h5pMW/fAXdTF7lJRaSI7LDm2edhHXVz1ROMICo8SreUmQnSf4Fet0UPBVqJ988eF4+936iDQ==} dependencies: '@babel/parser': 7.16.12 @@ -238,14 +369,14 @@ packages: source-map: 0.6.1 dev: true - /@vue/compiler-dom/3.2.21: + /@vue/compiler-dom@3.2.21: resolution: {integrity: sha512-gsJD3DpYZSYquiA7UIPsMDSlAooYWDvHPq9VRsqzJEk2PZtFvLvHPb4aaMD8Ufd62xzYn32cnnkzsEOJhyGilA==} dependencies: '@vue/compiler-core': 3.2.21 '@vue/shared': 3.2.21 dev: true - /@vue/compiler-sfc/3.2.21: + /@vue/compiler-sfc@3.2.21: resolution: {integrity: sha512-+yDlUSebKpz/ovxM2vLRRx7w/gVfY767pOfYTgbIhAs+ogvIV2BsIt4fpxlThnlCNChJ+yE0ERUNoROv2kEGEQ==} dependencies: '@babel/parser': 7.16.12 @@ -260,20 +391,20 @@ packages: source-map: 0.6.1 dev: true - /@vue/compiler-ssr/3.2.21: + /@vue/compiler-ssr@3.2.21: resolution: {integrity: sha512-eU+A0iWYy+1zAo2CRIJ0zSVlv1iuGAIbNRCnllSJ31pV1lX3jypJYzGbJlSRAbB7VP6E+tYveVT1Oq8JKewa3g==} dependencies: '@vue/compiler-dom': 3.2.21 '@vue/shared': 3.2.21 dev: true - /@vue/reactivity/3.2.21: + /@vue/reactivity@3.2.21: resolution: {integrity: sha512-7C57zFm/5E3SSTUhVuYj1InDwuJ+GIVQ/z+H43C9sST85gIThGXVhksl1yWTAadf8Yz4T5lSbqi5Ds8U/ueWcw==} dependencies: '@vue/shared': 3.2.21 dev: true - /@vue/ref-transform/3.2.21: + /@vue/ref-transform@3.2.21: resolution: {integrity: sha512-uiEWWBsrGeun9O7dQExYWzXO3rHm/YdtFNXDVqCSoPypzOVxWxdiL+8hHeWzxMB58fVuV2sT80aUtIVyaBVZgQ==} dependencies: '@babel/parser': 7.16.12 @@ -283,14 +414,14 @@ packages: magic-string: 0.25.7 dev: true - /@vue/runtime-core/3.2.21: + /@vue/runtime-core@3.2.21: resolution: {integrity: sha512-7oOxKaU0D2IunOAMOOHZgJVrHg63xwng8BZx3fbgmakqEIMwHhQcp+5GV1sOg/sWW7R4UhaRDIUCukO2GRVK2Q==} dependencies: '@vue/reactivity': 3.2.21 '@vue/shared': 3.2.21 dev: true - /@vue/runtime-dom/3.2.21: + /@vue/runtime-dom@3.2.21: resolution: {integrity: sha512-apBdriD6QsI4ywbllY8kjr9/0scGuStDuvLbJULPQkFPtHzntd51bP5PQTQVAEIc9kwnTozmj6x6ZdX/cwo7xA==} dependencies: '@vue/runtime-core': 3.2.21 @@ -298,7 +429,7 @@ packages: csstype: 2.6.19 dev: true - /@vue/server-renderer/3.2.21_vue@2.6.14: + /@vue/server-renderer@3.2.21(vue@2.6.14): resolution: {integrity: sha512-QBgYqVgI7XCSBCqGa4LduV9vpfQFdZBOodFmq5Txk5W/v1KrJ1LoOh2Q0RHiRgtoK/UR9uyvRVcYqOmwHkZNEg==} peerDependencies: vue: 3.2.21 @@ -308,26 +439,26 @@ packages: vue: 2.6.14 dev: true - /@vue/shared/3.2.21: + /@vue/shared@3.2.21: resolution: {integrity: sha512-5EQmIPK6gw4UVYUbM959B0uPsJ58+xoMESCZs3N89XyvJ9e+fX4pqEPrOGV8OroIk3SbEvJcC+eYc8BH9JQrHA==} dev: true - /@yarn-tool/resolve-package/1.0.42_@types+node@17.0.31: + /@yarn-tool/resolve-package@1.0.42(@types/bluebird@3.5.38)(@types/node@17.0.31)(ts-toolbelt@9.6.0): resolution: {integrity: sha512-1BAsoiD6jGAaPc7mRH0UxIVXgRSTv7fnhwfKkaFUYpqsU4ZR7KIigZTMcb2bujtlzKQbNneMPQGjiqe3F8cmlw==} peerDependencies: '@types/node': '*' dependencies: - '@ts-type/package-dts': 1.0.58_@types+node@17.0.31 + '@ts-type/package-dts': 1.0.58(@types/bluebird@3.5.38)(@types/node@17.0.31)(ts-toolbelt@9.6.0) '@types/node': 17.0.31 pkg-dir: 5.0.0 tslib: 2.4.0 - upath2: 3.1.12_@types+node@17.0.31 + upath2: 3.1.12(@types/node@17.0.31) transitivePeerDependencies: - '@types/bluebird' - ts-toolbelt dev: true - /JSONStream/1.3.5: + /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true dependencies: @@ -335,39 +466,50 @@ packages: through: 2.3.8 dev: true - /abab/2.0.6: + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true - /acorn-globals/6.0.0: + /acorn-globals@6.0.0: resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 dev: true - /acorn-walk/7.2.0: + /acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} dev: true - /acorn/7.4.1: + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /acorn/8.8.0: + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.8.0: resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} engines: {node: '>=0.4.0'} hasBin: true dev: true - /add-stream/1.0.0: + /add-stream@1.0.0: resolution: {integrity: sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=} dev: true - /agent-base/6.0.2: + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: @@ -376,159 +518,161 @@ packages: - supports-color dev: true - /aggregate-error/3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: true - - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} dependencies: - type-fest: 0.21.3 + type-fest: 1.4.0 dev: true - /ansi-regex/2.1.1: + /ansi-regex@2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} dev: true - /ansi-regex/5.0.1: + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} dev: true - /ansi-regex/6.0.1: + /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} dev: true - /ansi-styles/2.2.1: + /ansi-styles@2.2.1: resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=} engines: {node: '>=0.10.0'} dev: true - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 dev: true - /ansi-styles/6.1.0: + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles@6.1.0: resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} engines: {node: '>=12'} dev: true - /array-back/3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 dev: true - /array-find-index/1.0.2: + /array-find-index@1.0.2: resolution: {integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=} engines: {node: '>=0.10.0'} dev: true - /array-ify/1.0.0: + /array-ify@1.0.0: resolution: {integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=} dev: true - /array-union/2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /arrify/1.0.1: + /arrify@1.0.1: resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} engines: {node: '>=0.10.0'} dev: true - /assertion-error/1.1.0: + /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /asynckit/0.4.0: + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - concat-map: 0.0.1 dev: true - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: true - /browser-process-hrtime/1.0.0: + /browser-process-hrtime@1.0.0: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /buffer-from/1.1.2: + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /builtin-modules/3.2.0: + /builtin-modules@3.2.0: resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} engines: {node: '>=6'} dev: true - /bumpp/7.1.1: - resolution: {integrity: sha512-pAGjraw9T4I4dnkiQHrKUVQb55dOM5Nj72SVtVlkjFjWjFtg0aSgipQuxDWZ0cqm8WoqtaiBPk+7jHfnZxr7lA==} + /bumpp@9.1.1: + resolution: {integrity: sha512-T7/2QmRNhHRkH2+HgDs/xk4keom3nlCjwQn6kHdz0I0dQMVrs+YMOH5HyuhV0R3tha/tTYP030RG9uQKpQ9CRg==} engines: {node: '>=10'} hasBin: true dependencies: '@jsdevtools/ez-spawn': 3.0.4 - chalk: 4.1.2 - command-line-args: 5.2.0 - globby: 11.1.0 + c12: 1.4.2 + cac: 6.7.14 + fast-glob: 3.3.1 prompts: 2.4.2 - semver: 7.3.5 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color dev: true - /c12/0.2.9: - resolution: {integrity: sha512-6jYdexgAKr+3kYoTmvC5eDtDHUg7GmFQSdeQqZzAKiPlFAN1heGUoXDbAYYwUCfefZy+WgVJbmAej5TTQpp3jA==} - dependencies: - defu: 6.1.0 - dotenv: 16.0.1 - gittar: 0.1.1 - jiti: 1.14.0 - mlly: 0.5.12 - pathe: 0.3.4 - rc9: 1.2.2 + /c12@1.4.2: + resolution: {integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==} + dependencies: + chokidar: 3.5.3 + defu: 6.1.2 + dotenv: 16.3.1 + giget: 1.1.2 + jiti: 1.19.1 + mlly: 1.4.0 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + transitivePeerDependencies: + - supports-color dev: true - /cac/6.7.12: - resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==} + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true - /cacheable-request/2.1.4: + /cacheable-request@2.1.4: resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=} dependencies: clone-response: 1.0.2 @@ -540,11 +684,11 @@ packages: responselike: 1.0.2 dev: true - /call-me-maybe/1.0.1: - resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=} + /call-me-maybe@1.0.1: + resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} dev: true - /camelcase-keys/2.1.0: + /camelcase-keys@2.1.0: resolution: {integrity: sha1-MIvur/3ygRkFHvodkyITyRuPkuc=} engines: {node: '>=0.10.0'} dependencies: @@ -552,7 +696,7 @@ packages: map-obj: 1.0.1 dev: true - /camelcase-keys/4.2.0: + /camelcase-keys@4.2.0: resolution: {integrity: sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=} engines: {node: '>=4'} dependencies: @@ -561,7 +705,7 @@ packages: quick-lru: 1.1.0 dev: true - /camelcase-keys/6.2.2: + /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} dependencies: @@ -570,35 +714,35 @@ packages: quick-lru: 4.0.1 dev: true - /camelcase/2.1.1: + /camelcase@2.1.1: resolution: {integrity: sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=} engines: {node: '>=0.10.0'} dev: true - /camelcase/4.1.0: + /camelcase@4.1.0: resolution: {integrity: sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=} engines: {node: '>=4'} dev: true - /camelcase/5.3.1: + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} dev: true - /chai/4.3.6: - resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} + /chai@4.3.7: + resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.2 - deep-eql: 3.0.1 + deep-eql: 4.1.3 get-func-name: 2.0.0 loupe: 2.3.4 pathval: 1.1.1 type-detect: 4.0.8 dev: true - /chalk/1.1.3: + /chalk@1.1.3: resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=} engines: {node: '>=0.10.0'} dependencies: @@ -609,7 +753,7 @@ packages: supports-color: 2.0.0 dev: true - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -618,68 +762,43 @@ packages: supports-color: 5.5.0 dev: true - /chalk/4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /changelogen/0.1.1: - resolution: {integrity: sha512-LBbyAPmqpJ3sm/soYWZ+z8FDACaGB9eY8O2villawSxRDv83kve25Kje54FkiN6YrPiQaW2ehz9owKY+YzHTWw==} - hasBin: true - dependencies: - c12: 0.2.9 - consola: 2.15.3 - execa: 6.1.0 - mri: 1.2.0 - scule: 0.2.1 - dev: true - - /changelogithub/0.6.6: - resolution: {integrity: sha512-9STm+siwI3pvigi0UcuI5l1RGkilg8Eh7nE6LiGcOBrMnrxW5wt+To+HNPMnmPLL0L9KVVVMll7xNykd0UwQIg==} - engines: {node: '>=12.0.0'} - hasBin: true - dependencies: - '@antfu/utils': 0.5.2 - c12: 0.2.9 - cac: 6.7.12 - changelogen: 0.1.1 - execa: 6.1.0 - kolorist: 1.5.1 - ohmyfetch: 0.4.18 + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /check-error/1.0.2: + /check-error@1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} dev: true - /chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: true - - /clean-stack/2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 dev: true - /cli-cursor/3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} dev: true - /cli-truncate/2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + restore-cursor: 4.0.0 dev: true - /cli-truncate/3.1.0: + /cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -687,7 +806,7 @@ packages: string-width: 5.1.2 dev: true - /cliui/7.0.4: + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 @@ -695,97 +814,79 @@ packages: wrap-ansi: 7.0.0 dev: true - /clone-response/1.0.2: + /clone-response@1.0.2: resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} dependencies: mimic-response: 1.0.1 dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 dev: true - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true - /colorette/2.0.16: - resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true - /combined-stream/1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 dev: true - /command-line-args/5.2.0: - resolution: {integrity: sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - find-replace: 3.0.0 - lodash.camelcase: 4.3.0 - typical: 4.0.0 + /commander@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} dev: true - /commander/2.20.3: + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /commander/8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: true - - /commondir/1.0.1: + /commondir@1.0.1: resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} dev: true - /compare-func/1.3.4: + /compare-func@1.3.4: resolution: {integrity: sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==} dependencies: array-ify: 1.0.0 dot-prop: 3.0.0 dev: true - /compare-func/2.0.0: + /compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: array-ify: 1.0.0 dot-prop: 5.3.0 dev: true - /concat-map/0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - dev: true - - /consola/2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true - - /conventional-changelog-angular/1.6.6: + /conventional-changelog-angular@1.6.6: resolution: {integrity: sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==} dependencies: compare-func: 1.3.4 q: 1.5.1 dev: true - /conventional-changelog-angular/5.0.13: + /conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} engines: {node: '>=10'} dependencies: @@ -793,14 +894,14 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-atom/2.0.8: + /conventional-changelog-atom@2.0.8: resolution: {integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==} engines: {node: '>=10'} dependencies: q: 1.5.1 dev: true - /conventional-changelog-cli/2.2.2: + /conventional-changelog-cli@2.2.2: resolution: {integrity: sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==} engines: {node: '>=10'} hasBin: true @@ -812,14 +913,14 @@ packages: tempfile: 3.0.0 dev: true - /conventional-changelog-codemirror/2.0.8: + /conventional-changelog-codemirror@2.0.8: resolution: {integrity: sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==} engines: {node: '>=10'} dependencies: q: 1.5.1 dev: true - /conventional-changelog-conventionalcommits/4.6.3: + /conventional-changelog-conventionalcommits@4.6.3: resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} engines: {node: '>=10'} dependencies: @@ -828,7 +929,7 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-core/3.2.3: + /conventional-changelog-core@3.2.3: resolution: {integrity: sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==} engines: {node: '>=6.9.0'} dependencies: @@ -847,7 +948,7 @@ packages: through2: 3.0.2 dev: true - /conventional-changelog-core/4.2.4: + /conventional-changelog-core@4.2.4: resolution: {integrity: sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==} engines: {node: '>=10'} dependencies: @@ -867,47 +968,47 @@ packages: through2: 4.0.2 dev: true - /conventional-changelog-ember/2.0.9: + /conventional-changelog-ember@2.0.9: resolution: {integrity: sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==} engines: {node: '>=10'} dependencies: q: 1.5.1 dev: true - /conventional-changelog-eslint/3.0.9: + /conventional-changelog-eslint@3.0.9: resolution: {integrity: sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==} engines: {node: '>=10'} dependencies: q: 1.5.1 dev: true - /conventional-changelog-express/2.0.6: + /conventional-changelog-express@2.0.6: resolution: {integrity: sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==} engines: {node: '>=10'} dependencies: q: 1.5.1 dev: true - /conventional-changelog-jquery/0.1.0: + /conventional-changelog-jquery@0.1.0: resolution: {integrity: sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=} dependencies: q: 1.5.1 dev: true - /conventional-changelog-jquery/3.0.11: + /conventional-changelog-jquery@3.0.11: resolution: {integrity: sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==} engines: {node: '>=10'} dependencies: q: 1.5.1 dev: true - /conventional-changelog-jscs/0.1.0: + /conventional-changelog-jscs@0.1.0: resolution: {integrity: sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=} dependencies: q: 1.5.1 dev: true - /conventional-changelog-jshint/2.0.9: + /conventional-changelog-jshint@2.0.9: resolution: {integrity: sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==} engines: {node: '>=10'} dependencies: @@ -915,12 +1016,12 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-preset-loader/2.3.4: + /conventional-changelog-preset-loader@2.3.4: resolution: {integrity: sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==} engines: {node: '>=10'} dev: true - /conventional-changelog-writer/4.1.0: + /conventional-changelog-writer@4.1.0: resolution: {integrity: sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==} engines: {node: '>=10'} hasBin: true @@ -937,7 +1038,7 @@ packages: through2: 4.0.2 dev: true - /conventional-changelog-writer/5.0.1: + /conventional-changelog-writer@5.0.1: resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} engines: {node: '>=10'} hasBin: true @@ -953,7 +1054,7 @@ packages: through2: 4.0.2 dev: true - /conventional-changelog/2.0.3: + /conventional-changelog@2.0.3: resolution: {integrity: sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA==} engines: {node: '>=6.9.0'} dependencies: @@ -970,7 +1071,7 @@ packages: conventional-changelog-preset-loader: 2.3.4 dev: true - /conventional-changelog/3.1.25: + /conventional-changelog@3.1.25: resolution: {integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==} engines: {node: '>=10'} dependencies: @@ -987,7 +1088,7 @@ packages: conventional-changelog-preset-loader: 2.3.4 dev: true - /conventional-commits-filter/2.0.7: + /conventional-commits-filter@2.0.7: resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} engines: {node: '>=10'} dependencies: @@ -995,7 +1096,7 @@ packages: modify-values: 1.0.1 dev: true - /conventional-commits-parser/3.2.4: + /conventional-commits-parser@3.2.4: resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} hasBin: true @@ -1008,7 +1109,7 @@ packages: through2: 4.0.2 dev: true - /conventional-github-releaser/3.1.5: + /conventional-github-releaser@3.1.5: resolution: {integrity: sha512-VhPKbdN92b2ygnQLkuwHIfUaPAVrVfJVuQdxbmmVPkN927LDP98HthLWFVShh4pxqLK0nE66v78RERGJVeCzbg==} engines: {node: '>=6.9.0'} hasBin: true @@ -1025,13 +1126,15 @@ packages: semver: 5.7.1 semver-regex: 2.0.0 through2: 2.0.5 + transitivePeerDependencies: + - supports-color dev: true - /core-util-is/1.0.3: + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -1040,45 +1143,45 @@ packages: which: 2.0.2 dev: true - /cssom/0.3.8: + /cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true - /cssom/0.5.0: + /cssom@0.5.0: resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} dev: true - /cssstyle/2.3.0: + /cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} dependencies: cssom: 0.3.8 dev: true - /csstype/2.6.19: + /csstype@2.6.19: resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==} dev: true - /currently-unhandled/0.4.1: + /currently-unhandled@0.4.1: resolution: {integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o=} engines: {node: '>=0.10.0'} dependencies: array-find-index: 1.0.2 dev: true - /dargs/4.1.0: + /dargs@4.1.0: resolution: {integrity: sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=} engines: {node: '>=0.10.0'} dependencies: number-is-nan: 1.0.1 dev: true - /dargs/7.0.0: + /dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} engines: {node: '>=8'} dev: true - /data-urls/3.0.2: + /data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} dependencies: @@ -1087,30 +1190,22 @@ packages: whatwg-url: 11.0.0 dev: true - /dateformat/3.0.3: + /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /debug/3.2.7: + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - dependencies: - ms: 2.1.3 - dev: true - - /debug/4.3.3_supports-color@9.2.2: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true dependencies: - ms: 2.1.2 - supports-color: 9.2.2 + ms: 2.1.3 dev: true - /debug/4.3.4: + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -1122,7 +1217,7 @@ packages: ms: 2.1.2 dev: true - /decamelize-keys/1.1.0: + /decamelize-keys@1.1.0: resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} engines: {node: '>=0.10.0'} dependencies: @@ -1130,117 +1225,115 @@ packages: map-obj: 1.0.1 dev: true - /decamelize/1.2.0: + /decamelize@1.2.0: resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} engines: {node: '>=0.10.0'} dev: true - /decimal.js/10.4.0: + /decimal.js@10.4.0: resolution: {integrity: sha512-Nv6ENEzyPQ6AItkGwLE2PGKinZZ9g59vSh2BeH6NqPu0OTKZ5ruJsVqh/orbAnqXc9pBbgXAIrc2EyaCj8NpGg==} dev: true - /decode-uri-component/0.2.0: + /decode-uri-component@0.2.0: resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} engines: {node: '>=0.10'} dev: true - /decompress-response/3.3.0: + /decompress-response@3.3.0: resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} engines: {node: '>=4'} dependencies: mimic-response: 1.0.1 dev: true - /deep-eql/3.0.1: - resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} - engines: {node: '>=0.12'} + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true - /deep-is/0.1.4: + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge/4.2.2: + /deepmerge@4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} dev: true - /defu/6.1.0: - resolution: {integrity: sha512-pOFYRTIhoKujrmbTRhcW5lYQLBXw/dlTwfI8IguF1QCDJOcJzNH1w+YFjxqy6BAuJrClTy6MUE8q+oKJ2FLsIw==} + /defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: true - /delayed-stream/1.0.0: + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true - /destr/1.1.1: - resolution: {integrity: sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==} + /destr@2.0.1: + resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} dev: true - /dir-glob/3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 + /diff-sequences@29.4.3: + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /domexception/4.0.0: + /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} dependencies: webidl-conversions: 7.0.0 dev: true - /dot-prop/3.0.0: + /dot-prop@3.0.0: resolution: {integrity: sha1-G3CK8JSknJoOfbyteQq6U52sEXc=} engines: {node: '>=0.10.0'} dependencies: is-obj: 1.0.1 dev: true - /dot-prop/5.3.0: + /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} dependencies: is-obj: 2.0.0 dev: true - /dotenv/16.0.1: - resolution: {integrity: sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==} + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} dev: true - /duplexer3/0.1.4: + /duplexer3@0.1.4: resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} dev: true - /eastasianwidth/0.2.0: + /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /emoji-regex/8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emoji-regex/9.2.2: + /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /entities/4.3.1: + /entities@4.3.1: resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} engines: {node: '>=0.12'} dev: true - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /esbuild-android-64/0.14.54: + /esbuild-android-64@0.14.54: resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} engines: {node: '>=12'} cpu: [x64] @@ -1249,7 +1342,7 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.54: + /esbuild-android-arm64@0.14.54: resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} engines: {node: '>=12'} cpu: [arm64] @@ -1258,7 +1351,7 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.54: + /esbuild-darwin-64@0.14.54: resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} engines: {node: '>=12'} cpu: [x64] @@ -1267,7 +1360,7 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.54: + /esbuild-darwin-arm64@0.14.54: resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} engines: {node: '>=12'} cpu: [arm64] @@ -1276,7 +1369,7 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.54: + /esbuild-freebsd-64@0.14.54: resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} engines: {node: '>=12'} cpu: [x64] @@ -1285,7 +1378,7 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.54: + /esbuild-freebsd-arm64@0.14.54: resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} engines: {node: '>=12'} cpu: [arm64] @@ -1294,7 +1387,7 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.54: + /esbuild-linux-32@0.14.54: resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} engines: {node: '>=12'} cpu: [ia32] @@ -1303,7 +1396,7 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.54: + /esbuild-linux-64@0.14.54: resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} engines: {node: '>=12'} cpu: [x64] @@ -1312,25 +1405,25 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.54: - resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + /esbuild-linux-arm64@0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.14.54: - resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + /esbuild-linux-arm@0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.14.54: + /esbuild-linux-mips64le@0.14.54: resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} engines: {node: '>=12'} cpu: [mips64el] @@ -1339,7 +1432,7 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.54: + /esbuild-linux-ppc64le@0.14.54: resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} engines: {node: '>=12'} cpu: [ppc64] @@ -1348,7 +1441,7 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.54: + /esbuild-linux-riscv64@0.14.54: resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} engines: {node: '>=12'} cpu: [riscv64] @@ -1357,7 +1450,7 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.54: + /esbuild-linux-s390x@0.14.54: resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} engines: {node: '>=12'} cpu: [s390x] @@ -1366,7 +1459,7 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.54: + /esbuild-netbsd-64@0.14.54: resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} engines: {node: '>=12'} cpu: [x64] @@ -1375,7 +1468,7 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.54: + /esbuild-openbsd-64@0.14.54: resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} engines: {node: '>=12'} cpu: [x64] @@ -1384,7 +1477,7 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.54: + /esbuild-sunos-64@0.14.54: resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} engines: {node: '>=12'} cpu: [x64] @@ -1393,7 +1486,7 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.54: + /esbuild-windows-32@0.14.54: resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} engines: {node: '>=12'} cpu: [ia32] @@ -1402,7 +1495,7 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.54: + /esbuild-windows-64@0.14.54: resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} engines: {node: '>=12'} cpu: [x64] @@ -1411,7 +1504,7 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.54: + /esbuild-windows-arm64@0.14.54: resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} engines: {node: '>=12'} cpu: [arm64] @@ -1420,7 +1513,7 @@ packages: dev: true optional: true - /esbuild/0.14.54: + /esbuild@0.14.54: resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} engines: {node: '>=12'} hasBin: true @@ -1449,17 +1542,17 @@ packages: esbuild-windows-arm64: 0.14.54 dev: true - /escalade/3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} dev: true - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} engines: {node: '>=0.8.0'} dev: true - /escodegen/2.0.0: + /escodegen@2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} hasBin: true @@ -1472,52 +1565,41 @@ packages: source-map: 0.6.1 dev: true - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /estraverse/5.3.0: + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} dev: true - /estree-walker/1.0.1: + /estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: true - /estree-walker/2.0.2: + /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} dev: true - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.6 - strip-final-newline: 2.0.0 + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} dev: true - /execa/6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 3.0.1 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 @@ -1526,8 +1608,8 @@ packages: strip-final-newline: 3.0.0 dev: true - /fast-glob/3.2.11: - resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -1537,24 +1619,24 @@ packages: micromatch: 4.0.4 dev: true - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fastq/1.13.0: + /fastq@1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 dev: true - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true - /find-cache-dir/3.3.2: + /find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} dependencies: @@ -1563,14 +1645,7 @@ packages: pkg-dir: 4.2.0 dev: true - /find-replace/3.0.0: - resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - dev: true - - /find-up/1.1.2: + /find-up@1.1.2: resolution: {integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=} engines: {node: '>=0.10.0'} dependencies: @@ -1578,14 +1653,14 @@ packages: pinkie-promise: 2.0.1 dev: true - /find-up/2.1.0: + /find-up@2.1.0: resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} engines: {node: '>=4'} dependencies: locate-path: 2.0.0 dev: true - /find-up/4.1.0: + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: @@ -1593,7 +1668,7 @@ packages: path-exists: 4.0.0 dev: true - /find-up/5.0.0: + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} dependencies: @@ -1601,12 +1676,20 @@ packages: path-exists: 4.0.0 dev: true - /flat/5.0.2: + /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true dev: true - /form-data/4.0.0: + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} dependencies: @@ -1615,14 +1698,14 @@ packages: mime-types: 2.1.35 dev: true - /from2/2.3.0: + /from2@2.3.0: resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} dependencies: inherits: 2.0.4 readable-stream: 2.3.7 dev: true - /fs-extra/10.1.0: + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: @@ -1631,17 +1714,14 @@ packages: universalify: 2.0.0 dev: true - /fs-minipass/1.2.7: - resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} dependencies: - minipass: 2.9.0 - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + minipass: 3.3.6 dev: true - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] @@ -1649,20 +1729,20 @@ packages: dev: true optional: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true - /get-caller-file/2.0.5: + /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-func-name/2.0.0: + /get-func-name@2.0.0: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} dev: true - /get-pkg-repo/1.4.0: + /get-pkg-repo@1.4.0: resolution: {integrity: sha1-xztInAbYDMVTbCyFP54FIyBWly0=} hasBin: true dependencies: @@ -1673,7 +1753,7 @@ packages: through2: 2.0.5 dev: true - /get-pkg-repo/4.2.1: + /get-pkg-repo@4.2.1: resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} engines: {node: '>=6.9.0'} hasBin: true @@ -1684,22 +1764,22 @@ packages: yargs: 16.2.0 dev: true - /get-stdin/4.0.1: + /get-stdin@4.0.1: resolution: {integrity: sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=} engines: {node: '>=0.10.0'} dev: true - /get-stream/3.0.0: + /get-stream@3.0.0: resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=} engines: {node: '>=4'} dev: true - /get-stream/6.0.1: + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /gh-got/7.1.0: + /gh-got@7.1.0: resolution: {integrity: sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ==} engines: {node: '>=4'} dependencies: @@ -1707,7 +1787,22 @@ packages: is-plain-obj: 1.1.0 dev: true - /git-raw-commits/2.0.0: + /giget@1.1.2: + resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} + hasBin: true + dependencies: + colorette: 2.0.20 + defu: 6.1.2 + https-proxy-agent: 5.0.1 + mri: 1.2.0 + node-fetch-native: 1.2.0 + pathe: 1.1.1 + tar: 6.1.15 + transitivePeerDependencies: + - supports-color + dev: true + + /git-raw-commits@2.0.0: resolution: {integrity: sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==} engines: {node: '>=6.9.0'} hasBin: true @@ -1719,7 +1814,7 @@ packages: through2: 2.0.5 dev: true - /git-raw-commits/2.0.11: + /git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} hasBin: true @@ -1731,7 +1826,7 @@ packages: through2: 4.0.2 dev: true - /git-remote-origin-url/2.0.0: + /git-remote-origin-url@2.0.0: resolution: {integrity: sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=} engines: {node: '>=4'} dependencies: @@ -1739,7 +1834,7 @@ packages: pify: 2.3.0 dev: true - /git-semver-tags/2.0.3: + /git-semver-tags@2.0.3: resolution: {integrity: sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==} engines: {node: '>=6.9.0'} hasBin: true @@ -1748,7 +1843,7 @@ packages: semver: 6.3.0 dev: true - /git-semver-tags/4.1.1: + /git-semver-tags@4.1.1: resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} engines: {node: '>=10'} hasBin: true @@ -1757,55 +1852,38 @@ packages: semver: 6.3.0 dev: true - /gitconfiglocal/1.0.0: + /gitconfiglocal@1.0.0: resolution: {integrity: sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=} dependencies: ini: 1.3.8 dev: true - /gittar/0.1.1: - resolution: {integrity: sha512-p+XuqWJpW9ahUuNTptqeFjudFq31o6Jd+maMBarkMAR5U3K9c7zJB4sQ4BV8mIqrTOV29TtqikDhnZfCD4XNfQ==} - engines: {node: '>=4'} - dependencies: - mkdirp: 0.5.6 - tar: 4.4.19 - dev: true - - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 dev: true - /glob/7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globby/11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + /glob@10.3.3: + resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.11 - ignore: 5.2.0 - merge2: 1.4.1 - slash: 3.0.0 + foreground-child: 3.1.1 + jackspeak: 2.2.3 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 dev: true - /got/8.3.2: + /got@8.3.2: resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} engines: {node: '>=4'} dependencies: '@sindresorhus/is': 0.7.0 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 cacheable-request: 2.1.4 decompress-response: 3.3.0 duplexer3: 0.1.4 @@ -1824,11 +1902,11 @@ packages: url-to-options: 1.0.1 dev: true - /graceful-fs/4.2.9: + /graceful-fs@4.2.9: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true - /handlebars/4.7.7: + /handlebars@4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} hasBin: true @@ -1841,77 +1919,77 @@ packages: uglify-js: 3.15.0 dev: true - /hard-rejection/2.1.0: + /hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} dev: true - /has-ansi/2.0.0: + /has-ansi@2.0.0: resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} engines: {node: '>=4'} dev: true - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} dev: true - /has-symbol-support-x/1.4.2: + /has-symbol-support-x@1.4.2: resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} dev: true - /has-to-string-tag-x/1.4.1: + /has-to-string-tag-x@1.4.1: resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} dependencies: has-symbol-support-x: 1.4.2 dev: true - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 dev: true - /hash-sum/1.0.2: + /hash-sum@1.0.2: resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=} dev: true - /he/1.2.0: + /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true dev: true - /hosted-git-info/2.8.9: + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /hosted-git-info/4.1.0: + /hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 dev: true - /html-encoding-sniffer/3.0.0: + /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} dependencies: whatwg-encoding: 2.0.0 dev: true - /http-cache-semantics/3.8.1: + /http-cache-semantics@3.8.1: resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} dev: true - /http-proxy-agent/5.0.0: + /http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} dependencies: @@ -1922,7 +2000,7 @@ packages: - supports-color dev: true - /https-proxy-agent/5.0.1: + /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} dependencies: @@ -1932,61 +2010,44 @@ packages: - supports-color dev: true - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - - /human-signals/3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} dev: true - /iconv-lite/0.6.3: + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true - /ignore/5.2.0: - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} - engines: {node: '>= 4'} - dev: true - - /indent-string/2.1.0: + /indent-string@2.1.0: resolution: {integrity: sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=} engines: {node: '>=0.10.0'} dependencies: repeating: 2.0.1 dev: true - /indent-string/3.2.0: + /indent-string@3.2.0: resolution: {integrity: sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=} engines: {node: '>=4'} dev: true - /indent-string/4.0.0: + /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} dev: true - /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true - /ini/1.3.8: + /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /into-stream/3.1.0: + /into-stream@3.1.0: resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=} engines: {node: '>=4'} dependencies: @@ -1994,123 +2055,125 @@ packages: p-is-promise: 1.1.0 dev: true - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} dev: true - /is-builtin-module/3.1.0: + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-builtin-module@3.1.0: resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} engines: {node: '>=6'} dependencies: builtin-modules: 3.2.0 dev: true - /is-core-module/2.10.0: + /is-core-module@2.10.0: resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} dependencies: has: 1.0.3 dev: true - /is-core-module/2.8.1: + /is-core-module@2.8.1: resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} dependencies: has: 1.0.3 dev: true - /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true - /is-finite/1.1.0: + /is-finite@1.1.0: resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} engines: {node: '>=0.10.0'} dev: true - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-fullwidth-code-point/4.0.0: + /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} dev: true - /is-glob/4.0.3: + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true - /is-module/1.0.0: + /is-module@1.0.0: resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} dev: true - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true - /is-obj/1.0.1: + /is-obj@1.0.1: resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=} engines: {node: '>=0.10.0'} dev: true - /is-obj/2.0.0: + /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} dev: true - /is-object/1.0.2: + /is-object@1.0.2: resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} dev: true - /is-plain-obj/1.1.0: + /is-plain-obj@1.1.0: resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} engines: {node: '>=0.10.0'} dev: true - /is-potential-custom-element-name/1.0.1: + /is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true - /is-retry-allowed/1.2.0: + /is-retry-allowed@1.2.0: resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} engines: {node: '>=0.10.0'} dev: true - /is-stream/2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true - - /is-stream/3.0.0: + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-text-path/1.0.1: + /is-text-path@1.0.1: resolution: {integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=} engines: {node: '>=0.10.0'} dependencies: text-extensions: 1.9.0 dev: true - /is-utf8/0.2.1: + /is-utf8@0.2.1: resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} dev: true - /isarray/1.0.0: + /isarray@1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} dev: true - /isexe/2.0.0: - resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isurl/1.0.0: + /isurl@1.0.0: resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} engines: {node: '>= 4'} dependencies: @@ -2118,7 +2181,16 @@ packages: is-object: 1.0.2 dev: true - /jest-worker/26.6.2: + /jackspeak@2.2.3: + resolution: {integrity: sha512-pF0kfjmg8DJLxDrizHoCZGUFz4P4czQ3HyfW4BU0ffebYkzAVlBywp5zaxW/TM+r0sGbmrQdi8EQQVTJFxnGsQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jest-worker@26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: @@ -2127,16 +2199,16 @@ packages: supports-color: 7.2.0 dev: true - /jiti/1.14.0: - resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==} + /jiti@1.19.1: + resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} hasBin: true dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /jsdom/20.0.0: + /jsdom@20.0.0: resolution: {integrity: sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==} engines: {node: '>=14'} peerDependencies: @@ -2178,27 +2250,27 @@ packages: - utf-8-validate dev: true - /json-buffer/3.0.0: + /json-buffer@3.0.0: resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} dev: true - /json-parse-better-errors/1.0.2: + /json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} dev: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true - /json-stringify-safe/5.0.1: + /json-stringify-safe@5.0.1: resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} dev: true - /jsonc-parser/3.1.0: - resolution: {integrity: sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==} + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true - /jsonfile/6.1.0: + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 @@ -2206,32 +2278,28 @@ packages: graceful-fs: 4.2.9 dev: true - /jsonparse/1.3.1: + /jsonparse@1.3.1: resolution: {integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=} engines: {'0': node >= 0.2.0} dev: true - /keyv/3.0.0: + /keyv@3.0.0: resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} dependencies: json-buffer: 3.0.0 dev: true - /kind-of/6.0.3: + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} dev: true - /kleur/3.0.3: + /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} dev: true - /kolorist/1.5.1: - resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} - dev: true - - /levn/0.3.0: + /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} dependencies: @@ -2239,58 +2307,53 @@ packages: type-check: 0.3.2 dev: true - /lilconfig/2.0.4: - resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} dev: true - /lines-and-columns/1.2.4: + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/12.4.1: - resolution: {integrity: sha512-PTXgzpflrQ+pODQTG116QNB+Q6uUTDg5B5HqGvNhoQSGt8Qy+MA/6zSnR8n38+sxP5TapzeQGTvoKni0KRS8Vg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /lint-staged@14.0.0: + resolution: {integrity: sha512-0tLf0pqZYkar/wu3nTctk4rVIG+d7PanDYv4/IQR4qwdqfQkTDziLRFnqMcLuLBTuUqmcLwsHPD2EjQ18d/oaA==} + engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: - cli-truncate: 3.1.0 - colorette: 2.0.16 - commander: 8.3.0 - debug: 4.3.3_supports-color@9.2.2 - execa: 5.1.1 - lilconfig: 2.0.4 - listr2: 4.0.5 - micromatch: 4.0.4 - normalize-path: 3.0.0 - object-inspect: 1.12.0 - pidtree: 0.5.0 - string-argv: 0.3.1 - supports-color: 9.2.2 - yaml: 1.10.2 + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.1 transitivePeerDependencies: - enquirer + - supports-color dev: true - /listr2/4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} + /listr2@6.6.1: + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + engines: {node: '>=16.0.0'} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: enquirer: optional: true dependencies: - cli-truncate: 2.1.0 - colorette: 2.0.16 - log-update: 4.0.0 - p-map: 4.0.0 + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 rfdc: 1.3.0 - rxjs: 7.5.5 - through: 2.3.8 - wrap-ansi: 7.0.0 + wrap-ansi: 8.1.0 dev: true - /load-json-file/1.1.0: + /load-json-file@1.1.0: resolution: {integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=} engines: {node: '>=0.10.0'} dependencies: @@ -2301,7 +2364,7 @@ packages: strip-bom: 2.0.0 dev: true - /load-json-file/4.0.0: + /load-json-file@4.0.0: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: @@ -2311,12 +2374,12 @@ packages: strip-bom: 3.0.0 dev: true - /local-pkg/0.4.2: - resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} dev: true - /locate-path/2.0.0: + /locate-path@2.0.0: resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} engines: {node: '>=4'} dependencies: @@ -2324,68 +2387,65 @@ packages: path-exists: 3.0.0 dev: true - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true - /locate-path/6.0.0: + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true - /lodash._reinterpolate/3.0.0: + /lodash._reinterpolate@3.0.0: resolution: {integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=} dev: true - /lodash.camelcase/4.3.0: - resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} - dev: true - - /lodash.ismatch/4.4.0: + /lodash.ismatch@4.4.0: resolution: {integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=} dev: true - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.template/4.5.0: + /lodash.template@4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 dev: true - /lodash.templatesettings/4.2.0: + /lodash.templatesettings@4.2.0: resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} dependencies: lodash._reinterpolate: 3.0.0 dev: true - /lodash.uniq/4.5.0: + /lodash.uniq@4.5.0: resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} dev: true - /lodash/4.17.21: + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true - /log-update/4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.0.1 + wrap-ansi: 8.1.0 dev: true - /loud-rejection/1.6.0: + /loud-rejection@1.6.0: resolution: {integrity: sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=} engines: {node: '>=0.10.0'} dependencies: @@ -2393,65 +2453,83 @@ packages: signal-exit: 3.0.7 dev: true - /loupe/2.3.4: + /loupe@2.3.4: resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} dependencies: get-func-name: 2.0.0 dev: true - /lowercase-keys/1.0.0: + /loupe@2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + dependencies: + get-func-name: 2.0.0 + dev: true + + /lowercase-keys@1.0.0: resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} engines: {node: '>=0.10.0'} dev: true - /lowercase-keys/1.0.1: + /lowercase-keys@1.0.1: resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} engines: {node: '>=0.10.0'} dev: true - /lru-cache/6.0.0: + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true - /magic-string/0.25.7: + /magic-string@0.25.7: resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} dependencies: sourcemap-codec: 1.4.8 dev: true - /magic-string/0.26.1: + /magic-string@0.26.1: resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==} engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 dev: true - /make-dir/3.1.0: + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.0 dev: true - /map-obj/1.0.1: + /map-obj@1.0.1: resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} engines: {node: '>=0.10.0'} dev: true - /map-obj/2.0.0: + /map-obj@2.0.0: resolution: {integrity: sha1-plzSkIepJZi4eRJXpSPgISIqwfk=} engines: {node: '>=4'} dev: true - /map-obj/4.3.0: + /map-obj@4.3.0: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} dev: true - /meow/3.7.0: + /meow@3.7.0: resolution: {integrity: sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=} engines: {node: '>=0.10.0'} dependencies: @@ -2467,7 +2545,7 @@ packages: trim-newlines: 1.0.0 dev: true - /meow/4.0.1: + /meow@4.0.1: resolution: {integrity: sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==} engines: {node: '>=4'} dependencies: @@ -2482,7 +2560,7 @@ packages: trim-newlines: 2.0.0 dev: true - /meow/7.1.1: + /meow@7.1.1: resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==} engines: {node: '>=10'} dependencies: @@ -2499,7 +2577,7 @@ packages: yargs-parser: 18.1.3 dev: true - /meow/8.1.2: + /meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} dependencies: @@ -2516,16 +2594,16 @@ packages: yargs-parser: 20.2.9 dev: true - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: true - /micromatch/4.0.4: + /micromatch@4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} dependencies: @@ -2533,45 +2611,54 @@ packages: picomatch: 2.3.1 dev: true - /mime-db/1.52.0: + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} dev: true - /mime-types/2.1.35: + /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 dev: true - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: true - /mimic-fn/4.0.0: + /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} dev: true - /mimic-response/1.0.1: + /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} dev: true - /min-indent/1.0.1: + /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} dev: true - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: - brace-expansion: 1.1.11 + brace-expansion: 2.0.1 dev: true - /minimist-options/3.0.2: + /minimist-options@3.0.2: resolution: {integrity: sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==} engines: {node: '>= 4'} dependencies: @@ -2579,7 +2666,7 @@ packages: is-plain-obj: 1.1.0 dev: true - /minimist-options/4.1.0: + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} dependencies: @@ -2588,76 +2675,83 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.5: + /minimist@1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} dev: true - /minimist/1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 dev: true - /minipass/2.9.0: - resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} - dependencies: - safe-buffer: 5.2.1 - yallist: 3.1.1 + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} dev: true - /minizlib/1.3.3: - resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} dependencies: - minipass: 2.9.0 + minipass: 3.3.6 + yallist: 4.0.0 dev: true - /mkdirp/0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} hasBin: true - dependencies: - minimist: 1.2.6 dev: true - /mlly/0.5.12: - resolution: {integrity: sha512-8moXGh6Hfy2Nmys3DDEm4CuxDBk5Y7Lk1jQ4JcwW0djO9b+SCKTpw0enIQeZIuEnPljdxHSGmcbXU9hpIIEYeQ==} + /mlly@1.4.0: + resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} dependencies: - acorn: 8.8.0 - pathe: 0.3.4 - pkg-types: 0.3.3 - ufo: 0.8.5 + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.2.0 dev: true - /modify-values/1.0.1: + /modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} dev: true - /mri/1.2.0: + /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} dev: true - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /nanoid/3.3.4: + /nanoid@3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true - /neo-async/2.6.2: + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /node-fetch-native/0.1.4: - resolution: {integrity: sha512-10EKpOCQPXwZVFh3U1ptOMWBgKTbsN7Vvo6WVKt5pw4hp8zbv6ZVBZPlXw+5M6Tyi1oc1iD4/sNPd71KYA16tQ==} + /node-fetch-native@1.2.0: + resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==} dev: true - /normalize-package-data/2.5.0: + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 @@ -2666,7 +2760,7 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-package-data/3.0.3: + /normalize-package-data@3.0.3: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: @@ -2676,12 +2770,12 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /normalize-url/2.0.1: + /normalize-url@2.0.1: resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} engines: {node: '>=4'} dependencies: @@ -2690,68 +2784,46 @@ packages: sort-keys: 2.0.0 dev: true - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path/5.1.0: + /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: true - /number-is-nan/1.0.1: + /number-is-nan@1.0.1: resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=} engines: {node: '>=0.10.0'} dev: true - /nwsapi/2.2.1: + /nwsapi@2.2.1: resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} engines: {node: '>=0.10.0'} dev: true - /object-inspect/1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} - dev: true - - /ohmyfetch/0.4.18: - resolution: {integrity: sha512-MslzNrQzBLtZHmiZBI8QMOcMpdNFlK61OJ34nFNFynZ4v+4BonfCQ7VIN4EGXvGGq5zhDzgdJoY3o9S1l2T7KQ==} - dependencies: - destr: 1.1.1 - node-fetch-native: 0.1.4 - ufo: 0.8.5 - undici: 5.8.2 - dev: true - - /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - dependencies: - wrappy: 1.0.2 + /ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} dev: true - /onetime/5.1.2: + /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true - /onetime/6.0.0: + /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 dev: true - /optionator/0.8.3: + /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} dependencies: @@ -2763,99 +2835,99 @@ packages: word-wrap: 1.2.3 dev: true - /p-cancelable/0.4.1: + /p-cancelable@0.4.1: resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} engines: {node: '>=4'} dev: true - /p-finally/1.0.0: + /p-finally@1.0.0: resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} engines: {node: '>=4'} dev: true - /p-is-promise/1.1.0: + /p-is-promise@1.1.0: resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=} engines: {node: '>=4'} dev: true - /p-limit/1.3.0: + /p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} dependencies: p-try: 1.0.0 dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true - /p-limit/3.1.0: + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true - /p-locate/2.0.0: + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@2.0.0: resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} engines: {node: '>=4'} dependencies: p-limit: 1.3.0 dev: true - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true - /p-locate/5.0.0: + /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true - /p-map/4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: true - - /p-timeout/2.0.1: + /p-timeout@2.0.1: resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} engines: {node: '>=4'} dependencies: p-finally: 1.0.0 dev: true - /p-try/1.0.0: + /p-try@1.0.0: resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} engines: {node: '>=4'} dev: true - /p-try/2.2.0: + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} dev: true - /parse-github-repo-url/1.4.1: + /parse-github-repo-url@1.4.1: resolution: {integrity: sha1-nn2LslKmy2ukJZUGC3v23z28H1A=} dev: true - /parse-json/2.2.0: + /parse-json@2.2.0: resolution: {integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=} engines: {node: '>=0.10.0'} dependencies: error-ex: 1.3.2 dev: true - /parse-json/4.0.0: + /parse-json@4.0.0: resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} engines: {node: '>=4'} dependencies: @@ -2863,7 +2935,7 @@ packages: json-parse-better-errors: 1.0.2 dev: true - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: @@ -2873,61 +2945,64 @@ packages: lines-and-columns: 1.2.4 dev: true - /parse5/7.0.0: + /parse5@7.0.0: resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==} dependencies: entities: 4.3.1 dev: true - /path-exists/2.1.0: + /path-exists@2.1.0: resolution: {integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=} engines: {node: '>=0.10.0'} dependencies: pinkie-promise: 2.0.1 dev: true - /path-exists/3.0.0: + /path-exists@3.0.0: resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} engines: {node: '>=4'} dev: true - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} dev: true - /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - dev: true - - /path-is-network-drive/1.0.13: + /path-is-network-drive@1.0.13: resolution: {integrity: sha512-Hg74mRN6mmXV+gTm3INjFK40ncAmC/Lo4qoQaSZ+GT3hZzlKdWQSqAjqyPeW0SvObP2W073WyYEBWY9d3wOm3A==} dependencies: tslib: 2.4.0 dev: true - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} dev: true - /path-key/4.0.0: + /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-strip-sep/1.0.10: + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.1 + minipass: 7.0.3 + dev: true + + /path-strip-sep@1.0.10: resolution: {integrity: sha512-JpCy+8LAJQQTO1bQsb/84s1g+/Stm3h39aOpPRBQ/paMUGVPPZChLTOTKHoaCkc/6sKuF7yVsnq5Pe1S6xQGcA==} dependencies: tslib: 2.4.0 dev: true - /path-type/1.1.0: + /path-type@1.1.0: resolution: {integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=} engines: {node: '>=0.10.0'} dependencies: @@ -2936,86 +3011,85 @@ packages: pinkie-promise: 2.0.1 dev: true - /path-type/3.0.0: + /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} dependencies: pify: 3.0.0 dev: true - /path-type/4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true - /pathe/0.3.4: - resolution: {integrity: sha512-YWgqEdxf36R6vcsyj0A+yT/rDRPe0wui4J9gRR7T4whjU5Lx/jZOr75ckEgTNaLVQABAwsrlzHRpIKcCdXAQ5A==} + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true - /pathval/1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} dev: true - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: true - /pidtree/0.5.0: - resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} hasBin: true dev: true - /pify/2.3.0: + /pify@2.3.0: resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} engines: {node: '>=0.10.0'} dev: true - /pify/3.0.0: + /pify@3.0.0: resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} engines: {node: '>=4'} dev: true - /pinkie-promise/2.0.1: + /pinkie-promise@2.0.1: resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: true - /pinkie/2.0.4: + /pinkie@2.0.4: resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} engines: {node: '>=0.10.0'} dev: true - /pkg-dir/4.2.0: + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true - /pkg-dir/5.0.0: + /pkg-dir@5.0.0: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} dependencies: find-up: 5.0.0 dev: true - /pkg-types/0.3.3: - resolution: {integrity: sha512-6AJcCMnjUQPQv/Wk960w0TOmjhdjbeaQJoSKWRQv9N3rgkessCu6J0Ydsog/nw1MbpnxHuPzYbfOn2KmlZO1FA==} + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: - jsonc-parser: 3.1.0 - mlly: 0.5.12 - pathe: 0.3.4 + jsonc-parser: 3.2.0 + mlly: 1.4.0 + pathe: 1.1.1 dev: true - /postcss/8.4.16: + /postcss@8.4.16: resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} engines: {node: ^10 || ^12 || >=14} dependencies: @@ -3024,27 +3098,36 @@ packages: source-map-js: 1.0.2 dev: true - /prelude-ls/1.1.2: + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} dev: true - /prepend-http/2.0.0: + /prepend-http@2.0.0: resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} engines: {node: '>=4'} dev: true - /prettier/2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} - engines: {node: '>=10.13.0'} + /prettier@3.0.1: + resolution: {integrity: sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==} + engines: {node: '>=14'} hasBin: true dev: true - /process-nextick-args/2.0.1: + /pretty-format@29.6.2: + resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /prompts/2.4.2: + /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} dependencies: @@ -3052,21 +3135,21 @@ packages: sisteransi: 1.0.5 dev: true - /psl/1.9.0: + /psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true - /punycode/2.1.1: + /punycode@2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} dev: true - /q/1.5.1: + /q@1.5.1: resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true - /query-string/5.1.1: + /query-string@5.1.1: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} dependencies: @@ -3075,35 +3158,39 @@ packages: strict-uri-encode: 1.1.0 dev: true - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true - /quick-lru/1.1.0: + /quick-lru@1.1.0: resolution: {integrity: sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=} engines: {node: '>=4'} dev: true - /quick-lru/4.0.1: + /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} dev: true - /randombytes/2.1.0: + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true - /rc9/1.2.2: - resolution: {integrity: sha512-zbe8+HR2X28eZepAwohuKkebbEsA67h0DO9I7g12QrHa2CQopR9gztOLPIPXXGTvcxeUjAN4wZ+b29t3m/u05g==} + /rc9@2.1.1: + resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} dependencies: - defu: 6.1.0 - destr: 1.1.1 + defu: 6.1.2 + destr: 2.0.1 flat: 5.0.2 dev: true - /read-pkg-up/1.0.1: + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /read-pkg-up@1.0.1: resolution: {integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=} engines: {node: '>=0.10.0'} dependencies: @@ -3111,7 +3198,7 @@ packages: read-pkg: 1.1.0 dev: true - /read-pkg-up/3.0.0: + /read-pkg-up@3.0.0: resolution: {integrity: sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=} engines: {node: '>=4'} dependencies: @@ -3119,7 +3206,7 @@ packages: read-pkg: 3.0.0 dev: true - /read-pkg-up/7.0.1: + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} dependencies: @@ -3128,7 +3215,7 @@ packages: type-fest: 0.8.1 dev: true - /read-pkg/1.1.0: + /read-pkg@1.1.0: resolution: {integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=} engines: {node: '>=0.10.0'} dependencies: @@ -3137,7 +3224,7 @@ packages: path-type: 1.1.0 dev: true - /read-pkg/3.0.0: + /read-pkg@3.0.0: resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} engines: {node: '>=4'} dependencies: @@ -3146,7 +3233,7 @@ packages: path-type: 3.0.0 dev: true - /read-pkg/5.2.0: + /read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} dependencies: @@ -3156,7 +3243,7 @@ packages: type-fest: 0.6.0 dev: true - /readable-stream/2.3.7: + /readable-stream@2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: core-util-is: 1.0.3 @@ -3168,7 +3255,7 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream/3.6.0: + /readable-stream@3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} dependencies: @@ -3177,7 +3264,14 @@ packages: util-deprecate: 1.0.2 dev: true - /redent/1.0.0: + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redent@1.0.0: resolution: {integrity: sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=} engines: {node: '>=0.10.0'} dependencies: @@ -3185,7 +3279,7 @@ packages: strip-indent: 1.0.1 dev: true - /redent/2.0.0: + /redent@2.0.0: resolution: {integrity: sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=} engines: {node: '>=4'} dependencies: @@ -3193,7 +3287,7 @@ packages: strip-indent: 2.0.0 dev: true - /redent/3.0.0: + /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} dependencies: @@ -3201,19 +3295,19 @@ packages: strip-indent: 3.0.0 dev: true - /repeating/2.0.1: + /repeating@2.0.1: resolution: {integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=} engines: {node: '>=0.10.0'} dependencies: is-finite: 1.1.0 dev: true - /require-directory/2.1.1: + /require-directory@2.1.1: resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} engines: {node: '>=0.10.0'} dev: true - /resolve/1.22.0: + /resolve@1.22.0: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true dependencies: @@ -3222,7 +3316,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /resolve/1.22.1: + /resolve@1.22.1: resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: @@ -3231,37 +3325,38 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /responselike/1.0.2: + /responselike@1.0.2: resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} dependencies: lowercase-keys: 1.0.1 dev: true - /restore-cursor/3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true - /reusify/1.0.4: + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true - /rfdc/1.3.0: + /rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true - /rimraf/3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + /rimraf@5.0.1: + resolution: {integrity: sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==} + engines: {node: '>=14'} hasBin: true dependencies: - glob: 7.2.0 + glob: 10.3.3 dev: true - /rollup-plugin-dts/4.2.1_s6zbpzdkhlvcqzhawas6jkergu: + /rollup-plugin-dts@4.2.1(rollup@2.72.0)(typescript@4.6.4): resolution: {integrity: sha512-eaxQZNUJ5iQcxNGlpJ1CUgG4OSVqWjDZ3nNSWBIoGrpcote2aNphSe1RJOaSYkb8dwn3o+rYm1vvld/5z3EGSQ==} engines: {node: '>=v12.22.11'} peerDependencies: @@ -3275,7 +3370,7 @@ packages: '@babel/code-frame': 7.16.7 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.72.0: + /rollup-plugin-terser@7.0.2(rollup@2.72.0): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 @@ -3289,14 +3384,14 @@ packages: - acorn dev: true - /rollup-plugin-typescript2/0.31.2_gucgpcfkl2vuh2xx63prpab3bu: + /rollup-plugin-typescript2@0.31.2(@types/bluebird@3.5.38)(@types/node@17.0.31)(rollup@2.72.0)(ts-toolbelt@9.6.0)(typescript@4.6.4): resolution: {integrity: sha512-hRwEYR1C8xDGVVMFJQdEVnNAeWRvpaY97g5mp3IeLnzhNXzSVq78Ye/BJ9PAaUfN4DXa/uDnqerifMOaMFY54Q==} peerDependencies: rollup: '>=1.26.3' typescript: '>=2.4.0' dependencies: '@rollup/pluginutils': 4.1.2 - '@yarn-tool/resolve-package': 1.0.42_@types+node@17.0.31 + '@yarn-tool/resolve-package': 1.0.42(@types/bluebird@3.5.38)(@types/node@17.0.31)(ts-toolbelt@9.6.0) find-cache-dir: 3.3.2 fs-extra: 10.1.0 resolve: 1.22.0 @@ -3309,7 +3404,7 @@ packages: - ts-toolbelt dev: true - /rollup/2.72.0: + /rollup@2.72.0: resolution: {integrity: sha512-KqtR2YcO35/KKijg4nx4STO3569aqCUeGRkKWnJ6r+AvBBrVY9L4pmf4NHVrQr4mTOq6msbohflxr2kpihhaOA==} engines: {node: '>=10.0.0'} hasBin: true @@ -3317,7 +3412,7 @@ packages: fsevents: 2.3.2 dev: true - /rollup/2.77.3: + /rollup@2.77.3: resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} engines: {node: '>=10.0.0'} hasBin: true @@ -3325,57 +3420,47 @@ packages: fsevents: 2.3.2 dev: true - /run-parallel/1.2.0: + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true - /rxjs/7.5.5: - resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} - dependencies: - tslib: 2.4.0 - dev: true - - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /saxes/6.0.0: + /saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} dependencies: xmlchars: 2.2.0 dev: true - /scule/0.2.1: - resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} - dev: true - - /semver-regex/2.0.0: + /semver-regex@2.0.0: resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} engines: {node: '>=6'} dev: true - /semver/5.7.1: + /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true dev: true - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true - /semver/7.3.5: + /semver@7.3.5: resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true @@ -3383,72 +3468,62 @@ packages: lru-cache: 6.0.0 dev: true - /serialize-javascript/3.1.0: + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-javascript@3.1.0: resolution: {integrity: sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==} dependencies: randombytes: 2.1.0 dev: true - /serialize-javascript/4.0.0: + /serialize-javascript@4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 dev: true - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true - /signal-exit/3.0.6: - resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true - /signal-exit/3.0.7: + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /simple-git-hooks/2.7.0: - resolution: {integrity: sha512-nQe6ASMO9zn5/htIrU37xEIHGr9E6wikXelLbOeTcfsX2O++DHaVug7RSQoq+kO7DvZTH37WA5gW49hN9HTDmQ==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /simple-git-hooks@2.9.0: + resolution: {integrity: sha512-waSQ5paUQtyGC0ZxlHmcMmD9I1rRXauikBwX31bX58l5vTOhCEcBC5Bi+ZDkPXTjDnZAF8TbCqKBY+9+sVPScw==} hasBin: true requiresBuild: true dev: true - /sisteransi/1.0.5: + /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true - /slash/3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slice-ansi/3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /slice-ansi/5.0.0: + /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} dependencies: @@ -3456,95 +3531,108 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /sort-keys/2.0.0: + /sort-keys@2.0.0: resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} engines: {node: '>=4'} dependencies: is-plain-obj: 1.1.0 dev: true - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} dev: true - /source-map-support/0.5.21: + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true - /source-map/0.5.6: + /source-map@0.5.6: resolution: {integrity: sha1-dc449SvwczxafwwRjYEzSiu19BI=} engines: {node: '>=0.10.0'} dev: true - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.7.3: + /source-map@0.7.3: resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} engines: {node: '>= 8'} dev: true - /sourcemap-codec/1.4.8: + /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} dev: true - /spdx-correct/3.1.1: + /spdx-correct@3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.11 dev: true - /spdx-exceptions/2.3.0: + /spdx-exceptions@2.3.0: resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} dev: true - /spdx-expression-parse/3.0.1: + /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.11 dev: true - /spdx-license-ids/3.0.11: + /spdx-license-ids@3.0.11: resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} dev: true - /split/1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} - dependencies: - through: 2.3.8 - dev: true - - /split2/2.2.0: + /split2@2.2.0: resolution: {integrity: sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==} dependencies: through2: 2.0.5 dev: true - /split2/3.2.2: + /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: readable-stream: 3.6.0 dev: true - /strict-uri-encode/1.1.0: + /split@1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + dependencies: + through: 2.3.8 + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /std-env@3.3.3: + resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} + dev: true + + /strict-uri-encode@1.1.0: resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} engines: {node: '>=0.10.0'} dev: true - /string-argv/0.3.1: + /string-argv@0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} dev: true - /string-width/4.2.3: + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} dependencies: @@ -3553,7 +3641,7 @@ packages: strip-ansi: 6.0.1 dev: true - /string-width/5.1.2: + /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} dependencies: @@ -3562,62 +3650,57 @@ packages: strip-ansi: 7.0.1 dev: true - /string_decoder/1.1.1: + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true - /string_decoder/1.3.0: + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true - /strip-ansi/3.0.1: + /strip-ansi@3.0.1: resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} engines: {node: '>=0.10.0'} dependencies: ansi-regex: 2.1.1 dev: true - /strip-ansi/6.0.1: + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 dev: true - /strip-ansi/7.0.1: + /strip-ansi@7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 dev: true - /strip-bom/2.0.0: + /strip-bom@2.0.0: resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=} engines: {node: '>=0.10.0'} dependencies: is-utf8: 0.2.1 dev: true - /strip-bom/3.0.0: + /strip-bom@3.0.0: resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} engines: {node: '>=4'} dev: true - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - - /strip-final-newline/3.0.0: + /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} dev: true - /strip-indent/1.0.1: + /strip-indent@1.0.1: resolution: {integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=} engines: {node: '>=0.10.0'} hasBin: true @@ -3625,70 +3708,70 @@ packages: get-stdin: 4.0.1 dev: true - /strip-indent/2.0.0: + /strip-indent@2.0.0: resolution: {integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=} engines: {node: '>=4'} dev: true - /strip-indent/3.0.0: + /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true - /supports-color/2.0.0: + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.10.0 + dev: true + + /supports-color@2.0.0: resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=} engines: {node: '>=0.8.0'} dev: true - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 dev: true - /supports-color/9.2.2: - resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} - engines: {node: '>=12'} - dev: true - - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: true - /symbol-tree/3.2.4: + /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /tar/4.4.19: - resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} - engines: {node: '>=4.5'} + /tar@6.1.15: + resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + engines: {node: '>=10'} dependencies: - chownr: 1.1.4 - fs-minipass: 1.2.7 - minipass: 2.9.0 - minizlib: 1.3.3 - mkdirp: 0.5.6 - safe-buffer: 5.2.1 - yallist: 3.1.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 dev: true - /temp-dir/2.0.0: + /temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} dev: true - /tempfile/3.0.0: + /tempfile@3.0.0: resolution: {integrity: sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==} engines: {node: '>=8'} dependencies: @@ -3696,7 +3779,7 @@ packages: uuid: 3.4.0 dev: true - /terser/5.10.0: + /terser@5.10.0: resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} engines: {node: '>=10'} hasBin: true @@ -3711,60 +3794,67 @@ packages: source-map-support: 0.5.21 dev: true - /text-extensions/1.9.0: + /text-extensions@1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} dev: true - /through/2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} - dev: true - - /through2/2.0.5: + /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: readable-stream: 2.3.7 xtend: 4.0.2 dev: true - /through2/3.0.2: + /through2@3.0.2: resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} dependencies: inherits: 2.0.4 readable-stream: 3.6.0 dev: true - /through2/4.0.2: + /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: readable-stream: 3.6.0 dev: true - /timed-out/4.0.1: + /through@2.3.8: + resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} + dev: true + + /timed-out@4.0.1: resolution: {integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=} engines: {node: '>=0.10.0'} dev: true - /tinypool/0.2.4: - resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} + /tinybench@2.5.0: + resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + dev: true + + /tinypool@0.7.0: + resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} engines: {node: '>=14.0.0'} dev: true - /tinyspy/1.0.1: - resolution: {integrity: sha512-xuhU//HrMEC6mcZPKjQpusK5ZHeh9b1JpeMAkFqR3kasUEk1dGdJXWqRYh2945qq0N7ftiv1QQQLh1RSE7lS1w==} + /tinyspy@2.1.1: + resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} engines: {node: '>=14.0.0'} - dependencies: - changelogithub: 0.6.6 dev: true - /to-regex-range/5.0.1: + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true - /tough-cookie/4.0.0: + /tough-cookie@4.0.0: resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} engines: {node: '>=6'} dependencies: @@ -3773,101 +3863,102 @@ packages: universalify: 0.1.2 dev: true - /tr46/3.0.0: + /tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} dependencies: punycode: 2.1.1 dev: true - /trim-newlines/1.0.0: + /trim-newlines@1.0.0: resolution: {integrity: sha1-WIeWa7WCpFA6QetST301ARgVphM=} engines: {node: '>=0.10.0'} dev: true - /trim-newlines/2.0.0: + /trim-newlines@2.0.0: resolution: {integrity: sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=} engines: {node: '>=4'} dev: true - /trim-newlines/3.0.1: + /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} dev: true - /ts-type/2.1.4_@types+node@17.0.31: + /ts-toolbelt@9.6.0: + resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} + dev: true + + /ts-type@2.1.4(@types/bluebird@3.5.38)(@types/node@17.0.31)(ts-toolbelt@9.6.0): resolution: {integrity: sha512-wnajiiIMhn/RHJ1oPld95siKmMJrOgaT6+rMmC8vO1LORgDFEzKP2nBmEFM5b4XVe7Q0J5KcU9oRJFzju7UzrA==} peerDependencies: '@types/bluebird': '*' '@types/node': '*' ts-toolbelt: ^9.6.0 dependencies: + '@types/bluebird': 3.5.38 '@types/node': 17.0.31 + ts-toolbelt: 9.6.0 tslib: 2.4.0 typedarray-dts: 1.0.0 dev: true - /tslib/2.4.0: + /tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true - /type-check/0.3.2: + /type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: true - /type-detect/4.0.8: + /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} dev: true - /type-fest/0.13.1: + /type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} dev: true - /type-fest/0.18.1: + /type-fest@0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} dev: true - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - - /type-fest/0.6.0: + /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} dev: true - /type-fest/0.8.1: + /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} dev: true - /typedarray-dts/1.0.0: + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /typedarray-dts@1.0.0: resolution: {integrity: sha512-Ka0DBegjuV9IPYFT1h0Qqk5U4pccebNIJCGl8C5uU7xtOs+jpJvKGAY4fHGK25hTmXZOEUl9Cnsg5cS6K/b5DA==} dev: true - /typescript/4.6.4: + /typescript@4.6.4: resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} engines: {node: '>=4.2.0'} hasBin: true dev: true - /typical/4.0.0: - resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} - engines: {node: '>=8'} + /ufo@1.2.0: + resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} dev: true - /ufo/0.8.5: - resolution: {integrity: sha512-e4+UtA5IRO+ha6hYklwj6r7BjiGMxS0O+UaSg9HbaTefg4kMkzj4tXzEBajRR+wkxf+golgAWKzLbytCUDMJAA==} - dev: true - - /uglify-js/3.15.0: + /uglify-js@3.15.0: resolution: {integrity: sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==} engines: {node: '>=0.8.0'} hasBin: true @@ -3875,22 +3966,17 @@ packages: dev: true optional: true - /undici/5.8.2: - resolution: {integrity: sha512-3KLq3pXMS0Y4IELV045fTxqz04Nk9Ms7yfBBHum3yxsTR4XNn+ZCaUbf/mWitgYDAhsplQ0B1G4S5D345lMO3A==} - engines: {node: '>=12.18'} - dev: true - - /universalify/0.1.2: + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: true - /universalify/2.0.0: + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} dev: true - /upath2/3.1.12_@types+node@17.0.31: + /upath2@3.1.12(@types/node@17.0.31): resolution: {integrity: sha512-yC3eZeCyCXFWjy7Nu4pgjLhXNYjuzuUmJiRgSSw6TJp8Emc+E4951HGPJf+bldFC5SL7oBLeNbtm1fGzXn2gxw==} peerDependencies: '@types/node': '*' @@ -3901,36 +3987,55 @@ packages: tslib: 2.4.0 dev: true - /url-parse-lax/3.0.0: + /url-parse-lax@3.0.0: resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 dev: true - /url-to-options/1.0.1: + /url-to-options@1.0.1: resolution: {integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=} engines: {node: '>= 4'} dev: true - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} dev: true - /uuid/3.4.0: + /uuid@3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true dev: true - /validate-npm-package-license/3.0.4: + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.1.1 spdx-expression-parse: 3.0.1 dev: true - /vite/3.0.8: + /vite-node@0.34.1: + resolution: {integrity: sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.0 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 3.0.8 + transitivePeerDependencies: + - less + - sass + - stylus + - supports-color + - terser + dev: true + + /vite@3.0.8: resolution: {integrity: sha512-AOZ4eN7mrkJiOLuw8IA7piS4IdOQyQCA81GxGsAQvAZzMRi9ZwGB3TOaYsj4uLAWK46T5L4AfQ6InNGlxX30IQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -3957,9 +4062,9 @@ packages: fsevents: 2.3.2 dev: true - /vitest/0.22.0_jsdom@20.0.0: - resolution: {integrity: sha512-BSIro/QOHLaQY08FHwT6THWhqLQ+VPU+N4Rdo4pcP+16XB6oLmNNAXGcSh/MOLUhfUy+mqCwx7AyKmU7Ms5R+g==} - engines: {node: '>=v14.16.0'} + /vitest@0.34.1(jsdom@20.0.0): + resolution: {integrity: sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==} + engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -3967,6 +4072,9 @@ packages: '@vitest/ui': '*' happy-dom: '*' jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -3978,17 +4086,38 @@ packages: optional: true jsdom: optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true dependencies: - '@types/chai': 4.3.3 + '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 '@types/node': 17.0.31 - chai: 4.3.6 + '@vitest/expect': 0.34.1 + '@vitest/runner': 0.34.1 + '@vitest/snapshot': 0.34.1 + '@vitest/spy': 0.34.1 + '@vitest/utils': 0.34.1 + acorn: 8.10.0 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 debug: 4.3.4 jsdom: 20.0.0 - local-pkg: 0.4.2 - tinypool: 0.2.4 - tinyspy: 1.0.1 + local-pkg: 0.4.3 + magic-string: 0.30.2 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.3.3 + strip-literal: 1.3.0 + tinybench: 2.5.0 + tinypool: 0.7.0 vite: 3.0.8 + vite-node: 0.34.1 + why-is-node-running: 2.2.2 transitivePeerDependencies: - less - sass @@ -3997,11 +4126,15 @@ packages: - terser dev: true - /vue-router/3.5.3: + /vue-router@3.5.3(vue@2.6.14): resolution: {integrity: sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg==} + peerDependencies: + vue: ^2 + dependencies: + vue: 2.6.14 dev: true - /vue-server-renderer/2.6.14: + /vue-server-renderer@2.6.14: resolution: {integrity: sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA==} dependencies: chalk: 1.1.3 @@ -4014,51 +4147,51 @@ packages: source-map: 0.5.6 dev: true - /vue/2.6.14: + /vue@2.6.14: resolution: {integrity: sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==} dev: true - /vue/3.2.21: + /vue@3.2.21: resolution: {integrity: sha512-jpy7ckXdyclfRzqLjL4mtq81AkzQleE54KjZsJg/9OorNVurAxdlU5XpD49GpjKdnftuffKUvx2C5jDOrgc/zg==} dependencies: '@vue/compiler-dom': 3.2.21 '@vue/compiler-sfc': 3.2.21 '@vue/runtime-dom': 3.2.21 - '@vue/server-renderer': 3.2.21_vue@2.6.14 + '@vue/server-renderer': 3.2.21(vue@2.6.14) '@vue/shared': 3.2.21 dev: true - /w3c-hr-time/1.0.2: + /w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} dependencies: browser-process-hrtime: 1.0.0 dev: true - /w3c-xmlserializer/3.0.0: + /w3c-xmlserializer@3.0.0: resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} engines: {node: '>=12'} dependencies: xml-name-validator: 4.0.0 dev: true - /webidl-conversions/7.0.0: + /webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} dev: true - /whatwg-encoding/2.0.0: + /whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} dependencies: iconv-lite: 0.6.3 dev: true - /whatwg-mimetype/3.0.0: + /whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} dev: true - /whatwg-url/11.0.0: + /whatwg-url@11.0.0: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} dependencies: @@ -4066,7 +4199,7 @@ packages: webidl-conversions: 7.0.0 dev: true - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true @@ -4074,25 +4207,25 @@ packages: isexe: 2.0.0 dev: true - /word-wrap/1.2.3: + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} dev: true - /wordwrap/1.0.0: + /wordwrap@1.0.0: resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=} dev: true - /wrap-ansi/6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrap-ansi/7.0.0: + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} dependencies: @@ -4101,11 +4234,16 @@ packages: strip-ansi: 6.0.1 dev: true - /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.1.0 + string-width: 5.1.2 + strip-ansi: 7.0.1 dev: true - /ws/8.8.1: + /ws@8.8.1: resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==} engines: {node: '>=10.0.0'} peerDependencies: @@ -4118,39 +4256,35 @@ packages: optional: true dev: true - /xml-name-validator/4.0.0: + /xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} dev: true - /xmlchars/2.2.0: + /xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true - /xtend/4.0.2: + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: true - /y18n/5.0.8: + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} dev: true - /yallist/3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true - - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml/1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + /yaml@2.3.1: + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + engines: {node: '>= 14'} dev: true - /yargs-parser/18.1.3: + /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} dependencies: @@ -4158,12 +4292,12 @@ packages: decamelize: 1.2.0 dev: true - /yargs-parser/20.2.9: + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} dev: true - /yargs/16.2.0: + /yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} dependencies: @@ -4176,7 +4310,12 @@ packages: yargs-parser: 20.2.9 dev: true - /yocto-queue/0.1.0: + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true From 2436ba2ca0ae804a3932924407f54e675073ea5c Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 15 Aug 2023 13:08:13 +0200 Subject: [PATCH 33/33] chore: release v1.7.2 --- CHANGELOG.md | 15 +++++++++++++++ README.md | 2 +- README.zh-CN.md | 2 +- package.json | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3e5010f..c09fd621 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ + +## [1.7.2](https://github.com/vuejs/composition-api/compare/v1.7.1...v1.7.2) (2023-08-15) + + +### Bug Fixes + +* **types:** function constructor should be a Function ([#972](https://github.com/vuejs/composition-api/issues/972)) ([6247ba3](https://github.com/vuejs/composition-api/commit/6247ba3)) + + +### Features + +* support inject key types ([#986](https://github.com/vuejs/composition-api/issues/986)) ([599423c](https://github.com/vuejs/composition-api/commit/599423c)) + + + ## [1.7.1](https://github.com/vuejs/composition-api/compare/v1.7.0...v1.7.1) (2022-09-23) diff --git a/README.md b/README.md index 1dc575f9..91880818 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Include `@vue/composition-api` after Vue and it will install itself automaticall ```html - + ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index fd6caa8e..b48d1f53 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -43,7 +43,7 @@ import { ref, reactive } from '@vue/composition-api' ```html - + ``` diff --git a/package.json b/package.json index f10fc589..c449b3d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/composition-api", - "version": "1.7.1", + "version": "1.7.2", "packageManager": "pnpm@8.6.12", "description": "Provide logic composition capabilities for Vue.", "keywords": [