diff --git a/.eslintrc.json b/.eslintrc.json index 0488eb278..31fe8bd3f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -6,7 +6,8 @@ "extends": [ "eslint:recommended", "plugin:react/recommended", - "plugin:@typescript-eslint/recommended" + "plugin:@typescript-eslint/recommended", + "prettier" ], "parser": "@typescript-eslint/parser", "parserOptions": { @@ -18,10 +19,7 @@ }, "plugins": ["react", "@typescript-eslint"], "rules": { - "indent": ["error", 2, { "flatTernaryExpressions": true, "SwitchCase": 1 }], "linebreak-style": ["error", "unix"], - "quotes": ["error", "single"], - "semi": ["error", "always"], "react/prop-types": "off", "no-case-declarations": "off", "@typescript-eslint/explicit-module-boundary-types": "off", diff --git a/.gitignore b/.gitignore index ef4ccd471..b31c4644a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ node_modules # dist lib +dist tsconfig.tsbuildinfo typings diff --git a/package.json b/package.json index c72bb1537..07076e410 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,14 @@ "prepublish": "lerna run prepublish", "test:ci": "jest -c config/jest.ci.config.js", "lint": "eslint packages --ext .ts --ext .tsx", - "fix-lint": "eslint --fix packages --ext .ts --ext .tsx" + "fix-lint": "eslint --fix packages --ext .ts --ext .tsx", + "release": "lerna publish" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^4.31.1", "@typescript-eslint/parser": "^4.31.1", "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", "eslint-plugin-react": "^7.25.1", "husky": "^6.0.0", "lerna": "^4.0.0", diff --git a/packages/core/package.json b/packages/core/package.json index 4d2c667f5..e33b97404 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,26 +1,29 @@ { "name": "@meta-ui/core", - "version": "0.1.0", - "description": "meta-ui core runtime", - "author": "Yanzhen Yu ", + "version": "0.2.1", + "description": "meta-ui core", + "author": "meta-ui developers", "homepage": "https://github.com/webzard-io/meta-ui#readme", "license": "MIT", - "module": "lib/index.js", - "types": "lib/index.d.ts", - "directories": { - "lib": "lib", - "test": "__tests__" + "publishConfig": { + "access": "public" }, - "files": [ - "lib" - ], "repository": { "type": "git", "url": "git+https://github.com/webzard-io/meta-ui.git" }, + "main": "dist/index.js", + "module": "dist/esm/index.js", + "unpkg": "dist/iife/index.js", + "types": "typings/index.d.ts", + "files": [ + "dist", + "typings" + ], "scripts": { - "build": "tsc -b .", - "typings": "tsc -d", + "build": "tsup src/index.ts --format cjs,esm,iife --legacy-output", + "dev": "npm run build -- --watch", + "typings": "tsc --emitDeclarationOnly --declarationDir typings", "test": "jest", "lint": "eslint src --ext .ts", "prepublish": "npm run build && npm run typings" @@ -36,6 +39,7 @@ "eslint-config-prettier": "^8.3.0", "jest": "^27.0.6", "prettier": "^2.3.2", + "tsup": "^5.5.0", "typescript": "^4.3.5" }, "dependencies": { diff --git a/packages/editor/package.json b/packages/editor/package.json index d547a35d3..cfb317d7c 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -1,8 +1,8 @@ { - "name": "editor", - "version": "0.0.0", + "name": "@meta-ui/editor", + "version": "0.2.4", "description": "meta-ui editor", - "author": "Bowen Tan ", + "author": "meta-ui developers", "homepage": "https://github.com/webzard-io/meta-ui#readme", "license": "MIT", "main": "src/main.tsx", @@ -11,7 +11,7 @@ "test": "jest" }, "publishConfig": { - "registry": "http://192.168.26.29:7001" + "access": "public" }, "repository": { "type": "git", @@ -25,8 +25,8 @@ "@chakra-ui/react": "^1.6.5", "@emotion/react": "^11", "@emotion/styled": "^11", - "@meta-ui/core": "^0.1.0", - "@meta-ui/runtime": "^0.0.0", + "@meta-ui/core": "^0.2.1", + "@meta-ui/runtime": "^0.2.4", "codemirror": "^5.63.3", "formik": "^2.2.9", "framer-motion": "^4", diff --git a/packages/editor/tsconfig.json b/packages/editor/tsconfig.json index 201484b3d..4bf1adcb8 100644 --- a/packages/editor/tsconfig.json +++ b/packages/editor/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../config/tsconfig.base.json", "compilerOptions": { - "target": "ESNext", + "target": "ES6", "lib": ["DOM", "DOM.Iterable", "ESNext"], "allowJs": false, "skipLibCheck": false, @@ -18,7 +18,7 @@ "noUnusedParameters": true, "types": ["@emotion/react/types/css-prop"], "jsx": "react-jsx", - "jsxImportSource": "@emotion/react", + "jsxImportSource": "@emotion/react" }, "include": ["./src"] } diff --git a/packages/runtime/package.json b/packages/runtime/package.json index baa36152c..027690c94 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,28 +1,42 @@ { "name": "@meta-ui/runtime", - "version": "0.0.0", + "version": "0.2.4", + "description": "meta-ui runtime", + "author": "meta-ui developers", + "homepage": "https://github.com/webzard-io/meta-ui#readme", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/webzard-io/meta-ui.git" + }, + "main": "dist/index.js", + "module": "dist/esm/index.js", + "unpkg": "dist/iife/index.js", + "types": "typings/index.d.ts", + "files": [ + "dist", + "typings" + ], "scripts": { "dev": "vite", "test": "jest", - "build": "tsc -b .", - "typings": "tsc -d", + "build": "tsup src/index.ts --format cjs,esm,iife --legacy-output --inject ./react-import.js --clean --no-splitting --sourcemap", + "typings": "tsc --emitDeclarationOnly --declarationDir typings", "lint": "eslint src --ext .ts", "prepublish": "npm run build && npm run typings" }, - "files": [ - "lib" - ], - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "@chakra-ui/icons": "^1.0.15", "@chakra-ui/react": "^1.6.5", "@emotion/react": "^11", "@emotion/styled": "^11", - "@meta-ui/core": "^0.1.0", + "@meta-ui/core": "^0.2.1", "@sinclair/typebox": "^0.20.5", - "@vue-reactivity/watch": "^0.1.6", "@vue/reactivity": "^3.1.5", + "@vue/shared": "^3.2.20", "copy-to-clipboard": "^3.3.1", "dayjs": "^1.10.6", "framer-motion": "^4", @@ -51,6 +65,7 @@ "@vitejs/plugin-react": "^1.0.1", "babel-jest": "^27.1.0", "jest": "^27.1.0", + "tsup": "^5.5.0", "typescript": "^4.3.2", "vite": "^2.3.8" } diff --git a/packages/runtime/react-import.js b/packages/runtime/react-import.js new file mode 100644 index 000000000..9019da744 --- /dev/null +++ b/packages/runtime/react-import.js @@ -0,0 +1,5 @@ +// https://github.com/egoist/tsup/issues/390 + +import React from 'react'; + +export { React }; diff --git a/packages/runtime/src/components/chakra-ui/Form/Form.tsx b/packages/runtime/src/components/chakra-ui/Form/Form.tsx index 472e3b821..acc885429 100644 --- a/packages/runtime/src/components/chakra-ui/Form/Form.tsx +++ b/packages/runtime/src/components/chakra-ui/Form/Form.tsx @@ -3,7 +3,7 @@ import { css } from '@emotion/react'; import { Type, Static } from '@sinclair/typebox'; import { createComponent } from '@meta-ui/core'; import { Button, VStack } from '@chakra-ui/react'; -import { watch } from '@vue-reactivity/watch'; +import { watch } from '../../../utils/watchReactivity'; import { ComponentImplementation } from '../../../services/registry'; import Slot from '../../_internal/Slot'; diff --git a/packages/runtime/src/components/chakra-ui/Form/FormControl.tsx b/packages/runtime/src/components/chakra-ui/Form/FormControl.tsx index fb74e7c97..33c445151 100644 --- a/packages/runtime/src/components/chakra-ui/Form/FormControl.tsx +++ b/packages/runtime/src/components/chakra-ui/Form/FormControl.tsx @@ -9,7 +9,7 @@ import { FormLabel, Text, } from '@chakra-ui/react'; -import { watch } from '@vue-reactivity/watch'; +import { watch } from '../../../utils/watchReactivity'; import { FormControlContentCSS, FormControlCSS, diff --git a/packages/runtime/src/components/core/GridLayout.tsx b/packages/runtime/src/components/core/GridLayout.tsx index a80d1970d..85f52568c 100644 --- a/packages/runtime/src/components/core/GridLayout.tsx +++ b/packages/runtime/src/components/core/GridLayout.tsx @@ -5,7 +5,7 @@ import { getSlots } from '../_internal/Slot'; import { Static, Type } from '@sinclair/typebox'; import { partial } from 'lodash'; -const BaseGridLayout = React.lazy(() => import('../../components/_internal/GridLayout')); +const BaseGridLayout = React.lazy(() => import('../_internal/GridLayout')); const GridLayout: ComponentImplementation> = ({ slotsMap, diff --git a/packages/runtime/src/services/DebugComponents.tsx b/packages/runtime/src/services/DebugComponents.tsx index 1df6398a5..4027784be 100644 --- a/packages/runtime/src/services/DebugComponents.tsx +++ b/packages/runtime/src/services/DebugComponents.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from 'react'; import { StateManager } from './stateStore'; import { ApiService } from './apiService'; -import { watch } from '@vue-reactivity/watch'; +import { watch } from '../utils/watchReactivity'; import copy from 'copy-to-clipboard'; export const DebugStore: React.FC<{ stateManager: StateManager }> = ({ diff --git a/packages/runtime/src/services/ImplWrapper.tsx b/packages/runtime/src/services/ImplWrapper.tsx index 39b392c28..27f5456b1 100644 --- a/packages/runtime/src/services/ImplWrapper.tsx +++ b/packages/runtime/src/services/ImplWrapper.tsx @@ -1,5 +1,5 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; -import { watch } from '@vue-reactivity/watch'; +import { watch } from '../utils/watchReactivity'; import { merge } from 'lodash'; import { RuntimeApplicationComponent, diff --git a/packages/runtime/src/services/stateStore.ts b/packages/runtime/src/services/stateStore.ts index 7f41a6427..0958afbe0 100644 --- a/packages/runtime/src/services/stateStore.ts +++ b/packages/runtime/src/services/stateStore.ts @@ -2,7 +2,7 @@ import _ from 'lodash'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; import { reactive } from '@vue/reactivity'; -import { watch } from '@vue-reactivity/watch'; +import { watch } from '../utils/watchReactivity'; import { LIST_ITEM_EXP, LIST_ITEM_INDEX_EXP } from '../constants'; dayjs.extend(relativeTime); @@ -125,13 +125,13 @@ export class StateManager { return _.mapValues(obj, (val, key) => { return _.isArray(val) ? val.map((innerVal, idx) => { - return _.isPlainObject(innerVal) - ? this.mapValuesDeep(innerVal, fn, path.concat(key, idx)) - : fn({ value: innerVal, key, obj, path: path.concat(key, idx) }); - }) + return _.isPlainObject(innerVal) + ? this.mapValuesDeep(innerVal, fn, path.concat(key, idx)) + : fn({ value: innerVal, key, obj, path: path.concat(key, idx) }); + }) : _.isPlainObject(val) - ? this.mapValuesDeep(val, fn, path.concat(key)) - : fn({ value: val, key, obj, path: path.concat(key) }); + ? this.mapValuesDeep(val, fn, path.concat(key)) + : fn({ value: val, key, obj, path: path.concat(key) }); }); } diff --git a/packages/runtime/src/utils/watchReactivity.ts b/packages/runtime/src/utils/watchReactivity.ts new file mode 100644 index 000000000..3258c5544 --- /dev/null +++ b/packages/runtime/src/utils/watchReactivity.ts @@ -0,0 +1,266 @@ +// forked from https://github.com/vue-reactivity/watch/blob/master/src/index.ts by Anthony Fu +// ported from https://github.com/vuejs/vue-next/blob/master/packages/runtime-core/src/apiWatch.ts by Evan You + +/* eslint-disable @typescript-eslint/ban-types */ + +import { + ComputedRef, + effect, + Ref, + ReactiveEffectOptions, + isReactive, + isRef, + stop, +} from '@vue/reactivity'; +import { hasChanged, isArray, isFunction, isObject, NOOP, isPromise } from '@vue/shared'; + +export function callWithErrorHandling(fn: Function, type: string, args?: unknown[]) { + let res; + try { + res = args ? fn(...args) : fn(); + } catch (err) { + handleError(err, type); + } + return res; +} + +export function callWithAsyncErrorHandling( + fn: Function | Function[], + type: string, + args?: unknown[] +): any[] { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, type, args); + if (res && isPromise(res)) { + res.catch(err => { + handleError(err, type); + }); + } + return res; + } + + const values = []; + for (let i = 0; i < fn.length; i++) + values.push(callWithAsyncErrorHandling(fn[i], type, args)); + + return values; +} + +function handleError(err: unknown, type: String) { + console.error(new Error(`[@vue-reactivity/watch]: ${type}`)); + console.error(err); +} + +export function warn(message: string) { + console.warn(createError(message)); +} + +function createError(message: string) { + return new Error(`[reactivue]: ${message}`); +} + +export type WatchEffect = (onInvalidate: InvalidateCbRegistrator) => void; + +export type WatchSource = Ref | ComputedRef | (() => T); + +export type WatchCallback = ( + value: V, + oldValue: OV, + onInvalidate: InvalidateCbRegistrator +) => any; + +export type WatchStopHandle = () => void; + +type MapSources = { + [K in keyof T]: T[K] extends WatchSource + ? V + : T[K] extends object + ? T[K] + : never; +}; + +type MapOldSources = { + [K in keyof T]: T[K] extends WatchSource + ? Immediate extends true + ? V | undefined + : V + : T[K] extends object + ? Immediate extends true + ? T[K] | undefined + : T[K] + : never; +}; + +type InvalidateCbRegistrator = (cb: () => void) => void; +const invoke = (fn: Function) => fn(); +const INITIAL_WATCHER_VALUE = {}; + +export interface WatchOptionsBase { + /** + * @depreacted ignored in `@vue-reactivity/watch` and will always be `sync` + */ + flush?: 'sync' | 'pre' | 'post'; + onTrack?: ReactiveEffectOptions['onTrack']; + onTrigger?: ReactiveEffectOptions['onTrigger']; +} + +export interface WatchOptions extends WatchOptionsBase { + immediate?: Immediate; + deep?: boolean; +} + +// Simple effect. +export function watchEffect( + effect: WatchEffect, + options?: WatchOptionsBase +): WatchStopHandle { + return doWatch(effect, null, options); +} + +// 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. +export function watch< + T extends Readonly | object>>, + Immediate extends Readonly = false +>( + sources: T, + cb: WatchCallback, MapOldSources>, + options?: WatchOptions +): WatchStopHandle; + +// overload #2: single source + cb +export function watch = false>( + source: WatchSource, + cb: WatchCallback, + options?: WatchOptions +): WatchStopHandle; + +// overload #3: watching reactive object w/ cb +export function watch = false>( + source: T, + cb: WatchCallback, + options?: WatchOptions +): WatchStopHandle; + +// implementation +export function watch( + source: WatchSource | WatchSource[], + cb: WatchCallback, + options?: WatchOptions +): WatchStopHandle { + return doWatch(source, cb, options); +} + +function doWatch( + source: WatchSource | WatchSource[] | WatchEffect, + cb: WatchCallback | null, + { immediate, deep, onTrack, onTrigger }: WatchOptions = {} +): WatchStopHandle { + let getter: () => any; + if (isArray(source) && !isReactive(source)) { + getter = () => + // eslint-disable-next-line array-callback-return + source.map(s => { + if (isRef(s)) return s.value; + else if (isReactive(s)) return traverse(s); + else if (isFunction(s)) return callWithErrorHandling(s, 'watch getter'); + else warn('invalid source'); + }); + } else if (isRef(source)) { + getter = () => source.value; + } else if (isReactive(source)) { + getter = () => source; + deep = true; + } else if (isFunction(source)) { + if (cb) { + // getter with cb + getter = () => callWithErrorHandling(source, 'watch getter'); + } else { + // no cb -> simple effect + getter = () => { + if (cleanup) cleanup(); + + return callWithErrorHandling(source, 'watch callback', [onInvalidate]); + }; + } + } else { + getter = NOOP; + } + + if (cb && deep) { + const baseGetter = getter; + getter = () => traverse(baseGetter()); + } + + let cleanup: () => void; + const onInvalidate: InvalidateCbRegistrator = (fn: () => void) => { + cleanup = (runner as any).options.onStop = () => { + callWithErrorHandling(fn, 'watch cleanup'); + }; + }; + + let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE; + const applyCb = cb + ? () => { + const newValue = runner(); + if (deep || hasChanged(newValue, oldValue)) { + // cleanup before running cb again + if (cleanup) cleanup(); + + callWithAsyncErrorHandling(cb, 'watch callback', [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, + onInvalidate, + ]); + oldValue = newValue; + } + } + : undefined; + + const scheduler = invoke; + + const runner = effect(getter, { + lazy: true, + onTrack, + onTrigger, + scheduler: applyCb ? () => scheduler(applyCb) : scheduler, + }); + + // initial run + if (applyCb) { + if (immediate) applyCb(); + else oldValue = runner(); + } else { + runner(); + } + + const stopWatcher = function () { + stop(runner); + }; + stopWatcher.effect = runner; + return stopWatcher; +} + +function traverse(value: unknown, seen: Set = new Set()) { + if (!isObject(value) || seen.has(value)) return value; + + seen.add(value); + if (isArray(value)) { + for (let i = 0; i < value.length; i++) traverse(value[i], seen); + } else if (value instanceof Map) { + value.forEach((_, key) => { + // to register mutation dep for existing keys + traverse(value.get(key), seen); + }); + } else if (value instanceof Set) { + value.forEach(v => { + traverse(v, seen); + }); + } else { + for (const key of Object.keys(value)) traverse(value[key], seen); + } + return value; +} diff --git a/packages/runtime/tsconfig.json b/packages/runtime/tsconfig.json index d23ef5d3d..0427abc06 100644 --- a/packages/runtime/tsconfig.json +++ b/packages/runtime/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../config/tsconfig.base.json", "compilerOptions": { - "target": "ESNext", + "composite": true, + "target": "ES6", "lib": ["DOM", "DOM.Iterable", "ESNext"], "outDir": "./lib", "allowJs": false, @@ -20,7 +21,7 @@ "types": ["@emotion/react/types/css-prop"], "baseUrl": "./", "jsx": "react-jsx", - "jsxImportSource": "@emotion/react", + "jsxImportSource": "@emotion/react" }, "include": ["./src"] } diff --git a/yarn.lock b/yarn.lock index 95c98db5f..dced5762b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3168,11 +3168,6 @@ react-refresh "^0.10.0" resolve "^1.20.0" -"@vue-reactivity/watch@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@vue-reactivity/watch/-/watch-0.1.6.tgz#631c91319dee62724eb020e89dc2f868b480cb6d" - integrity sha512-Se4D+1LAnn8B49MuRzWyZv2syb+9FTuxXKA8FF6gjZD08PdVwoVZG3ncZzqFFG2lVlzx03+rjOCtIJb+VkD3Qg== - "@vue/reactivity@^3.1.5": version "3.2.16" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.16.tgz#0d4253443d580c906508b0b05b2cd136d46bf4a2" @@ -3185,6 +3180,11 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.16.tgz#a7f5e37e07ac68d4b7ea8ebeba515b46d205c524" integrity sha512-zpv8lxuatl3ruCJCsGzrO/F4+IlLug4jbu3vaIi/wJVZKQgnsW1R/xSRJMQS6K57cl4fT/2zkrYsWh1/6H7Esw== +"@vue/shared@^3.2.20": + version "3.2.20" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.20.tgz#53746961f731a8ea666e3316271e944238dc31db" + integrity sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w== + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -3326,7 +3326,12 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -anymatch@^3.0.3: +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -3585,6 +3590,11 @@ before-after-hook@^2.2.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3593,7 +3603,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -3643,6 +3653,11 @@ byte-size@^7.0.0: resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3" integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A== +cac@^6.7.2: + version "6.7.11" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.11.tgz#8828e0874e578b60d839a7591567d7d5bdc7cbce" + integrity sha512-m4xrA2MKfid6uDV2j2+0mXrtPGxlvAW0y+7Gnn2P8WVMSG+4e4tcoYX++94ZPblPfpBccJ5e7HvKdghlX5yiDA== + cacache@^15.0.5, cacache@^15.2.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" @@ -3753,6 +3768,21 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -3912,6 +3942,11 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" @@ -4439,11 +4474,119 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +esbuild-android-arm64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.9.tgz#6cc4a0c623332c0830a311ddd8242b1f496ff940" + integrity sha512-Ty0hKldtjJVLHwUwbKR4GFPiXBo5iQ3aE1OLBar9lh3myaRkUGEb+Ypl74LEKa0+t/9lS3Ev1N5+5P2Sq6UvNQ== + +esbuild-darwin-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.9.tgz#df44297c2438032cda2b21548a82bb007e2105cc" + integrity sha512-Ay0/b98v0oYp3ApXNQ7QPbaSkCT9WjBU6h8bMB1SYrQ/PmHgwph91fb9V0pfOLKK1rYWypfrNbI0MyT2tWN+rQ== + +esbuild-darwin-arm64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.9.tgz#704ef404a6a38eda190d40ed354e7f2c1c839081" + integrity sha512-nJB8chaJdWathCe6EyIiMIqfyEzbuXPyNsPlL3bYRB1zFCF8feXT874D4IHbJ/w8B6BpY3sM1Clr/I/DK8E4ow== + +esbuild-freebsd-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.9.tgz#fbbf22c99e15f27d0f8a1a040d7961a86f0d3a4e" + integrity sha512-ktaBujf12XLkVXLGx7WjFcmh1tt34tm7gP4pHkhvbzbHrq+BbXwcl4EsW+5JT9VNKl7slOGf4Qnua/VW7ZcnIw== + +esbuild-freebsd-arm64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.9.tgz#809fff4c43653dbbf071ffce9f80a030b278098e" + integrity sha512-vVa5zps4dmwpXwv/amxVpIWvFJuUPWQkpV+PYtZUW9lqjXsQ3LBHP51Q1cXZZBIrqwszLsEyJPa5GuDOY15hzQ== + +esbuild-linux-32@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.9.tgz#f9fd3423481e51674e9817d5eea25689889a5f5a" + integrity sha512-HxoW9QNqhO8VW1l7aBiYQH4lobeHq85+blZ4nlZ7sg5CNhGRRwnMlV6S08VYKz6V0YKnHb5OqJxx2HZuTZ7tgQ== + +esbuild-linux-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.9.tgz#9d7f66866dae1abaff7cbc3749f2847d5fb72fd5" + integrity sha512-L+eAR8o1lAUr9g64RXnBLuWZjAItAOWSUpvkchpa6QvSnXFA/nG6PgGsOBEqhDXl9qYEpGI0ReDrFkf8ByapvQ== + +esbuild-linux-arm64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.9.tgz#669202e71b9ced4d285bfd1d69de948e013ac28f" + integrity sha512-IjbhZpW5VQYK4nVI4dj/mLvH5oXAIf57OI8BYVkCqrdVXJwR8nVrSqux3zJSY+ElrkOK3DtG9iTPpmqvBXaU0g== + +esbuild-linux-arm@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.9.tgz#c3ceb56ec0e3dbd1a3a89dca6cb7fc0ca360bcc8" + integrity sha512-DT0S+ufCVXatPZHjkCaBgZSFIV8FzY4GEHz/BlkitTWzUvT1dIUXjPIRPnqBUVa+0AyS1bZSfHzv9hTT4LHz7A== + +esbuild-linux-mips64le@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.9.tgz#bf4bd389ee14b67c5c77669952f2de6b2cc8a003" + integrity sha512-ec9RgAM4r+fe1ZmG16qeMwEHdcIvqeW8tpnpkfSQu9T4487KtQF6lg3TQasTarrLLEe7Qpy+E+r4VwC8eeZySQ== + +esbuild-linux-ppc64le@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.9.tgz#465b7bdc70577da606b3b5d463028292b6d834ad" + integrity sha512-7b2/wg8T1n/L1BgCWlMSez0aXfGkNjFuOqMBQdnTti3LRuUwzGJcrhRf/FdZGJ5/evML9mqu60vLRuXW1TdXCg== + +esbuild-netbsd-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.9.tgz#94f2dabe83520066cc1e1fae3ecff78695a8ebb1" + integrity sha512-PiZu3h4+Szj0iZPgvuD2Y0isOXnlNetmF6jMcOwW54BScwynW24/baE+z7PfDyNFgjV04Ga2THdcpbKBDhgWQw== + +esbuild-openbsd-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.9.tgz#b47f6a641ca37358aeedb2b7c4bb73dd0682c6d5" + integrity sha512-SJKN4Ez+ilY7mu+1gAdGQ9N6dktBfbEkiOAvw+hT7xHrNnTnrTGH0FT4qx9dazB9HX6D04L4PXmVOyynqi+oEQ== + +esbuild-sunos-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.9.tgz#b0df4a316b7c98eb490f4bd0db381cf2c391ae73" + integrity sha512-9N0RjZ7cElE8ifrS0nBrLQgBMQNPiIIKO2GzLXy7Ms8AM3KjfLiV2G2+9O0B9paXjRAHchIwazTeOyeWb1vyWA== + +esbuild-windows-32@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.9.tgz#e229563e134e634f9748cc8315c691e2013259ef" + integrity sha512-awxWs1kns+RfjhqBbTbdlePjqZrAE2XMaAQJNg9dtu+C7ghC3QKsqXbu0C26OuF5YeAdJcq9q+IdG6WPLjvj9w== + +esbuild-windows-64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.9.tgz#103ad3f13e1a0e44934b91f358e81dd201b86b34" + integrity sha512-VmA9GQMCzOr8rFfD72Dum1+AWhJui7ZO6sYwp6rBHYu4vLmWITTSUsd/zgXXmZuHBPkkvxLJLF8XsKFCRKflJA== + +esbuild-windows-arm64@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.9.tgz#545bb58848008258b339b1b00fcfe92c85bc7251" + integrity sha512-P/jPY2JwmTpgEPh9BkXpCe690tcDSSo0K9BHTniSeEAEz26kPpqldVa4XDm0R+hNnFA7ecEgNskr4QAxE1ry0w== + esbuild@^0.12.17: version "0.12.29" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.29.tgz#be602db7c4dc78944a9dbde0d1ea19d36c1f882d" integrity sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g== +esbuild@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.9.tgz#aafc4b3375ac443ae7b223c26c4e58d10d2d535b" + integrity sha512-8bYcckmisXjGvBMeylp1PRtu21uOoCDFAgXGGF2BR241zYQDN6ZLNvcmQlnQ7olG0p6PRWmJI8WVH3ca8viPuw== + optionalDependencies: + esbuild-android-arm64 "0.13.9" + esbuild-darwin-64 "0.13.9" + esbuild-darwin-arm64 "0.13.9" + esbuild-freebsd-64 "0.13.9" + esbuild-freebsd-arm64 "0.13.9" + esbuild-linux-32 "0.13.9" + esbuild-linux-64 "0.13.9" + esbuild-linux-arm "0.13.9" + esbuild-linux-arm64 "0.13.9" + esbuild-linux-mips64le "0.13.9" + esbuild-linux-ppc64le "0.13.9" + esbuild-netbsd-64 "0.13.9" + esbuild-openbsd-64 "0.13.9" + esbuild-sunos-64 "0.13.9" + esbuild-windows-32 "0.13.9" + esbuild-windows-64 "0.13.9" + esbuild-windows-arm64 "0.13.9" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -5026,13 +5169,25 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -glob-parent@^5.1.1, glob-parent@^5.1.2: +glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -5263,6 +5418,13 @@ immer@^9.0.6: resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + dependencies: + import-from "^3.0.0" + import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -5271,6 +5433,13 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" @@ -5395,6 +5564,13 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" @@ -5480,6 +5656,13 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" +is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-hexadecimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" @@ -6087,6 +6270,11 @@ jest@^27.0.6, jest@^27.1.0, jest@^27.2.1: import-local "^3.0.2" jest-cli "^27.2.1" +joycon@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.0.1.tgz#9074c9b08ccf37a6726ff74a18485f85efcaddaf" + integrity sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -6298,6 +6486,11 @@ libnpmpublish@^4.0.0: semver "^7.1.3" ssri "^8.0.1" +lilconfig@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd" + integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg== + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -6815,6 +7008,15 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + nanocolors@^0.1.0, nanocolors@^0.1.5: version "0.1.12" resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" @@ -6930,7 +7132,7 @@ normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -7060,7 +7262,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -7412,7 +7614,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.2, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== @@ -7468,6 +7670,15 @@ popmotion@9.3.6: style-value-types "4.1.4" tslib "^2.1.0" +postcss-load-config@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.0.tgz#d39c47091c4aec37f50272373a6a648ef5e97829" + integrity sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g== + dependencies: + import-cwd "^3.0.0" + lilconfig "^2.0.3" + yaml "^1.10.2" + postcss@^8.3.6: version "8.3.7" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.7.tgz#ec88563588c8da8e58e7226f7633b51ae221eeda" @@ -7900,6 +8111,13 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -8096,6 +8314,13 @@ rollup@^2.38.5: optionalDependencies: fsevents "~2.3.2" +rollup@^2.56.1: + version "2.58.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.58.3.tgz#71a08138d9515fb65043b6a18618b2ed9ac8d239" + integrity sha512-ei27MSw1KhRur4p87Q0/Va2NAYqMXOX++FNEumMBcdreIRLURKy+cE2wcDJKBn0nfmhP2ZGrJkP1XPO+G8FJQw== + optionalDependencies: + fsevents "~2.3.2" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -8574,6 +8799,18 @@ stylis@^4.0.3: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== +sucrase@^3.20.1: + version "3.20.3" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.20.3.tgz#424f1e75b77f955724b06060f1ae708f5f0935cf" + integrity sha512-azqwq0/Bs6RzLAdb4dXxsCgMtAaD2hzmUr4UhSfsxO46JFPAwMnnb441B/qsudZiS6Ylea3JXZe3Q497lsgXzQ== + dependencies: + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -8688,6 +8925,20 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + throat@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" @@ -8781,6 +9032,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -8791,6 +9047,11 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + tslib@^1.0.0, tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -8801,6 +9062,25 @@ tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tsup@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/tsup/-/tsup-5.5.0.tgz#500436a523d3debefc7eded5f26a78520f9a03c5" + integrity sha512-khx/80b15RxK00UWqWlaizvrwO8kDZFBM0AbORKfjwKxxmzLuu35ceubzLg3wJgZ21E0BCLrCainh4zzJYImoA== + dependencies: + cac "^6.7.2" + chalk "^4.1.0" + chokidar "^3.5.1" + debug "^4.3.1" + esbuild "^0.13.4" + execa "^5.0.0" + globby "^11.0.3" + joycon "^3.0.1" + postcss-load-config "^3.0.1" + resolve-from "^5.0.0" + rollup "^2.56.1" + sucrase "^3.20.1" + tree-kill "^1.2.2" + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -9365,7 +9645,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.7.2: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==