├── README.md ├── vite.config.ts ├── tsconfig.json ├── test └── commonmark.test.ts ├── package.json ├── scripts └── build.js ├── LICENSE ├── .gitignore ├── src └── index.ts └── pnpm-lock.yaml /README.md: -------------------------------------------------------------------------------- 1 | # `ultramark` 2 | 3 | A tiny, spec-compliant Markdown library. 4 | 5 | > **Warning** 6 | > This is not ready yet! 7 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | esbuild: { 5 | jsxFactory: 'h', 6 | jsxFragment: 'Fragment' 7 | }, 8 | test: { 9 | transformMode: { 10 | web: [/\.[jt]sx$/], 11 | }, 12 | }, 13 | }) 14 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src"], 3 | "compilerOptions": { 4 | "declaration": true, 5 | "emitDeclarationOnly": true, 6 | "strict": true, 7 | "moduleResolution": "NodeNext", 8 | "esModuleInterop": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "allowJs": true, 11 | "module": "NodeNext", 12 | "outDir": "./dist", 13 | "declarationDir": "./dist", 14 | "target": "ES2020", 15 | "jsx": "react", 16 | "jsxFactory": "h", 17 | "jsxFragmentFactory": "Fragment" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/commonmark.test.ts: -------------------------------------------------------------------------------- 1 | import { parse } from "../src"; 2 | import { render } from 'ultrahtml'; 3 | import { describe, expect, it, test } from "vitest"; 4 | import testcases from './commonmark-0.30.json'; 5 | 6 | const sections = new Map>(); 7 | for (const testcase of testcases) { 8 | if (sections.has(testcase.section)) { 9 | sections.get(testcase.section)!.push(testcase); 10 | } else { 11 | sections.set(testcase.section, [testcase]); 12 | } 13 | } 14 | 15 | for (const [section, cases] of sections.entries()) { 16 | describe(section, () => { 17 | for (const { example, markdown, html } of cases) { 18 | it(`${example}`, async () => { 19 | expect(await toHTML(markdown)).toEqual(html); 20 | }) 21 | } 22 | }) 23 | } 24 | 25 | 26 | async function toHTML(markdown: string) { 27 | return parse(markdown) 28 | } 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ultramark", 3 | "type": "module", 4 | "version": "0.0.4", 5 | "types": "./dist/index.d.ts", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/natemoo-re/ultramark" 9 | }, 10 | "bugs": { 11 | "url": "https://github.com/natemoo-re/ultramark/issues" 12 | }, 13 | "homepage": "https://github.com/natemoo-re/ultramark#README", 14 | "scripts": { 15 | "build": "node scripts/build.js && tsc -p .", 16 | "lint": "prettier \"**/*.{js,ts,md}\"", 17 | "dev": "vitest", 18 | "test": "vitest run" 19 | }, 20 | "files": [ 21 | "dist", 22 | "CHANGELOG.md" 23 | ], 24 | "exports": { 25 | ".": { 26 | "types": "./dist/index.d.ts", 27 | "import": "./dist/index.js" 28 | }, 29 | "./package.json": "./package.json" 30 | }, 31 | "keywords": [ 32 | "markdown" 33 | ], 34 | "author": { 35 | "name": "Nate Moore", 36 | "email": "nate@natemoo.re", 37 | "url": "https://twitter.com/n_moore" 38 | }, 39 | "license": "MIT", 40 | "volta": { 41 | "node": "18.7.0" 42 | }, 43 | "packageManager": "pnpm@7.6.0", 44 | "devDependencies": { 45 | "@changesets/cli": "^2.18.1", 46 | "chalk": "^5.2.0", 47 | "esbuild": "^0.14.51", 48 | "globby": "^13.1.3", 49 | "gzip-size": "^7.0.0", 50 | "pretty-bytes": "^6.0.0", 51 | "typescript": "^4.9.4", 52 | "vitest": "^0.20.2" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- 1 | import { build } from "esbuild"; 2 | import { globby } from 'globby'; 3 | import { gzipSizeFromFileSync } from 'gzip-size'; 4 | import bytes from 'pretty-bytes'; 5 | import colors from 'chalk'; 6 | 7 | async function run() { 8 | const files = await globby(['src/**/*.ts']); 9 | const output = {}; 10 | const promises = []; 11 | for (const file of files) { 12 | promises.push( 13 | build({ 14 | metafile: true, 15 | entryPoints: [file], 16 | outfile: file.replace('src', 'dist').replace('.ts', '.js'), 17 | external: ["../selector.js", "../index.js", "./index.js"], 18 | bundle: true, 19 | format: 'esm', 20 | minify: true, 21 | sourcemap: 'external', 22 | target: 'node16', 23 | platform: 'node', 24 | }).then((metadata) => { 25 | const file = Object.keys(metadata.metafile.outputs)[1] 26 | const size = gzipSizeFromFileSync(file); 27 | const b = bytes(size); 28 | output[file] = b; 29 | }) 30 | ) 31 | } 32 | await Promise.all(promises); 33 | for (const [file, size] of Object.entries(output).sort(([a], [b]) => a.localeCompare(b))) { 34 | console.log(`${file} ${colors.green(size)}`); 35 | } 36 | } 37 | 38 | run(); 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Nate Moore 4 | 5 | Permission is hereby granted, free of 6 | charge, to any person obtaining a copy of this software and associated 7 | documentation files (the "Software"), to deal in the Software without 8 | restriction, including without limitation the rights to use, copy, modify, merge, 9 | publish, distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to the 11 | following conditions: 12 | 13 | The above copyright notice and this permission notice 14 | (including the next paragraph) shall be included in all copies or substantial 15 | portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 18 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO 20 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 21 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | 25 | --- 26 | 27 | MD4C: Markdown parser for C 28 | (http://github.com/mity/md4c) 29 | 30 | Copyright (c) 2016-2017 Martin Mitas 31 | 32 | Permission is hereby granted, free of charge, to any person obtaining a 33 | copy of this software and associated documentation files (the "Software"), 34 | to deal in the Software without restriction, including without limitation 35 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 36 | and/or sell copies of the Software, and to permit persons to whom the 37 | Software is furnished to do so, subject to the following conditions: 38 | 39 | The above copyright notice and this permission notice shall be included in 40 | all copies or substantial portions of the Software. 41 | 42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 43 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 44 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 45 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 46 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 47 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 48 | IN THE SOFTWARE. 49 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | .DS_Store 132 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | // (4) Leaf Blocks 2 | const BLOCK_THEMATIC_BREAK = 41; 3 | const BLOCK_HEADING = 42; 4 | const BLOCK_CODE = 45; 5 | const BLOCK_HTML = 46; 6 | const BLOCK_LINK_REFERENCE = 47; 7 | const BLOCK_PARAGRAPH = 48; 8 | // (5) Container Blocks 9 | const BLOCK_QUOTE = 51; 10 | const BLOCK_LIST_ITEM = 52; 11 | const BLOCK_LIST_UNORDERED = 530; 12 | const BLOCK_LIST_ORDERED = 531; 13 | // (6) Inlines 14 | const SPAN_CODE = 61; 15 | const SPAN_EMPHASIS = 620; 16 | const SPAN_STRONG = 621; 17 | const SPAN_STRONG_EMPHASIS = 622; 18 | const SPAN_LINK = 63; 19 | const SPAN_IMAGE = 64; 20 | const SPAN_AUTOLINK = 65; 21 | const SPAN_HTML = 66; 22 | const SPAN_HARD_LINE_BREAK = 67; 23 | const SPAN_SOFT_LINE_BREAK = 68; 24 | const SPAN_TEXT = 69; 25 | 26 | const THEMATIC_BREAK_RE = 27 | /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/; 28 | const BLOCK_QUOTE_MARKER_RE = /^ {0,3}\>/; 29 | const UNORDERED_LIST_MARKER_RE = /^[*+-]\s+/; 30 | const ORDERED_LIST_MARKER_RE = /^(\d{1,9})([.)])/; 31 | const LINK_REFERENCE_RE = /^\[[^\[]+\]:/; 32 | 33 | const WHITESPACE_RE = /[ \t\f\v\r\n]/; 34 | const BLANK_RE = /^[ \t\f\v\r\n]+$/; 35 | 36 | const ATX_HEADING_MARKER_RE = /^#{1,6}(?:[ \t]+|$)/; 37 | const CODE_FENCE_RE = /(^`{3,}(?!.*`)|^~{3,})/; 38 | const CLOSING_CODE_FENCE_RE = /^(?:`{3,}|~{3,})(?=[ \t]*$)/; 39 | const SETEXT_HEADING_LINE_RE = /^(?:=+|-+)[ \t]*$/; 40 | const ALLOWED_LEADING_WHITESPACE_RE = /^ {0,3}(?=\S)/; 41 | const INDENTED_CODE_BLOCK_RE = /(?:(?:^ {4,})|(?:^ {0,3}\t))(?=\S)/; 42 | const BLANK_EMPHASIS_RE = /^[\s_*]+$/; 43 | 44 | const EMAIL_AUTOLINK_RE = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/; 45 | const AUTOLINK_RE = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i; 46 | const DOM_PARSER_RE = 47 | /(?:<(\/?)([!?a-zA-Z][a-zA-Z0-9\:-]*)(?:\s([^>]*?))?((?:\s*\/)?)>|(<\!\-\-)([\s\S]*?)(\-\->)|(<\!)([\s\S]*?)(>))/gm; 48 | const isHTML = (str: string) => { 49 | DOM_PARSER_RE.lastIndex = 0; 50 | return DOM_PARSER_RE.test(str); 51 | } 52 | 53 | const TRAILING_HARD_BREAK_RE = /(?:(?: {2,})|\\)\n/; 54 | 55 | /* In MD_TEXT_NORMAL, collapse non-trivial whitespace into single ' ' */ 56 | const FLAG_COLLAPSE_WHITESPACE = 0x0001; 57 | /* Do not require space in ATX headers ( ###header ) */ 58 | const FLAG_PERMISSIVE_ATX_HEADERS = 0x0002; 59 | /* Recognize URLs as autolinks even without '<', '>' */ 60 | const FLAG_PERMISSIVE_URL_AUTOLINKS = 0x0004; 61 | /* Recognize e-mails as autolinks even without '<', '>' and 'mailto:' */ 62 | const FLAG_PERMISSIVE_EMAIL_AUTOLINKS = 0x0008; 63 | /* Disable indented code blocks. (Only fenced code works.) */ 64 | const FLAG_NO_INDENTED_CODE_BLOCKS = 0x0010; 65 | /* Disable raw HTML blocks. */ 66 | const FLAG_NO_HTML_BLOCKS = 0x0020; 67 | /* Disable raw HTML (inline). */ 68 | const FLAG_NO_HTML_SPANS = 0x0040; 69 | /* Enable tables extension. */ 70 | const FLAG_TABLES = 0x0100; 71 | /* Enable strikethrough extension. */ 72 | const FLAG_STRIKETHROUGH = 0x0200; 73 | /* Enable WWW autolinks (even without any scheme prefix, if they begin with 'www.') */ 74 | const FLAG_PERMISSIVE_WWW_AUTOLINKS = 0x0400; 75 | /* Enable task list extension. */ 76 | const FLAG_TASKLISTS = 0x0800; 77 | /* Enable $ and $$ containing LaTeX equations. */ 78 | const FLAG_LATEX_MATH_SPANS = 0x1000; 79 | /* Enable wiki links extension. */ 80 | const FLAG_WIKILINKS = 0x2000; 81 | /* Enable underline extension (and disables '_' for normal emphasis). */ 82 | const FLAG_UNDERLINE = 0x4000; 83 | 84 | const FLAG_PERMISSIVEAUTOLINKS = 85 | FLAG_PERMISSIVE_EMAIL_AUTOLINKS | 86 | FLAG_PERMISSIVE_URL_AUTOLINKS | 87 | FLAG_PERMISSIVE_WWW_AUTOLINKS; 88 | const FLAG_NOHTML = FLAG_NO_HTML_BLOCKS | FLAG_NO_HTML_SPANS; 89 | 90 | const DIALECT_COMMONMARK = 0; 91 | const DIALECT_GITHUB = 92 | FLAG_PERMISSIVEAUTOLINKS | FLAG_TABLES | FLAG_STRIKETHROUGH | FLAG_TASKLISTS; 93 | 94 | function encode(str: string) { 95 | return str.replace(/&/g, '&').replace(/"/g, '"').replace(//g, '>'); 96 | } 97 | 98 | function unescape(str: string = '') { 99 | let result = ''; 100 | for (let i = 0; i < str.length; i++) { 101 | const c = str[i]; 102 | if (c === '\\' && str[i + 1]) continue; 103 | result += c; 104 | } 105 | return result; 106 | } 107 | 108 | function dedent(str: string) { 109 | return str.replace(RegExp('^'+(str.match(/^(\t| )+/) || '')[0], 'gm'), ''); 110 | } 111 | 112 | function trim(line: string, flags: number) { 113 | if (flags & FLAG_NO_INDENTED_CODE_BLOCKS) return line.trimStart(); 114 | return line.replace(ALLOWED_LEADING_WHITESPACE_RE, ''); 115 | } 116 | 117 | function extractATXHeading(line: string): [string, number] { 118 | const [marker] = ATX_HEADING_MARKER_RE.exec(line) ?? ['#']; 119 | return [line.slice(marker.length).replace(/^[ \t]*#+[ \t]*$/, "").replace(/[ \t]+#+[ \t]*$/, "").trim(), marker.trim().length]; 120 | } 121 | function extractLinkDefinition(inline: string): string[] { 122 | if (inline[0] === '[') return ['', '', inline.slice(1, -1)]; 123 | if (inline[0] !== '(') return [inline]; 124 | inline = inline.slice(1, -1); 125 | const [href, ...title] = inline.split(/\s+/); 126 | 127 | return [href.replace(/(^<|>$)/g, ''), title.join(' ').slice(1, -1)]; 128 | } 129 | function extractCodeSpan(inline: string): string { 130 | if (BLANK_RE.test(inline)) return inline; 131 | inline = inline.replace(/\n/g, ' '); 132 | if (inline.length > 1 && inline[0] === ' ' && inline[inline.length - 1] === ' ') return inline.slice(1, -1); 133 | return inline; 134 | } 135 | 136 | function extractLinkReferences(lines: string): any[] { 137 | let references: any[] = []; 138 | let buf = ''; 139 | for (let i = 0; i < lines.length; i++) { 140 | const c = lines[i]; 141 | const item = references.length > 0 ? references[references.length - 1] : []; 142 | if (c === '\\') { 143 | buf += c + lines[i + 1]; 144 | i++; 145 | continue; 146 | } 147 | if (c === '[') { 148 | if (item.length === 2 && buf) { 149 | // TODO: fix slice here 150 | item.push(buf.trim().slice(1, -1)); 151 | buf = ''; 152 | } 153 | references.push([]); 154 | continue; 155 | } 156 | if (c === ']' && lines[i + 1] === ':') { 157 | item.push(buf); 158 | i++; 159 | continue; 160 | } 161 | if (item.length === 1) { 162 | if (buf[0] === '<' && c === '>') { 163 | item.push(buf.slice(1)); 164 | buf = ''; 165 | continue; 166 | } 167 | if (WHITESPACE_RE.test(c)) { 168 | if (buf === item[0]) { 169 | buf = ''; 170 | continue; 171 | } else if (buf[0] !== '<') { 172 | item.push(buf); 173 | buf = ''; 174 | continue; 175 | } 176 | } 177 | } 178 | 179 | buf += c; 180 | } 181 | const item = references[references.length - 1]; 182 | if (item.length === 2 && buf) { 183 | // TODO: fix slice here 184 | item.push(buf.trim().slice(1, -1)); 185 | buf = ''; 186 | } 187 | return references; 188 | } 189 | 190 | function removeLeadingPattern(input: string, re: RegExp): string { 191 | const lines = input.split(/\r?\n/); 192 | let output = ''; 193 | for (const line of lines) { 194 | output += line.replace(re, ''); 195 | output += '\n'; 196 | } 197 | return output 198 | } 199 | 200 | function* blocks(input: string, flags: number, ctx: any): Generator { 201 | const lines = input.split(/\r?\n/); 202 | let chunk = ''; 203 | let chunkType = BLOCK_PARAGRAPH; 204 | let chunkDetail: any[] = []; 205 | 206 | function* flush(): Generator { 207 | if (chunk) { 208 | if (INDENTED_CODE_BLOCK_RE.test(chunk)) { 209 | yield [BLOCK_CODE, chunk.trimStart() + '\n']; 210 | } else if (chunkType === BLOCK_CODE) { 211 | yield [BLOCK_CODE, chunk + '\n', chunkDetail[1]] 212 | } else if (chunkType === BLOCK_QUOTE) { 213 | yield [BLOCK_QUOTE, null, 1] 214 | yield* blocks(removeLeadingPattern(chunk, BLOCK_QUOTE_MARKER_RE), flags, ctx); 215 | yield [BLOCK_QUOTE, null, -1] 216 | } else if (chunkType === BLOCK_LIST_ORDERED || chunkType === BLOCK_LIST_UNORDERED) { 217 | yield [chunkType, null, 1] 218 | for (const block of blocks(removeLeadingPattern(dedent(chunk), chunkType === BLOCK_LIST_ORDERED ? ORDERED_LIST_MARKER_RE : UNORDERED_LIST_MARKER_RE), flags, ctx)) { 219 | if (block[0] === BLOCK_PARAGRAPH) { 220 | block[0] = BLOCK_LIST_ITEM; 221 | } 222 | yield block; 223 | } 224 | yield [chunkType, null, -1] 225 | } else { 226 | yield [chunkType, chunk.trim(), chunkDetail]; 227 | } 228 | } 229 | 230 | chunk = ''; 231 | chunkType = BLOCK_PARAGRAPH; 232 | chunkDetail = []; 233 | } 234 | 235 | for (let i = 0; i < lines.length; i++) { 236 | let line = lines[i]; 237 | const next = lines[i + 1] ?? ''; 238 | 239 | if (!line.trim()) { 240 | yield* flush(); 241 | continue; 242 | } 243 | 244 | if (THEMATIC_BREAK_RE.test(trim(line, flags))) { 245 | yield* flush(); 246 | yield [BLOCK_THEMATIC_BREAK]; 247 | continue; 248 | } else if (next && SETEXT_HEADING_LINE_RE.test(next)) { 249 | yield* flush(); 250 | yield [BLOCK_HEADING, line.trim(), next[0] === '=' ? 1 : 2]; 251 | i++; 252 | continue; 253 | } else if (ATX_HEADING_MARKER_RE.test(trim(line, flags))) { 254 | yield* flush(); 255 | yield [BLOCK_HEADING, ...extractATXHeading(trim(line, flags))] 256 | continue; 257 | } else if (chunkType === BLOCK_CODE && CLOSING_CODE_FENCE_RE.test(line)) { 258 | if (line === chunkDetail[0]) { 259 | yield* flush(); 260 | continue; 261 | } 262 | // Fall-through 263 | } else if (CODE_FENCE_RE.test(line)) { 264 | chunkType = BLOCK_CODE; 265 | const marker = CODE_FENCE_RE.exec(line)![1]; 266 | const detail = line.slice(marker.length) 267 | let lang = ''; 268 | let attr = ''; 269 | if (detail) { 270 | const [tag, ...attrs] = detail.trim().split(/\s+/); 271 | lang = tag; 272 | attr = attrs.join(' '); 273 | } 274 | chunkDetail = [marker, lang, attr] 275 | continue; 276 | } else if (BLOCK_QUOTE_MARKER_RE.test(trim(line, flags)) && chunkType !== BLOCK_QUOTE) { 277 | yield* flush(); 278 | chunkType = BLOCK_QUOTE; 279 | } else if (chunkType === BLOCK_QUOTE && !BLOCK_QUOTE_MARKER_RE.test(line)) { 280 | yield* flush(); 281 | } else if (UNORDERED_LIST_MARKER_RE.test(trim(line, flags))) { 282 | yield* flush(); 283 | chunkType = BLOCK_LIST_UNORDERED; 284 | } else if (chunkType === BLOCK_LIST_UNORDERED && !UNORDERED_LIST_MARKER_RE.test(line)) { 285 | yield* flush(); 286 | } else if (ORDERED_LIST_MARKER_RE.test(trim(line, flags)) && chunkType !== BLOCK_LIST_ORDERED) { 287 | yield* flush(); 288 | chunkType = BLOCK_LIST_ORDERED; 289 | } else if (chunkType === BLOCK_LIST_ORDERED && !ORDERED_LIST_MARKER_RE.test(line)) { 290 | yield* flush(); 291 | } else if (LINK_REFERENCE_RE.test(line)) { 292 | chunkType = BLOCK_LINK_REFERENCE; 293 | } 294 | 295 | if (chunk != '') { 296 | chunk += '\n'; 297 | } 298 | chunk += line; 299 | } 300 | 301 | yield* flush(); 302 | } 303 | 304 | const SPECIAL_RE = /^[_*`]/; 305 | const BRACES_RE = /^[\[\]]/; 306 | 307 | function isSpecial(str: string) { 308 | return SPECIAL_RE.test(str) || BRACES_RE.test(str); 309 | } 310 | 311 | function* inlineTokenize(input: string) { 312 | let sequence = ''; 313 | 314 | function* flush(c: string = '') { 315 | if (sequence) yield sequence; 316 | sequence = c; 317 | } 318 | for (let i = 0; i < input.length; i++) { 319 | const c = input[i]; 320 | const next = input[i + 1] ?? ''; 321 | 322 | if (c === '<' && isHTML(input.slice(i))) { 323 | yield* flush(); 324 | const text = input.slice(i); 325 | yield text; 326 | i += text.length; 327 | continue; 328 | } 329 | 330 | if (WHITESPACE_RE.test(c)) { 331 | if (!WHITESPACE_RE.test(sequence)) { 332 | yield* flush() 333 | } 334 | sequence += c; 335 | continue; 336 | } 337 | 338 | if ((isSpecial(sequence) && ((sequence[0] !== '`' && sequence.length === 2) || !SPECIAL_RE.test(c))) || (WHITESPACE_RE.test(sequence) && !WHITESPACE_RE.test(c))) { 339 | yield* flush(); 340 | } 341 | 342 | switch (true) { 343 | case c === '\\': { 344 | if (next === '`') { 345 | sequence += c; 346 | continue; 347 | } 348 | if (next === '\n') { 349 | yield* flush(); 350 | } 351 | sequence += c; 352 | if (next) sequence += next; 353 | i++; 354 | break; 355 | } 356 | case SPECIAL_RE.test(c): 357 | if (!sequence || sequence[0] === c) { 358 | sequence += c; 359 | } else { 360 | yield* flush(c) 361 | } 362 | break; 363 | case BRACES_RE.test(c): 364 | yield* flush(); 365 | yield c; 366 | break; 367 | case c === '!': 368 | if (next === '[') { 369 | yield* flush(); 370 | yield '![' 371 | i++; 372 | } else { 373 | sequence += c; 374 | } 375 | break; 376 | default: 377 | sequence += c; 378 | break; 379 | } 380 | } 381 | yield sequence; 382 | } 383 | 384 | const modifiers: Record = { '*': SPAN_EMPHASIS, '_': SPAN_EMPHASIS, '__': SPAN_STRONG, '**': SPAN_STRONG, '***': SPAN_STRONG_EMPHASIS, '___': SPAN_STRONG_EMPHASIS, '[': SPAN_LINK, '![': SPAN_IMAGE, '`': SPAN_CODE, '``': SPAN_CODE } 385 | function needles(token: string) { 386 | if (token === '[' || token === '![') return [']']; 387 | if (token[0] === '`') return [token]; 388 | if (token.length === 2) return [token, token[0]]; 389 | return [token] 390 | } 391 | function* inlines(input: string, opts: Options): Generator { 392 | let tokens = Array.from(inlineTokenize(input)); 393 | 394 | outer: for (let i = 0; i < tokens.length; i++) { 395 | const token = tokens[i]; 396 | 397 | if (token[0] === '`') { 398 | const needle = needles(token); 399 | for (let j = i + 1; j < tokens.length; j++) { 400 | const closer = tokens[j]; 401 | for (const n of needle) { 402 | if (closer === n) { 403 | yield [SPAN_CODE, extractCodeSpan(tokens.slice(i + 1, j).join(''))]; 404 | i = j; 405 | continue outer; 406 | } 407 | } 408 | } 409 | } 410 | 411 | if (token === '[' || token === '![') { 412 | const needle = [']']; 413 | for (let j = i + 1; j < tokens.length; j++) { 414 | const closer = tokens[j]; 415 | for (const n of needle) { 416 | if (closer === n) { 417 | const text = tokens.slice(i + 1, j).join(''); 418 | let tail = tokens.slice(j + 1); 419 | 420 | if (tail[0][0] === '(') { 421 | const k = tail.findIndex(value => value.endsWith(')')); 422 | tail = tail.slice(0, k + 1); 423 | } else if (tail[0][0] === '[') { 424 | const k = tail.findIndex(value => value.endsWith(']')); 425 | tail = tail.slice(0, k + 1); 426 | } else { 427 | tail = []; 428 | } 429 | 430 | yield [modifiers[token], text, extractLinkDefinition(tail.join(''))]; 431 | i = j; 432 | i += tail.length; 433 | continue outer; 434 | } 435 | } 436 | } 437 | } 438 | 439 | if (isSpecial(token)) { 440 | const needle = needles(token); 441 | for (let j = tokens.length - 1; j > i; j--) { 442 | const opener = tokens[j]; 443 | if (opener[0] === '`') { 444 | yield [SPAN_TEXT, token] 445 | continue outer; 446 | } 447 | if (opener[0] === '[' || opener[0] === '![') { 448 | yield [SPAN_TEXT, token] 449 | continue outer; 450 | } 451 | for (const n of needle) { 452 | if (opener === n) { 453 | const text = tokens.slice(i + 1, j).join(''); 454 | if (text.length === 0 || BLANK_EMPHASIS_RE.test(text)) { 455 | yield [SPAN_TEXT, token]; 456 | continue outer; 457 | } 458 | yield [modifiers[opener], text, []]; 459 | i = j; 460 | continue outer; 461 | } 462 | } 463 | } 464 | } 465 | 466 | if (AUTOLINK_RE.test(token) || EMAIL_AUTOLINK_RE.test(token)) { 467 | yield [SPAN_AUTOLINK, token.slice(1, -1)]; 468 | } else if (isHTML(token)) { 469 | yield [SPAN_HTML, token] 470 | } else if (TRAILING_HARD_BREAK_RE.test(token)) { 471 | yield [SPAN_HARD_LINE_BREAK]; 472 | } else { 473 | yield [SPAN_TEXT, token] 474 | } 475 | } 476 | } 477 | 478 | interface Options { 479 | mode?: 'default' | 'inline'; 480 | unsafeHTML?: boolean; 481 | gfm?: boolean; 482 | } 483 | 484 | function resolveFlags(opts: Options): number { 485 | let flags = opts.gfm ? DIALECT_GITHUB : DIALECT_COMMONMARK; 486 | if (!opts.unsafeHTML) { 487 | flags = flags | FLAG_NOHTML; 488 | } 489 | return flags; 490 | } 491 | 492 | function parseInline(input: string, opts: Options, ctx: any) { 493 | let result = '' 494 | 495 | for (let [inline, text, detail] of inlines(input, opts)) { 496 | switch (inline) { 497 | case SPAN_CODE: { 498 | result += `${text}`; 499 | break; 500 | } 501 | case SPAN_EMPHASIS: { 502 | result += `${parseInline(text, opts, ctx)}`; 503 | break; 504 | } 505 | case SPAN_STRONG: { 506 | result += `${parseInline(text, opts, ctx)}`; 507 | break; 508 | } 509 | case SPAN_LINK: { 510 | if (!detail[0]) detail = ctx.refs.find((ref: any[]) => ref[0].toLowerCase() === text.toLowerCase() || ref[0].toLowerCase() === detail[2].toLowerCase()) ?? [] 511 | if (detail[0]) { 512 | result += `${parseInline(text, opts, ctx)}`; 513 | } else { 514 | result += `[${encode(unescape(text))}]`; 515 | } 516 | break; 517 | } 518 | case SPAN_IMAGE: { 519 | if (!detail[0]) detail = ctx.refs.find((ref: any[]) => ref[0].toLowerCase() === text.toLowerCase() || ref[0].toLowerCase() === detail[2].toLowerCase())?.slice(1) ?? []; 520 | result += `${text.replace(/[*_\[\]]|!\[|(\([^(]+\))/g, '')}`; 521 | break; 522 | } 523 | case SPAN_AUTOLINK: { 524 | result += `${text}`; 525 | break; 526 | } 527 | case SPAN_TEXT: { 528 | result += encode(unescape(text)).replace(/\s{0,1}\n/g, '\n'); 529 | break; 530 | } 531 | case SPAN_HTML: { 532 | result += text; 533 | break; 534 | } 535 | case SPAN_HARD_LINE_BREAK: { 536 | result += `
\n`; 537 | break; 538 | } 539 | } 540 | } 541 | 542 | return result; 543 | } 544 | 545 | export function parse(input: string, opts: Options = {}) { 546 | if (opts.mode === 'inline') return parseInline(input, opts, {}); 547 | 548 | const flags = resolveFlags(opts); 549 | const _blocks = Array.from(blocks(input, flags, {})); 550 | 551 | const refs = _blocks.filter(b => b[0] === BLOCK_LINK_REFERENCE).map(b => extractLinkReferences(b[1])).flat(1); 552 | const content = _blocks.filter(b => b[0] !== BLOCK_LINK_REFERENCE); 553 | let result = '' 554 | const ctx: any = { refs }; 555 | for (const [block, children, detail] of content) { 556 | switch (block) { 557 | case BLOCK_QUOTE: { 558 | result += `<${detail === 1 ? '' : '/'}blockquote>`; 559 | break; 560 | } 561 | case BLOCK_LIST_ITEM: { 562 | result += `
  • ${children}
  • `; 563 | break; 564 | } 565 | case BLOCK_LIST_ORDERED: { 566 | result += `<${detail === 1 ? '' : '/'}ol>`; 567 | break; 568 | } 569 | case BLOCK_LIST_UNORDERED: { 570 | result += `<${detail === 1 ? '' : '/'}ul>`; 571 | break; 572 | } 573 | case BLOCK_THEMATIC_BREAK: { 574 | result += '
    '; 575 | break; 576 | } 577 | case BLOCK_HEADING: { 578 | result += `${parseInline(children, opts, ctx)}`; 579 | break; 580 | } 581 | case BLOCK_PARAGRAPH: { 582 | result += `

    ${parseInline(children, opts, ctx).replace(/^\s+/gm, '')}

    `; 583 | break; 584 | } 585 | case BLOCK_CODE: { 586 | const lang = unescape(detail); 587 | result += `
    ${children}
    ` 588 | break; 589 | } 590 | } 591 | if (block) { 592 | result += '\n'; 593 | } 594 | } 595 | return result; 596 | } 597 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@changesets/cli': ^2.18.1 5 | chalk: ^5.2.0 6 | esbuild: ^0.14.51 7 | globby: ^13.1.3 8 | gzip-size: ^7.0.0 9 | pretty-bytes: ^6.0.0 10 | typescript: ^4.9.4 11 | vitest: ^0.20.2 12 | 13 | devDependencies: 14 | '@changesets/cli': 2.24.1 15 | chalk: 5.2.0 16 | esbuild: 0.14.51 17 | globby: 13.1.3 18 | gzip-size: 7.0.0 19 | pretty-bytes: 6.0.0 20 | typescript: 4.9.4 21 | vitest: 0.20.2 22 | 23 | packages: 24 | 25 | /@babel/code-frame/7.18.6: 26 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 27 | engines: {node: '>=6.9.0'} 28 | dependencies: 29 | '@babel/highlight': 7.18.6 30 | dev: true 31 | 32 | /@babel/helper-validator-identifier/7.18.6: 33 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 34 | engines: {node: '>=6.9.0'} 35 | dev: true 36 | 37 | /@babel/highlight/7.18.6: 38 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 39 | engines: {node: '>=6.9.0'} 40 | dependencies: 41 | '@babel/helper-validator-identifier': 7.18.6 42 | chalk: 2.4.2 43 | js-tokens: 4.0.0 44 | dev: true 45 | 46 | /@babel/runtime/7.18.9: 47 | resolution: {integrity: sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==} 48 | engines: {node: '>=6.9.0'} 49 | dependencies: 50 | regenerator-runtime: 0.13.9 51 | dev: true 52 | 53 | /@changesets/apply-release-plan/6.0.3: 54 | resolution: {integrity: sha512-/3JKqtDefs2YSEQI6JQo43/MKTLfhPdrW/BFmqnRpW8UmPB+YXjjQgfjR/2KOaObLOkoixcL3WCK4wNkn/Krmw==} 55 | dependencies: 56 | '@babel/runtime': 7.18.9 57 | '@changesets/config': 2.1.0 58 | '@changesets/get-version-range-type': 0.3.2 59 | '@changesets/git': 1.4.1 60 | '@changesets/types': 5.1.0 61 | '@manypkg/get-packages': 1.1.3 62 | detect-indent: 6.1.0 63 | fs-extra: 7.0.1 64 | lodash.startcase: 4.4.0 65 | outdent: 0.5.0 66 | prettier: 1.19.1 67 | resolve-from: 5.0.0 68 | semver: 5.7.1 69 | dev: true 70 | 71 | /@changesets/assemble-release-plan/5.2.0: 72 | resolution: {integrity: sha512-ewY24PEbSec2eKX0+KM7eyENA2hUUp6s4LF9p/iBxTtc+TX2Xbx5rZnlLKZkc8tpuQ3PZbyjLFXWhd1PP6SjCg==} 73 | dependencies: 74 | '@babel/runtime': 7.18.9 75 | '@changesets/errors': 0.1.4 76 | '@changesets/get-dependents-graph': 1.3.3 77 | '@changesets/types': 5.1.0 78 | '@manypkg/get-packages': 1.1.3 79 | semver: 5.7.1 80 | dev: true 81 | 82 | /@changesets/changelog-git/0.1.12: 83 | resolution: {integrity: sha512-Xv2CPjTBmwjl8l4ZyQ3xrsXZMq8WafPUpEonDpTmcb24XY8keVzt7ZSCJuDz035EiqrjmDKDhODoQ6XiHudlig==} 84 | dependencies: 85 | '@changesets/types': 5.1.0 86 | dev: true 87 | 88 | /@changesets/cli/2.24.1: 89 | resolution: {integrity: sha512-7Lz1inqGQjBrXgnXlENtzQ7EmO/9c+09d9oi8XoK4ARqlJe8GpafjqKRobcjcA/TTI7Fn2+cke4CrXFZfVF8Rw==} 90 | hasBin: true 91 | dependencies: 92 | '@babel/runtime': 7.18.9 93 | '@changesets/apply-release-plan': 6.0.3 94 | '@changesets/assemble-release-plan': 5.2.0 95 | '@changesets/changelog-git': 0.1.12 96 | '@changesets/config': 2.1.0 97 | '@changesets/errors': 0.1.4 98 | '@changesets/get-dependents-graph': 1.3.3 99 | '@changesets/get-release-plan': 3.0.12 100 | '@changesets/git': 1.4.1 101 | '@changesets/logger': 0.0.5 102 | '@changesets/pre': 1.0.12 103 | '@changesets/read': 0.5.7 104 | '@changesets/types': 5.1.0 105 | '@changesets/write': 0.1.9 106 | '@manypkg/get-packages': 1.1.3 107 | '@types/is-ci': 3.0.0 108 | '@types/semver': 6.2.3 109 | ansi-colors: 4.1.3 110 | chalk: 2.4.2 111 | enquirer: 2.3.6 112 | external-editor: 3.1.0 113 | fs-extra: 7.0.1 114 | human-id: 1.0.2 115 | is-ci: 3.0.1 116 | meow: 6.1.1 117 | outdent: 0.5.0 118 | p-limit: 2.3.0 119 | preferred-pm: 3.0.3 120 | resolve-from: 5.0.0 121 | semver: 5.7.1 122 | spawndamnit: 2.0.0 123 | term-size: 2.2.1 124 | tty-table: 4.1.6 125 | dev: true 126 | 127 | /@changesets/config/2.1.0: 128 | resolution: {integrity: sha512-43potf+DwYHmH7EY19vxtCq6fqj7UUIrZ4DTwM3pVBqCKxFIytm7GPy7wNAsH06UvMw7NRuOu4QK5HN02GsIrw==} 129 | dependencies: 130 | '@changesets/errors': 0.1.4 131 | '@changesets/get-dependents-graph': 1.3.3 132 | '@changesets/logger': 0.0.5 133 | '@changesets/types': 5.1.0 134 | '@manypkg/get-packages': 1.1.3 135 | fs-extra: 7.0.1 136 | micromatch: 4.0.5 137 | dev: true 138 | 139 | /@changesets/errors/0.1.4: 140 | resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} 141 | dependencies: 142 | extendable-error: 0.1.7 143 | dev: true 144 | 145 | /@changesets/get-dependents-graph/1.3.3: 146 | resolution: {integrity: sha512-h4fHEIt6X+zbxdcznt1e8QD7xgsXRAXd2qzLlyxoRDFSa6SxJrDAUyh7ZUNdhjBU4Byvp4+6acVWVgzmTy4UNQ==} 147 | dependencies: 148 | '@changesets/types': 5.1.0 149 | '@manypkg/get-packages': 1.1.3 150 | chalk: 2.4.2 151 | fs-extra: 7.0.1 152 | semver: 5.7.1 153 | dev: true 154 | 155 | /@changesets/get-release-plan/3.0.12: 156 | resolution: {integrity: sha512-TlpEdpxV5ZQmNeHoD6KNKAc01wjRrcu9/CQqzmO4qAlX7ARA4pIuAxd8QZ1AQXv/l4qhHox7SUYH3VLHfarv5w==} 157 | dependencies: 158 | '@babel/runtime': 7.18.9 159 | '@changesets/assemble-release-plan': 5.2.0 160 | '@changesets/config': 2.1.0 161 | '@changesets/pre': 1.0.12 162 | '@changesets/read': 0.5.7 163 | '@changesets/types': 5.1.0 164 | '@manypkg/get-packages': 1.1.3 165 | dev: true 166 | 167 | /@changesets/get-version-range-type/0.3.2: 168 | resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} 169 | dev: true 170 | 171 | /@changesets/git/1.4.1: 172 | resolution: {integrity: sha512-GWwRXEqBsQ3nEYcyvY/u2xUK86EKAevSoKV/IhELoZ13caZ1A1TSak/71vyKILtzuLnFPk5mepP5HjBxr7lZ9Q==} 173 | dependencies: 174 | '@babel/runtime': 7.18.9 175 | '@changesets/errors': 0.1.4 176 | '@changesets/types': 5.1.0 177 | '@manypkg/get-packages': 1.1.3 178 | is-subdir: 1.2.0 179 | spawndamnit: 2.0.0 180 | dev: true 181 | 182 | /@changesets/logger/0.0.5: 183 | resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} 184 | dependencies: 185 | chalk: 2.4.2 186 | dev: true 187 | 188 | /@changesets/parse/0.3.14: 189 | resolution: {integrity: sha512-SWnNVyC9vz61ueTbuxvA6b4HXcSx2iaWr2VEa37lPg1Vw+cEyQp7lOB219P7uow1xFfdtIEEsxbzXnqLAAaY8w==} 190 | dependencies: 191 | '@changesets/types': 5.1.0 192 | js-yaml: 3.14.1 193 | dev: true 194 | 195 | /@changesets/pre/1.0.12: 196 | resolution: {integrity: sha512-RFzWYBZx56MtgMesXjxx7ymyI829/rcIw/41hvz3VJPnY8mDscN7RJyYu7Xm7vts2Fcd+SRcO0T/Ws3I1/6J7g==} 197 | dependencies: 198 | '@babel/runtime': 7.18.9 199 | '@changesets/errors': 0.1.4 200 | '@changesets/types': 5.1.0 201 | '@manypkg/get-packages': 1.1.3 202 | fs-extra: 7.0.1 203 | dev: true 204 | 205 | /@changesets/read/0.5.7: 206 | resolution: {integrity: sha512-Iteg0ccTPpkJ+qFzY97k7qqdVE5Kz30TqPo9GibpBk2g8tcLFUqf+Qd0iXPLcyhUZpPL1U6Hia1gINHNKIKx4g==} 207 | dependencies: 208 | '@babel/runtime': 7.18.9 209 | '@changesets/git': 1.4.1 210 | '@changesets/logger': 0.0.5 211 | '@changesets/parse': 0.3.14 212 | '@changesets/types': 5.1.0 213 | chalk: 2.4.2 214 | fs-extra: 7.0.1 215 | p-filter: 2.1.0 216 | dev: true 217 | 218 | /@changesets/types/4.1.0: 219 | resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} 220 | dev: true 221 | 222 | /@changesets/types/5.1.0: 223 | resolution: {integrity: sha512-uUByGATZCdaPkaO9JkBsgGDjEvHyY2Sb0e/J23+cwxBi5h0fxpLF/HObggO/Fw8T2nxK6zDfJbPsdQt5RwYFJA==} 224 | dev: true 225 | 226 | /@changesets/write/0.1.9: 227 | resolution: {integrity: sha512-E90ZrsrfJVOOQaP3Mm5Xd7uDwBAqq3z5paVEavTHKA8wxi7NAL8CmjgbGxSFuiP7ubnJA2BuHlrdE4z86voGOg==} 228 | dependencies: 229 | '@babel/runtime': 7.18.9 230 | '@changesets/types': 5.1.0 231 | fs-extra: 7.0.1 232 | human-id: 1.0.2 233 | prettier: 1.19.1 234 | dev: true 235 | 236 | /@manypkg/find-root/1.1.0: 237 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} 238 | dependencies: 239 | '@babel/runtime': 7.18.9 240 | '@types/node': 12.20.55 241 | find-up: 4.1.0 242 | fs-extra: 8.1.0 243 | dev: true 244 | 245 | /@manypkg/get-packages/1.1.3: 246 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 247 | dependencies: 248 | '@babel/runtime': 7.18.9 249 | '@changesets/types': 4.1.0 250 | '@manypkg/find-root': 1.1.0 251 | fs-extra: 8.1.0 252 | globby: 11.1.0 253 | read-yaml-file: 1.1.0 254 | dev: true 255 | 256 | /@nodelib/fs.scandir/2.1.5: 257 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 258 | engines: {node: '>= 8'} 259 | dependencies: 260 | '@nodelib/fs.stat': 2.0.5 261 | run-parallel: 1.2.0 262 | dev: true 263 | 264 | /@nodelib/fs.stat/2.0.5: 265 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 266 | engines: {node: '>= 8'} 267 | dev: true 268 | 269 | /@nodelib/fs.walk/1.2.8: 270 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 271 | engines: {node: '>= 8'} 272 | dependencies: 273 | '@nodelib/fs.scandir': 2.1.5 274 | fastq: 1.13.0 275 | dev: true 276 | 277 | /@types/chai-subset/1.3.3: 278 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 279 | dependencies: 280 | '@types/chai': 4.3.1 281 | dev: true 282 | 283 | /@types/chai/4.3.1: 284 | resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==} 285 | dev: true 286 | 287 | /@types/is-ci/3.0.0: 288 | resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} 289 | dependencies: 290 | ci-info: 3.3.2 291 | dev: true 292 | 293 | /@types/minimist/1.2.2: 294 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 295 | dev: true 296 | 297 | /@types/node/12.20.55: 298 | resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} 299 | dev: true 300 | 301 | /@types/node/18.6.3: 302 | resolution: {integrity: sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==} 303 | dev: true 304 | 305 | /@types/normalize-package-data/2.4.1: 306 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 307 | dev: true 308 | 309 | /@types/semver/6.2.3: 310 | resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} 311 | dev: true 312 | 313 | /ansi-colors/4.1.3: 314 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 315 | engines: {node: '>=6'} 316 | dev: true 317 | 318 | /ansi-regex/5.0.1: 319 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 320 | engines: {node: '>=8'} 321 | dev: true 322 | 323 | /ansi-styles/3.2.1: 324 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 325 | engines: {node: '>=4'} 326 | dependencies: 327 | color-convert: 1.9.3 328 | dev: true 329 | 330 | /ansi-styles/4.3.0: 331 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 332 | engines: {node: '>=8'} 333 | dependencies: 334 | color-convert: 2.0.1 335 | dev: true 336 | 337 | /argparse/1.0.10: 338 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 339 | dependencies: 340 | sprintf-js: 1.0.3 341 | dev: true 342 | 343 | /array-union/2.1.0: 344 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 345 | engines: {node: '>=8'} 346 | dev: true 347 | 348 | /array.prototype.flat/1.3.0: 349 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 350 | engines: {node: '>= 0.4'} 351 | dependencies: 352 | call-bind: 1.0.2 353 | define-properties: 1.1.4 354 | es-abstract: 1.20.1 355 | es-shim-unscopables: 1.0.0 356 | dev: true 357 | 358 | /arrify/1.0.1: 359 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 360 | engines: {node: '>=0.10.0'} 361 | dev: true 362 | 363 | /assertion-error/1.1.0: 364 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 365 | dev: true 366 | 367 | /better-path-resolve/1.0.0: 368 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} 369 | engines: {node: '>=4'} 370 | dependencies: 371 | is-windows: 1.0.2 372 | dev: true 373 | 374 | /braces/3.0.2: 375 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 376 | engines: {node: '>=8'} 377 | dependencies: 378 | fill-range: 7.0.1 379 | dev: true 380 | 381 | /breakword/1.0.5: 382 | resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} 383 | dependencies: 384 | wcwidth: 1.0.1 385 | dev: true 386 | 387 | /call-bind/1.0.2: 388 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 389 | dependencies: 390 | function-bind: 1.1.1 391 | get-intrinsic: 1.1.2 392 | dev: true 393 | 394 | /camelcase-keys/6.2.2: 395 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} 396 | engines: {node: '>=8'} 397 | dependencies: 398 | camelcase: 5.3.1 399 | map-obj: 4.3.0 400 | quick-lru: 4.0.1 401 | dev: true 402 | 403 | /camelcase/5.3.1: 404 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 405 | engines: {node: '>=6'} 406 | dev: true 407 | 408 | /chai/4.3.6: 409 | resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} 410 | engines: {node: '>=4'} 411 | dependencies: 412 | assertion-error: 1.1.0 413 | check-error: 1.0.2 414 | deep-eql: 3.0.1 415 | get-func-name: 2.0.0 416 | loupe: 2.3.4 417 | pathval: 1.1.1 418 | type-detect: 4.0.8 419 | dev: true 420 | 421 | /chalk/2.4.2: 422 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 423 | engines: {node: '>=4'} 424 | dependencies: 425 | ansi-styles: 3.2.1 426 | escape-string-regexp: 1.0.5 427 | supports-color: 5.5.0 428 | dev: true 429 | 430 | /chalk/4.1.2: 431 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 432 | engines: {node: '>=10'} 433 | dependencies: 434 | ansi-styles: 4.3.0 435 | supports-color: 7.2.0 436 | dev: true 437 | 438 | /chalk/5.2.0: 439 | resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 440 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 441 | dev: true 442 | 443 | /chardet/0.7.0: 444 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 445 | dev: true 446 | 447 | /check-error/1.0.2: 448 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 449 | dev: true 450 | 451 | /ci-info/3.3.2: 452 | resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} 453 | dev: true 454 | 455 | /cliui/6.0.0: 456 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 457 | dependencies: 458 | string-width: 4.2.3 459 | strip-ansi: 6.0.1 460 | wrap-ansi: 6.2.0 461 | dev: true 462 | 463 | /cliui/7.0.4: 464 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 465 | dependencies: 466 | string-width: 4.2.3 467 | strip-ansi: 6.0.1 468 | wrap-ansi: 7.0.0 469 | dev: true 470 | 471 | /clone/1.0.4: 472 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 473 | engines: {node: '>=0.8'} 474 | dev: true 475 | 476 | /color-convert/1.9.3: 477 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 478 | dependencies: 479 | color-name: 1.1.3 480 | dev: true 481 | 482 | /color-convert/2.0.1: 483 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 484 | engines: {node: '>=7.0.0'} 485 | dependencies: 486 | color-name: 1.1.4 487 | dev: true 488 | 489 | /color-name/1.1.3: 490 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 491 | dev: true 492 | 493 | /color-name/1.1.4: 494 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 495 | dev: true 496 | 497 | /cross-spawn/5.1.0: 498 | resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} 499 | dependencies: 500 | lru-cache: 4.1.5 501 | shebang-command: 1.2.0 502 | which: 1.3.1 503 | dev: true 504 | 505 | /csv-generate/3.4.3: 506 | resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} 507 | dev: true 508 | 509 | /csv-parse/4.16.3: 510 | resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} 511 | dev: true 512 | 513 | /csv-stringify/5.6.5: 514 | resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} 515 | dev: true 516 | 517 | /csv/5.5.3: 518 | resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} 519 | engines: {node: '>= 0.1.90'} 520 | dependencies: 521 | csv-generate: 3.4.3 522 | csv-parse: 4.16.3 523 | csv-stringify: 5.6.5 524 | stream-transform: 2.1.3 525 | dev: true 526 | 527 | /debug/4.3.4: 528 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 529 | engines: {node: '>=6.0'} 530 | peerDependencies: 531 | supports-color: '*' 532 | peerDependenciesMeta: 533 | supports-color: 534 | optional: true 535 | dependencies: 536 | ms: 2.1.2 537 | dev: true 538 | 539 | /decamelize-keys/1.1.0: 540 | resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} 541 | engines: {node: '>=0.10.0'} 542 | dependencies: 543 | decamelize: 1.2.0 544 | map-obj: 1.0.1 545 | dev: true 546 | 547 | /decamelize/1.2.0: 548 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 549 | engines: {node: '>=0.10.0'} 550 | dev: true 551 | 552 | /deep-eql/3.0.1: 553 | resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} 554 | engines: {node: '>=0.12'} 555 | dependencies: 556 | type-detect: 4.0.8 557 | dev: true 558 | 559 | /defaults/1.0.3: 560 | resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} 561 | dependencies: 562 | clone: 1.0.4 563 | dev: true 564 | 565 | /define-properties/1.1.4: 566 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 567 | engines: {node: '>= 0.4'} 568 | dependencies: 569 | has-property-descriptors: 1.0.0 570 | object-keys: 1.1.1 571 | dev: true 572 | 573 | /detect-indent/6.1.0: 574 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 575 | engines: {node: '>=8'} 576 | dev: true 577 | 578 | /dir-glob/3.0.1: 579 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 580 | engines: {node: '>=8'} 581 | dependencies: 582 | path-type: 4.0.0 583 | dev: true 584 | 585 | /duplexer/0.1.2: 586 | resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 587 | dev: true 588 | 589 | /emoji-regex/8.0.0: 590 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 591 | dev: true 592 | 593 | /enquirer/2.3.6: 594 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} 595 | engines: {node: '>=8.6'} 596 | dependencies: 597 | ansi-colors: 4.1.3 598 | dev: true 599 | 600 | /error-ex/1.3.2: 601 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 602 | dependencies: 603 | is-arrayish: 0.2.1 604 | dev: true 605 | 606 | /es-abstract/1.20.1: 607 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} 608 | engines: {node: '>= 0.4'} 609 | dependencies: 610 | call-bind: 1.0.2 611 | es-to-primitive: 1.2.1 612 | function-bind: 1.1.1 613 | function.prototype.name: 1.1.5 614 | get-intrinsic: 1.1.2 615 | get-symbol-description: 1.0.0 616 | has: 1.0.3 617 | has-property-descriptors: 1.0.0 618 | has-symbols: 1.0.3 619 | internal-slot: 1.0.3 620 | is-callable: 1.2.4 621 | is-negative-zero: 2.0.2 622 | is-regex: 1.1.4 623 | is-shared-array-buffer: 1.0.2 624 | is-string: 1.0.7 625 | is-weakref: 1.0.2 626 | object-inspect: 1.12.2 627 | object-keys: 1.1.1 628 | object.assign: 4.1.2 629 | regexp.prototype.flags: 1.4.3 630 | string.prototype.trimend: 1.0.5 631 | string.prototype.trimstart: 1.0.5 632 | unbox-primitive: 1.0.2 633 | dev: true 634 | 635 | /es-shim-unscopables/1.0.0: 636 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 637 | dependencies: 638 | has: 1.0.3 639 | dev: true 640 | 641 | /es-to-primitive/1.2.1: 642 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 643 | engines: {node: '>= 0.4'} 644 | dependencies: 645 | is-callable: 1.2.4 646 | is-date-object: 1.0.5 647 | is-symbol: 1.0.4 648 | dev: true 649 | 650 | /esbuild-android-64/0.14.51: 651 | resolution: {integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==} 652 | engines: {node: '>=12'} 653 | cpu: [x64] 654 | os: [android] 655 | requiresBuild: true 656 | dev: true 657 | optional: true 658 | 659 | /esbuild-android-arm64/0.14.51: 660 | resolution: {integrity: sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==} 661 | engines: {node: '>=12'} 662 | cpu: [arm64] 663 | os: [android] 664 | requiresBuild: true 665 | dev: true 666 | optional: true 667 | 668 | /esbuild-darwin-64/0.14.51: 669 | resolution: {integrity: sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==} 670 | engines: {node: '>=12'} 671 | cpu: [x64] 672 | os: [darwin] 673 | requiresBuild: true 674 | dev: true 675 | optional: true 676 | 677 | /esbuild-darwin-arm64/0.14.51: 678 | resolution: {integrity: sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==} 679 | engines: {node: '>=12'} 680 | cpu: [arm64] 681 | os: [darwin] 682 | requiresBuild: true 683 | dev: true 684 | optional: true 685 | 686 | /esbuild-freebsd-64/0.14.51: 687 | resolution: {integrity: sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==} 688 | engines: {node: '>=12'} 689 | cpu: [x64] 690 | os: [freebsd] 691 | requiresBuild: true 692 | dev: true 693 | optional: true 694 | 695 | /esbuild-freebsd-arm64/0.14.51: 696 | resolution: {integrity: sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==} 697 | engines: {node: '>=12'} 698 | cpu: [arm64] 699 | os: [freebsd] 700 | requiresBuild: true 701 | dev: true 702 | optional: true 703 | 704 | /esbuild-linux-32/0.14.51: 705 | resolution: {integrity: sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==} 706 | engines: {node: '>=12'} 707 | cpu: [ia32] 708 | os: [linux] 709 | requiresBuild: true 710 | dev: true 711 | optional: true 712 | 713 | /esbuild-linux-64/0.14.51: 714 | resolution: {integrity: sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==} 715 | engines: {node: '>=12'} 716 | cpu: [x64] 717 | os: [linux] 718 | requiresBuild: true 719 | dev: true 720 | optional: true 721 | 722 | /esbuild-linux-arm/0.14.51: 723 | resolution: {integrity: sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==} 724 | engines: {node: '>=12'} 725 | cpu: [arm] 726 | os: [linux] 727 | requiresBuild: true 728 | dev: true 729 | optional: true 730 | 731 | /esbuild-linux-arm64/0.14.51: 732 | resolution: {integrity: sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==} 733 | engines: {node: '>=12'} 734 | cpu: [arm64] 735 | os: [linux] 736 | requiresBuild: true 737 | dev: true 738 | optional: true 739 | 740 | /esbuild-linux-mips64le/0.14.51: 741 | resolution: {integrity: sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==} 742 | engines: {node: '>=12'} 743 | cpu: [mips64el] 744 | os: [linux] 745 | requiresBuild: true 746 | dev: true 747 | optional: true 748 | 749 | /esbuild-linux-ppc64le/0.14.51: 750 | resolution: {integrity: sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==} 751 | engines: {node: '>=12'} 752 | cpu: [ppc64] 753 | os: [linux] 754 | requiresBuild: true 755 | dev: true 756 | optional: true 757 | 758 | /esbuild-linux-riscv64/0.14.51: 759 | resolution: {integrity: sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==} 760 | engines: {node: '>=12'} 761 | cpu: [riscv64] 762 | os: [linux] 763 | requiresBuild: true 764 | dev: true 765 | optional: true 766 | 767 | /esbuild-linux-s390x/0.14.51: 768 | resolution: {integrity: sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==} 769 | engines: {node: '>=12'} 770 | cpu: [s390x] 771 | os: [linux] 772 | requiresBuild: true 773 | dev: true 774 | optional: true 775 | 776 | /esbuild-netbsd-64/0.14.51: 777 | resolution: {integrity: sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==} 778 | engines: {node: '>=12'} 779 | cpu: [x64] 780 | os: [netbsd] 781 | requiresBuild: true 782 | dev: true 783 | optional: true 784 | 785 | /esbuild-openbsd-64/0.14.51: 786 | resolution: {integrity: sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==} 787 | engines: {node: '>=12'} 788 | cpu: [x64] 789 | os: [openbsd] 790 | requiresBuild: true 791 | dev: true 792 | optional: true 793 | 794 | /esbuild-sunos-64/0.14.51: 795 | resolution: {integrity: sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==} 796 | engines: {node: '>=12'} 797 | cpu: [x64] 798 | os: [sunos] 799 | requiresBuild: true 800 | dev: true 801 | optional: true 802 | 803 | /esbuild-windows-32/0.14.51: 804 | resolution: {integrity: sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==} 805 | engines: {node: '>=12'} 806 | cpu: [ia32] 807 | os: [win32] 808 | requiresBuild: true 809 | dev: true 810 | optional: true 811 | 812 | /esbuild-windows-64/0.14.51: 813 | resolution: {integrity: sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==} 814 | engines: {node: '>=12'} 815 | cpu: [x64] 816 | os: [win32] 817 | requiresBuild: true 818 | dev: true 819 | optional: true 820 | 821 | /esbuild-windows-arm64/0.14.51: 822 | resolution: {integrity: sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==} 823 | engines: {node: '>=12'} 824 | cpu: [arm64] 825 | os: [win32] 826 | requiresBuild: true 827 | dev: true 828 | optional: true 829 | 830 | /esbuild/0.14.51: 831 | resolution: {integrity: sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==} 832 | engines: {node: '>=12'} 833 | hasBin: true 834 | requiresBuild: true 835 | optionalDependencies: 836 | esbuild-android-64: 0.14.51 837 | esbuild-android-arm64: 0.14.51 838 | esbuild-darwin-64: 0.14.51 839 | esbuild-darwin-arm64: 0.14.51 840 | esbuild-freebsd-64: 0.14.51 841 | esbuild-freebsd-arm64: 0.14.51 842 | esbuild-linux-32: 0.14.51 843 | esbuild-linux-64: 0.14.51 844 | esbuild-linux-arm: 0.14.51 845 | esbuild-linux-arm64: 0.14.51 846 | esbuild-linux-mips64le: 0.14.51 847 | esbuild-linux-ppc64le: 0.14.51 848 | esbuild-linux-riscv64: 0.14.51 849 | esbuild-linux-s390x: 0.14.51 850 | esbuild-netbsd-64: 0.14.51 851 | esbuild-openbsd-64: 0.14.51 852 | esbuild-sunos-64: 0.14.51 853 | esbuild-windows-32: 0.14.51 854 | esbuild-windows-64: 0.14.51 855 | esbuild-windows-arm64: 0.14.51 856 | dev: true 857 | 858 | /escalade/3.1.1: 859 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 860 | engines: {node: '>=6'} 861 | dev: true 862 | 863 | /escape-string-regexp/1.0.5: 864 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 865 | engines: {node: '>=0.8.0'} 866 | dev: true 867 | 868 | /esprima/4.0.1: 869 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 870 | engines: {node: '>=4'} 871 | hasBin: true 872 | dev: true 873 | 874 | /extendable-error/0.1.7: 875 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 876 | dev: true 877 | 878 | /external-editor/3.1.0: 879 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 880 | engines: {node: '>=4'} 881 | dependencies: 882 | chardet: 0.7.0 883 | iconv-lite: 0.4.24 884 | tmp: 0.0.33 885 | dev: true 886 | 887 | /fast-glob/3.2.11: 888 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 889 | engines: {node: '>=8.6.0'} 890 | dependencies: 891 | '@nodelib/fs.stat': 2.0.5 892 | '@nodelib/fs.walk': 1.2.8 893 | glob-parent: 5.1.2 894 | merge2: 1.4.1 895 | micromatch: 4.0.5 896 | dev: true 897 | 898 | /fastq/1.13.0: 899 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 900 | dependencies: 901 | reusify: 1.0.4 902 | dev: true 903 | 904 | /fill-range/7.0.1: 905 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 906 | engines: {node: '>=8'} 907 | dependencies: 908 | to-regex-range: 5.0.1 909 | dev: true 910 | 911 | /find-up/4.1.0: 912 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 913 | engines: {node: '>=8'} 914 | dependencies: 915 | locate-path: 5.0.0 916 | path-exists: 4.0.0 917 | dev: true 918 | 919 | /find-up/5.0.0: 920 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 921 | engines: {node: '>=10'} 922 | dependencies: 923 | locate-path: 6.0.0 924 | path-exists: 4.0.0 925 | dev: true 926 | 927 | /find-yarn-workspace-root2/1.2.16: 928 | resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} 929 | dependencies: 930 | micromatch: 4.0.5 931 | pkg-dir: 4.2.0 932 | dev: true 933 | 934 | /fs-extra/7.0.1: 935 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 936 | engines: {node: '>=6 <7 || >=8'} 937 | dependencies: 938 | graceful-fs: 4.2.10 939 | jsonfile: 4.0.0 940 | universalify: 0.1.2 941 | dev: true 942 | 943 | /fs-extra/8.1.0: 944 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 945 | engines: {node: '>=6 <7 || >=8'} 946 | dependencies: 947 | graceful-fs: 4.2.10 948 | jsonfile: 4.0.0 949 | universalify: 0.1.2 950 | dev: true 951 | 952 | /fsevents/2.3.2: 953 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 954 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 955 | os: [darwin] 956 | requiresBuild: true 957 | dev: true 958 | optional: true 959 | 960 | /function-bind/1.1.1: 961 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 962 | dev: true 963 | 964 | /function.prototype.name/1.1.5: 965 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 966 | engines: {node: '>= 0.4'} 967 | dependencies: 968 | call-bind: 1.0.2 969 | define-properties: 1.1.4 970 | es-abstract: 1.20.1 971 | functions-have-names: 1.2.3 972 | dev: true 973 | 974 | /functions-have-names/1.2.3: 975 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 976 | dev: true 977 | 978 | /get-caller-file/2.0.5: 979 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 980 | engines: {node: 6.* || 8.* || >= 10.*} 981 | dev: true 982 | 983 | /get-func-name/2.0.0: 984 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 985 | dev: true 986 | 987 | /get-intrinsic/1.1.2: 988 | resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} 989 | dependencies: 990 | function-bind: 1.1.1 991 | has: 1.0.3 992 | has-symbols: 1.0.3 993 | dev: true 994 | 995 | /get-symbol-description/1.0.0: 996 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 997 | engines: {node: '>= 0.4'} 998 | dependencies: 999 | call-bind: 1.0.2 1000 | get-intrinsic: 1.1.2 1001 | dev: true 1002 | 1003 | /glob-parent/5.1.2: 1004 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1005 | engines: {node: '>= 6'} 1006 | dependencies: 1007 | is-glob: 4.0.3 1008 | dev: true 1009 | 1010 | /globby/11.1.0: 1011 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1012 | engines: {node: '>=10'} 1013 | dependencies: 1014 | array-union: 2.1.0 1015 | dir-glob: 3.0.1 1016 | fast-glob: 3.2.11 1017 | ignore: 5.2.0 1018 | merge2: 1.4.1 1019 | slash: 3.0.0 1020 | dev: true 1021 | 1022 | /globby/13.1.3: 1023 | resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} 1024 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1025 | dependencies: 1026 | dir-glob: 3.0.1 1027 | fast-glob: 3.2.11 1028 | ignore: 5.2.0 1029 | merge2: 1.4.1 1030 | slash: 4.0.0 1031 | dev: true 1032 | 1033 | /graceful-fs/4.2.10: 1034 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1035 | dev: true 1036 | 1037 | /grapheme-splitter/1.0.4: 1038 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1039 | dev: true 1040 | 1041 | /gzip-size/7.0.0: 1042 | resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} 1043 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1044 | dependencies: 1045 | duplexer: 0.1.2 1046 | dev: true 1047 | 1048 | /hard-rejection/2.1.0: 1049 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 1050 | engines: {node: '>=6'} 1051 | dev: true 1052 | 1053 | /has-bigints/1.0.2: 1054 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1055 | dev: true 1056 | 1057 | /has-flag/3.0.0: 1058 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1059 | engines: {node: '>=4'} 1060 | dev: true 1061 | 1062 | /has-flag/4.0.0: 1063 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1064 | engines: {node: '>=8'} 1065 | dev: true 1066 | 1067 | /has-property-descriptors/1.0.0: 1068 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1069 | dependencies: 1070 | get-intrinsic: 1.1.2 1071 | dev: true 1072 | 1073 | /has-symbols/1.0.3: 1074 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1075 | engines: {node: '>= 0.4'} 1076 | dev: true 1077 | 1078 | /has-tostringtag/1.0.0: 1079 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1080 | engines: {node: '>= 0.4'} 1081 | dependencies: 1082 | has-symbols: 1.0.3 1083 | dev: true 1084 | 1085 | /has/1.0.3: 1086 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1087 | engines: {node: '>= 0.4.0'} 1088 | dependencies: 1089 | function-bind: 1.1.1 1090 | dev: true 1091 | 1092 | /hosted-git-info/2.8.9: 1093 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1094 | dev: true 1095 | 1096 | /human-id/1.0.2: 1097 | resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} 1098 | dev: true 1099 | 1100 | /iconv-lite/0.4.24: 1101 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1102 | engines: {node: '>=0.10.0'} 1103 | dependencies: 1104 | safer-buffer: 2.1.2 1105 | dev: true 1106 | 1107 | /ignore/5.2.0: 1108 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1109 | engines: {node: '>= 4'} 1110 | dev: true 1111 | 1112 | /indent-string/4.0.0: 1113 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1114 | engines: {node: '>=8'} 1115 | dev: true 1116 | 1117 | /internal-slot/1.0.3: 1118 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1119 | engines: {node: '>= 0.4'} 1120 | dependencies: 1121 | get-intrinsic: 1.1.2 1122 | has: 1.0.3 1123 | side-channel: 1.0.4 1124 | dev: true 1125 | 1126 | /is-arrayish/0.2.1: 1127 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1128 | dev: true 1129 | 1130 | /is-bigint/1.0.4: 1131 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1132 | dependencies: 1133 | has-bigints: 1.0.2 1134 | dev: true 1135 | 1136 | /is-boolean-object/1.1.2: 1137 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1138 | engines: {node: '>= 0.4'} 1139 | dependencies: 1140 | call-bind: 1.0.2 1141 | has-tostringtag: 1.0.0 1142 | dev: true 1143 | 1144 | /is-callable/1.2.4: 1145 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 1146 | engines: {node: '>= 0.4'} 1147 | dev: true 1148 | 1149 | /is-ci/3.0.1: 1150 | resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} 1151 | hasBin: true 1152 | dependencies: 1153 | ci-info: 3.3.2 1154 | dev: true 1155 | 1156 | /is-core-module/2.9.0: 1157 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 1158 | dependencies: 1159 | has: 1.0.3 1160 | dev: true 1161 | 1162 | /is-date-object/1.0.5: 1163 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1164 | engines: {node: '>= 0.4'} 1165 | dependencies: 1166 | has-tostringtag: 1.0.0 1167 | dev: true 1168 | 1169 | /is-extglob/2.1.1: 1170 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1171 | engines: {node: '>=0.10.0'} 1172 | dev: true 1173 | 1174 | /is-fullwidth-code-point/3.0.0: 1175 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1176 | engines: {node: '>=8'} 1177 | dev: true 1178 | 1179 | /is-glob/4.0.3: 1180 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1181 | engines: {node: '>=0.10.0'} 1182 | dependencies: 1183 | is-extglob: 2.1.1 1184 | dev: true 1185 | 1186 | /is-negative-zero/2.0.2: 1187 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1188 | engines: {node: '>= 0.4'} 1189 | dev: true 1190 | 1191 | /is-number-object/1.0.7: 1192 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1193 | engines: {node: '>= 0.4'} 1194 | dependencies: 1195 | has-tostringtag: 1.0.0 1196 | dev: true 1197 | 1198 | /is-number/7.0.0: 1199 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1200 | engines: {node: '>=0.12.0'} 1201 | dev: true 1202 | 1203 | /is-plain-obj/1.1.0: 1204 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 1205 | engines: {node: '>=0.10.0'} 1206 | dev: true 1207 | 1208 | /is-regex/1.1.4: 1209 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1210 | engines: {node: '>= 0.4'} 1211 | dependencies: 1212 | call-bind: 1.0.2 1213 | has-tostringtag: 1.0.0 1214 | dev: true 1215 | 1216 | /is-shared-array-buffer/1.0.2: 1217 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1218 | dependencies: 1219 | call-bind: 1.0.2 1220 | dev: true 1221 | 1222 | /is-string/1.0.7: 1223 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1224 | engines: {node: '>= 0.4'} 1225 | dependencies: 1226 | has-tostringtag: 1.0.0 1227 | dev: true 1228 | 1229 | /is-subdir/1.2.0: 1230 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} 1231 | engines: {node: '>=4'} 1232 | dependencies: 1233 | better-path-resolve: 1.0.0 1234 | dev: true 1235 | 1236 | /is-symbol/1.0.4: 1237 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1238 | engines: {node: '>= 0.4'} 1239 | dependencies: 1240 | has-symbols: 1.0.3 1241 | dev: true 1242 | 1243 | /is-weakref/1.0.2: 1244 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1245 | dependencies: 1246 | call-bind: 1.0.2 1247 | dev: true 1248 | 1249 | /is-windows/1.0.2: 1250 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1251 | engines: {node: '>=0.10.0'} 1252 | dev: true 1253 | 1254 | /isexe/2.0.0: 1255 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1256 | dev: true 1257 | 1258 | /js-tokens/4.0.0: 1259 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1260 | dev: true 1261 | 1262 | /js-yaml/3.14.1: 1263 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1264 | hasBin: true 1265 | dependencies: 1266 | argparse: 1.0.10 1267 | esprima: 4.0.1 1268 | dev: true 1269 | 1270 | /json-parse-even-better-errors/2.3.1: 1271 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1272 | dev: true 1273 | 1274 | /jsonfile/4.0.0: 1275 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1276 | optionalDependencies: 1277 | graceful-fs: 4.2.10 1278 | dev: true 1279 | 1280 | /kind-of/6.0.3: 1281 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1282 | engines: {node: '>=0.10.0'} 1283 | dev: true 1284 | 1285 | /kleur/4.1.5: 1286 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1287 | engines: {node: '>=6'} 1288 | dev: true 1289 | 1290 | /lines-and-columns/1.2.4: 1291 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1292 | dev: true 1293 | 1294 | /load-yaml-file/0.2.0: 1295 | resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 1296 | engines: {node: '>=6'} 1297 | dependencies: 1298 | graceful-fs: 4.2.10 1299 | js-yaml: 3.14.1 1300 | pify: 4.0.1 1301 | strip-bom: 3.0.0 1302 | dev: true 1303 | 1304 | /local-pkg/0.4.2: 1305 | resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} 1306 | engines: {node: '>=14'} 1307 | dev: true 1308 | 1309 | /locate-path/5.0.0: 1310 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1311 | engines: {node: '>=8'} 1312 | dependencies: 1313 | p-locate: 4.1.0 1314 | dev: true 1315 | 1316 | /locate-path/6.0.0: 1317 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1318 | engines: {node: '>=10'} 1319 | dependencies: 1320 | p-locate: 5.0.0 1321 | dev: true 1322 | 1323 | /lodash.startcase/4.4.0: 1324 | resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 1325 | dev: true 1326 | 1327 | /loupe/2.3.4: 1328 | resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} 1329 | dependencies: 1330 | get-func-name: 2.0.0 1331 | dev: true 1332 | 1333 | /lru-cache/4.1.5: 1334 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} 1335 | dependencies: 1336 | pseudomap: 1.0.2 1337 | yallist: 2.1.2 1338 | dev: true 1339 | 1340 | /map-obj/1.0.1: 1341 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 1342 | engines: {node: '>=0.10.0'} 1343 | dev: true 1344 | 1345 | /map-obj/4.3.0: 1346 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 1347 | engines: {node: '>=8'} 1348 | dev: true 1349 | 1350 | /meow/6.1.1: 1351 | resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} 1352 | engines: {node: '>=8'} 1353 | dependencies: 1354 | '@types/minimist': 1.2.2 1355 | camelcase-keys: 6.2.2 1356 | decamelize-keys: 1.1.0 1357 | hard-rejection: 2.1.0 1358 | minimist-options: 4.1.0 1359 | normalize-package-data: 2.5.0 1360 | read-pkg-up: 7.0.1 1361 | redent: 3.0.0 1362 | trim-newlines: 3.0.1 1363 | type-fest: 0.13.1 1364 | yargs-parser: 18.1.3 1365 | dev: true 1366 | 1367 | /merge2/1.4.1: 1368 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1369 | engines: {node: '>= 8'} 1370 | dev: true 1371 | 1372 | /micromatch/4.0.5: 1373 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1374 | engines: {node: '>=8.6'} 1375 | dependencies: 1376 | braces: 3.0.2 1377 | picomatch: 2.3.1 1378 | dev: true 1379 | 1380 | /min-indent/1.0.1: 1381 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1382 | engines: {node: '>=4'} 1383 | dev: true 1384 | 1385 | /minimist-options/4.1.0: 1386 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 1387 | engines: {node: '>= 6'} 1388 | dependencies: 1389 | arrify: 1.0.1 1390 | is-plain-obj: 1.1.0 1391 | kind-of: 6.0.3 1392 | dev: true 1393 | 1394 | /mixme/0.5.4: 1395 | resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==} 1396 | engines: {node: '>= 8.0.0'} 1397 | dev: true 1398 | 1399 | /ms/2.1.2: 1400 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1401 | dev: true 1402 | 1403 | /nanoid/3.3.4: 1404 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1405 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1406 | hasBin: true 1407 | dev: true 1408 | 1409 | /normalize-package-data/2.5.0: 1410 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1411 | dependencies: 1412 | hosted-git-info: 2.8.9 1413 | resolve: 1.22.1 1414 | semver: 5.7.1 1415 | validate-npm-package-license: 3.0.4 1416 | dev: true 1417 | 1418 | /object-inspect/1.12.2: 1419 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 1420 | dev: true 1421 | 1422 | /object-keys/1.1.1: 1423 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1424 | engines: {node: '>= 0.4'} 1425 | dev: true 1426 | 1427 | /object.assign/4.1.2: 1428 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 1429 | engines: {node: '>= 0.4'} 1430 | dependencies: 1431 | call-bind: 1.0.2 1432 | define-properties: 1.1.4 1433 | has-symbols: 1.0.3 1434 | object-keys: 1.1.1 1435 | dev: true 1436 | 1437 | /os-tmpdir/1.0.2: 1438 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1439 | engines: {node: '>=0.10.0'} 1440 | dev: true 1441 | 1442 | /outdent/0.5.0: 1443 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 1444 | dev: true 1445 | 1446 | /p-filter/2.1.0: 1447 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} 1448 | engines: {node: '>=8'} 1449 | dependencies: 1450 | p-map: 2.1.0 1451 | dev: true 1452 | 1453 | /p-limit/2.3.0: 1454 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1455 | engines: {node: '>=6'} 1456 | dependencies: 1457 | p-try: 2.2.0 1458 | dev: true 1459 | 1460 | /p-limit/3.1.0: 1461 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1462 | engines: {node: '>=10'} 1463 | dependencies: 1464 | yocto-queue: 0.1.0 1465 | dev: true 1466 | 1467 | /p-locate/4.1.0: 1468 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1469 | engines: {node: '>=8'} 1470 | dependencies: 1471 | p-limit: 2.3.0 1472 | dev: true 1473 | 1474 | /p-locate/5.0.0: 1475 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1476 | engines: {node: '>=10'} 1477 | dependencies: 1478 | p-limit: 3.1.0 1479 | dev: true 1480 | 1481 | /p-map/2.1.0: 1482 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 1483 | engines: {node: '>=6'} 1484 | dev: true 1485 | 1486 | /p-try/2.2.0: 1487 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1488 | engines: {node: '>=6'} 1489 | dev: true 1490 | 1491 | /parse-json/5.2.0: 1492 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1493 | engines: {node: '>=8'} 1494 | dependencies: 1495 | '@babel/code-frame': 7.18.6 1496 | error-ex: 1.3.2 1497 | json-parse-even-better-errors: 2.3.1 1498 | lines-and-columns: 1.2.4 1499 | dev: true 1500 | 1501 | /path-exists/4.0.0: 1502 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1503 | engines: {node: '>=8'} 1504 | dev: true 1505 | 1506 | /path-parse/1.0.7: 1507 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1508 | dev: true 1509 | 1510 | /path-type/4.0.0: 1511 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1512 | engines: {node: '>=8'} 1513 | dev: true 1514 | 1515 | /pathval/1.1.1: 1516 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1517 | dev: true 1518 | 1519 | /picocolors/1.0.0: 1520 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1521 | dev: true 1522 | 1523 | /picomatch/2.3.1: 1524 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1525 | engines: {node: '>=8.6'} 1526 | dev: true 1527 | 1528 | /pify/4.0.1: 1529 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 1530 | engines: {node: '>=6'} 1531 | dev: true 1532 | 1533 | /pkg-dir/4.2.0: 1534 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 1535 | engines: {node: '>=8'} 1536 | dependencies: 1537 | find-up: 4.1.0 1538 | dev: true 1539 | 1540 | /postcss/8.4.14: 1541 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 1542 | engines: {node: ^10 || ^12 || >=14} 1543 | dependencies: 1544 | nanoid: 3.3.4 1545 | picocolors: 1.0.0 1546 | source-map-js: 1.0.2 1547 | dev: true 1548 | 1549 | /preferred-pm/3.0.3: 1550 | resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} 1551 | engines: {node: '>=10'} 1552 | dependencies: 1553 | find-up: 5.0.0 1554 | find-yarn-workspace-root2: 1.2.16 1555 | path-exists: 4.0.0 1556 | which-pm: 2.0.0 1557 | dev: true 1558 | 1559 | /prettier/1.19.1: 1560 | resolution: {integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==} 1561 | engines: {node: '>=4'} 1562 | hasBin: true 1563 | dev: true 1564 | 1565 | /pretty-bytes/6.0.0: 1566 | resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} 1567 | engines: {node: ^14.13.1 || >=16.0.0} 1568 | dev: true 1569 | 1570 | /pseudomap/1.0.2: 1571 | resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} 1572 | dev: true 1573 | 1574 | /queue-microtask/1.2.3: 1575 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1576 | dev: true 1577 | 1578 | /quick-lru/4.0.1: 1579 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} 1580 | engines: {node: '>=8'} 1581 | dev: true 1582 | 1583 | /read-pkg-up/7.0.1: 1584 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 1585 | engines: {node: '>=8'} 1586 | dependencies: 1587 | find-up: 4.1.0 1588 | read-pkg: 5.2.0 1589 | type-fest: 0.8.1 1590 | dev: true 1591 | 1592 | /read-pkg/5.2.0: 1593 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 1594 | engines: {node: '>=8'} 1595 | dependencies: 1596 | '@types/normalize-package-data': 2.4.1 1597 | normalize-package-data: 2.5.0 1598 | parse-json: 5.2.0 1599 | type-fest: 0.6.0 1600 | dev: true 1601 | 1602 | /read-yaml-file/1.1.0: 1603 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} 1604 | engines: {node: '>=6'} 1605 | dependencies: 1606 | graceful-fs: 4.2.10 1607 | js-yaml: 3.14.1 1608 | pify: 4.0.1 1609 | strip-bom: 3.0.0 1610 | dev: true 1611 | 1612 | /redent/3.0.0: 1613 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 1614 | engines: {node: '>=8'} 1615 | dependencies: 1616 | indent-string: 4.0.0 1617 | strip-indent: 3.0.0 1618 | dev: true 1619 | 1620 | /regenerator-runtime/0.13.9: 1621 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 1622 | dev: true 1623 | 1624 | /regexp.prototype.flags/1.4.3: 1625 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 1626 | engines: {node: '>= 0.4'} 1627 | dependencies: 1628 | call-bind: 1.0.2 1629 | define-properties: 1.1.4 1630 | functions-have-names: 1.2.3 1631 | dev: true 1632 | 1633 | /require-directory/2.1.1: 1634 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1635 | engines: {node: '>=0.10.0'} 1636 | dev: true 1637 | 1638 | /require-main-filename/2.0.0: 1639 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} 1640 | dev: true 1641 | 1642 | /resolve-from/5.0.0: 1643 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1644 | engines: {node: '>=8'} 1645 | dev: true 1646 | 1647 | /resolve/1.22.1: 1648 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1649 | hasBin: true 1650 | dependencies: 1651 | is-core-module: 2.9.0 1652 | path-parse: 1.0.7 1653 | supports-preserve-symlinks-flag: 1.0.0 1654 | dev: true 1655 | 1656 | /reusify/1.0.4: 1657 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1658 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1659 | dev: true 1660 | 1661 | /rollup/2.77.2: 1662 | resolution: {integrity: sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==} 1663 | engines: {node: '>=10.0.0'} 1664 | hasBin: true 1665 | optionalDependencies: 1666 | fsevents: 2.3.2 1667 | dev: true 1668 | 1669 | /run-parallel/1.2.0: 1670 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1671 | dependencies: 1672 | queue-microtask: 1.2.3 1673 | dev: true 1674 | 1675 | /safer-buffer/2.1.2: 1676 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1677 | dev: true 1678 | 1679 | /semver/5.7.1: 1680 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 1681 | hasBin: true 1682 | dev: true 1683 | 1684 | /set-blocking/2.0.0: 1685 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 1686 | dev: true 1687 | 1688 | /shebang-command/1.2.0: 1689 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 1690 | engines: {node: '>=0.10.0'} 1691 | dependencies: 1692 | shebang-regex: 1.0.0 1693 | dev: true 1694 | 1695 | /shebang-regex/1.0.0: 1696 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 1697 | engines: {node: '>=0.10.0'} 1698 | dev: true 1699 | 1700 | /side-channel/1.0.4: 1701 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 1702 | dependencies: 1703 | call-bind: 1.0.2 1704 | get-intrinsic: 1.1.2 1705 | object-inspect: 1.12.2 1706 | dev: true 1707 | 1708 | /signal-exit/3.0.7: 1709 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1710 | dev: true 1711 | 1712 | /slash/3.0.0: 1713 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1714 | engines: {node: '>=8'} 1715 | dev: true 1716 | 1717 | /slash/4.0.0: 1718 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 1719 | engines: {node: '>=12'} 1720 | dev: true 1721 | 1722 | /smartwrap/2.0.2: 1723 | resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} 1724 | engines: {node: '>=6'} 1725 | hasBin: true 1726 | dependencies: 1727 | array.prototype.flat: 1.3.0 1728 | breakword: 1.0.5 1729 | grapheme-splitter: 1.0.4 1730 | strip-ansi: 6.0.1 1731 | wcwidth: 1.0.1 1732 | yargs: 15.4.1 1733 | dev: true 1734 | 1735 | /source-map-js/1.0.2: 1736 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1737 | engines: {node: '>=0.10.0'} 1738 | dev: true 1739 | 1740 | /spawndamnit/2.0.0: 1741 | resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} 1742 | dependencies: 1743 | cross-spawn: 5.1.0 1744 | signal-exit: 3.0.7 1745 | dev: true 1746 | 1747 | /spdx-correct/3.1.1: 1748 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 1749 | dependencies: 1750 | spdx-expression-parse: 3.0.1 1751 | spdx-license-ids: 3.0.11 1752 | dev: true 1753 | 1754 | /spdx-exceptions/2.3.0: 1755 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 1756 | dev: true 1757 | 1758 | /spdx-expression-parse/3.0.1: 1759 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1760 | dependencies: 1761 | spdx-exceptions: 2.3.0 1762 | spdx-license-ids: 3.0.11 1763 | dev: true 1764 | 1765 | /spdx-license-ids/3.0.11: 1766 | resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} 1767 | dev: true 1768 | 1769 | /sprintf-js/1.0.3: 1770 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 1771 | dev: true 1772 | 1773 | /stream-transform/2.1.3: 1774 | resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} 1775 | dependencies: 1776 | mixme: 0.5.4 1777 | dev: true 1778 | 1779 | /string-width/4.2.3: 1780 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1781 | engines: {node: '>=8'} 1782 | dependencies: 1783 | emoji-regex: 8.0.0 1784 | is-fullwidth-code-point: 3.0.0 1785 | strip-ansi: 6.0.1 1786 | dev: true 1787 | 1788 | /string.prototype.trimend/1.0.5: 1789 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 1790 | dependencies: 1791 | call-bind: 1.0.2 1792 | define-properties: 1.1.4 1793 | es-abstract: 1.20.1 1794 | dev: true 1795 | 1796 | /string.prototype.trimstart/1.0.5: 1797 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 1798 | dependencies: 1799 | call-bind: 1.0.2 1800 | define-properties: 1.1.4 1801 | es-abstract: 1.20.1 1802 | dev: true 1803 | 1804 | /strip-ansi/6.0.1: 1805 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1806 | engines: {node: '>=8'} 1807 | dependencies: 1808 | ansi-regex: 5.0.1 1809 | dev: true 1810 | 1811 | /strip-bom/3.0.0: 1812 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1813 | engines: {node: '>=4'} 1814 | dev: true 1815 | 1816 | /strip-indent/3.0.0: 1817 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1818 | engines: {node: '>=8'} 1819 | dependencies: 1820 | min-indent: 1.0.1 1821 | dev: true 1822 | 1823 | /supports-color/5.5.0: 1824 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1825 | engines: {node: '>=4'} 1826 | dependencies: 1827 | has-flag: 3.0.0 1828 | dev: true 1829 | 1830 | /supports-color/7.2.0: 1831 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1832 | engines: {node: '>=8'} 1833 | dependencies: 1834 | has-flag: 4.0.0 1835 | dev: true 1836 | 1837 | /supports-preserve-symlinks-flag/1.0.0: 1838 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1839 | engines: {node: '>= 0.4'} 1840 | dev: true 1841 | 1842 | /term-size/2.2.1: 1843 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} 1844 | engines: {node: '>=8'} 1845 | dev: true 1846 | 1847 | /tinypool/0.2.4: 1848 | resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} 1849 | engines: {node: '>=14.0.0'} 1850 | dev: true 1851 | 1852 | /tinyspy/1.0.0: 1853 | resolution: {integrity: sha512-FI5B2QdODQYDRjfuLF+OrJ8bjWRMCXokQPcwKm0W3IzcbUmBNv536cQc7eXGoAuXphZwgx1DFbqImwzz08Fnhw==} 1854 | engines: {node: '>=14.0.0'} 1855 | dev: true 1856 | 1857 | /tmp/0.0.33: 1858 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 1859 | engines: {node: '>=0.6.0'} 1860 | dependencies: 1861 | os-tmpdir: 1.0.2 1862 | dev: true 1863 | 1864 | /to-regex-range/5.0.1: 1865 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1866 | engines: {node: '>=8.0'} 1867 | dependencies: 1868 | is-number: 7.0.0 1869 | dev: true 1870 | 1871 | /trim-newlines/3.0.1: 1872 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} 1873 | engines: {node: '>=8'} 1874 | dev: true 1875 | 1876 | /tty-table/4.1.6: 1877 | resolution: {integrity: sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==} 1878 | engines: {node: '>=8.0.0'} 1879 | hasBin: true 1880 | dependencies: 1881 | chalk: 4.1.2 1882 | csv: 5.5.3 1883 | kleur: 4.1.5 1884 | smartwrap: 2.0.2 1885 | strip-ansi: 6.0.1 1886 | wcwidth: 1.0.1 1887 | yargs: 17.5.1 1888 | dev: true 1889 | 1890 | /type-detect/4.0.8: 1891 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 1892 | engines: {node: '>=4'} 1893 | dev: true 1894 | 1895 | /type-fest/0.13.1: 1896 | resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} 1897 | engines: {node: '>=10'} 1898 | dev: true 1899 | 1900 | /type-fest/0.6.0: 1901 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 1902 | engines: {node: '>=8'} 1903 | dev: true 1904 | 1905 | /type-fest/0.8.1: 1906 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 1907 | engines: {node: '>=8'} 1908 | dev: true 1909 | 1910 | /typescript/4.9.4: 1911 | resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} 1912 | engines: {node: '>=4.2.0'} 1913 | hasBin: true 1914 | dev: true 1915 | 1916 | /unbox-primitive/1.0.2: 1917 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1918 | dependencies: 1919 | call-bind: 1.0.2 1920 | has-bigints: 1.0.2 1921 | has-symbols: 1.0.3 1922 | which-boxed-primitive: 1.0.2 1923 | dev: true 1924 | 1925 | /universalify/0.1.2: 1926 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1927 | engines: {node: '>= 4.0.0'} 1928 | dev: true 1929 | 1930 | /validate-npm-package-license/3.0.4: 1931 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 1932 | dependencies: 1933 | spdx-correct: 3.1.1 1934 | spdx-expression-parse: 3.0.1 1935 | dev: true 1936 | 1937 | /vite/3.0.4: 1938 | resolution: {integrity: sha512-NU304nqnBeOx2MkQnskBQxVsa0pRAH5FphokTGmyy8M3oxbvw7qAXts2GORxs+h/2vKsD+osMhZ7An6yK6F1dA==} 1939 | engines: {node: ^14.18.0 || >=16.0.0} 1940 | hasBin: true 1941 | peerDependencies: 1942 | less: '*' 1943 | sass: '*' 1944 | stylus: '*' 1945 | terser: ^5.4.0 1946 | peerDependenciesMeta: 1947 | less: 1948 | optional: true 1949 | sass: 1950 | optional: true 1951 | stylus: 1952 | optional: true 1953 | terser: 1954 | optional: true 1955 | dependencies: 1956 | esbuild: 0.14.51 1957 | postcss: 8.4.14 1958 | resolve: 1.22.1 1959 | rollup: 2.77.2 1960 | optionalDependencies: 1961 | fsevents: 2.3.2 1962 | dev: true 1963 | 1964 | /vitest/0.20.2: 1965 | resolution: {integrity: sha512-AFXTHrwG4d2OO6SAL8WP5ZkOwLtgeF4tlrHfXFqrHc+5chNegeR53pge0lv/C4316SqJ2DbYaUBH8vh3CdF+BQ==} 1966 | engines: {node: '>=v14.16.0'} 1967 | hasBin: true 1968 | peerDependencies: 1969 | '@edge-runtime/vm': '*' 1970 | '@vitest/browser': '*' 1971 | '@vitest/ui': '*' 1972 | c8: '*' 1973 | happy-dom: '*' 1974 | jsdom: '*' 1975 | peerDependenciesMeta: 1976 | '@edge-runtime/vm': 1977 | optional: true 1978 | '@vitest/browser': 1979 | optional: true 1980 | '@vitest/ui': 1981 | optional: true 1982 | c8: 1983 | optional: true 1984 | happy-dom: 1985 | optional: true 1986 | jsdom: 1987 | optional: true 1988 | dependencies: 1989 | '@types/chai': 4.3.1 1990 | '@types/chai-subset': 1.3.3 1991 | '@types/node': 18.6.3 1992 | chai: 4.3.6 1993 | debug: 4.3.4 1994 | local-pkg: 0.4.2 1995 | tinypool: 0.2.4 1996 | tinyspy: 1.0.0 1997 | vite: 3.0.4 1998 | transitivePeerDependencies: 1999 | - less 2000 | - sass 2001 | - stylus 2002 | - supports-color 2003 | - terser 2004 | dev: true 2005 | 2006 | /wcwidth/1.0.1: 2007 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 2008 | dependencies: 2009 | defaults: 1.0.3 2010 | dev: true 2011 | 2012 | /which-boxed-primitive/1.0.2: 2013 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2014 | dependencies: 2015 | is-bigint: 1.0.4 2016 | is-boolean-object: 1.1.2 2017 | is-number-object: 1.0.7 2018 | is-string: 1.0.7 2019 | is-symbol: 1.0.4 2020 | dev: true 2021 | 2022 | /which-module/2.0.0: 2023 | resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} 2024 | dev: true 2025 | 2026 | /which-pm/2.0.0: 2027 | resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} 2028 | engines: {node: '>=8.15'} 2029 | dependencies: 2030 | load-yaml-file: 0.2.0 2031 | path-exists: 4.0.0 2032 | dev: true 2033 | 2034 | /which/1.3.1: 2035 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2036 | hasBin: true 2037 | dependencies: 2038 | isexe: 2.0.0 2039 | dev: true 2040 | 2041 | /wrap-ansi/6.2.0: 2042 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 2043 | engines: {node: '>=8'} 2044 | dependencies: 2045 | ansi-styles: 4.3.0 2046 | string-width: 4.2.3 2047 | strip-ansi: 6.0.1 2048 | dev: true 2049 | 2050 | /wrap-ansi/7.0.0: 2051 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2052 | engines: {node: '>=10'} 2053 | dependencies: 2054 | ansi-styles: 4.3.0 2055 | string-width: 4.2.3 2056 | strip-ansi: 6.0.1 2057 | dev: true 2058 | 2059 | /y18n/4.0.3: 2060 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} 2061 | dev: true 2062 | 2063 | /y18n/5.0.8: 2064 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2065 | engines: {node: '>=10'} 2066 | dev: true 2067 | 2068 | /yallist/2.1.2: 2069 | resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} 2070 | dev: true 2071 | 2072 | /yargs-parser/18.1.3: 2073 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 2074 | engines: {node: '>=6'} 2075 | dependencies: 2076 | camelcase: 5.3.1 2077 | decamelize: 1.2.0 2078 | dev: true 2079 | 2080 | /yargs-parser/21.0.1: 2081 | resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} 2082 | engines: {node: '>=12'} 2083 | dev: true 2084 | 2085 | /yargs/15.4.1: 2086 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 2087 | engines: {node: '>=8'} 2088 | dependencies: 2089 | cliui: 6.0.0 2090 | decamelize: 1.2.0 2091 | find-up: 4.1.0 2092 | get-caller-file: 2.0.5 2093 | require-directory: 2.1.1 2094 | require-main-filename: 2.0.0 2095 | set-blocking: 2.0.0 2096 | string-width: 4.2.3 2097 | which-module: 2.0.0 2098 | y18n: 4.0.3 2099 | yargs-parser: 18.1.3 2100 | dev: true 2101 | 2102 | /yargs/17.5.1: 2103 | resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} 2104 | engines: {node: '>=12'} 2105 | dependencies: 2106 | cliui: 7.0.4 2107 | escalade: 3.1.1 2108 | get-caller-file: 2.0.5 2109 | require-directory: 2.1.1 2110 | string-width: 4.2.3 2111 | y18n: 5.0.8 2112 | yargs-parser: 21.0.1 2113 | dev: true 2114 | 2115 | /yocto-queue/0.1.0: 2116 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2117 | engines: {node: '>=10'} 2118 | dev: true 2119 | --------------------------------------------------------------------------------