├── .changeset ├── README.md └── config.json ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── package.json ├── packages ├── core │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ │ ├── constants.ts │ │ ├── create-element.ts │ │ ├── index.ts │ │ ├── stringify-attrs.ts │ │ └── utils.ts │ └── tsup.config.ts ├── react │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsup.config.ts └── vue │ ├── CHANGELOG.md │ ├── package.json │ ├── src │ └── index.ts │ └── tsup.config.ts ├── playground ├── test-react │ ├── README.md │ ├── index.html │ ├── main.tsx │ ├── package.json │ ├── tsconfig.json │ └── vite.config.ts └── test-vue │ ├── index.html │ ├── main.ts │ ├── package.json │ ├── pages │ ├── about.vue │ └── home.vue │ └── vite.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts ├── dev.js └── package.json └── tsconfig.json /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.6.4/schema.json", 3 | "changelog": ["@changesets/changelog-github", { "repo": "egoist/headkit" }], 4 | "commit": false, 5 | "linked": [], 6 | "access": "restricted", 7 | "baseBranch": "main", 8 | "updateInternalDependencies": "patch", 9 | "ignore": ["test-*"] 10 | } 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .DS_Store 4 | *.log 5 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Run a playground 2 | 3 | Run following script to select a playground from `playground/*` and run its `dev` script (will also run the dev script of its dependent packages): 4 | 5 | ```bash 6 | pnpm dev 7 | ``` 8 | 9 | ## Build for production 10 | 11 | Run following script will build all packages in `packages/*` in production mode: 12 | 13 | ```bash 14 | pnpm build 15 | ``` 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 EGOIST 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HeadKit 2 | 3 | > Framework-agnostic `` management. 4 | 5 | This is made for [ViteKit](https://github.com/egoist/vitekit), but it can be used for any other project. 6 | 7 | Currently support: 8 | 9 | - react: [example](./playground/test-react/main.tsx) 10 | - vue: [example](./playground/test-vue/main.ts) 11 | 12 | ## License 13 | 14 | MIT © [EGOIST](https://github.com/sponsors/egoist) 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "headkit-workspace", 3 | "scripts": { 4 | "dev": "node scripts/dev.js", 5 | "build": "tasco run --filter \"@headkit/*\" build" 6 | }, 7 | "license": "MIT", 8 | "devDependencies": { 9 | "@changesets/changelog-github": "^0.4.2", 10 | "@changesets/cli": "^2.20.0", 11 | "tasco": "^0.4.5", 12 | "tsup": "^5.11.12", 13 | "typescript": "^4.5.5" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/core/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @headkit/core 2 | 3 | ## 0.0.1 4 | ### Patch Changes 5 | 6 | - 74db544: first release 7 | -------------------------------------------------------------------------------- /packages/core/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@headkit/core", 3 | "version": "0.0.1", 4 | "type": "module", 5 | "publishConfig": { 6 | "access": "public" 7 | }, 8 | "files": [ 9 | "dist" 10 | ], 11 | "exports": { 12 | ".": { 13 | "import": "./dist/index.js", 14 | "default": "./dist/index.cjs" 15 | } 16 | }, 17 | "types": "./dist/index.d.ts", 18 | "scripts": { 19 | "dev": "tsup --watch", 20 | "build": "tsup" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/core/src/constants.ts: -------------------------------------------------------------------------------- 1 | export const HEAD_COUNT_KEY = `head:count` 2 | // Store attr names for `htmlAttrs`, `bodyAttrs` so we can remove them first before next update 3 | export const HEAD_ATTRS_KEY = `data-head-attrs` 4 | 5 | export const SELF_CLOSING_TAGS = ["meta", "link", "base"] 6 | -------------------------------------------------------------------------------- /packages/core/src/create-element.ts: -------------------------------------------------------------------------------- 1 | export const createElement = ( 2 | document: Document, 3 | tag: string, 4 | attrs: { [k: string]: any } 5 | ) => { 6 | const el = document.createElement(tag) 7 | 8 | for (const key of Object.keys(attrs)) { 9 | let value = attrs[key] 10 | 11 | if (key === "key" || value === false || value == null) { 12 | continue 13 | } 14 | 15 | if (key === "textContent") { 16 | el.textContent = value 17 | } else if (key === "innerHTML") { 18 | el.innerHTML = value 19 | } else { 20 | el.setAttribute(key, value) 21 | } 22 | } 23 | 24 | return el 25 | } 26 | -------------------------------------------------------------------------------- /packages/core/src/index.ts: -------------------------------------------------------------------------------- 1 | import { HEAD_COUNT_KEY, HEAD_ATTRS_KEY, SELF_CLOSING_TAGS } from "./constants" 2 | import { createElement } from "./create-element" 3 | import { stringifyAttrs } from "./stringify-attrs" 4 | import { isEqualNode } from "./utils" 5 | 6 | export type HeadElementAttrs = Record 7 | 8 | export type HeadElement = { type: string; attrs: HeadElementAttrs } 9 | 10 | export type HeadManager = { 11 | readonly state: { 12 | title?: string 13 | elements: HeadElement[] 14 | htmlAttrs: HeadElementAttrs 15 | bodyAttrs: HeadElementAttrs 16 | } 17 | 18 | connect: () => number 19 | 20 | disconnect: (id: number) => void 21 | 22 | set(id: number, elements: (HeadElement | null)[]): void 23 | 24 | effect: (document?: Document) => void 25 | } 26 | 27 | export interface HTMLResult { 28 | // innerHTML of `` 29 | readonly head: string 30 | // Attributes for `` 31 | readonly htmlAttrs: string 32 | // Attributes for `` 33 | readonly bodyAttrs: string 34 | } 35 | 36 | const getElementKey = ( 37 | attrs: HeadElementAttrs 38 | ): { name: string; value: any } | void => { 39 | const names = ["key", "id", "name", "property"] 40 | for (const n of names) { 41 | const value = 42 | // Probably an HTML Element 43 | typeof attrs.getAttribute === "function" 44 | ? attrs.hasAttribute(n) 45 | ? attrs.getAttribute(n) 46 | : undefined 47 | : attrs[n] 48 | if (value !== undefined) { 49 | return { name: n, value: value } 50 | } 51 | } 52 | } 53 | 54 | const acceptElementTypes = [ 55 | "title", 56 | "meta", 57 | "link", 58 | "base", 59 | "style", 60 | "script", 61 | "htmlAttrs", 62 | "bodyAttrs", 63 | ] 64 | 65 | const setAttrs = (el: Element, attrs: HeadElementAttrs) => { 66 | const existingAttrs = el.getAttribute(HEAD_ATTRS_KEY) 67 | if (existingAttrs) { 68 | for (const key of existingAttrs.split(",")) { 69 | if (!(key in attrs)) { 70 | el.removeAttribute(key) 71 | } 72 | } 73 | } 74 | 75 | const keys: string[] = [] 76 | 77 | for (const key in attrs) { 78 | const value = attrs[key] 79 | if (value == null) continue 80 | 81 | if (value === false) { 82 | el.removeAttribute(key) 83 | } else { 84 | el.setAttribute(key, value) 85 | } 86 | 87 | keys.push(key) 88 | } 89 | 90 | if (keys.length) { 91 | el.setAttribute(HEAD_ATTRS_KEY, keys.join(",")) 92 | } else { 93 | el.removeAttribute(HEAD_ATTRS_KEY) 94 | } 95 | } 96 | 97 | const updateElements = ( 98 | document = window.document, 99 | type: string, 100 | elements: HeadElement[] 101 | ) => { 102 | const head = document.head 103 | let headCountEl = head.querySelector(`meta[name="${HEAD_COUNT_KEY}"]`) 104 | const headCount = headCountEl 105 | ? Number(headCountEl.getAttribute("content")) 106 | : 0 107 | const oldElements: Element[] = [] 108 | 109 | if (headCountEl) { 110 | for ( 111 | let i = 0, j = headCountEl.previousElementSibling; 112 | i < headCount; 113 | i++, j = j?.previousElementSibling || null 114 | ) { 115 | if (j?.tagName?.toLowerCase() === type) { 116 | oldElements.push(j) 117 | } 118 | } 119 | } else { 120 | headCountEl = document.createElement("meta") 121 | headCountEl.setAttribute("name", HEAD_COUNT_KEY) 122 | headCountEl.setAttribute("content", "0") 123 | head.append(headCountEl) 124 | } 125 | let newElements = elements.map((tag) => 126 | createElement(document, tag.type, tag.attrs) 127 | ) 128 | 129 | newElements = newElements.filter((newEl) => { 130 | for (let i = 0; i < oldElements.length; i++) { 131 | const oldEl = oldElements[i] 132 | if (isEqualNode(oldEl, newEl)) { 133 | oldElements.splice(i, 1) 134 | return false 135 | } 136 | } 137 | return true 138 | }) 139 | 140 | oldElements.forEach((t) => t.parentNode?.removeChild(t)) 141 | newElements.forEach((t) => { 142 | head.insertBefore(t, headCountEl) 143 | }) 144 | headCountEl.setAttribute( 145 | "content", 146 | "" + (headCount - oldElements.length + newElements.length) 147 | ) 148 | } 149 | 150 | export const createHeadManager = () => { 151 | const all: Record = {} 152 | let lastId = 0 153 | 154 | const head: HeadManager = { 155 | /** 156 | * Get deduped tags 157 | */ 158 | get state() { 159 | const deduped: HeadElement[] = [] 160 | 161 | const htmlAttrs: HeadElementAttrs = {} 162 | const bodyAttrs: HeadElementAttrs = {} 163 | let title: string | undefined 164 | for (const k in Object.keys(all)) { 165 | const elements = all[k] 166 | if (!elements) continue 167 | 168 | for (const element of elements) { 169 | if (element.type === "title") { 170 | title = element.attrs.textContent 171 | continue 172 | } else if (element.type === "htmlAttrs") { 173 | Object.assign(htmlAttrs, element.attrs) 174 | continue 175 | } else if (element.type === "bodyAttrs") { 176 | Object.assign(bodyAttrs, element.attrs) 177 | continue 178 | } else if ( 179 | element.type === "meta" || 180 | element.type === "base" || 181 | element.type === "script" 182 | ) { 183 | // Remove elements with the same key 184 | const key = getElementKey(element.attrs) 185 | 186 | if (key) { 187 | let index = -1 188 | 189 | for (let i = 0; i < deduped.length; i++) { 190 | const prev = deduped[i] 191 | const prevValue = prev.attrs[key.name] 192 | const nextValue = element.attrs[key.name] 193 | if (prev.type === element.type && prevValue === nextValue) { 194 | index = i 195 | break 196 | } 197 | } 198 | 199 | if (index !== -1) { 200 | deduped.splice(index, 1) 201 | } 202 | } 203 | } 204 | 205 | deduped.push(element) 206 | } 207 | } 208 | 209 | return { 210 | title, 211 | elements: deduped, 212 | htmlAttrs, 213 | bodyAttrs, 214 | } 215 | }, 216 | 217 | set(id, elements) { 218 | all[id] = elements.filter((el) => el) as HeadElement[] 219 | }, 220 | 221 | connect() { 222 | const id = lastId++ 223 | all[id] = [] 224 | return id 225 | }, 226 | 227 | disconnect(id) { 228 | all[id] = undefined 229 | }, 230 | 231 | effect(document = window.document) { 232 | const elements: Record = {} 233 | const state = head.state 234 | 235 | for (const element of state.elements) { 236 | elements[element.type] = elements[element.type] || [] 237 | elements[element.type].push(element) 238 | } 239 | 240 | if (state.title !== undefined && state.title !== document.title) { 241 | document.title = state.title 242 | } 243 | 244 | setAttrs(document.documentElement, state.htmlAttrs) 245 | setAttrs(document.body, state.bodyAttrs) 246 | 247 | for (const type of Object.keys(elements)) { 248 | updateElements(document, type, elements[type]) 249 | } 250 | }, 251 | } 252 | return head 253 | } 254 | 255 | export const IS_BROWSER = typeof document !== "undefined" 256 | 257 | const elementToString = (element: HeadElement) => { 258 | let attrs = stringifyAttrs(element.attrs) 259 | 260 | if (SELF_CLOSING_TAGS.includes(element.type)) { 261 | return `<${element.type}${attrs}>` 262 | } 263 | 264 | return `<${element.type}${attrs}>${ 265 | element.attrs.textContent ?? element.attrs.innerHTML ?? "" 266 | }` 267 | } 268 | 269 | export const renderToString = (head: HeadManager): HTMLResult => { 270 | const tags: string[] = [] 271 | const state = head.state 272 | 273 | const title = state.title !== undefined ? `${state.title}` : "" 274 | for (const element of state.elements) { 275 | tags.push(elementToString(element)) 276 | } 277 | 278 | tags.push(``) 279 | 280 | return { 281 | get head() { 282 | return title + tags.join("") 283 | }, 284 | get htmlAttrs() { 285 | return stringifyAttrs({ 286 | ...state.htmlAttrs, 287 | [HEAD_ATTRS_KEY]: Object.keys(state.htmlAttrs).join(","), 288 | }) 289 | }, 290 | get bodyAttrs() { 291 | return stringifyAttrs({ 292 | ...state.bodyAttrs, 293 | [HEAD_ATTRS_KEY]: Object.keys(state.bodyAttrs).join(","), 294 | }) 295 | }, 296 | } 297 | } 298 | -------------------------------------------------------------------------------- /packages/core/src/stringify-attrs.ts: -------------------------------------------------------------------------------- 1 | const htmlEscape = (str: string) => 2 | str 3 | .replace(/&/g, "&") 4 | .replace(/"/g, """) 5 | .replace(/'/g, "'") 6 | .replace(//g, ">") 8 | 9 | export const stringifyAttrs = (attributes: any) => { 10 | const handledAttributes = [] 11 | 12 | for (let [key, value] of Object.entries(attributes)) { 13 | if (key === "children" || key === "key") { 14 | continue 15 | } 16 | 17 | if (value === false || value == null) { 18 | continue 19 | } 20 | 21 | let attribute = htmlEscape(key) 22 | 23 | if (value !== true) { 24 | attribute += `="${htmlEscape(String(value))}"` 25 | } 26 | 27 | handledAttributes.push(attribute) 28 | } 29 | 30 | return handledAttributes.length > 0 ? " " + handledAttributes.join(" ") : "" 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/src/utils.ts: -------------------------------------------------------------------------------- 1 | // Shamelessly taken from Next.js 2 | export function isEqualNode(oldTag: Element, newTag: Element) { 3 | if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) { 4 | const nonce = newTag.getAttribute("nonce") 5 | // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not 6 | // be stripped if there is no content security policy response header that includes a nonce. 7 | if (nonce && !oldTag.getAttribute("nonce")) { 8 | const cloneTag = newTag.cloneNode(true) as typeof newTag 9 | cloneTag.setAttribute("nonce", "") 10 | cloneTag.nonce = nonce 11 | return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag) 12 | } 13 | } 14 | 15 | return oldTag.isEqualNode(newTag) 16 | } 17 | -------------------------------------------------------------------------------- /packages/core/tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup" 2 | 3 | export default defineConfig({ 4 | entry: ["./src/index.ts"], 5 | format: ["cjs", "esm"], 6 | dts: true, 7 | clean: true, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/react/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @headkit/react 2 | 3 | ## 0.0.1 4 | ### Patch Changes 5 | 6 | - 74db544: first release 7 | - Updated dependencies [74db544] 8 | - @headkit/core@0.0.1 9 | -------------------------------------------------------------------------------- /packages/react/README.md: -------------------------------------------------------------------------------- 1 | # @headkit/react 2 | -------------------------------------------------------------------------------- /packages/react/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@headkit/react", 3 | "version": "0.0.1", 4 | "type": "module", 5 | "publishConfig": { 6 | "access": "public" 7 | }, 8 | "files": [ 9 | "dist" 10 | ], 11 | "exports": { 12 | ".": { 13 | "import": "./dist/index.js", 14 | "default": "./dist/index.cjs" 15 | } 16 | }, 17 | "types": "./dist/index.d.ts", 18 | "scripts": { 19 | "dev": "tsup --watch", 20 | "build": "tsup" 21 | }, 22 | "dependencies": { 23 | "@headkit/core": "workspace:*" 24 | }, 25 | "devDependencies": { 26 | "@types/react": "^17.0.38", 27 | "react": "^17.0.2" 28 | }, 29 | "peerDependencies": { 30 | "react": "^17.0.2" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /packages/react/src/index.ts: -------------------------------------------------------------------------------- 1 | import React, { createContext, useContext, useEffect, useMemo } from "react" 2 | import { 3 | HeadManager, 4 | IS_BROWSER, 5 | createHeadManager, 6 | renderToString, 7 | } from "@headkit/core" 8 | 9 | const HeadContext = createContext(null) 10 | 11 | export const HeadProvider = HeadContext.Provider 12 | 13 | export { createHeadManager, renderToString } 14 | 15 | const useManager = () => { 16 | const manager = useContext(HeadContext) 17 | if (!manager) { 18 | throw new Error("You must use first") 19 | } 20 | return manager 21 | } 22 | 23 | const getElements = (node: React.ReactNode) => { 24 | const nodes = React.Children.toArray(node) 25 | 26 | return nodes.map((node) => { 27 | if (!React.isValidElement(node)) return null 28 | if (typeof node.type !== "string") return null 29 | 30 | const attrs = { ...node.props } 31 | if (attrs.children) { 32 | const nodes = React.Children.toArray(attrs.children) 33 | attrs.textContent = nodes.join("") 34 | attrs.children = undefined 35 | } 36 | if (attrs.dangerouslySetInnerHTML) { 37 | attrs.innerHTML = attrs.dangerouslySetInnerHTML.__html 38 | attrs.dangerouslySetInnerHTML = undefined 39 | } 40 | if (attrs.className) { 41 | attrs.class = attrs.className 42 | attrs.className = undefined 43 | } 44 | return { 45 | type: node.type, 46 | attrs, 47 | } 48 | }) 49 | } 50 | 51 | export const Head: React.FC = ({ children }) => { 52 | const manager = useManager() 53 | const id = useMemo(() => manager.connect(), []) 54 | 55 | const collect = () => { 56 | const elements = getElements(children) 57 | manager.set(id, elements) 58 | } 59 | 60 | if (!IS_BROWSER) { 61 | collect() 62 | } 63 | 64 | useEffect(() => { 65 | collect() 66 | manager.effect() 67 | 68 | return () => { 69 | manager.disconnect(id) 70 | manager.effect() 71 | } 72 | }, [children]) 73 | 74 | return null 75 | } 76 | -------------------------------------------------------------------------------- /packages/react/tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup" 2 | 3 | export default defineConfig({ 4 | entry: ["./src/index.ts"], 5 | format: ["cjs", "esm"], 6 | dts: true, 7 | clean: true, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/vue/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @headkit/vue 2 | 3 | ## 0.0.1 4 | ### Patch Changes 5 | 6 | - 74db544: first release 7 | - Updated dependencies [74db544] 8 | - @headkit/core@0.0.1 9 | -------------------------------------------------------------------------------- /packages/vue/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@headkit/vue", 3 | "version": "0.0.1", 4 | "type": "module", 5 | "publishConfig": { 6 | "access": "public" 7 | }, 8 | "files": [ 9 | "dist" 10 | ], 11 | "exports": { 12 | ".": { 13 | "import": "./dist/index.js", 14 | "default": "./dist/index.cjs" 15 | } 16 | }, 17 | "types": "./dist/index.d.ts", 18 | "scripts": { 19 | "dev": "tsup --watch", 20 | "build": "tsup" 21 | }, 22 | "dependencies": { 23 | "@headkit/core": "workspace:*" 24 | }, 25 | "devDependencies": { 26 | "vue": "^3.2.29" 27 | }, 28 | "peerDependencies": { 29 | "vue": "^3.2.29" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/vue/src/index.ts: -------------------------------------------------------------------------------- 1 | import { App, inject, defineComponent, watchEffect, onBeforeUnmount } from "vue" 2 | import { 3 | createHeadManager, 4 | HeadManager, 5 | HeadElementAttrs, 6 | IS_BROWSER, 7 | renderToString as _renderToString, 8 | } from "@headkit/core" 9 | 10 | const PROVIDE_KEY = Symbol("for-head") 11 | 12 | export const renderToString = (head: ReturnType) => 13 | _renderToString(head.manager) 14 | 15 | export const createHead = () => { 16 | const manager = createHeadManager() 17 | return { 18 | manager, 19 | install(app: App) { 20 | app.provide(PROVIDE_KEY, manager) 21 | }, 22 | } 23 | } 24 | 25 | const useManager = () => { 26 | const manager = inject(PROVIDE_KEY) 27 | if (!manager) { 28 | throw new Error("You must call app.use(createHead()) first") 29 | } 30 | return manager 31 | } 32 | 33 | export const Head = defineComponent({ 34 | name: "Head", 35 | setup(_, { slots }) { 36 | const manager = useManager() 37 | const id = manager.connect() 38 | 39 | const collect = () => { 40 | const children = slots.default && slots.default() 41 | 42 | const elements = (children || []).map((child) => { 43 | if (typeof child.type !== "string") return null 44 | 45 | const attrs: HeadElementAttrs = child.props || {} 46 | if (typeof child.children === "string") { 47 | attrs.textContent = child.children 48 | } 49 | return { 50 | type: child.type, 51 | attrs, 52 | } 53 | }) 54 | 55 | manager.set(id, elements) 56 | } 57 | 58 | if (!IS_BROWSER) { 59 | collect() 60 | } 61 | 62 | watchEffect(() => { 63 | collect() 64 | 65 | if (IS_BROWSER) { 66 | manager.effect() 67 | } 68 | }) 69 | 70 | onBeforeUnmount(() => { 71 | manager.disconnect(id) 72 | manager.effect() 73 | }) 74 | 75 | return () => { 76 | return null 77 | } 78 | }, 79 | }) 80 | -------------------------------------------------------------------------------- /packages/vue/tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup" 2 | 3 | export default defineConfig({ 4 | entry: ["./src/index.ts"], 5 | format: ["cjs", "esm"], 6 | dts: true, 7 | clean: true, 8 | }) 9 | -------------------------------------------------------------------------------- /playground/test-react/README.md: -------------------------------------------------------------------------------- 1 | # @headkit/vue 2 | -------------------------------------------------------------------------------- /playground/test-react/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /playground/test-react/main.tsx: -------------------------------------------------------------------------------- 1 | import { render } from "react-dom" 2 | import { Head, HeadProvider, createHeadManager } from "@headkit/react" 3 | import { BrowserRouter, Routes, Route, Link } from "react-router-dom" 4 | import { useState } from "react" 5 | 6 | const Home = () => { 7 | const [count, setCount] = useState(0) 8 | return ( 9 |
10 | 11 | {count}home 12 | 13 | 14 | 15 | 16 | about 17 |
18 | ) 19 | } 20 | 21 | const About = () => { 22 | const [count, setCount] = useState(0) 23 | return ( 24 |
25 | 26 | {count}about 27 | 28 | 29 | 30 | 31 | home 32 |
33 | ) 34 | } 35 | 36 | const App = () => { 37 | return ( 38 | 39 | 40 | 41 | } /> 42 | } /> 43 | 44 | 45 | 46 | ) 47 | } 48 | 49 | render(, document.getElementById("app")) 50 | -------------------------------------------------------------------------------- /playground/test-react/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "test-react", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build" 7 | }, 8 | "dependencies": { 9 | "@headkit/react": "workspace:*", 10 | "@types/react": "^17.0.38", 11 | "@types/react-dom": "^17.0.11", 12 | "@vitejs/plugin-react": "^1.1.4", 13 | "react": "^17.0.2", 14 | "react-dom": "^17.0.2", 15 | "react-router-dom": "^6.2.1", 16 | "vite": "^2.7.13" 17 | }, 18 | "version": "0.0.0" 19 | } 20 | -------------------------------------------------------------------------------- /playground/test-react/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "esnext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | "jsx": "react-jsx" /* Specify what JSX code is generated. */, 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 22 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | 26 | /* Modules */ 27 | "module": "esnext" /* Specify what module code is generated. */, 28 | // "rootDir": "./", /* Specify the root folder within your source files. */ 29 | "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */, 30 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 31 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 32 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 33 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 34 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 35 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 36 | // "resolveJsonModule": true, /* Enable importing .json files */ 37 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 38 | 39 | /* JavaScript Support */ 40 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 41 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 42 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 43 | 44 | /* Emit */ 45 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 46 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 47 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 48 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 49 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 50 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 51 | // "removeComments": true, /* Disable emitting comments. */ 52 | // "noEmit": true, /* Disable emitting files from a compilation. */ 53 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 54 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 55 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 56 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 59 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 60 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 61 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 62 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 63 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 64 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 65 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 66 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 67 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 68 | 69 | /* Interop Constraints */ 70 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 71 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 72 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */, 73 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 74 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 75 | 76 | /* Type Checking */ 77 | "strict": true /* Enable all strict type-checking options. */, 78 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 79 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 80 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 81 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 82 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 83 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 84 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 85 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 86 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 87 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 88 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 89 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 90 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 91 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 92 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 93 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 94 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 95 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 96 | 97 | /* Completeness */ 98 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 99 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /playground/test-react/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite" 2 | import react from "@vitejs/plugin-react" 3 | 4 | export default defineConfig({ 5 | plugins: [react()], 6 | }) 7 | -------------------------------------------------------------------------------- /playground/test-vue/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /playground/test-vue/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp, h } from "vue" 2 | import { createHead } from "@headkit/vue" 3 | import { createRouter, createWebHistory, RouterView } from "vue-router" 4 | 5 | const app = createApp({ 6 | setup() { 7 | return () => h(RouterView) 8 | }, 9 | }) 10 | app.use(createHead()) 11 | app.use( 12 | createRouter({ 13 | history: createWebHistory(), 14 | routes: [ 15 | { 16 | path: "/", 17 | component: () => import("./pages/home.vue"), 18 | }, 19 | { 20 | path: "/about", 21 | component: () => import("./pages/about.vue"), 22 | }, 23 | ], 24 | }) 25 | ) 26 | 27 | app.mount("#app") 28 | -------------------------------------------------------------------------------- /playground/test-vue/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "test-vue", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build" 7 | }, 8 | "dependencies": { 9 | "@headkit/vue": "workspace:*", 10 | "@vitejs/plugin-vue": "^2.1.0", 11 | "vite": "^2.7.13", 12 | "vue": "^3.2.29", 13 | "vue-router": "^4.0.12" 14 | }, 15 | "version": "0.0.0" 16 | } 17 | -------------------------------------------------------------------------------- /playground/test-vue/pages/about.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 25 | -------------------------------------------------------------------------------- /playground/test-vue/pages/home.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 25 | -------------------------------------------------------------------------------- /playground/test-vue/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite" 2 | import vue from "@vitejs/plugin-vue" 3 | 4 | export default defineConfig({ 5 | plugins: [vue()], 6 | }) 7 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | importers: 4 | 5 | .: 6 | specifiers: 7 | '@changesets/changelog-github': ^0.4.2 8 | '@changesets/cli': ^2.20.0 9 | tasco: ^0.4.5 10 | tsup: ^5.11.12 11 | typescript: ^4.5.5 12 | devDependencies: 13 | '@changesets/changelog-github': 0.4.2 14 | '@changesets/cli': 2.20.0 15 | tasco: 0.4.5 16 | tsup: 5.11.12_typescript@4.5.5 17 | typescript: 4.5.5 18 | 19 | packages/core: 20 | specifiers: {} 21 | 22 | packages/react: 23 | specifiers: 24 | '@headkit/core': workspace:* 25 | '@types/react': ^17.0.38 26 | react: ^17.0.2 27 | dependencies: 28 | '@headkit/core': link:../core 29 | devDependencies: 30 | '@types/react': 17.0.38 31 | react: 17.0.2 32 | 33 | packages/vue: 34 | specifiers: 35 | '@headkit/core': workspace:* 36 | vue: ^3.2.29 37 | dependencies: 38 | '@headkit/core': link:../core 39 | devDependencies: 40 | vue: 3.2.29 41 | 42 | playground/test-react: 43 | specifiers: 44 | '@headkit/react': workspace:* 45 | '@types/react': ^17.0.38 46 | '@types/react-dom': ^17.0.11 47 | '@vitejs/plugin-react': ^1.1.4 48 | react: ^17.0.2 49 | react-dom: ^17.0.2 50 | react-router-dom: ^6.2.1 51 | vite: ^2.7.13 52 | dependencies: 53 | '@headkit/react': link:../../packages/react 54 | '@types/react': 17.0.38 55 | '@types/react-dom': 17.0.11 56 | '@vitejs/plugin-react': 1.1.4 57 | react: 17.0.2 58 | react-dom: 17.0.2_react@17.0.2 59 | react-router-dom: 6.2.1_react-dom@17.0.2+react@17.0.2 60 | vite: 2.7.13 61 | 62 | playground/test-vue: 63 | specifiers: 64 | '@headkit/vue': workspace:* 65 | '@vitejs/plugin-vue': ^2.1.0 66 | vite: ^2.7.13 67 | vue: ^3.2.29 68 | vue-router: ^4.0.12 69 | dependencies: 70 | '@headkit/vue': link:../../packages/vue 71 | '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29 72 | vite: 2.7.13 73 | vue: 3.2.29 74 | vue-router: 4.0.12_vue@3.2.29 75 | 76 | scripts: 77 | specifiers: 78 | enquirer: ^2.3.6 79 | execa: ^6.0.0 80 | dependencies: 81 | enquirer: 2.3.6 82 | execa: 6.0.0 83 | 84 | packages: 85 | 86 | /@babel/code-frame/7.16.7: 87 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 88 | engines: {node: '>=6.9.0'} 89 | dependencies: 90 | '@babel/highlight': 7.16.10 91 | 92 | /@babel/compat-data/7.16.8: 93 | resolution: {integrity: sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==} 94 | engines: {node: '>=6.9.0'} 95 | dev: false 96 | 97 | /@babel/core/7.16.12: 98 | resolution: {integrity: sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==} 99 | engines: {node: '>=6.9.0'} 100 | dependencies: 101 | '@babel/code-frame': 7.16.7 102 | '@babel/generator': 7.16.8 103 | '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.16.12 104 | '@babel/helper-module-transforms': 7.16.7 105 | '@babel/helpers': 7.16.7 106 | '@babel/parser': 7.16.12 107 | '@babel/template': 7.16.7 108 | '@babel/traverse': 7.16.10 109 | '@babel/types': 7.16.8 110 | convert-source-map: 1.8.0 111 | debug: 4.3.3 112 | gensync: 1.0.0-beta.2 113 | json5: 2.2.0 114 | semver: 6.3.0 115 | source-map: 0.5.7 116 | transitivePeerDependencies: 117 | - supports-color 118 | dev: false 119 | 120 | /@babel/generator/7.16.8: 121 | resolution: {integrity: sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==} 122 | engines: {node: '>=6.9.0'} 123 | dependencies: 124 | '@babel/types': 7.16.8 125 | jsesc: 2.5.2 126 | source-map: 0.5.7 127 | dev: false 128 | 129 | /@babel/helper-annotate-as-pure/7.16.7: 130 | resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} 131 | engines: {node: '>=6.9.0'} 132 | dependencies: 133 | '@babel/types': 7.16.8 134 | dev: false 135 | 136 | /@babel/helper-compilation-targets/7.16.7_@babel+core@7.16.12: 137 | resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==} 138 | engines: {node: '>=6.9.0'} 139 | peerDependencies: 140 | '@babel/core': ^7.0.0 141 | dependencies: 142 | '@babel/compat-data': 7.16.8 143 | '@babel/core': 7.16.12 144 | '@babel/helper-validator-option': 7.16.7 145 | browserslist: 4.19.1 146 | semver: 6.3.0 147 | dev: false 148 | 149 | /@babel/helper-environment-visitor/7.16.7: 150 | resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} 151 | engines: {node: '>=6.9.0'} 152 | dependencies: 153 | '@babel/types': 7.16.8 154 | dev: false 155 | 156 | /@babel/helper-function-name/7.16.7: 157 | resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} 158 | engines: {node: '>=6.9.0'} 159 | dependencies: 160 | '@babel/helper-get-function-arity': 7.16.7 161 | '@babel/template': 7.16.7 162 | '@babel/types': 7.16.8 163 | dev: false 164 | 165 | /@babel/helper-get-function-arity/7.16.7: 166 | resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} 167 | engines: {node: '>=6.9.0'} 168 | dependencies: 169 | '@babel/types': 7.16.8 170 | dev: false 171 | 172 | /@babel/helper-hoist-variables/7.16.7: 173 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} 174 | engines: {node: '>=6.9.0'} 175 | dependencies: 176 | '@babel/types': 7.16.8 177 | dev: false 178 | 179 | /@babel/helper-module-imports/7.16.7: 180 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} 181 | engines: {node: '>=6.9.0'} 182 | dependencies: 183 | '@babel/types': 7.16.8 184 | dev: false 185 | 186 | /@babel/helper-module-transforms/7.16.7: 187 | resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==} 188 | engines: {node: '>=6.9.0'} 189 | dependencies: 190 | '@babel/helper-environment-visitor': 7.16.7 191 | '@babel/helper-module-imports': 7.16.7 192 | '@babel/helper-simple-access': 7.16.7 193 | '@babel/helper-split-export-declaration': 7.16.7 194 | '@babel/helper-validator-identifier': 7.16.7 195 | '@babel/template': 7.16.7 196 | '@babel/traverse': 7.16.10 197 | '@babel/types': 7.16.8 198 | transitivePeerDependencies: 199 | - supports-color 200 | dev: false 201 | 202 | /@babel/helper-plugin-utils/7.16.7: 203 | resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} 204 | engines: {node: '>=6.9.0'} 205 | dev: false 206 | 207 | /@babel/helper-simple-access/7.16.7: 208 | resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} 209 | engines: {node: '>=6.9.0'} 210 | dependencies: 211 | '@babel/types': 7.16.8 212 | dev: false 213 | 214 | /@babel/helper-split-export-declaration/7.16.7: 215 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} 216 | engines: {node: '>=6.9.0'} 217 | dependencies: 218 | '@babel/types': 7.16.8 219 | dev: false 220 | 221 | /@babel/helper-validator-identifier/7.16.7: 222 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 223 | engines: {node: '>=6.9.0'} 224 | 225 | /@babel/helper-validator-option/7.16.7: 226 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} 227 | engines: {node: '>=6.9.0'} 228 | dev: false 229 | 230 | /@babel/helpers/7.16.7: 231 | resolution: {integrity: sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==} 232 | engines: {node: '>=6.9.0'} 233 | dependencies: 234 | '@babel/template': 7.16.7 235 | '@babel/traverse': 7.16.10 236 | '@babel/types': 7.16.8 237 | transitivePeerDependencies: 238 | - supports-color 239 | dev: false 240 | 241 | /@babel/highlight/7.16.10: 242 | resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} 243 | engines: {node: '>=6.9.0'} 244 | dependencies: 245 | '@babel/helper-validator-identifier': 7.16.7 246 | chalk: 2.4.2 247 | js-tokens: 4.0.0 248 | 249 | /@babel/parser/7.16.12: 250 | resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==} 251 | engines: {node: '>=6.0.0'} 252 | hasBin: true 253 | 254 | /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.16.12: 255 | resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==} 256 | engines: {node: '>=6.9.0'} 257 | peerDependencies: 258 | '@babel/core': ^7.0.0-0 259 | dependencies: 260 | '@babel/core': 7.16.12 261 | '@babel/helper-plugin-utils': 7.16.7 262 | dev: false 263 | 264 | /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.16.12: 265 | resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==} 266 | engines: {node: '>=6.9.0'} 267 | peerDependencies: 268 | '@babel/core': ^7.0.0-0 269 | dependencies: 270 | '@babel/core': 7.16.12 271 | '@babel/plugin-transform-react-jsx': 7.16.7_@babel+core@7.16.12 272 | dev: false 273 | 274 | /@babel/plugin-transform-react-jsx-self/7.16.7_@babel+core@7.16.12: 275 | resolution: {integrity: sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==} 276 | engines: {node: '>=6.9.0'} 277 | peerDependencies: 278 | '@babel/core': ^7.0.0-0 279 | dependencies: 280 | '@babel/core': 7.16.12 281 | '@babel/helper-plugin-utils': 7.16.7 282 | dev: false 283 | 284 | /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.16.12: 285 | resolution: {integrity: sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==} 286 | engines: {node: '>=6.9.0'} 287 | peerDependencies: 288 | '@babel/core': ^7.0.0-0 289 | dependencies: 290 | '@babel/core': 7.16.12 291 | '@babel/helper-plugin-utils': 7.16.7 292 | dev: false 293 | 294 | /@babel/plugin-transform-react-jsx/7.16.7_@babel+core@7.16.12: 295 | resolution: {integrity: sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==} 296 | engines: {node: '>=6.9.0'} 297 | peerDependencies: 298 | '@babel/core': ^7.0.0-0 299 | dependencies: 300 | '@babel/core': 7.16.12 301 | '@babel/helper-annotate-as-pure': 7.16.7 302 | '@babel/helper-module-imports': 7.16.7 303 | '@babel/helper-plugin-utils': 7.16.7 304 | '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.16.12 305 | '@babel/types': 7.16.8 306 | dev: false 307 | 308 | /@babel/runtime/7.16.7: 309 | resolution: {integrity: sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==} 310 | engines: {node: '>=6.9.0'} 311 | dependencies: 312 | regenerator-runtime: 0.13.9 313 | 314 | /@babel/template/7.16.7: 315 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} 316 | engines: {node: '>=6.9.0'} 317 | dependencies: 318 | '@babel/code-frame': 7.16.7 319 | '@babel/parser': 7.16.12 320 | '@babel/types': 7.16.8 321 | dev: false 322 | 323 | /@babel/traverse/7.16.10: 324 | resolution: {integrity: sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==} 325 | engines: {node: '>=6.9.0'} 326 | dependencies: 327 | '@babel/code-frame': 7.16.7 328 | '@babel/generator': 7.16.8 329 | '@babel/helper-environment-visitor': 7.16.7 330 | '@babel/helper-function-name': 7.16.7 331 | '@babel/helper-hoist-variables': 7.16.7 332 | '@babel/helper-split-export-declaration': 7.16.7 333 | '@babel/parser': 7.16.12 334 | '@babel/types': 7.16.8 335 | debug: 4.3.3 336 | globals: 11.12.0 337 | transitivePeerDependencies: 338 | - supports-color 339 | dev: false 340 | 341 | /@babel/types/7.16.8: 342 | resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} 343 | engines: {node: '>=6.9.0'} 344 | dependencies: 345 | '@babel/helper-validator-identifier': 7.16.7 346 | to-fast-properties: 2.0.0 347 | dev: false 348 | 349 | /@changesets/apply-release-plan/5.0.4: 350 | resolution: {integrity: sha512-czayDIrgC8qBnqwClvh9nxjCMem+XZG7xtfdYwq3dxpzA30qGppcI0i088VYug5RCFR+l1N+HUvkujSZuBK65w==} 351 | dependencies: 352 | '@babel/runtime': 7.16.7 353 | '@changesets/config': 1.6.4 354 | '@changesets/get-version-range-type': 0.3.2 355 | '@changesets/git': 1.3.0 356 | '@changesets/types': 4.0.2 357 | '@manypkg/get-packages': 1.1.3 358 | detect-indent: 6.1.0 359 | fs-extra: 7.0.1 360 | lodash.startcase: 4.4.0 361 | outdent: 0.5.0 362 | prettier: 1.19.1 363 | resolve-from: 5.0.0 364 | semver: 5.7.1 365 | dev: true 366 | 367 | /@changesets/assemble-release-plan/5.0.5: 368 | resolution: {integrity: sha512-ejCVSM4I1jgaNi30we3/qltj2NQtS68w7C3H8Gvb6ZOvbIpAW/Tr0uMmPgRj4Vzkez5+fx0If02AvOdssz1btA==} 369 | dependencies: 370 | '@babel/runtime': 7.16.7 371 | '@changesets/errors': 0.1.4 372 | '@changesets/get-dependents-graph': 1.3.0 373 | '@changesets/types': 4.0.2 374 | '@manypkg/get-packages': 1.1.3 375 | semver: 5.7.1 376 | dev: true 377 | 378 | /@changesets/changelog-github/0.4.2: 379 | resolution: {integrity: sha512-qq8lJcq91ki7UT0fIfIcn5Yy7GJj19TmkLmGZ24/wEfxcD/nHHoTNRoi6nPt+Htf7qEudKxXLzQLi41B7Mt2vg==} 380 | dependencies: 381 | '@changesets/get-github-info': 0.5.0 382 | '@changesets/types': 4.0.2 383 | dotenv: 8.6.0 384 | transitivePeerDependencies: 385 | - encoding 386 | dev: true 387 | 388 | /@changesets/cli/2.20.0: 389 | resolution: {integrity: sha512-IUYSgZKtS+wXPD5hxfnCfZ1JWCbBI0CRrhxpkgVKcXDwpxiRU8stCwuSuVj14kiYlThuH2zL0/ZuGvhF4r28Gg==} 390 | hasBin: true 391 | dependencies: 392 | '@babel/runtime': 7.16.7 393 | '@changesets/apply-release-plan': 5.0.4 394 | '@changesets/assemble-release-plan': 5.0.5 395 | '@changesets/config': 1.6.4 396 | '@changesets/errors': 0.1.4 397 | '@changesets/get-dependents-graph': 1.3.0 398 | '@changesets/get-release-plan': 3.0.5 399 | '@changesets/git': 1.3.0 400 | '@changesets/logger': 0.0.5 401 | '@changesets/pre': 1.0.9 402 | '@changesets/read': 0.5.3 403 | '@changesets/types': 4.0.2 404 | '@changesets/write': 0.1.6 405 | '@manypkg/get-packages': 1.1.3 406 | '@types/is-ci': 3.0.0 407 | '@types/semver': 6.2.3 408 | chalk: 2.4.2 409 | enquirer: 2.3.6 410 | external-editor: 3.1.0 411 | fs-extra: 7.0.1 412 | human-id: 1.0.2 413 | is-ci: 3.0.1 414 | meow: 6.1.1 415 | outdent: 0.5.0 416 | p-limit: 2.3.0 417 | preferred-pm: 3.0.3 418 | semver: 5.7.1 419 | spawndamnit: 2.0.0 420 | term-size: 2.2.1 421 | tty-table: 2.8.13 422 | dev: true 423 | 424 | /@changesets/config/1.6.4: 425 | resolution: {integrity: sha512-WWa8eR8GzS/p2atLc/+5UEDn7fsRCZ+/sShLkB/3efVbTkSTB1PwoKwQRXLYXM1DY289T7UnJT4HLZA3Gcreww==} 426 | dependencies: 427 | '@changesets/errors': 0.1.4 428 | '@changesets/get-dependents-graph': 1.3.0 429 | '@changesets/logger': 0.0.5 430 | '@changesets/types': 4.0.2 431 | '@manypkg/get-packages': 1.1.3 432 | fs-extra: 7.0.1 433 | micromatch: 4.0.4 434 | dev: true 435 | 436 | /@changesets/errors/0.1.4: 437 | resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} 438 | dependencies: 439 | extendable-error: 0.1.7 440 | dev: true 441 | 442 | /@changesets/get-dependents-graph/1.3.0: 443 | resolution: {integrity: sha512-4VHQWEluWySPgDdkL94YNxrEjDb9nwNFw515sWDmVrlfpQN5qaP1hdaotrp4mJm4ky85t4cTlrWSP+CTY7IDbw==} 444 | dependencies: 445 | '@changesets/types': 4.0.2 446 | '@manypkg/get-packages': 1.1.3 447 | chalk: 2.4.2 448 | fs-extra: 7.0.1 449 | semver: 5.7.1 450 | dev: true 451 | 452 | /@changesets/get-github-info/0.5.0: 453 | resolution: {integrity: sha512-vm5VgHwrxkMkUjFyn3UVNKLbDp9YMHd3vMf1IyJoa/7B+6VpqmtAaXyDS0zBLfN5bhzVCHrRnj4GcZXXcqrFTw==} 454 | dependencies: 455 | dataloader: 1.4.0 456 | node-fetch: 2.6.7 457 | transitivePeerDependencies: 458 | - encoding 459 | dev: true 460 | 461 | /@changesets/get-release-plan/3.0.5: 462 | resolution: {integrity: sha512-67td3LA1RTJpY5Q+wJaTTRtAjZ2suAhDfj3VRjFv0gCgUPXs8rNx17n9UPbegPTQjeTS1r7hVRVifycmT0fQtA==} 463 | dependencies: 464 | '@babel/runtime': 7.16.7 465 | '@changesets/assemble-release-plan': 5.0.5 466 | '@changesets/config': 1.6.4 467 | '@changesets/pre': 1.0.9 468 | '@changesets/read': 0.5.3 469 | '@changesets/types': 4.0.2 470 | '@manypkg/get-packages': 1.1.3 471 | dev: true 472 | 473 | /@changesets/get-version-range-type/0.3.2: 474 | resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} 475 | dev: true 476 | 477 | /@changesets/git/1.3.0: 478 | resolution: {integrity: sha512-Ydj4lWX33d2PCDaTXOMSbyTjgk1go1V6EyXjKTmOV7nB/qvgKdDZLSt+AexKWKp3Ac2FTrtVnl9G5gMNVYNmuQ==} 479 | dependencies: 480 | '@babel/runtime': 7.16.7 481 | '@changesets/errors': 0.1.4 482 | '@changesets/types': 4.0.2 483 | '@manypkg/get-packages': 1.1.3 484 | is-subdir: 1.2.0 485 | spawndamnit: 2.0.0 486 | dev: true 487 | 488 | /@changesets/logger/0.0.5: 489 | resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} 490 | dependencies: 491 | chalk: 2.4.2 492 | dev: true 493 | 494 | /@changesets/parse/0.3.11: 495 | resolution: {integrity: sha512-w5/X8KijcCrvv5lHimXIBR9o35c78niiBoesBjBUlWeifwPz0DHc/lzVYJKRkA5w0BGqft6T/9hKI68GaYj5wA==} 496 | dependencies: 497 | '@changesets/types': 4.0.2 498 | js-yaml: 3.14.1 499 | dev: true 500 | 501 | /@changesets/pre/1.0.9: 502 | resolution: {integrity: sha512-F3+qMun89KlynecBD15fEpwGT/KxbYb3WGeut6w1xhZb0u7V/jdcPy9b+kJ2xmBqFZLn1WteWIP96IjxS57H7A==} 503 | dependencies: 504 | '@babel/runtime': 7.16.7 505 | '@changesets/errors': 0.1.4 506 | '@changesets/types': 4.0.2 507 | '@manypkg/get-packages': 1.1.3 508 | fs-extra: 7.0.1 509 | dev: true 510 | 511 | /@changesets/read/0.5.3: 512 | resolution: {integrity: sha512-zoj5NjNR4AhiGXz6aHTxsBLojChHgDOSbz6VfAVxMKX7tF7UhyNYptG2VEbSjxeamNKABx6k1pkM2IyVVlOcbQ==} 513 | dependencies: 514 | '@babel/runtime': 7.16.7 515 | '@changesets/git': 1.3.0 516 | '@changesets/logger': 0.0.5 517 | '@changesets/parse': 0.3.11 518 | '@changesets/types': 4.0.2 519 | chalk: 2.4.2 520 | fs-extra: 7.0.1 521 | p-filter: 2.1.0 522 | dev: true 523 | 524 | /@changesets/types/4.0.2: 525 | resolution: {integrity: sha512-OeDaB7D+WVy/ErymPzFm58IeGvz4DOl+oedyZETfnkfMezF/Uhrm1Ub6MHrO5LcAaQTW+ptDmr0fmaVyoTxgHw==} 526 | dev: true 527 | 528 | /@changesets/write/0.1.6: 529 | resolution: {integrity: sha512-JWE2gJs9eHhorxqembkf43fllKlCz+sp1TJKSheaWfhWILMHPdfa/xQG4+sMZkISo1qZ+IlJyiBLha6iGGjXyA==} 530 | dependencies: 531 | '@babel/runtime': 7.16.7 532 | '@changesets/types': 4.0.2 533 | fs-extra: 7.0.1 534 | human-id: 1.0.2 535 | prettier: 1.19.1 536 | dev: true 537 | 538 | /@manypkg/find-root/1.1.0: 539 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} 540 | dependencies: 541 | '@babel/runtime': 7.16.7 542 | '@types/node': 12.20.42 543 | find-up: 4.1.0 544 | fs-extra: 8.1.0 545 | dev: true 546 | 547 | /@manypkg/get-packages/1.1.3: 548 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 549 | dependencies: 550 | '@babel/runtime': 7.16.7 551 | '@changesets/types': 4.0.2 552 | '@manypkg/find-root': 1.1.0 553 | fs-extra: 8.1.0 554 | globby: 11.1.0 555 | read-yaml-file: 1.1.0 556 | dev: true 557 | 558 | /@nodelib/fs.scandir/2.1.5: 559 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 560 | engines: {node: '>= 8'} 561 | dependencies: 562 | '@nodelib/fs.stat': 2.0.5 563 | run-parallel: 1.2.0 564 | dev: true 565 | 566 | /@nodelib/fs.stat/2.0.5: 567 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 568 | engines: {node: '>= 8'} 569 | dev: true 570 | 571 | /@nodelib/fs.walk/1.2.8: 572 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 573 | engines: {node: '>= 8'} 574 | dependencies: 575 | '@nodelib/fs.scandir': 2.1.5 576 | fastq: 1.13.0 577 | dev: true 578 | 579 | /@rollup/pluginutils/4.1.2: 580 | resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} 581 | engines: {node: '>= 8.0.0'} 582 | dependencies: 583 | estree-walker: 2.0.2 584 | picomatch: 2.3.1 585 | dev: false 586 | 587 | /@types/is-ci/3.0.0: 588 | resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} 589 | dependencies: 590 | ci-info: 3.3.0 591 | dev: true 592 | 593 | /@types/minimist/1.2.2: 594 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 595 | dev: true 596 | 597 | /@types/node/12.20.42: 598 | resolution: {integrity: sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==} 599 | dev: true 600 | 601 | /@types/normalize-package-data/2.4.1: 602 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 603 | dev: true 604 | 605 | /@types/prop-types/15.7.4: 606 | resolution: {integrity: sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==} 607 | 608 | /@types/react-dom/17.0.11: 609 | resolution: {integrity: sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==} 610 | dependencies: 611 | '@types/react': 17.0.38 612 | dev: false 613 | 614 | /@types/react/17.0.38: 615 | resolution: {integrity: sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==} 616 | dependencies: 617 | '@types/prop-types': 15.7.4 618 | '@types/scheduler': 0.16.2 619 | csstype: 3.0.10 620 | 621 | /@types/scheduler/0.16.2: 622 | resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} 623 | 624 | /@types/semver/6.2.3: 625 | resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} 626 | dev: true 627 | 628 | /@vitejs/plugin-react/1.1.4: 629 | resolution: {integrity: sha512-cMUBDonNY8PPeHWjIrYKbRn6bLSunh/Ixo2XLLBd3DM0uYBZft+c+04zkGhhN1lAwvoRKJ2FdtvhGhPgViHc6w==} 630 | engines: {node: '>=12.0.0'} 631 | dependencies: 632 | '@babel/core': 7.16.12 633 | '@babel/plugin-transform-react-jsx': 7.16.7_@babel+core@7.16.12 634 | '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.16.12 635 | '@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.16.12 636 | '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.16.12 637 | '@rollup/pluginutils': 4.1.2 638 | react-refresh: 0.11.0 639 | resolve: 1.22.0 640 | transitivePeerDependencies: 641 | - supports-color 642 | dev: false 643 | 644 | /@vitejs/plugin-vue/2.1.0_vite@2.7.13+vue@3.2.29: 645 | resolution: {integrity: sha512-AZ78WxvFMYd8JmM/GBV6a6SGGTU0GgN/0/4T+FnMMsLzFEzTeAUwuraapy50ifHZsC+G5SvWs86bvaCPTneFlA==} 646 | engines: {node: '>=12.0.0'} 647 | peerDependencies: 648 | vite: ^2.5.10 649 | vue: ^3.2.25 650 | dependencies: 651 | vite: 2.7.13 652 | vue: 3.2.29 653 | dev: false 654 | 655 | /@vue/compiler-core/3.2.29: 656 | resolution: {integrity: sha512-RePZ/J4Ub3sb7atQw6V6Rez+/5LCRHGFlSetT3N4VMrejqJnNPXKUt5AVm/9F5MJriy2w/VudEIvgscCfCWqxw==} 657 | dependencies: 658 | '@babel/parser': 7.16.12 659 | '@vue/shared': 3.2.29 660 | estree-walker: 2.0.2 661 | source-map: 0.6.1 662 | 663 | /@vue/compiler-dom/3.2.29: 664 | resolution: {integrity: sha512-y26vK5khdNS9L3ckvkqJk/78qXwWb75Ci8iYLb67AkJuIgyKhIOcR1E8RIt4mswlVCIeI9gQ+fmtdhaiTAtrBQ==} 665 | dependencies: 666 | '@vue/compiler-core': 3.2.29 667 | '@vue/shared': 3.2.29 668 | 669 | /@vue/compiler-sfc/3.2.29: 670 | resolution: {integrity: sha512-X9+0dwsag2u6hSOP/XsMYqFti/edvYvxamgBgCcbSYuXx1xLZN+dS/GvQKM4AgGS4djqo0jQvWfIXdfZ2ET68g==} 671 | dependencies: 672 | '@babel/parser': 7.16.12 673 | '@vue/compiler-core': 3.2.29 674 | '@vue/compiler-dom': 3.2.29 675 | '@vue/compiler-ssr': 3.2.29 676 | '@vue/reactivity-transform': 3.2.29 677 | '@vue/shared': 3.2.29 678 | estree-walker: 2.0.2 679 | magic-string: 0.25.7 680 | postcss: 8.4.5 681 | source-map: 0.6.1 682 | 683 | /@vue/compiler-ssr/3.2.29: 684 | resolution: {integrity: sha512-LrvQwXlx66uWsB9/VydaaqEpae9xtmlUkeSKF6aPDbzx8M1h7ukxaPjNCAXuFd3fUHblcri8k42lfimHfzMICA==} 685 | dependencies: 686 | '@vue/compiler-dom': 3.2.29 687 | '@vue/shared': 3.2.29 688 | 689 | /@vue/devtools-api/6.0.0-beta.21.1: 690 | resolution: {integrity: sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw==} 691 | dev: false 692 | 693 | /@vue/reactivity-transform/3.2.29: 694 | resolution: {integrity: sha512-YF6HdOuhdOw6KyRm59+3rML8USb9o8mYM1q+SH0G41K3/q/G7uhPnHGKvspzceD7h9J3VR1waOQ93CUZj7J7OA==} 695 | dependencies: 696 | '@babel/parser': 7.16.12 697 | '@vue/compiler-core': 3.2.29 698 | '@vue/shared': 3.2.29 699 | estree-walker: 2.0.2 700 | magic-string: 0.25.7 701 | 702 | /@vue/reactivity/3.2.29: 703 | resolution: {integrity: sha512-Ryhb6Gy62YolKXH1gv42pEqwx7zs3n8gacRVZICSgjQz8Qr8QeCcFygBKYfJm3o1SccR7U+bVBQDWZGOyG1k4g==} 704 | dependencies: 705 | '@vue/shared': 3.2.29 706 | 707 | /@vue/runtime-core/3.2.29: 708 | resolution: {integrity: sha512-VMvQuLdzoTGmCwIKTKVwKmIL0qcODIqe74JtK1pVr5lnaE0l25hopodmPag3RcnIcIXe+Ye3B2olRCn7fTCgig==} 709 | dependencies: 710 | '@vue/reactivity': 3.2.29 711 | '@vue/shared': 3.2.29 712 | 713 | /@vue/runtime-dom/3.2.29: 714 | resolution: {integrity: sha512-YJgLQLwr+SQyORzTsBQLL5TT/5UiV83tEotqjL7F9aFDIQdFBTCwpkCFvX9jqwHoyi9sJqM9XtTrMcc8z/OjPA==} 715 | dependencies: 716 | '@vue/runtime-core': 3.2.29 717 | '@vue/shared': 3.2.29 718 | csstype: 2.6.19 719 | 720 | /@vue/server-renderer/3.2.29_vue@3.2.29: 721 | resolution: {integrity: sha512-lpiYx7ciV7rWfJ0tPkoSOlLmwqBZ9FTmQm33S+T4g0j1fO/LmhJ9b9Ctl1o5xvIFVDk9QkSUWANZn7H2pXuxVw==} 722 | peerDependencies: 723 | vue: 3.2.29 724 | dependencies: 725 | '@vue/compiler-ssr': 3.2.29 726 | '@vue/shared': 3.2.29 727 | vue: 3.2.29 728 | 729 | /@vue/shared/3.2.29: 730 | resolution: {integrity: sha512-BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw==} 731 | 732 | /ansi-colors/4.1.1: 733 | resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} 734 | engines: {node: '>=6'} 735 | 736 | /ansi-regex/5.0.1: 737 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 738 | engines: {node: '>=8'} 739 | dev: true 740 | 741 | /ansi-styles/3.2.1: 742 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 743 | engines: {node: '>=4'} 744 | dependencies: 745 | color-convert: 1.9.3 746 | 747 | /ansi-styles/4.3.0: 748 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 749 | engines: {node: '>=8'} 750 | dependencies: 751 | color-convert: 2.0.1 752 | dev: true 753 | 754 | /any-promise/1.3.0: 755 | resolution: {integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8=} 756 | dev: true 757 | 758 | /anymatch/3.1.2: 759 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 760 | engines: {node: '>= 8'} 761 | dependencies: 762 | normalize-path: 3.0.0 763 | picomatch: 2.3.1 764 | dev: true 765 | 766 | /argparse/1.0.10: 767 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 768 | dependencies: 769 | sprintf-js: 1.0.3 770 | dev: true 771 | 772 | /array-union/2.1.0: 773 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 774 | engines: {node: '>=8'} 775 | dev: true 776 | 777 | /arrify/1.0.1: 778 | resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} 779 | engines: {node: '>=0.10.0'} 780 | dev: true 781 | 782 | /balanced-match/1.0.2: 783 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 784 | dev: true 785 | 786 | /better-path-resolve/1.0.0: 787 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} 788 | engines: {node: '>=4'} 789 | dependencies: 790 | is-windows: 1.0.2 791 | dev: true 792 | 793 | /binary-extensions/2.2.0: 794 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 795 | engines: {node: '>=8'} 796 | dev: true 797 | 798 | /brace-expansion/1.1.11: 799 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 800 | dependencies: 801 | balanced-match: 1.0.2 802 | concat-map: 0.0.1 803 | dev: true 804 | 805 | /braces/3.0.2: 806 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 807 | engines: {node: '>=8'} 808 | dependencies: 809 | fill-range: 7.0.1 810 | dev: true 811 | 812 | /breakword/1.0.5: 813 | resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} 814 | dependencies: 815 | wcwidth: 1.0.1 816 | dev: true 817 | 818 | /browserslist/4.19.1: 819 | resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} 820 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 821 | hasBin: true 822 | dependencies: 823 | caniuse-lite: 1.0.30001303 824 | electron-to-chromium: 1.4.56 825 | escalade: 3.1.1 826 | node-releases: 2.0.1 827 | picocolors: 1.0.0 828 | dev: false 829 | 830 | /bundle-require/3.0.2_esbuild@0.14.14: 831 | resolution: {integrity: sha512-WLS50LRdi8oAMnQfoxqjI3Fszi0xaI6dJumvtX909u0WREkYCuFGeE2UwMn5H8bSUXWtUB0XeBqNkgpVjMcYyQ==} 832 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 833 | peerDependencies: 834 | esbuild: '>=0.13' 835 | dependencies: 836 | esbuild: 0.14.14 837 | load-tsconfig: 0.2.2 838 | dev: true 839 | 840 | /cac/6.7.12: 841 | resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==} 842 | engines: {node: '>=8'} 843 | dev: true 844 | 845 | /camelcase-keys/6.2.2: 846 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} 847 | engines: {node: '>=8'} 848 | dependencies: 849 | camelcase: 5.3.1 850 | map-obj: 4.3.0 851 | quick-lru: 4.0.1 852 | dev: true 853 | 854 | /camelcase/5.3.1: 855 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 856 | engines: {node: '>=6'} 857 | dev: true 858 | 859 | /caniuse-lite/1.0.30001303: 860 | resolution: {integrity: sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==} 861 | dev: false 862 | 863 | /chalk/2.4.2: 864 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 865 | engines: {node: '>=4'} 866 | dependencies: 867 | ansi-styles: 3.2.1 868 | escape-string-regexp: 1.0.5 869 | supports-color: 5.5.0 870 | 871 | /chalk/3.0.0: 872 | resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} 873 | engines: {node: '>=8'} 874 | dependencies: 875 | ansi-styles: 4.3.0 876 | supports-color: 7.2.0 877 | dev: true 878 | 879 | /chardet/0.7.0: 880 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 881 | dev: true 882 | 883 | /chokidar/3.5.3: 884 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 885 | engines: {node: '>= 8.10.0'} 886 | dependencies: 887 | anymatch: 3.1.2 888 | braces: 3.0.2 889 | glob-parent: 5.1.2 890 | is-binary-path: 2.1.0 891 | is-glob: 4.0.3 892 | normalize-path: 3.0.0 893 | readdirp: 3.6.0 894 | optionalDependencies: 895 | fsevents: 2.3.2 896 | dev: true 897 | 898 | /ci-info/3.3.0: 899 | resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} 900 | dev: true 901 | 902 | /cliui/6.0.0: 903 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 904 | dependencies: 905 | string-width: 4.2.3 906 | strip-ansi: 6.0.1 907 | wrap-ansi: 6.2.0 908 | dev: true 909 | 910 | /clone/1.0.4: 911 | resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} 912 | engines: {node: '>=0.8'} 913 | dev: true 914 | 915 | /color-convert/1.9.3: 916 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 917 | dependencies: 918 | color-name: 1.1.3 919 | 920 | /color-convert/2.0.1: 921 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 922 | engines: {node: '>=7.0.0'} 923 | dependencies: 924 | color-name: 1.1.4 925 | dev: true 926 | 927 | /color-name/1.1.3: 928 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 929 | 930 | /color-name/1.1.4: 931 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 932 | dev: true 933 | 934 | /commander/4.1.1: 935 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 936 | engines: {node: '>= 6'} 937 | dev: true 938 | 939 | /concat-map/0.0.1: 940 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 941 | dev: true 942 | 943 | /convert-source-map/1.8.0: 944 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 945 | dependencies: 946 | safe-buffer: 5.1.2 947 | dev: false 948 | 949 | /cross-spawn/5.1.0: 950 | resolution: {integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=} 951 | dependencies: 952 | lru-cache: 4.1.5 953 | shebang-command: 1.2.0 954 | which: 1.3.1 955 | dev: true 956 | 957 | /cross-spawn/7.0.3: 958 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 959 | engines: {node: '>= 8'} 960 | dependencies: 961 | path-key: 3.1.1 962 | shebang-command: 2.0.0 963 | which: 2.0.2 964 | 965 | /csstype/2.6.19: 966 | resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==} 967 | 968 | /csstype/3.0.10: 969 | resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==} 970 | 971 | /csv-generate/3.4.3: 972 | resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} 973 | dev: true 974 | 975 | /csv-parse/4.16.3: 976 | resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} 977 | dev: true 978 | 979 | /csv-stringify/5.6.5: 980 | resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} 981 | dev: true 982 | 983 | /csv/5.5.3: 984 | resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} 985 | engines: {node: '>= 0.1.90'} 986 | dependencies: 987 | csv-generate: 3.4.3 988 | csv-parse: 4.16.3 989 | csv-stringify: 5.6.5 990 | stream-transform: 2.1.3 991 | dev: true 992 | 993 | /dataloader/1.4.0: 994 | resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} 995 | dev: true 996 | 997 | /debug/4.3.3: 998 | resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} 999 | engines: {node: '>=6.0'} 1000 | peerDependencies: 1001 | supports-color: '*' 1002 | peerDependenciesMeta: 1003 | supports-color: 1004 | optional: true 1005 | dependencies: 1006 | ms: 2.1.2 1007 | 1008 | /decamelize-keys/1.1.0: 1009 | resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} 1010 | engines: {node: '>=0.10.0'} 1011 | dependencies: 1012 | decamelize: 1.2.0 1013 | map-obj: 1.0.1 1014 | dev: true 1015 | 1016 | /decamelize/1.2.0: 1017 | resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} 1018 | engines: {node: '>=0.10.0'} 1019 | dev: true 1020 | 1021 | /defaults/1.0.3: 1022 | resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=} 1023 | dependencies: 1024 | clone: 1.0.4 1025 | dev: true 1026 | 1027 | /detect-indent/6.1.0: 1028 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 1029 | engines: {node: '>=8'} 1030 | dev: true 1031 | 1032 | /dir-glob/3.0.1: 1033 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1034 | engines: {node: '>=8'} 1035 | dependencies: 1036 | path-type: 4.0.0 1037 | dev: true 1038 | 1039 | /dotenv/8.6.0: 1040 | resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} 1041 | engines: {node: '>=10'} 1042 | dev: true 1043 | 1044 | /electron-to-chromium/1.4.56: 1045 | resolution: {integrity: sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g==} 1046 | dev: false 1047 | 1048 | /emoji-regex/8.0.0: 1049 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1050 | dev: true 1051 | 1052 | /enquirer/2.3.6: 1053 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} 1054 | engines: {node: '>=8.6'} 1055 | dependencies: 1056 | ansi-colors: 4.1.1 1057 | 1058 | /error-ex/1.3.2: 1059 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1060 | dependencies: 1061 | is-arrayish: 0.2.1 1062 | dev: true 1063 | 1064 | /esbuild-android-arm64/0.13.15: 1065 | resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} 1066 | cpu: [arm64] 1067 | os: [android] 1068 | requiresBuild: true 1069 | dev: false 1070 | optional: true 1071 | 1072 | /esbuild-android-arm64/0.14.14: 1073 | resolution: {integrity: sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ==} 1074 | cpu: [arm64] 1075 | os: [android] 1076 | requiresBuild: true 1077 | dev: true 1078 | optional: true 1079 | 1080 | /esbuild-darwin-64/0.13.15: 1081 | resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} 1082 | cpu: [x64] 1083 | os: [darwin] 1084 | requiresBuild: true 1085 | dev: false 1086 | optional: true 1087 | 1088 | /esbuild-darwin-64/0.14.14: 1089 | resolution: {integrity: sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg==} 1090 | cpu: [x64] 1091 | os: [darwin] 1092 | requiresBuild: true 1093 | dev: true 1094 | optional: true 1095 | 1096 | /esbuild-darwin-arm64/0.13.15: 1097 | resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} 1098 | cpu: [arm64] 1099 | os: [darwin] 1100 | requiresBuild: true 1101 | dev: false 1102 | optional: true 1103 | 1104 | /esbuild-darwin-arm64/0.14.14: 1105 | resolution: {integrity: sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg==} 1106 | cpu: [arm64] 1107 | os: [darwin] 1108 | requiresBuild: true 1109 | dev: true 1110 | optional: true 1111 | 1112 | /esbuild-freebsd-64/0.13.15: 1113 | resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} 1114 | cpu: [x64] 1115 | os: [freebsd] 1116 | requiresBuild: true 1117 | dev: false 1118 | optional: true 1119 | 1120 | /esbuild-freebsd-64/0.14.14: 1121 | resolution: {integrity: sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA==} 1122 | cpu: [x64] 1123 | os: [freebsd] 1124 | requiresBuild: true 1125 | dev: true 1126 | optional: true 1127 | 1128 | /esbuild-freebsd-arm64/0.13.15: 1129 | resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} 1130 | cpu: [arm64] 1131 | os: [freebsd] 1132 | requiresBuild: true 1133 | dev: false 1134 | optional: true 1135 | 1136 | /esbuild-freebsd-arm64/0.14.14: 1137 | resolution: {integrity: sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA==} 1138 | cpu: [arm64] 1139 | os: [freebsd] 1140 | requiresBuild: true 1141 | dev: true 1142 | optional: true 1143 | 1144 | /esbuild-linux-32/0.13.15: 1145 | resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} 1146 | cpu: [ia32] 1147 | os: [linux] 1148 | requiresBuild: true 1149 | dev: false 1150 | optional: true 1151 | 1152 | /esbuild-linux-32/0.14.14: 1153 | resolution: {integrity: sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg==} 1154 | cpu: [ia32] 1155 | os: [linux] 1156 | requiresBuild: true 1157 | dev: true 1158 | optional: true 1159 | 1160 | /esbuild-linux-64/0.13.15: 1161 | resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} 1162 | cpu: [x64] 1163 | os: [linux] 1164 | requiresBuild: true 1165 | dev: false 1166 | optional: true 1167 | 1168 | /esbuild-linux-64/0.14.14: 1169 | resolution: {integrity: sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ==} 1170 | cpu: [x64] 1171 | os: [linux] 1172 | requiresBuild: true 1173 | dev: true 1174 | optional: true 1175 | 1176 | /esbuild-linux-arm/0.13.15: 1177 | resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} 1178 | cpu: [arm] 1179 | os: [linux] 1180 | requiresBuild: true 1181 | dev: false 1182 | optional: true 1183 | 1184 | /esbuild-linux-arm/0.14.14: 1185 | resolution: {integrity: sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ==} 1186 | cpu: [arm] 1187 | os: [linux] 1188 | requiresBuild: true 1189 | dev: true 1190 | optional: true 1191 | 1192 | /esbuild-linux-arm64/0.13.15: 1193 | resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} 1194 | cpu: [arm64] 1195 | os: [linux] 1196 | requiresBuild: true 1197 | dev: false 1198 | optional: true 1199 | 1200 | /esbuild-linux-arm64/0.14.14: 1201 | resolution: {integrity: sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw==} 1202 | cpu: [arm64] 1203 | os: [linux] 1204 | requiresBuild: true 1205 | dev: true 1206 | optional: true 1207 | 1208 | /esbuild-linux-mips64le/0.13.15: 1209 | resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} 1210 | cpu: [mips64el] 1211 | os: [linux] 1212 | requiresBuild: true 1213 | dev: false 1214 | optional: true 1215 | 1216 | /esbuild-linux-mips64le/0.14.14: 1217 | resolution: {integrity: sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg==} 1218 | cpu: [mips64el] 1219 | os: [linux] 1220 | requiresBuild: true 1221 | dev: true 1222 | optional: true 1223 | 1224 | /esbuild-linux-ppc64le/0.13.15: 1225 | resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} 1226 | cpu: [ppc64] 1227 | os: [linux] 1228 | requiresBuild: true 1229 | dev: false 1230 | optional: true 1231 | 1232 | /esbuild-linux-ppc64le/0.14.14: 1233 | resolution: {integrity: sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w==} 1234 | cpu: [ppc64] 1235 | os: [linux] 1236 | requiresBuild: true 1237 | dev: true 1238 | optional: true 1239 | 1240 | /esbuild-linux-s390x/0.14.14: 1241 | resolution: {integrity: sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw==} 1242 | cpu: [s390x] 1243 | os: [linux] 1244 | requiresBuild: true 1245 | dev: true 1246 | optional: true 1247 | 1248 | /esbuild-netbsd-64/0.13.15: 1249 | resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} 1250 | cpu: [x64] 1251 | os: [netbsd] 1252 | requiresBuild: true 1253 | dev: false 1254 | optional: true 1255 | 1256 | /esbuild-netbsd-64/0.14.14: 1257 | resolution: {integrity: sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ==} 1258 | cpu: [x64] 1259 | os: [netbsd] 1260 | requiresBuild: true 1261 | dev: true 1262 | optional: true 1263 | 1264 | /esbuild-openbsd-64/0.13.15: 1265 | resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} 1266 | cpu: [x64] 1267 | os: [openbsd] 1268 | requiresBuild: true 1269 | dev: false 1270 | optional: true 1271 | 1272 | /esbuild-openbsd-64/0.14.14: 1273 | resolution: {integrity: sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg==} 1274 | cpu: [x64] 1275 | os: [openbsd] 1276 | requiresBuild: true 1277 | dev: true 1278 | optional: true 1279 | 1280 | /esbuild-sunos-64/0.13.15: 1281 | resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} 1282 | cpu: [x64] 1283 | os: [sunos] 1284 | requiresBuild: true 1285 | dev: false 1286 | optional: true 1287 | 1288 | /esbuild-sunos-64/0.14.14: 1289 | resolution: {integrity: sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ==} 1290 | cpu: [x64] 1291 | os: [sunos] 1292 | requiresBuild: true 1293 | dev: true 1294 | optional: true 1295 | 1296 | /esbuild-windows-32/0.13.15: 1297 | resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} 1298 | cpu: [ia32] 1299 | os: [win32] 1300 | requiresBuild: true 1301 | dev: false 1302 | optional: true 1303 | 1304 | /esbuild-windows-32/0.14.14: 1305 | resolution: {integrity: sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg==} 1306 | cpu: [ia32] 1307 | os: [win32] 1308 | requiresBuild: true 1309 | dev: true 1310 | optional: true 1311 | 1312 | /esbuild-windows-64/0.13.15: 1313 | resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} 1314 | cpu: [x64] 1315 | os: [win32] 1316 | requiresBuild: true 1317 | dev: false 1318 | optional: true 1319 | 1320 | /esbuild-windows-64/0.14.14: 1321 | resolution: {integrity: sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A==} 1322 | cpu: [x64] 1323 | os: [win32] 1324 | requiresBuild: true 1325 | dev: true 1326 | optional: true 1327 | 1328 | /esbuild-windows-arm64/0.13.15: 1329 | resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} 1330 | cpu: [arm64] 1331 | os: [win32] 1332 | requiresBuild: true 1333 | dev: false 1334 | optional: true 1335 | 1336 | /esbuild-windows-arm64/0.14.14: 1337 | resolution: {integrity: sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg==} 1338 | cpu: [arm64] 1339 | os: [win32] 1340 | requiresBuild: true 1341 | dev: true 1342 | optional: true 1343 | 1344 | /esbuild/0.13.15: 1345 | resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} 1346 | hasBin: true 1347 | requiresBuild: true 1348 | optionalDependencies: 1349 | esbuild-android-arm64: 0.13.15 1350 | esbuild-darwin-64: 0.13.15 1351 | esbuild-darwin-arm64: 0.13.15 1352 | esbuild-freebsd-64: 0.13.15 1353 | esbuild-freebsd-arm64: 0.13.15 1354 | esbuild-linux-32: 0.13.15 1355 | esbuild-linux-64: 0.13.15 1356 | esbuild-linux-arm: 0.13.15 1357 | esbuild-linux-arm64: 0.13.15 1358 | esbuild-linux-mips64le: 0.13.15 1359 | esbuild-linux-ppc64le: 0.13.15 1360 | esbuild-netbsd-64: 0.13.15 1361 | esbuild-openbsd-64: 0.13.15 1362 | esbuild-sunos-64: 0.13.15 1363 | esbuild-windows-32: 0.13.15 1364 | esbuild-windows-64: 0.13.15 1365 | esbuild-windows-arm64: 0.13.15 1366 | dev: false 1367 | 1368 | /esbuild/0.14.14: 1369 | resolution: {integrity: sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg==} 1370 | hasBin: true 1371 | requiresBuild: true 1372 | optionalDependencies: 1373 | esbuild-android-arm64: 0.14.14 1374 | esbuild-darwin-64: 0.14.14 1375 | esbuild-darwin-arm64: 0.14.14 1376 | esbuild-freebsd-64: 0.14.14 1377 | esbuild-freebsd-arm64: 0.14.14 1378 | esbuild-linux-32: 0.14.14 1379 | esbuild-linux-64: 0.14.14 1380 | esbuild-linux-arm: 0.14.14 1381 | esbuild-linux-arm64: 0.14.14 1382 | esbuild-linux-mips64le: 0.14.14 1383 | esbuild-linux-ppc64le: 0.14.14 1384 | esbuild-linux-s390x: 0.14.14 1385 | esbuild-netbsd-64: 0.14.14 1386 | esbuild-openbsd-64: 0.14.14 1387 | esbuild-sunos-64: 0.14.14 1388 | esbuild-windows-32: 0.14.14 1389 | esbuild-windows-64: 0.14.14 1390 | esbuild-windows-arm64: 0.14.14 1391 | dev: true 1392 | 1393 | /escalade/3.1.1: 1394 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1395 | engines: {node: '>=6'} 1396 | dev: false 1397 | 1398 | /escape-string-regexp/1.0.5: 1399 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 1400 | engines: {node: '>=0.8.0'} 1401 | 1402 | /esprima/4.0.1: 1403 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1404 | engines: {node: '>=4'} 1405 | hasBin: true 1406 | dev: true 1407 | 1408 | /estree-walker/2.0.2: 1409 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1410 | 1411 | /execa/5.1.1: 1412 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1413 | engines: {node: '>=10'} 1414 | dependencies: 1415 | cross-spawn: 7.0.3 1416 | get-stream: 6.0.1 1417 | human-signals: 2.1.0 1418 | is-stream: 2.0.1 1419 | merge-stream: 2.0.0 1420 | npm-run-path: 4.0.1 1421 | onetime: 5.1.2 1422 | signal-exit: 3.0.6 1423 | strip-final-newline: 2.0.0 1424 | dev: true 1425 | 1426 | /execa/6.0.0: 1427 | resolution: {integrity: sha512-m4wU9j4Z9nXXoqT8RSfl28JSwmMNLFF69OON8H/lL3NeU0tNpGz313bcOfYoBBHokB0dC2tMl3VUcKgHELhL2Q==} 1428 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1429 | dependencies: 1430 | cross-spawn: 7.0.3 1431 | get-stream: 6.0.1 1432 | human-signals: 3.0.1 1433 | is-stream: 3.0.0 1434 | merge-stream: 2.0.0 1435 | npm-run-path: 5.0.1 1436 | onetime: 6.0.0 1437 | signal-exit: 3.0.6 1438 | strip-final-newline: 3.0.0 1439 | 1440 | /extendable-error/0.1.7: 1441 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 1442 | dev: true 1443 | 1444 | /external-editor/3.1.0: 1445 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1446 | engines: {node: '>=4'} 1447 | dependencies: 1448 | chardet: 0.7.0 1449 | iconv-lite: 0.4.24 1450 | tmp: 0.0.33 1451 | dev: true 1452 | 1453 | /fast-glob/3.2.11: 1454 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1455 | engines: {node: '>=8.6.0'} 1456 | dependencies: 1457 | '@nodelib/fs.stat': 2.0.5 1458 | '@nodelib/fs.walk': 1.2.8 1459 | glob-parent: 5.1.2 1460 | merge2: 1.4.1 1461 | micromatch: 4.0.4 1462 | dev: true 1463 | 1464 | /fastq/1.13.0: 1465 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1466 | dependencies: 1467 | reusify: 1.0.4 1468 | dev: true 1469 | 1470 | /fill-range/7.0.1: 1471 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1472 | engines: {node: '>=8'} 1473 | dependencies: 1474 | to-regex-range: 5.0.1 1475 | dev: true 1476 | 1477 | /find-up/4.1.0: 1478 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1479 | engines: {node: '>=8'} 1480 | dependencies: 1481 | locate-path: 5.0.0 1482 | path-exists: 4.0.0 1483 | dev: true 1484 | 1485 | /find-up/5.0.0: 1486 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1487 | engines: {node: '>=10'} 1488 | dependencies: 1489 | locate-path: 6.0.0 1490 | path-exists: 4.0.0 1491 | dev: true 1492 | 1493 | /find-yarn-workspace-root2/1.2.16: 1494 | resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} 1495 | dependencies: 1496 | micromatch: 4.0.4 1497 | pkg-dir: 4.2.0 1498 | dev: true 1499 | 1500 | /fs-extra/7.0.1: 1501 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 1502 | engines: {node: '>=6 <7 || >=8'} 1503 | dependencies: 1504 | graceful-fs: 4.2.9 1505 | jsonfile: 4.0.0 1506 | universalify: 0.1.2 1507 | dev: true 1508 | 1509 | /fs-extra/8.1.0: 1510 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 1511 | engines: {node: '>=6 <7 || >=8'} 1512 | dependencies: 1513 | graceful-fs: 4.2.9 1514 | jsonfile: 4.0.0 1515 | universalify: 0.1.2 1516 | dev: true 1517 | 1518 | /fs.realpath/1.0.0: 1519 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 1520 | dev: true 1521 | 1522 | /fsevents/2.3.2: 1523 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1524 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1525 | os: [darwin] 1526 | requiresBuild: true 1527 | optional: true 1528 | 1529 | /function-bind/1.1.1: 1530 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1531 | 1532 | /gensync/1.0.0-beta.2: 1533 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1534 | engines: {node: '>=6.9.0'} 1535 | dev: false 1536 | 1537 | /get-caller-file/2.0.5: 1538 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1539 | engines: {node: 6.* || 8.* || >= 10.*} 1540 | dev: true 1541 | 1542 | /get-stream/6.0.1: 1543 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1544 | engines: {node: '>=10'} 1545 | 1546 | /glob-parent/5.1.2: 1547 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1548 | engines: {node: '>= 6'} 1549 | dependencies: 1550 | is-glob: 4.0.3 1551 | dev: true 1552 | 1553 | /glob/7.1.6: 1554 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1555 | dependencies: 1556 | fs.realpath: 1.0.0 1557 | inflight: 1.0.6 1558 | inherits: 2.0.4 1559 | minimatch: 3.0.4 1560 | once: 1.4.0 1561 | path-is-absolute: 1.0.1 1562 | dev: true 1563 | 1564 | /globals/11.12.0: 1565 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1566 | engines: {node: '>=4'} 1567 | dev: false 1568 | 1569 | /globby/11.1.0: 1570 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1571 | engines: {node: '>=10'} 1572 | dependencies: 1573 | array-union: 2.1.0 1574 | dir-glob: 3.0.1 1575 | fast-glob: 3.2.11 1576 | ignore: 5.2.0 1577 | merge2: 1.4.1 1578 | slash: 3.0.0 1579 | dev: true 1580 | 1581 | /graceful-fs/4.2.9: 1582 | resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} 1583 | dev: true 1584 | 1585 | /grapheme-splitter/1.0.4: 1586 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1587 | dev: true 1588 | 1589 | /hard-rejection/2.1.0: 1590 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 1591 | engines: {node: '>=6'} 1592 | dev: true 1593 | 1594 | /has-flag/3.0.0: 1595 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 1596 | engines: {node: '>=4'} 1597 | 1598 | /has-flag/4.0.0: 1599 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1600 | engines: {node: '>=8'} 1601 | dev: true 1602 | 1603 | /has/1.0.3: 1604 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1605 | engines: {node: '>= 0.4.0'} 1606 | dependencies: 1607 | function-bind: 1.1.1 1608 | 1609 | /history/5.2.0: 1610 | resolution: {integrity: sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==} 1611 | dependencies: 1612 | '@babel/runtime': 7.16.7 1613 | dev: false 1614 | 1615 | /hosted-git-info/2.8.9: 1616 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1617 | dev: true 1618 | 1619 | /human-id/1.0.2: 1620 | resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} 1621 | dev: true 1622 | 1623 | /human-signals/2.1.0: 1624 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1625 | engines: {node: '>=10.17.0'} 1626 | dev: true 1627 | 1628 | /human-signals/3.0.1: 1629 | resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} 1630 | engines: {node: '>=12.20.0'} 1631 | 1632 | /iconv-lite/0.4.24: 1633 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1634 | engines: {node: '>=0.10.0'} 1635 | dependencies: 1636 | safer-buffer: 2.1.2 1637 | dev: true 1638 | 1639 | /ignore/5.2.0: 1640 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1641 | engines: {node: '>= 4'} 1642 | dev: true 1643 | 1644 | /indent-string/4.0.0: 1645 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1646 | engines: {node: '>=8'} 1647 | dev: true 1648 | 1649 | /inflight/1.0.6: 1650 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 1651 | dependencies: 1652 | once: 1.4.0 1653 | wrappy: 1.0.2 1654 | dev: true 1655 | 1656 | /inherits/2.0.4: 1657 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1658 | dev: true 1659 | 1660 | /is-arrayish/0.2.1: 1661 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} 1662 | dev: true 1663 | 1664 | /is-binary-path/2.1.0: 1665 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1666 | engines: {node: '>=8'} 1667 | dependencies: 1668 | binary-extensions: 2.2.0 1669 | dev: true 1670 | 1671 | /is-ci/3.0.1: 1672 | resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} 1673 | hasBin: true 1674 | dependencies: 1675 | ci-info: 3.3.0 1676 | dev: true 1677 | 1678 | /is-core-module/2.8.1: 1679 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} 1680 | dependencies: 1681 | has: 1.0.3 1682 | 1683 | /is-extglob/2.1.1: 1684 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 1685 | engines: {node: '>=0.10.0'} 1686 | dev: true 1687 | 1688 | /is-fullwidth-code-point/3.0.0: 1689 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1690 | engines: {node: '>=8'} 1691 | dev: true 1692 | 1693 | /is-glob/4.0.3: 1694 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1695 | engines: {node: '>=0.10.0'} 1696 | dependencies: 1697 | is-extglob: 2.1.1 1698 | dev: true 1699 | 1700 | /is-number/7.0.0: 1701 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1702 | engines: {node: '>=0.12.0'} 1703 | dev: true 1704 | 1705 | /is-plain-obj/1.1.0: 1706 | resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} 1707 | engines: {node: '>=0.10.0'} 1708 | dev: true 1709 | 1710 | /is-stream/2.0.1: 1711 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1712 | engines: {node: '>=8'} 1713 | dev: true 1714 | 1715 | /is-stream/3.0.0: 1716 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1717 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1718 | 1719 | /is-subdir/1.2.0: 1720 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} 1721 | engines: {node: '>=4'} 1722 | dependencies: 1723 | better-path-resolve: 1.0.0 1724 | dev: true 1725 | 1726 | /is-windows/1.0.2: 1727 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1728 | engines: {node: '>=0.10.0'} 1729 | dev: true 1730 | 1731 | /isexe/2.0.0: 1732 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 1733 | 1734 | /joycon/3.1.1: 1735 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1736 | engines: {node: '>=10'} 1737 | dev: true 1738 | 1739 | /js-tokens/4.0.0: 1740 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1741 | 1742 | /js-yaml/3.14.1: 1743 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1744 | hasBin: true 1745 | dependencies: 1746 | argparse: 1.0.10 1747 | esprima: 4.0.1 1748 | dev: true 1749 | 1750 | /jsesc/2.5.2: 1751 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1752 | engines: {node: '>=4'} 1753 | hasBin: true 1754 | dev: false 1755 | 1756 | /json-parse-even-better-errors/2.3.1: 1757 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1758 | dev: true 1759 | 1760 | /json5/2.2.0: 1761 | resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} 1762 | engines: {node: '>=6'} 1763 | hasBin: true 1764 | dependencies: 1765 | minimist: 1.2.5 1766 | dev: false 1767 | 1768 | /jsonfile/4.0.0: 1769 | resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} 1770 | optionalDependencies: 1771 | graceful-fs: 4.2.9 1772 | dev: true 1773 | 1774 | /kind-of/6.0.3: 1775 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1776 | engines: {node: '>=0.10.0'} 1777 | dev: true 1778 | 1779 | /lilconfig/2.0.4: 1780 | resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} 1781 | engines: {node: '>=10'} 1782 | dev: true 1783 | 1784 | /lines-and-columns/1.2.4: 1785 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1786 | dev: true 1787 | 1788 | /load-tsconfig/0.2.2: 1789 | resolution: {integrity: sha512-9B4XOMjNhphRmXg3YHFnpgEH5fmYKofXJ7M6sLkRcfJ5DcuPiStlQ1Or+1Rv/aML716kQ9Q+C9zJGUcfMYiq4Q==} 1790 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1791 | dev: true 1792 | 1793 | /load-yaml-file/0.2.0: 1794 | resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 1795 | engines: {node: '>=6'} 1796 | dependencies: 1797 | graceful-fs: 4.2.9 1798 | js-yaml: 3.14.1 1799 | pify: 4.0.1 1800 | strip-bom: 3.0.0 1801 | dev: true 1802 | 1803 | /locate-path/5.0.0: 1804 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1805 | engines: {node: '>=8'} 1806 | dependencies: 1807 | p-locate: 4.1.0 1808 | dev: true 1809 | 1810 | /locate-path/6.0.0: 1811 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1812 | engines: {node: '>=10'} 1813 | dependencies: 1814 | p-locate: 5.0.0 1815 | dev: true 1816 | 1817 | /lodash.startcase/4.4.0: 1818 | resolution: {integrity: sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg=} 1819 | dev: true 1820 | 1821 | /loose-envify/1.4.0: 1822 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 1823 | hasBin: true 1824 | dependencies: 1825 | js-tokens: 4.0.0 1826 | 1827 | /lru-cache/4.1.5: 1828 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} 1829 | dependencies: 1830 | pseudomap: 1.0.2 1831 | yallist: 2.1.2 1832 | dev: true 1833 | 1834 | /magic-string/0.25.7: 1835 | resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} 1836 | dependencies: 1837 | sourcemap-codec: 1.4.8 1838 | 1839 | /map-obj/1.0.1: 1840 | resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} 1841 | engines: {node: '>=0.10.0'} 1842 | dev: true 1843 | 1844 | /map-obj/4.3.0: 1845 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 1846 | engines: {node: '>=8'} 1847 | dev: true 1848 | 1849 | /meow/6.1.1: 1850 | resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} 1851 | engines: {node: '>=8'} 1852 | dependencies: 1853 | '@types/minimist': 1.2.2 1854 | camelcase-keys: 6.2.2 1855 | decamelize-keys: 1.1.0 1856 | hard-rejection: 2.1.0 1857 | minimist-options: 4.1.0 1858 | normalize-package-data: 2.5.0 1859 | read-pkg-up: 7.0.1 1860 | redent: 3.0.0 1861 | trim-newlines: 3.0.1 1862 | type-fest: 0.13.1 1863 | yargs-parser: 18.1.3 1864 | dev: true 1865 | 1866 | /merge-stream/2.0.0: 1867 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1868 | 1869 | /merge2/1.4.1: 1870 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1871 | engines: {node: '>= 8'} 1872 | dev: true 1873 | 1874 | /micromatch/4.0.4: 1875 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} 1876 | engines: {node: '>=8.6'} 1877 | dependencies: 1878 | braces: 3.0.2 1879 | picomatch: 2.3.1 1880 | dev: true 1881 | 1882 | /mimic-fn/2.1.0: 1883 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1884 | engines: {node: '>=6'} 1885 | dev: true 1886 | 1887 | /mimic-fn/4.0.0: 1888 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1889 | engines: {node: '>=12'} 1890 | 1891 | /min-indent/1.0.1: 1892 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1893 | engines: {node: '>=4'} 1894 | dev: true 1895 | 1896 | /minimatch/3.0.4: 1897 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} 1898 | dependencies: 1899 | brace-expansion: 1.1.11 1900 | dev: true 1901 | 1902 | /minimist-options/4.1.0: 1903 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 1904 | engines: {node: '>= 6'} 1905 | dependencies: 1906 | arrify: 1.0.1 1907 | is-plain-obj: 1.1.0 1908 | kind-of: 6.0.3 1909 | dev: true 1910 | 1911 | /minimist/1.2.5: 1912 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} 1913 | dev: false 1914 | 1915 | /mixme/0.5.4: 1916 | resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==} 1917 | engines: {node: '>= 8.0.0'} 1918 | dev: true 1919 | 1920 | /ms/2.1.2: 1921 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1922 | 1923 | /mz/2.7.0: 1924 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1925 | dependencies: 1926 | any-promise: 1.3.0 1927 | object-assign: 4.1.1 1928 | thenify-all: 1.6.0 1929 | dev: true 1930 | 1931 | /nanoid/3.2.0: 1932 | resolution: {integrity: sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==} 1933 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1934 | hasBin: true 1935 | 1936 | /node-fetch/2.6.7: 1937 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 1938 | engines: {node: 4.x || >=6.0.0} 1939 | peerDependencies: 1940 | encoding: ^0.1.0 1941 | peerDependenciesMeta: 1942 | encoding: 1943 | optional: true 1944 | dependencies: 1945 | whatwg-url: 5.0.0 1946 | dev: true 1947 | 1948 | /node-releases/2.0.1: 1949 | resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} 1950 | dev: false 1951 | 1952 | /normalize-package-data/2.5.0: 1953 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1954 | dependencies: 1955 | hosted-git-info: 2.8.9 1956 | resolve: 1.22.0 1957 | semver: 5.7.1 1958 | validate-npm-package-license: 3.0.4 1959 | dev: true 1960 | 1961 | /normalize-path/3.0.0: 1962 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1963 | engines: {node: '>=0.10.0'} 1964 | dev: true 1965 | 1966 | /npm-run-path/4.0.1: 1967 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1968 | engines: {node: '>=8'} 1969 | dependencies: 1970 | path-key: 3.1.1 1971 | dev: true 1972 | 1973 | /npm-run-path/5.0.1: 1974 | resolution: {integrity: sha512-ybBJQUSyFwEEhqO2lXmyKOl9ucHtyZBWVM0h0FiMfT/+WKxCUZFa95qAR2X3w/w6oigN3B0b2UNHZbD+kdfD5w==} 1975 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1976 | dependencies: 1977 | path-key: 4.0.0 1978 | 1979 | /object-assign/4.1.1: 1980 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} 1981 | engines: {node: '>=0.10.0'} 1982 | 1983 | /once/1.4.0: 1984 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 1985 | dependencies: 1986 | wrappy: 1.0.2 1987 | dev: true 1988 | 1989 | /onetime/5.1.2: 1990 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1991 | engines: {node: '>=6'} 1992 | dependencies: 1993 | mimic-fn: 2.1.0 1994 | dev: true 1995 | 1996 | /onetime/6.0.0: 1997 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1998 | engines: {node: '>=12'} 1999 | dependencies: 2000 | mimic-fn: 4.0.0 2001 | 2002 | /os-tmpdir/1.0.2: 2003 | resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=} 2004 | engines: {node: '>=0.10.0'} 2005 | dev: true 2006 | 2007 | /outdent/0.5.0: 2008 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 2009 | dev: true 2010 | 2011 | /p-filter/2.1.0: 2012 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} 2013 | engines: {node: '>=8'} 2014 | dependencies: 2015 | p-map: 2.1.0 2016 | dev: true 2017 | 2018 | /p-limit/2.3.0: 2019 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2020 | engines: {node: '>=6'} 2021 | dependencies: 2022 | p-try: 2.2.0 2023 | dev: true 2024 | 2025 | /p-limit/3.1.0: 2026 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2027 | engines: {node: '>=10'} 2028 | dependencies: 2029 | yocto-queue: 0.1.0 2030 | dev: true 2031 | 2032 | /p-locate/4.1.0: 2033 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2034 | engines: {node: '>=8'} 2035 | dependencies: 2036 | p-limit: 2.3.0 2037 | dev: true 2038 | 2039 | /p-locate/5.0.0: 2040 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2041 | engines: {node: '>=10'} 2042 | dependencies: 2043 | p-limit: 3.1.0 2044 | dev: true 2045 | 2046 | /p-map/2.1.0: 2047 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 2048 | engines: {node: '>=6'} 2049 | dev: true 2050 | 2051 | /p-try/2.2.0: 2052 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2053 | engines: {node: '>=6'} 2054 | dev: true 2055 | 2056 | /parse-json/5.2.0: 2057 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2058 | engines: {node: '>=8'} 2059 | dependencies: 2060 | '@babel/code-frame': 7.16.7 2061 | error-ex: 1.3.2 2062 | json-parse-even-better-errors: 2.3.1 2063 | lines-and-columns: 1.2.4 2064 | dev: true 2065 | 2066 | /path-exists/4.0.0: 2067 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2068 | engines: {node: '>=8'} 2069 | dev: true 2070 | 2071 | /path-is-absolute/1.0.1: 2072 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 2073 | engines: {node: '>=0.10.0'} 2074 | dev: true 2075 | 2076 | /path-key/3.1.1: 2077 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2078 | engines: {node: '>=8'} 2079 | 2080 | /path-key/4.0.0: 2081 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2082 | engines: {node: '>=12'} 2083 | 2084 | /path-parse/1.0.7: 2085 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2086 | 2087 | /path-type/4.0.0: 2088 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2089 | engines: {node: '>=8'} 2090 | dev: true 2091 | 2092 | /picocolors/1.0.0: 2093 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2094 | 2095 | /picomatch/2.3.1: 2096 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2097 | engines: {node: '>=8.6'} 2098 | 2099 | /pify/4.0.1: 2100 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 2101 | engines: {node: '>=6'} 2102 | dev: true 2103 | 2104 | /pirates/4.0.5: 2105 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 2106 | engines: {node: '>= 6'} 2107 | dev: true 2108 | 2109 | /pkg-dir/4.2.0: 2110 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 2111 | engines: {node: '>=8'} 2112 | dependencies: 2113 | find-up: 4.1.0 2114 | dev: true 2115 | 2116 | /postcss-load-config/3.1.1: 2117 | resolution: {integrity: sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==} 2118 | engines: {node: '>= 10'} 2119 | peerDependencies: 2120 | ts-node: '>=9.0.0' 2121 | peerDependenciesMeta: 2122 | ts-node: 2123 | optional: true 2124 | dependencies: 2125 | lilconfig: 2.0.4 2126 | yaml: 1.10.2 2127 | dev: true 2128 | 2129 | /postcss/8.4.5: 2130 | resolution: {integrity: sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==} 2131 | engines: {node: ^10 || ^12 || >=14} 2132 | dependencies: 2133 | nanoid: 3.2.0 2134 | picocolors: 1.0.0 2135 | source-map-js: 1.0.2 2136 | 2137 | /preferred-pm/3.0.3: 2138 | resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} 2139 | engines: {node: '>=10'} 2140 | dependencies: 2141 | find-up: 5.0.0 2142 | find-yarn-workspace-root2: 1.2.16 2143 | path-exists: 4.0.0 2144 | which-pm: 2.0.0 2145 | dev: true 2146 | 2147 | /prettier/1.19.1: 2148 | resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} 2149 | engines: {node: '>=4'} 2150 | hasBin: true 2151 | dev: true 2152 | 2153 | /pseudomap/1.0.2: 2154 | resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} 2155 | dev: true 2156 | 2157 | /queue-microtask/1.2.3: 2158 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2159 | dev: true 2160 | 2161 | /quick-lru/4.0.1: 2162 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} 2163 | engines: {node: '>=8'} 2164 | dev: true 2165 | 2166 | /react-dom/17.0.2_react@17.0.2: 2167 | resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} 2168 | peerDependencies: 2169 | react: 17.0.2 2170 | dependencies: 2171 | loose-envify: 1.4.0 2172 | object-assign: 4.1.1 2173 | react: 17.0.2 2174 | scheduler: 0.20.2 2175 | dev: false 2176 | 2177 | /react-refresh/0.11.0: 2178 | resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} 2179 | engines: {node: '>=0.10.0'} 2180 | dev: false 2181 | 2182 | /react-router-dom/6.2.1_react-dom@17.0.2+react@17.0.2: 2183 | resolution: {integrity: sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==} 2184 | peerDependencies: 2185 | react: '>=16.8' 2186 | react-dom: '>=16.8' 2187 | dependencies: 2188 | history: 5.2.0 2189 | react: 17.0.2 2190 | react-dom: 17.0.2_react@17.0.2 2191 | react-router: 6.2.1_react@17.0.2 2192 | dev: false 2193 | 2194 | /react-router/6.2.1_react@17.0.2: 2195 | resolution: {integrity: sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==} 2196 | peerDependencies: 2197 | react: '>=16.8' 2198 | dependencies: 2199 | history: 5.2.0 2200 | react: 17.0.2 2201 | dev: false 2202 | 2203 | /react/17.0.2: 2204 | resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} 2205 | engines: {node: '>=0.10.0'} 2206 | dependencies: 2207 | loose-envify: 1.4.0 2208 | object-assign: 4.1.1 2209 | 2210 | /read-pkg-up/7.0.1: 2211 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2212 | engines: {node: '>=8'} 2213 | dependencies: 2214 | find-up: 4.1.0 2215 | read-pkg: 5.2.0 2216 | type-fest: 0.8.1 2217 | dev: true 2218 | 2219 | /read-pkg/5.2.0: 2220 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2221 | engines: {node: '>=8'} 2222 | dependencies: 2223 | '@types/normalize-package-data': 2.4.1 2224 | normalize-package-data: 2.5.0 2225 | parse-json: 5.2.0 2226 | type-fest: 0.6.0 2227 | dev: true 2228 | 2229 | /read-yaml-file/1.1.0: 2230 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} 2231 | engines: {node: '>=6'} 2232 | dependencies: 2233 | graceful-fs: 4.2.9 2234 | js-yaml: 3.14.1 2235 | pify: 4.0.1 2236 | strip-bom: 3.0.0 2237 | dev: true 2238 | 2239 | /readdirp/3.6.0: 2240 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2241 | engines: {node: '>=8.10.0'} 2242 | dependencies: 2243 | picomatch: 2.3.1 2244 | dev: true 2245 | 2246 | /redent/3.0.0: 2247 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 2248 | engines: {node: '>=8'} 2249 | dependencies: 2250 | indent-string: 4.0.0 2251 | strip-indent: 3.0.0 2252 | dev: true 2253 | 2254 | /regenerator-runtime/0.13.9: 2255 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 2256 | 2257 | /require-directory/2.1.1: 2258 | resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} 2259 | engines: {node: '>=0.10.0'} 2260 | dev: true 2261 | 2262 | /require-main-filename/2.0.0: 2263 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} 2264 | dev: true 2265 | 2266 | /resolve-from/5.0.0: 2267 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2268 | engines: {node: '>=8'} 2269 | dev: true 2270 | 2271 | /resolve/1.22.0: 2272 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 2273 | hasBin: true 2274 | dependencies: 2275 | is-core-module: 2.8.1 2276 | path-parse: 1.0.7 2277 | supports-preserve-symlinks-flag: 1.0.0 2278 | 2279 | /reusify/1.0.4: 2280 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2281 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2282 | dev: true 2283 | 2284 | /rollup/2.66.1: 2285 | resolution: {integrity: sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w==} 2286 | engines: {node: '>=10.0.0'} 2287 | hasBin: true 2288 | optionalDependencies: 2289 | fsevents: 2.3.2 2290 | 2291 | /run-parallel/1.2.0: 2292 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2293 | dependencies: 2294 | queue-microtask: 1.2.3 2295 | dev: true 2296 | 2297 | /safe-buffer/5.1.2: 2298 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2299 | dev: false 2300 | 2301 | /safer-buffer/2.1.2: 2302 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2303 | dev: true 2304 | 2305 | /scheduler/0.20.2: 2306 | resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} 2307 | dependencies: 2308 | loose-envify: 1.4.0 2309 | object-assign: 4.1.1 2310 | dev: false 2311 | 2312 | /semver/5.7.1: 2313 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2314 | hasBin: true 2315 | dev: true 2316 | 2317 | /semver/6.3.0: 2318 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2319 | hasBin: true 2320 | dev: false 2321 | 2322 | /set-blocking/2.0.0: 2323 | resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} 2324 | dev: true 2325 | 2326 | /shebang-command/1.2.0: 2327 | resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} 2328 | engines: {node: '>=0.10.0'} 2329 | dependencies: 2330 | shebang-regex: 1.0.0 2331 | dev: true 2332 | 2333 | /shebang-command/2.0.0: 2334 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2335 | engines: {node: '>=8'} 2336 | dependencies: 2337 | shebang-regex: 3.0.0 2338 | 2339 | /shebang-regex/1.0.0: 2340 | resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} 2341 | engines: {node: '>=0.10.0'} 2342 | dev: true 2343 | 2344 | /shebang-regex/3.0.0: 2345 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2346 | engines: {node: '>=8'} 2347 | 2348 | /signal-exit/3.0.6: 2349 | resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} 2350 | 2351 | /slash/3.0.0: 2352 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2353 | engines: {node: '>=8'} 2354 | dev: true 2355 | 2356 | /smartwrap/1.2.5: 2357 | resolution: {integrity: sha512-bzWRwHwu0RnWjwU7dFy7tF68pDAx/zMSu3g7xr9Nx5J0iSImYInglwEVExyHLxXljy6PWMjkSAbwF7t2mPnRmg==} 2358 | deprecated: Backported compatibility to node > 6 2359 | hasBin: true 2360 | dependencies: 2361 | breakword: 1.0.5 2362 | grapheme-splitter: 1.0.4 2363 | strip-ansi: 6.0.1 2364 | wcwidth: 1.0.1 2365 | yargs: 15.4.1 2366 | dev: true 2367 | 2368 | /source-map-js/1.0.2: 2369 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2370 | engines: {node: '>=0.10.0'} 2371 | 2372 | /source-map/0.5.7: 2373 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} 2374 | engines: {node: '>=0.10.0'} 2375 | dev: false 2376 | 2377 | /source-map/0.6.1: 2378 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2379 | engines: {node: '>=0.10.0'} 2380 | 2381 | /source-map/0.7.3: 2382 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} 2383 | engines: {node: '>= 8'} 2384 | dev: true 2385 | 2386 | /sourcemap-codec/1.4.8: 2387 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 2388 | 2389 | /spawndamnit/2.0.0: 2390 | resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} 2391 | dependencies: 2392 | cross-spawn: 5.1.0 2393 | signal-exit: 3.0.6 2394 | dev: true 2395 | 2396 | /spdx-correct/3.1.1: 2397 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 2398 | dependencies: 2399 | spdx-expression-parse: 3.0.1 2400 | spdx-license-ids: 3.0.11 2401 | dev: true 2402 | 2403 | /spdx-exceptions/2.3.0: 2404 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2405 | dev: true 2406 | 2407 | /spdx-expression-parse/3.0.1: 2408 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2409 | dependencies: 2410 | spdx-exceptions: 2.3.0 2411 | spdx-license-ids: 3.0.11 2412 | dev: true 2413 | 2414 | /spdx-license-ids/3.0.11: 2415 | resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} 2416 | dev: true 2417 | 2418 | /sprintf-js/1.0.3: 2419 | resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} 2420 | dev: true 2421 | 2422 | /stream-transform/2.1.3: 2423 | resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} 2424 | dependencies: 2425 | mixme: 0.5.4 2426 | dev: true 2427 | 2428 | /string-width/4.2.3: 2429 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2430 | engines: {node: '>=8'} 2431 | dependencies: 2432 | emoji-regex: 8.0.0 2433 | is-fullwidth-code-point: 3.0.0 2434 | strip-ansi: 6.0.1 2435 | dev: true 2436 | 2437 | /strip-ansi/6.0.1: 2438 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2439 | engines: {node: '>=8'} 2440 | dependencies: 2441 | ansi-regex: 5.0.1 2442 | dev: true 2443 | 2444 | /strip-bom/3.0.0: 2445 | resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} 2446 | engines: {node: '>=4'} 2447 | dev: true 2448 | 2449 | /strip-final-newline/2.0.0: 2450 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2451 | engines: {node: '>=6'} 2452 | dev: true 2453 | 2454 | /strip-final-newline/3.0.0: 2455 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2456 | engines: {node: '>=12'} 2457 | 2458 | /strip-indent/3.0.0: 2459 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 2460 | engines: {node: '>=8'} 2461 | dependencies: 2462 | min-indent: 1.0.1 2463 | dev: true 2464 | 2465 | /sucrase/3.20.3: 2466 | resolution: {integrity: sha512-azqwq0/Bs6RzLAdb4dXxsCgMtAaD2hzmUr4UhSfsxO46JFPAwMnnb441B/qsudZiS6Ylea3JXZe3Q497lsgXzQ==} 2467 | engines: {node: '>=8'} 2468 | hasBin: true 2469 | dependencies: 2470 | commander: 4.1.1 2471 | glob: 7.1.6 2472 | lines-and-columns: 1.2.4 2473 | mz: 2.7.0 2474 | pirates: 4.0.5 2475 | ts-interface-checker: 0.1.13 2476 | dev: true 2477 | 2478 | /supports-color/5.5.0: 2479 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2480 | engines: {node: '>=4'} 2481 | dependencies: 2482 | has-flag: 3.0.0 2483 | 2484 | /supports-color/7.2.0: 2485 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2486 | engines: {node: '>=8'} 2487 | dependencies: 2488 | has-flag: 4.0.0 2489 | dev: true 2490 | 2491 | /supports-preserve-symlinks-flag/1.0.0: 2492 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2493 | engines: {node: '>= 0.4'} 2494 | 2495 | /tasco/0.4.5: 2496 | resolution: {integrity: sha512-189U3/+Ltrf5StLyCWV2Y7SV5ztDbi0ozwIpqocLe/y9uifqxiujMqmlOhJvLQ4IU0jMCl9sfao9lqeb+GEGjQ==} 2497 | hasBin: true 2498 | dependencies: 2499 | execa: 6.0.0 2500 | fast-glob: 3.2.11 2501 | dev: true 2502 | 2503 | /term-size/2.2.1: 2504 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} 2505 | engines: {node: '>=8'} 2506 | dev: true 2507 | 2508 | /thenify-all/1.6.0: 2509 | resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=} 2510 | engines: {node: '>=0.8'} 2511 | dependencies: 2512 | thenify: 3.3.1 2513 | dev: true 2514 | 2515 | /thenify/3.3.1: 2516 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2517 | dependencies: 2518 | any-promise: 1.3.0 2519 | dev: true 2520 | 2521 | /tmp/0.0.33: 2522 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 2523 | engines: {node: '>=0.6.0'} 2524 | dependencies: 2525 | os-tmpdir: 1.0.2 2526 | dev: true 2527 | 2528 | /to-fast-properties/2.0.0: 2529 | resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} 2530 | engines: {node: '>=4'} 2531 | dev: false 2532 | 2533 | /to-regex-range/5.0.1: 2534 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2535 | engines: {node: '>=8.0'} 2536 | dependencies: 2537 | is-number: 7.0.0 2538 | dev: true 2539 | 2540 | /tr46/0.0.3: 2541 | resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} 2542 | dev: true 2543 | 2544 | /tree-kill/1.2.2: 2545 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2546 | hasBin: true 2547 | dev: true 2548 | 2549 | /trim-newlines/3.0.1: 2550 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} 2551 | engines: {node: '>=8'} 2552 | dev: true 2553 | 2554 | /ts-interface-checker/0.1.13: 2555 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2556 | dev: true 2557 | 2558 | /tsup/5.11.12_typescript@4.5.5: 2559 | resolution: {integrity: sha512-zwOcdMaWKgbcJeWQ654OYdCfcy+dj9d3nzutPPmqiDPeHkmxjovIFX6xqvPTcIkMEuTsUgHuQDoJ0qS3r16zqA==} 2560 | hasBin: true 2561 | peerDependencies: 2562 | typescript: ^4.1.0 2563 | peerDependenciesMeta: 2564 | typescript: 2565 | optional: true 2566 | dependencies: 2567 | bundle-require: 3.0.2_esbuild@0.14.14 2568 | cac: 6.7.12 2569 | chokidar: 3.5.3 2570 | debug: 4.3.3 2571 | esbuild: 0.14.14 2572 | execa: 5.1.1 2573 | globby: 11.1.0 2574 | joycon: 3.1.1 2575 | postcss-load-config: 3.1.1 2576 | resolve-from: 5.0.0 2577 | rollup: 2.66.1 2578 | source-map: 0.7.3 2579 | sucrase: 3.20.3 2580 | tree-kill: 1.2.2 2581 | typescript: 4.5.5 2582 | transitivePeerDependencies: 2583 | - supports-color 2584 | - ts-node 2585 | dev: true 2586 | 2587 | /tty-table/2.8.13: 2588 | resolution: {integrity: sha512-eVV/+kB6fIIdx+iUImhXrO22gl7f6VmmYh0Zbu6C196fe1elcHXd7U6LcLXu0YoVPc2kNesWiukYcdK8ZmJ6aQ==} 2589 | engines: {node: '>=8.16.0'} 2590 | hasBin: true 2591 | dependencies: 2592 | chalk: 3.0.0 2593 | csv: 5.5.3 2594 | smartwrap: 1.2.5 2595 | strip-ansi: 6.0.1 2596 | wcwidth: 1.0.1 2597 | yargs: 15.4.1 2598 | dev: true 2599 | 2600 | /type-fest/0.13.1: 2601 | resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} 2602 | engines: {node: '>=10'} 2603 | dev: true 2604 | 2605 | /type-fest/0.6.0: 2606 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 2607 | engines: {node: '>=8'} 2608 | dev: true 2609 | 2610 | /type-fest/0.8.1: 2611 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 2612 | engines: {node: '>=8'} 2613 | dev: true 2614 | 2615 | /typescript/4.5.5: 2616 | resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} 2617 | engines: {node: '>=4.2.0'} 2618 | hasBin: true 2619 | dev: true 2620 | 2621 | /universalify/0.1.2: 2622 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 2623 | engines: {node: '>= 4.0.0'} 2624 | dev: true 2625 | 2626 | /validate-npm-package-license/3.0.4: 2627 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2628 | dependencies: 2629 | spdx-correct: 3.1.1 2630 | spdx-expression-parse: 3.0.1 2631 | dev: true 2632 | 2633 | /vite/2.7.13: 2634 | resolution: {integrity: sha512-Mq8et7f3aK0SgSxjDNfOAimZGW9XryfHRa/uV0jseQSilg+KhYDSoNb9h1rknOy6SuMkvNDLKCYAYYUMCE+IgQ==} 2635 | engines: {node: '>=12.2.0'} 2636 | hasBin: true 2637 | peerDependencies: 2638 | less: '*' 2639 | sass: '*' 2640 | stylus: '*' 2641 | peerDependenciesMeta: 2642 | less: 2643 | optional: true 2644 | sass: 2645 | optional: true 2646 | stylus: 2647 | optional: true 2648 | dependencies: 2649 | esbuild: 0.13.15 2650 | postcss: 8.4.5 2651 | resolve: 1.22.0 2652 | rollup: 2.66.1 2653 | optionalDependencies: 2654 | fsevents: 2.3.2 2655 | dev: false 2656 | 2657 | /vue-router/4.0.12_vue@3.2.29: 2658 | resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==} 2659 | peerDependencies: 2660 | vue: ^3.0.0 2661 | dependencies: 2662 | '@vue/devtools-api': 6.0.0-beta.21.1 2663 | vue: 3.2.29 2664 | dev: false 2665 | 2666 | /vue/3.2.29: 2667 | resolution: {integrity: sha512-cFIwr7LkbtCRanjNvh6r7wp2yUxfxeM2yPpDQpAfaaLIGZSrUmLbNiSze9nhBJt5MrZ68Iqt0O5scwAMEVxF+Q==} 2668 | dependencies: 2669 | '@vue/compiler-dom': 3.2.29 2670 | '@vue/compiler-sfc': 3.2.29 2671 | '@vue/runtime-dom': 3.2.29 2672 | '@vue/server-renderer': 3.2.29_vue@3.2.29 2673 | '@vue/shared': 3.2.29 2674 | 2675 | /wcwidth/1.0.1: 2676 | resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} 2677 | dependencies: 2678 | defaults: 1.0.3 2679 | dev: true 2680 | 2681 | /webidl-conversions/3.0.1: 2682 | resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=} 2683 | dev: true 2684 | 2685 | /whatwg-url/5.0.0: 2686 | resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=} 2687 | dependencies: 2688 | tr46: 0.0.3 2689 | webidl-conversions: 3.0.1 2690 | dev: true 2691 | 2692 | /which-module/2.0.0: 2693 | resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} 2694 | dev: true 2695 | 2696 | /which-pm/2.0.0: 2697 | resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} 2698 | engines: {node: '>=8.15'} 2699 | dependencies: 2700 | load-yaml-file: 0.2.0 2701 | path-exists: 4.0.0 2702 | dev: true 2703 | 2704 | /which/1.3.1: 2705 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2706 | hasBin: true 2707 | dependencies: 2708 | isexe: 2.0.0 2709 | dev: true 2710 | 2711 | /which/2.0.2: 2712 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2713 | engines: {node: '>= 8'} 2714 | hasBin: true 2715 | dependencies: 2716 | isexe: 2.0.0 2717 | 2718 | /wrap-ansi/6.2.0: 2719 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 2720 | engines: {node: '>=8'} 2721 | dependencies: 2722 | ansi-styles: 4.3.0 2723 | string-width: 4.2.3 2724 | strip-ansi: 6.0.1 2725 | dev: true 2726 | 2727 | /wrappy/1.0.2: 2728 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 2729 | dev: true 2730 | 2731 | /y18n/4.0.3: 2732 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} 2733 | dev: true 2734 | 2735 | /yallist/2.1.2: 2736 | resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} 2737 | dev: true 2738 | 2739 | /yaml/1.10.2: 2740 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2741 | engines: {node: '>= 6'} 2742 | dev: true 2743 | 2744 | /yargs-parser/18.1.3: 2745 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 2746 | engines: {node: '>=6'} 2747 | dependencies: 2748 | camelcase: 5.3.1 2749 | decamelize: 1.2.0 2750 | dev: true 2751 | 2752 | /yargs/15.4.1: 2753 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 2754 | engines: {node: '>=8'} 2755 | dependencies: 2756 | cliui: 6.0.0 2757 | decamelize: 1.2.0 2758 | find-up: 4.1.0 2759 | get-caller-file: 2.0.5 2760 | require-directory: 2.1.1 2761 | require-main-filename: 2.0.0 2762 | set-blocking: 2.0.0 2763 | string-width: 4.2.3 2764 | which-module: 2.0.0 2765 | y18n: 4.0.3 2766 | yargs-parser: 18.1.3 2767 | dev: true 2768 | 2769 | /yocto-queue/0.1.0: 2770 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2771 | engines: {node: '>=10'} 2772 | dev: true 2773 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - packages/* 3 | - playground/* 4 | - scripts 5 | -------------------------------------------------------------------------------- /scripts/dev.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import Enquirer from "enquirer" 3 | import { execa } from "execa" 4 | 5 | const packages = await execa("pnpm", [ 6 | "ls", 7 | "-r", 8 | "--depth", 9 | "-1", 10 | "--json", 11 | ]).then((res) => JSON.parse(res.stdout)) 12 | 13 | const { name } = await Enquirer.prompt({ 14 | name: "name", 15 | message: "Choose a package to run", 16 | type: "select", 17 | choices: packages 18 | .filter((p) => p.name.startsWith("test-")) 19 | .map((p) => { 20 | return { 21 | name: p.name, 22 | value: p.name, 23 | } 24 | }), 25 | }) 26 | 27 | execa("tasco", ["run", "--filter", name, "dev"], { 28 | stdio: "inherit", 29 | }) 30 | -------------------------------------------------------------------------------- /scripts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "scripts", 4 | "type": "module", 5 | "dependencies": { 6 | "enquirer": "^2.3.6", 7 | "execa": "^6.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "esnext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | "jsx": "react-jsx" /* Specify what JSX code is generated. */, 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 22 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | 26 | /* Modules */ 27 | "module": "esnext" /* Specify what module code is generated. */, 28 | // "rootDir": "./", /* Specify the root folder within your source files. */ 29 | "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */, 30 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 31 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 32 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 33 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 34 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 35 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 36 | // "resolveJsonModule": true, /* Enable importing .json files */ 37 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 38 | 39 | /* JavaScript Support */ 40 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 41 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 42 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 43 | 44 | /* Emit */ 45 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 46 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 47 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 48 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 49 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 50 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 51 | // "removeComments": true, /* Disable emitting comments. */ 52 | // "noEmit": true, /* Disable emitting files from a compilation. */ 53 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 54 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 55 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 56 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 59 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 60 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 61 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 62 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 63 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 64 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 65 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 66 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 67 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 68 | 69 | /* Interop Constraints */ 70 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 71 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 72 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */, 73 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 74 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 75 | 76 | /* Type Checking */ 77 | "strict": true /* Enable all strict type-checking options. */, 78 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 79 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 80 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 81 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 82 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 83 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 84 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 85 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 86 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 87 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 88 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 89 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 90 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 91 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 92 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 93 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 94 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 95 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 96 | 97 | /* Completeness */ 98 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 99 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 100 | } 101 | } 102 | --------------------------------------------------------------------------------