├── .editorconfig ├── .github └── workflows │ ├── main.yml │ └── pr.yml ├── .gitignore ├── LICENSE ├── README.md ├── package.json ├── run-tests.sh ├── src ├── constants.js ├── index.js ├── steps │ ├── match-path.js │ ├── parse-paths.js │ ├── resolve-base.js │ └── resolve-path.js └── utils │ ├── get-package.js │ ├── get-ts-config.js │ ├── match-file.js │ ├── memo.js │ └── parse-jsonc.js ├── tests ├── .parcelrc ├── base-url-paths-resource │ ├── src │ │ ├── main.ts │ │ ├── styles │ │ │ └── styles.css │ │ └── urls.css │ └── tsconfig.json ├── base-url-paths │ ├── src │ │ ├── main.ts │ │ ├── urls.ts │ │ └── utils │ │ │ └── test.ts │ └── tsconfig.json ├── base-url-resource │ ├── src │ │ ├── main.ts │ │ └── styles │ │ │ └── styles.css │ └── tsconfig.json ├── base-url │ ├── src │ │ ├── main.ts │ │ └── utils │ │ │ └── test.ts │ └── tsconfig.json ├── invalid-tsconfig │ ├── src │ │ ├── main.ts │ │ └── utils │ │ │ └── test.ts │ └── tsconfig.json ├── js-import │ ├── src │ │ ├── main.ts │ │ ├── test.js │ │ └── utils │ │ │ └── test.js │ └── tsconfig.json ├── jsonc-in-tsconfig │ ├── src │ │ ├── main.ts │ │ └── utils │ │ │ └── test.ts │ └── tsconfig.json ├── no-tsconfig │ └── src │ │ ├── main.ts │ │ └── utils │ │ └── test.ts ├── package.json ├── paths-invalid-match │ ├── src │ │ ├── main.ts │ │ ├── urls.ts │ │ └── utils │ │ │ └── test.ts │ └── tsconfig.json ├── paths-resource │ ├── src │ │ ├── main.ts │ │ ├── styles │ │ │ └── styles.css │ │ └── urls.css │ └── tsconfig.json ├── paths │ ├── src │ │ ├── main.ts │ │ ├── urls.ts │ │ └── utils │ │ │ ├── test.ts │ │ │ └── util │ │ │ └── test.ts │ └── tsconfig.json └── yarn.lock ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 4 7 | indent_style = space 8 | insert_final_newline = true 9 | max_line_length = 80 10 | trim_trailing_whitespace = true 11 | 12 | [*.{md,yaml,yml}] 13 | indent_size = 2 14 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: main 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v2 13 | with: 14 | fetch-depth: 0 15 | 16 | - name: Install dependencies 17 | run: yarn --frozen-lockfile 18 | 19 | - name: Lint 20 | run: yarn lint 21 | 22 | - name: Test 23 | run: yarn test 24 | 25 | - name: Bump version 26 | id: bump-version 27 | uses: "yakovlev-alexey/bump-package-version-action@v1.1.0" 28 | env: 29 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 30 | with: 31 | major-wording: "feat!" 32 | minor-wording: "feat" 33 | patch-wording: "fix" 34 | 35 | - name: Publish npm 36 | if: steps.bump-version.outputs.version != null 37 | env: 38 | NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} 39 | run: yarn publish --non-interactive --registry https://registry.npmjs.org/ 40 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | name: pr 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | pull_request: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v2 13 | with: 14 | fetch-depth: 0 15 | 16 | - name: Install dependencies 17 | run: yarn --frozen-lockfile 18 | 19 | - name: Lint 20 | run: yarn lint 21 | 22 | - name: Test 23 | run: yarn test 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .parcel-cache 3 | index.js 4 | index.js.map 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright © 2022 Alexey Yakovlev 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # parcel-resolver-ts-base-url 2 | 3 | At the moment Parcel does not support resolving imports using `paths` and `baseUrl` properties from `tsconfig.json`. This is a big issue both when migrating existing projects leveraging these properties and for developers having preference for TypeScript path aliases. This resolver allows you to use the same imports with `parcel@^2` as when using `tsc`. 4 | 5 | ![](https://img.shields.io/bundlephobia/minzip/parcel-resolver-ts-base-url?style=social) 6 | 7 | ## Table of Contents 8 | 9 | - [parcel-resolver-ts-base-url](#parcel-resolver-ts-base-url) 10 | - [Table of Contents](#table-of-contents) 11 | - [Installation](#installation) 12 | - [Usage](#usage) 13 | - [Contributing](#contributing) 14 | - [License](#license) 15 | 16 | ## Installation 17 | 18 | You can install `parcel-resolver-ts-base-url` using npm or yarn: 19 | 20 | ```bash 21 | npm i --save-dev parcel-resolver-ts-base-url 22 | # or 23 | yarn add -D parcel-resolver-ts-base-url 24 | ``` 25 | 26 | ## Usage 27 | 28 | Simply add `parcel-resolver-ts-base-url` to your `.parcelrc`: 29 | 30 | ```json 31 | { 32 | "extends": "@parcel/config-default", 33 | "resolvers": ["parcel-resolver-ts-base-url", "..."] 34 | } 35 | ``` 36 | 37 | > At the moment `parcel` doesn't provide a way to specify `tsconfig.json` location I know of. `parcel-resolver-ts-base-url` will look for `tsconfig.json` recursively from the import location to the project root (`.parcelrc` location) like Parcel itself does. 38 | 39 | Read more about `parcel` configuration in [official docs](https://parceljs.org/features/plugins/). 40 | 41 | ### Known Issues 42 | 43 | - ~~HMR support is unknown.~~ Manually tested and seems to be working. Make sure to submit a [GitHub issue](https://github.com/yakovlev-alexey/parcel-resolver-ts-base-url/issues) if it does not work for you. 44 | - ~~Resources imports using `baseUrl` or `paths` is unsupported in this resolver. Feel free to submit a PR.~~ Has been implemented with tests in place. 45 | 46 | ## Contributing 47 | 48 | Feel free to send any suggestions in [GitHub issues](https://github.com/yakovlev-alexey/parcel-resolver-ts-base-url/issues): comment or vote on an existing issue, open a new one or create a Pull Request with your feature. Please make sure to add relevant test cases. 49 | 50 | ## License 51 | 52 | [MIT](/LICENSE) 53 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "parcel-resolver-ts-base-url", 3 | "description": "Resolve tsconfig baseUrl and paths imports with Parcel", 4 | "version": "1.3.1", 5 | "main": "index.js", 6 | "source": "src/index.js", 7 | "author": "Alexey Yakovlev ", 8 | "license": "MIT", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/yakovlev-alexey/parcel-resolver-ts-base-url" 12 | }, 13 | "scripts": { 14 | "build": "parcel build", 15 | "lint": "tsc", 16 | "prepublishOnly": "yarn build", 17 | "test": "yarn build && bash run-tests.sh" 18 | }, 19 | "keywords": [ 20 | "parcel", 21 | "resolver", 22 | "parcel-resolver", 23 | "tsconfig", 24 | "typescript", 25 | "paths", 26 | "baseurl" 27 | ], 28 | "files": [ 29 | "index.js", 30 | "index.js.map", 31 | "package.json", 32 | "LICENSE" 33 | ], 34 | "engines": { 35 | "node": ">=12", 36 | "parcel": "^2" 37 | }, 38 | "peerDependencies": { 39 | "@parcel/plugin": "^2.0.0", 40 | "parcel": "^2.0.0" 41 | }, 42 | "devDependencies": { 43 | "parcel": "^2.0.0", 44 | "typescript": "^4.5.4" 45 | }, 46 | "dependencies": { 47 | "jsonc-parser": "^3.2.0" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /run-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | RED='\033[0;31m' 4 | GREEN='\033[0;32m' 5 | NC='\033[0m' 6 | 7 | tests=("base-url" "paths" "base-url-paths" "base-url-resource" "paths-resource" "base-url-paths-resource" "paths-invalid-match" "no-tsconfig" "invalid-tsconfig" "js-import" "jsonc-in-tsconfig") 8 | negative_tests=("paths-invalid-match" "invalid-tsconfig") 9 | 10 | contains_element() { 11 | local e match="$1" 12 | shift 13 | for e; do [[ "$e" == "$match" ]] && return 1; done 14 | return 0 15 | } 16 | 17 | is_negative_test(){ 18 | if contains_element $1 "${negative_tests[@]}" 19 | then 20 | return 1 21 | else 22 | return 0 23 | fi 24 | } 25 | 26 | cleanup(){ 27 | rm -rf .parcel-cache index* 28 | 29 | printf "${RED}TEST \"$1\" FAILED!!!${NC}\n" 30 | 31 | exit 1 32 | } 33 | 34 | run_test() { 35 | printf "\n======================\n" 36 | printf "Running test \"$1\"...\n" 37 | if is_negative_test $1; 38 | then 39 | yarn parcel build $1/src/main.ts &> /dev/null && cleanup $1 40 | else 41 | yarn parcel build $1/src/main.ts &> /dev/null || cleanup $1 42 | fi 43 | rm -rf .parcel-cache index* 44 | printf "${GREEN}TEST \"$1\" SUCCESSFUL${NC}\n" 45 | } 46 | 47 | cd tests 48 | 49 | printf "Installing deps...\n" 50 | yarn install &> /dev/null || (printf "${RED}FAILED TO INSTALL DEPS${NC}\n" && exit 1) 51 | cp ../index.js node_modules/parcel-resolver-ts-base-url/index.js 52 | printf "Deps installed\n" 53 | 54 | run_test ${tests[0]} 55 | 56 | for index in "${!tests[@]}"; 57 | do 58 | if [ $index -eq 0 ]; 59 | then 60 | continue 61 | fi 62 | 63 | run_test ${tests[$index]} 64 | done 65 | 66 | 67 | -------------------------------------------------------------------------------- /src/constants.js: -------------------------------------------------------------------------------- 1 | const POSSIBLE_EXTENSIONS = ["js", "jsx", "ts", "tsx", "cjs", "mjs"]; 2 | 3 | const POSSIBLE_EXTENSION_REGEX = /[.](([cm]js)|([jt]sx?))$/; 4 | 5 | export { POSSIBLE_EXTENSIONS, POSSIBLE_EXTENSION_REGEX }; 6 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | 3 | import { Resolver } from "@parcel/plugin"; 4 | 5 | import { getTsConfig } from "./utils/get-ts-config"; 6 | 7 | import { matchPath } from "./steps/match-path"; 8 | import { parsePaths } from "./steps/parse-paths"; 9 | import { resolveBase } from "./steps/resolve-base"; 10 | import { resolvePath } from "./steps/resolve-path"; 11 | 12 | import { POSSIBLE_EXTENSION_REGEX } from "./constants"; 13 | 14 | export default new Resolver({ 15 | async resolve({ specifier, dependency, options }) { 16 | const isJavascriptImport = POSSIBLE_EXTENSION_REGEX.test( 17 | dependency.resolveFrom || "" 18 | ); 19 | 20 | if (!isJavascriptImport) { 21 | return null; 22 | } 23 | 24 | try { 25 | const { tsConfig, path: sourcePath } = await getTsConfig( 26 | options.inputFS, 27 | dependency.resolveFrom 28 | ? path.dirname(dependency.resolveFrom) 29 | : options.projectRoot, 30 | options.projectRoot 31 | ); 32 | 33 | const rawBaseUrl = tsConfig.compilerOptions?.baseUrl; 34 | const rawPaths = tsConfig.compilerOptions?.paths; 35 | 36 | if (!rawBaseUrl && !rawPaths) { 37 | return null; 38 | } 39 | 40 | const baseUrl = path.resolve(sourcePath, rawBaseUrl || "."); 41 | const paths = parsePaths(rawPaths); 42 | 43 | const matchedPath = matchPath(specifier, paths); 44 | 45 | if (matchedPath !== null) { 46 | const resolved = await resolvePath( 47 | options.inputFS, 48 | specifier, 49 | matchedPath, 50 | baseUrl 51 | ); 52 | 53 | if (!resolved) { 54 | return null; 55 | } 56 | 57 | return { 58 | filePath: resolved, 59 | invalidateOnFileChange: [resolved], 60 | }; 61 | } 62 | 63 | const resolvedFromBase = await resolveBase( 64 | options.inputFS, 65 | specifier, 66 | baseUrl 67 | ); 68 | 69 | if (resolvedFromBase !== null) { 70 | return { 71 | filePath: resolvedFromBase, 72 | invalidateOnFileChange: [resolvedFromBase], 73 | }; 74 | } 75 | } catch (err) { 76 | return { 77 | diagnostics: [ 78 | { 79 | message: 80 | err instanceof Error 81 | ? err.message 82 | : "Unknown error", 83 | hints: [ 84 | "Check if a tsconfig.json file exists and has valid configuration in it", 85 | ], 86 | }, 87 | ], 88 | }; 89 | } 90 | 91 | return null; 92 | }, 93 | }); 94 | -------------------------------------------------------------------------------- /src/steps/match-path.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {string} specifier 3 | * @param {import("./parse-paths").Path[]} paths 4 | * @returns {import("./parse-paths").Path | null} 5 | */ 6 | const matchPath = (specifier, paths) => { 7 | for (const path of paths) { 8 | if (path.regexp.test(specifier)) { 9 | return path; 10 | } 11 | } 12 | 13 | return null; 14 | }; 15 | 16 | export { matchPath }; 17 | -------------------------------------------------------------------------------- /src/steps/parse-paths.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef {{match: string, resolve: string[] | string, regexp: RegExp}} Path 3 | * @param {Record} paths 4 | * @returns {Path[]} 5 | */ 6 | const parsePaths = (paths) => { 7 | if (!paths) { 8 | return []; 9 | } 10 | 11 | return Object.keys(paths).map((path) => { 12 | return { 13 | match: path, 14 | resolve: paths[path], 15 | regexp: new RegExp(`^${path.replace("*", ".*")}$`), 16 | }; 17 | }); 18 | }; 19 | 20 | export { parsePaths }; 21 | -------------------------------------------------------------------------------- /src/steps/resolve-base.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | 3 | import { matchFile } from "../utils/match-file"; 4 | 5 | /** 6 | * @param {import('@parcel/fs').FileSystem} fs 7 | * @param {string} specifier 8 | * @param {string} baseUrl 9 | * @returns {Promise} 10 | */ 11 | const resolveBase = async (fs, specifier, baseUrl) => { 12 | const filePath = path.resolve(baseUrl, specifier); 13 | 14 | return await matchFile(fs, filePath); 15 | }; 16 | 17 | export { resolveBase }; 18 | -------------------------------------------------------------------------------- /src/steps/resolve-path.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | 3 | import { matchFile } from "../utils/match-file"; 4 | 5 | /** 6 | * @param {import('@parcel/fs').FileSystem} fs 7 | * @param {string} specifier 8 | * @param {import('./parse-paths').Path} matchedPath 9 | * @param {string} baseUrl 10 | * @returns {Promise} 11 | */ 12 | const resolvePath = async (fs, specifier, matchedPath, baseUrl) => { 13 | const strippedMatch = matchedPath.match.replace("*", ""); 14 | 15 | const wildcard = specifier.replace(strippedMatch, ""); 16 | 17 | const resolves = 18 | typeof matchedPath.resolve === "string" 19 | ? [matchedPath.resolve] 20 | : matchedPath.resolve; 21 | 22 | for (const resolve of resolves) { 23 | const filePath = path.resolve(baseUrl, resolve.replace("*", wildcard)); 24 | 25 | const matchedFile = await matchFile(fs, filePath); 26 | 27 | if (matchedFile) { 28 | return matchedFile; 29 | } 30 | } 31 | 32 | return null; 33 | }; 34 | 35 | export { resolvePath }; 36 | -------------------------------------------------------------------------------- /src/utils/get-package.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | 3 | import { createMemo } from "./memo"; 4 | 5 | /** 6 | * @param {import('./memo').Memo>} memo 7 | * @param {import('@parcel/fs').FileSystem} fs 8 | * @param {string} folder 9 | * @returns {Promise | null>} 10 | */ 11 | const getPackage = async (memo, fs, folder) => { 12 | if (memo[folder]) { 13 | return memo[folder]; 14 | } 15 | 16 | const packagePath = path.resolve(folder, "package.json"); 17 | 18 | const packageExists = await fs.exists(packagePath); 19 | 20 | if (!packageExists) { 21 | return null; 22 | } 23 | 24 | const packageContent = await fs.readFile(packagePath); 25 | 26 | try { 27 | // @ts-expect-error packageContent is a string 28 | return (memo[folder] = JSON.parse(packageContent)); 29 | } catch (_) { 30 | return null; 31 | } 32 | }; 33 | 34 | const memoizedGetPackage = createMemo(getPackage); 35 | 36 | export { memoizedGetPackage as getPackage }; 37 | -------------------------------------------------------------------------------- /src/utils/get-ts-config.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | 3 | import { createMemo } from "./memo"; 4 | import { parseJsoncOrThrow } from "./parse-jsonc" 5 | 6 | /** 7 | * @param {import('./memo').Memo>} memo 8 | * @param {import('@parcel/fs').FileSystem} fs 9 | * @param {string} sourcePath 10 | * @param {string} projectRoot 11 | * @returns {Promise<{ tsConfig: Record, path: string }>} 12 | */ 13 | const getTsConfig = async (memo, fs, sourcePath, projectRoot) => { 14 | while (true) { 15 | if (memo[sourcePath]) { 16 | return { tsConfig: memo[sourcePath], path: sourcePath }; 17 | } 18 | 19 | const tsConfigPath = path.join(sourcePath, "tsconfig.json"); 20 | 21 | try { 22 | if (await fs.exists(tsConfigPath)) { 23 | const tsConfigContent = await fs.readFile( 24 | tsConfigPath, 25 | "utf-8" 26 | ); 27 | 28 | const parsedConfig = parseJsoncOrThrow(tsConfigContent); 29 | 30 | return { 31 | tsConfig: (memo[sourcePath] = parsedConfig), 32 | path: sourcePath, 33 | }; 34 | } 35 | } catch (err) { 36 | const errMsg = err instanceof Error ? err.message : err; 37 | throw new Error( 38 | `Unexpected exception when reading ${tsConfigPath}: ${errMsg}` 39 | ); 40 | } 41 | 42 | if (sourcePath === projectRoot) { 43 | throw new Error( 44 | `tsconfig.json not found in ${path.relative( 45 | projectRoot, 46 | sourcePath 47 | )}` 48 | ); 49 | } 50 | 51 | sourcePath = path.join(sourcePath, ".."); 52 | } 53 | }; 54 | 55 | const memoizedGetTsConfig = createMemo(getTsConfig); 56 | 57 | export { memoizedGetTsConfig as getTsConfig }; 58 | -------------------------------------------------------------------------------- /src/utils/match-file.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | 3 | import { POSSIBLE_EXTENSIONS } from "../constants"; 4 | 5 | import { getPackage } from "./get-package"; 6 | 7 | /** 8 | * @param {import('@parcel/fs').FileSystem} fs 9 | * @param {string} matchedPath 10 | * @param {string[]} extensions 11 | * @returns {Promise} 12 | */ 13 | const matchFile = async (fs, matchedPath, extensions = POSSIBLE_EXTENSIONS) => { 14 | const exists = await fs.exists(matchedPath); 15 | 16 | const stat = exists && (await fs.stat(matchedPath)); 17 | const isDirectory = stat && stat.isDirectory(); 18 | 19 | if (exists) { 20 | if (!isDirectory) { 21 | return matchedPath; 22 | } 23 | 24 | const pkg = await getPackage(fs, matchedPath); 25 | 26 | const main = pkg && (pkg.main || pkg.module); 27 | if (typeof main === "string") { 28 | return path.resolve(matchedPath, main); 29 | } 30 | } 31 | 32 | const filePath = isDirectory 33 | ? path.resolve(matchedPath, "index") 34 | : matchedPath; 35 | 36 | for (const extension of extensions) { 37 | const completePath = `${filePath}.${extension}`; 38 | 39 | if (await fs.exists(completePath)) { 40 | return completePath; 41 | } 42 | } 43 | 44 | return null; 45 | }; 46 | 47 | export { matchFile }; 48 | -------------------------------------------------------------------------------- /src/utils/memo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @template T 3 | * @typedef {Record} Memo 4 | */ 5 | 6 | /** 7 | * @template {Array} A 8 | * @template T, R 9 | * @param {(memo: Memo, ...args: A) => R} func 10 | * @returns {(...args:A) => R} 11 | */ 12 | const createMemo = (func) => { 13 | /** 14 | * @type {Memo} 15 | */ 16 | const memo = {}; 17 | 18 | return (...args) => { 19 | return func(memo, ...args); 20 | }; 21 | }; 22 | 23 | export { createMemo }; 24 | -------------------------------------------------------------------------------- /src/utils/parse-jsonc.js: -------------------------------------------------------------------------------- 1 | import * as JSONC from "jsonc-parser"; 2 | 3 | /** 4 | * @param {string} jsoncString 5 | * @returns {any} 6 | */ 7 | export function parseJsoncOrThrow(jsoncString){ 8 | /** 9 | * @type {JSONC.ParseError[]} 10 | */ 11 | const errors = []; 12 | const parsingResult = JSONC.parse( 13 | jsoncString, 14 | errors, 15 | {allowTrailingComma: true} 16 | ); 17 | if(errors.length > 0){ 18 | const {error: errorCode, offset} = errors[0]; 19 | const errName = JSONC.printParseErrorCode(errorCode); 20 | throw new Error( 21 | `Cannot parse JSONC: got ${errName} at position ${offset}` 22 | ); 23 | } 24 | return parsingResult 25 | } 26 | -------------------------------------------------------------------------------- /tests/.parcelrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@parcel/config-default", 3 | "resolvers": [ 4 | "parcel-resolver-ts-base-url", 5 | "..." 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /tests/base-url-paths-resource/src/main.ts: -------------------------------------------------------------------------------- 1 | import "@styles/styles.css"; 2 | import "@urls"; 3 | -------------------------------------------------------------------------------- /tests/base-url-paths-resource/src/styles/styles.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /tests/base-url-paths-resource/src/urls.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /tests/base-url-paths-resource/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src", 4 | "paths": { 5 | "@styles/*": ["./styles/*"], 6 | "@urls": ["./urls.css"] 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tests/base-url-paths/src/main.ts: -------------------------------------------------------------------------------- 1 | import { URLS } from "@urls"; 2 | import { test } from "@utils/test"; 3 | 4 | test(); 5 | console.log(URLS); 6 | -------------------------------------------------------------------------------- /tests/base-url-paths/src/urls.ts: -------------------------------------------------------------------------------- 1 | export const URLS = {}; 2 | -------------------------------------------------------------------------------- /tests/base-url-paths/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/base-url-paths/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src", 4 | "paths": { 5 | "@utils/*": ["./utils/*"], 6 | "@urls": ["./urls"] 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tests/base-url-resource/src/main.ts: -------------------------------------------------------------------------------- 1 | import "styles/styles.css"; 2 | -------------------------------------------------------------------------------- /tests/base-url-resource/src/styles/styles.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /tests/base-url-resource/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/base-url/src/main.ts: -------------------------------------------------------------------------------- 1 | import { test } from "utils/test"; 2 | 3 | test(); 4 | -------------------------------------------------------------------------------- /tests/base-url/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/base-url/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/invalid-tsconfig/src/main.ts: -------------------------------------------------------------------------------- 1 | import { test } from "utils/test"; 2 | 3 | test(); 4 | -------------------------------------------------------------------------------- /tests/invalid-tsconfig/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/invalid-tsconfig/tsconfig.json: -------------------------------------------------------------------------------- 1 | error{ 2 | "compilerOptions": { 3 | "baseUrl": "src" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/js-import/src/main.ts: -------------------------------------------------------------------------------- 1 | import { test } from "./test"; 2 | 3 | test(); 4 | -------------------------------------------------------------------------------- /tests/js-import/src/test.js: -------------------------------------------------------------------------------- 1 | export * from "utils/test"; 2 | -------------------------------------------------------------------------------- /tests/js-import/src/utils/test.js: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/js-import/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tests/jsonc-in-tsconfig/src/main.ts: -------------------------------------------------------------------------------- 1 | import { test } from "utils/test"; 2 | 3 | test(); 4 | -------------------------------------------------------------------------------- /tests/jsonc-in-tsconfig/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/jsonc-in-tsconfig/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | // this is base url! and it has trailing comma, which is awesome! 4 | "baseUrl": "src", 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tests/no-tsconfig/src/main.ts: -------------------------------------------------------------------------------- 1 | import { test } from "./utils/test"; 2 | 3 | test(); 4 | -------------------------------------------------------------------------------- /tests/no-tsconfig/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tests", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "devDependencies": { 7 | "@parcel/plugin": "^2.0.0", 8 | "parcel": "^2.7.0", 9 | "parcel-resolver-ts-base-url": "^1.1.5" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/paths-invalid-match/src/main.ts: -------------------------------------------------------------------------------- 1 | import { URLS } from "@urlsss"; 2 | import { test } from "@utils/test"; 3 | 4 | test(); 5 | console.log(URLS); 6 | -------------------------------------------------------------------------------- /tests/paths-invalid-match/src/urls.ts: -------------------------------------------------------------------------------- 1 | export const URLS = {}; 2 | -------------------------------------------------------------------------------- /tests/paths-invalid-match/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/paths-invalid-match/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@utils/*": ["./src/utils/*"], 5 | "@urls": ["./src/urls"] 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tests/paths-resource/src/main.ts: -------------------------------------------------------------------------------- 1 | import "@styles/styles.css"; 2 | import "@urls"; 3 | -------------------------------------------------------------------------------- /tests/paths-resource/src/styles/styles.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /tests/paths-resource/src/urls.css: -------------------------------------------------------------------------------- 1 | h1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /tests/paths-resource/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@styles/*": ["./src/styles/*"], 5 | "@urls": ["./src/urls.css"] 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tests/paths/src/main.ts: -------------------------------------------------------------------------------- 1 | import { URLS } from "@urls"; 2 | import { test } from "@utils/test"; 3 | import { test as _ } from "@utils/util/test"; 4 | 5 | test(); 6 | console.log(URLS); 7 | -------------------------------------------------------------------------------- /tests/paths/src/urls.ts: -------------------------------------------------------------------------------- 1 | export const URLS = {}; 2 | -------------------------------------------------------------------------------- /tests/paths/src/utils/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/paths/src/utils/util/test.ts: -------------------------------------------------------------------------------- 1 | export const test = () => { 2 | console.log("test"); 3 | }; 4 | -------------------------------------------------------------------------------- /tests/paths/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@utils/*": ["./src/utils/*"], 5 | "@urls": ["./src/urls"] 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tests/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.18.6" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 8 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 9 | dependencies: 10 | "@babel/highlight" "^7.18.6" 11 | 12 | "@babel/helper-validator-identifier@^7.18.6": 13 | version "7.19.1" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 15 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 16 | 17 | "@babel/highlight@^7.18.6": 18 | version "7.18.6" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 20 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.18.6" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@jridgewell/gen-mapping@^0.3.0": 27 | version "0.3.2" 28 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 29 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 30 | dependencies: 31 | "@jridgewell/set-array" "^1.0.1" 32 | "@jridgewell/sourcemap-codec" "^1.4.10" 33 | "@jridgewell/trace-mapping" "^0.3.9" 34 | 35 | "@jridgewell/resolve-uri@^3.0.3": 36 | version "3.1.0" 37 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 38 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 39 | 40 | "@jridgewell/set-array@^1.0.1": 41 | version "1.1.2" 42 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 43 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 44 | 45 | "@jridgewell/source-map@^0.3.2": 46 | version "0.3.2" 47 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 48 | integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 49 | dependencies: 50 | "@jridgewell/gen-mapping" "^0.3.0" 51 | "@jridgewell/trace-mapping" "^0.3.9" 52 | 53 | "@jridgewell/sourcemap-codec@^1.4.10": 54 | version "1.4.14" 55 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 56 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 57 | 58 | "@jridgewell/trace-mapping@^0.3.9": 59 | version "0.3.15" 60 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" 61 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== 62 | dependencies: 63 | "@jridgewell/resolve-uri" "^3.0.3" 64 | "@jridgewell/sourcemap-codec" "^1.4.10" 65 | 66 | "@lezer/common@^0.15.0", "@lezer/common@^0.15.7": 67 | version "0.15.12" 68 | resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9" 69 | integrity sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig== 70 | 71 | "@lezer/lr@^0.15.4": 72 | version "0.15.8" 73 | resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-0.15.8.tgz#1564a911e62b0a0f75ca63794a6aa8c5dc63db21" 74 | integrity sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg== 75 | dependencies: 76 | "@lezer/common" "^0.15.0" 77 | 78 | "@lmdb/lmdb-darwin-arm64@2.5.2": 79 | version "2.5.2" 80 | resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz#bc66fa43286b5c082e8fee0eacc17995806b6fbe" 81 | integrity sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A== 82 | 83 | "@lmdb/lmdb-darwin-x64@2.5.2": 84 | version "2.5.2" 85 | resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz#89d8390041bce6bab24a82a20392be22faf54ffc" 86 | integrity sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA== 87 | 88 | "@lmdb/lmdb-linux-arm64@2.5.2": 89 | version "2.5.2" 90 | resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz#14fe4c96c2bb1285f93797f45915fa35ee047268" 91 | integrity sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ== 92 | 93 | "@lmdb/lmdb-linux-arm@2.5.2": 94 | version "2.5.2" 95 | resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz#05bde4573ab10cf21827339fe687148f2590cfa1" 96 | integrity sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw== 97 | 98 | "@lmdb/lmdb-linux-x64@2.5.2": 99 | version "2.5.2" 100 | resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz#d2f85afd857d2c33d2caa5b057944574edafcfee" 101 | integrity sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q== 102 | 103 | "@lmdb/lmdb-win32-x64@2.5.2": 104 | version "2.5.2" 105 | resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz#28f643fbc0bec30b07fbe95b137879b6b4d1c9c5" 106 | integrity sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA== 107 | 108 | "@mischnic/json-sourcemap@^0.1.0": 109 | version "0.1.0" 110 | resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz#38af657be4108140a548638267d02a2ea3336507" 111 | integrity sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA== 112 | dependencies: 113 | "@lezer/common" "^0.15.7" 114 | "@lezer/lr" "^0.15.4" 115 | json5 "^2.2.1" 116 | 117 | "@msgpackr-extract/msgpackr-extract-darwin-arm64@2.1.2": 118 | version "2.1.2" 119 | resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.1.2.tgz#9571b87be3a3f2c46de05585470bc4f3af2f6f00" 120 | integrity sha512-TyVLn3S/+ikMDsh0gbKv2YydKClN8HaJDDpONlaZR+LVJmsxLFUgA+O7zu59h9+f9gX1aj/ahw9wqa6rosmrYQ== 121 | 122 | "@msgpackr-extract/msgpackr-extract-darwin-x64@2.1.2": 123 | version "2.1.2" 124 | resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-2.1.2.tgz#bfbc6936ede2955218f5621a675679a5fe8e6f4c" 125 | integrity sha512-YPXtcVkhmVNoMGlqp81ZHW4dMxK09msWgnxtsDpSiZwTzUBG2N+No2bsr7WMtBKCVJMSD6mbAl7YhKUqkp/Few== 126 | 127 | "@msgpackr-extract/msgpackr-extract-linux-arm64@2.1.2": 128 | version "2.1.2" 129 | resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-2.1.2.tgz#22555e28382af2922e7450634c8a2f240bb9eb82" 130 | integrity sha512-vHZ2JiOWF2+DN9lzltGbhtQNzDo8fKFGrf37UJrgqxU0yvtERrzUugnfnX1wmVfFhSsF8OxrfqiNOUc5hko1Zg== 131 | 132 | "@msgpackr-extract/msgpackr-extract-linux-arm@2.1.2": 133 | version "2.1.2" 134 | resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-2.1.2.tgz#ffb6ae1beea7ac572b6be6bf2a8e8162ebdd8be7" 135 | integrity sha512-42R4MAFeIeNn+L98qwxAt360bwzX2Kf0ZQkBBucJ2Ircza3asoY4CDbgiu9VWklq8gWJVSJSJBwDI+c/THiWkA== 136 | 137 | "@msgpackr-extract/msgpackr-extract-linux-x64@2.1.2": 138 | version "2.1.2" 139 | resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-2.1.2.tgz#7caf62eebbfb1345de40f75e89666b3d4194755f" 140 | integrity sha512-RjRoRxg7Q3kPAdUSC5EUUPlwfMkIVhmaRTIe+cqHbKrGZ4M6TyCA/b5qMaukQ/1CHWrqYY2FbKOAU8Hg0pQFzg== 141 | 142 | "@msgpackr-extract/msgpackr-extract-win32-x64@2.1.2": 143 | version "2.1.2" 144 | resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-2.1.2.tgz#f2d8b9ddd8d191205ed26ce54aba3dfc5ae3e7c9" 145 | integrity sha512-rIZVR48zA8hGkHIK7ED6+ZiXsjRCcAVBJbm8o89OKAMTmEAQ2QvoOxoiu3w2isAaWwzgtQIOFIqHwvZDyLKCvw== 146 | 147 | "@parcel/bundler-default@2.7.0": 148 | version "2.7.0" 149 | resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.7.0.tgz#17d94be7185f29773aa21454063cbba3cdc03d49" 150 | integrity sha512-PU5MtWWhc+dYI9x8mguYnm9yiG6TkI7niRpxgJgtqAyGHuEyNXVBQQ0X+qyOF4D9LdankBf8uNN18g31IET2Zg== 151 | dependencies: 152 | "@parcel/diagnostic" "2.7.0" 153 | "@parcel/hash" "2.7.0" 154 | "@parcel/plugin" "2.7.0" 155 | "@parcel/utils" "2.7.0" 156 | nullthrows "^1.1.1" 157 | 158 | "@parcel/cache@2.7.0": 159 | version "2.7.0" 160 | resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.7.0.tgz#cc4b99685c7ff0fc20fbc321f4b6850d6e0c6811" 161 | integrity sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA== 162 | dependencies: 163 | "@parcel/fs" "2.7.0" 164 | "@parcel/logger" "2.7.0" 165 | "@parcel/utils" "2.7.0" 166 | lmdb "2.5.2" 167 | 168 | "@parcel/codeframe@2.7.0": 169 | version "2.7.0" 170 | resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.7.0.tgz#b6e4ad6100938edbed1b6c72b37f609e1abaf931" 171 | integrity sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg== 172 | dependencies: 173 | chalk "^4.1.0" 174 | 175 | "@parcel/compressor-raw@2.7.0": 176 | version "2.7.0" 177 | resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.7.0.tgz#3f8677e6371ef099cd9e4bd2a899884dc8eb571b" 178 | integrity sha512-SCXwnOOQT6EmpusBsYWNQ/RFri+2JnKuE0gMSf2dROl2xbererX45FYzeDplWALCKAdjMNDpFwU+FyMYoVZSCQ== 179 | dependencies: 180 | "@parcel/plugin" "2.7.0" 181 | 182 | "@parcel/config-default@2.7.0": 183 | version "2.7.0" 184 | resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.7.0.tgz#2f6cec9c185b89e40f343549295cad21295621a8" 185 | integrity sha512-ZzsLr97AYrz8c9k6qn3DlqPzifi3vbP7q3ynUrAFxmt0L4+K0H9N508ZkORYmCgaFjLIQ8Y3eWpwCJ0AewPNIg== 186 | dependencies: 187 | "@parcel/bundler-default" "2.7.0" 188 | "@parcel/compressor-raw" "2.7.0" 189 | "@parcel/namer-default" "2.7.0" 190 | "@parcel/optimizer-css" "2.7.0" 191 | "@parcel/optimizer-htmlnano" "2.7.0" 192 | "@parcel/optimizer-image" "2.7.0" 193 | "@parcel/optimizer-svgo" "2.7.0" 194 | "@parcel/optimizer-terser" "2.7.0" 195 | "@parcel/packager-css" "2.7.0" 196 | "@parcel/packager-html" "2.7.0" 197 | "@parcel/packager-js" "2.7.0" 198 | "@parcel/packager-raw" "2.7.0" 199 | "@parcel/packager-svg" "2.7.0" 200 | "@parcel/reporter-dev-server" "2.7.0" 201 | "@parcel/resolver-default" "2.7.0" 202 | "@parcel/runtime-browser-hmr" "2.7.0" 203 | "@parcel/runtime-js" "2.7.0" 204 | "@parcel/runtime-react-refresh" "2.7.0" 205 | "@parcel/runtime-service-worker" "2.7.0" 206 | "@parcel/transformer-babel" "2.7.0" 207 | "@parcel/transformer-css" "2.7.0" 208 | "@parcel/transformer-html" "2.7.0" 209 | "@parcel/transformer-image" "2.7.0" 210 | "@parcel/transformer-js" "2.7.0" 211 | "@parcel/transformer-json" "2.7.0" 212 | "@parcel/transformer-postcss" "2.7.0" 213 | "@parcel/transformer-posthtml" "2.7.0" 214 | "@parcel/transformer-raw" "2.7.0" 215 | "@parcel/transformer-react-refresh-wrap" "2.7.0" 216 | "@parcel/transformer-svg" "2.7.0" 217 | 218 | "@parcel/core@2.7.0": 219 | version "2.7.0" 220 | resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.7.0.tgz#3310f48230bd618735f199f159f37e6b45ed2710" 221 | integrity sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg== 222 | dependencies: 223 | "@mischnic/json-sourcemap" "^0.1.0" 224 | "@parcel/cache" "2.7.0" 225 | "@parcel/diagnostic" "2.7.0" 226 | "@parcel/events" "2.7.0" 227 | "@parcel/fs" "2.7.0" 228 | "@parcel/graph" "2.7.0" 229 | "@parcel/hash" "2.7.0" 230 | "@parcel/logger" "2.7.0" 231 | "@parcel/package-manager" "2.7.0" 232 | "@parcel/plugin" "2.7.0" 233 | "@parcel/source-map" "^2.0.0" 234 | "@parcel/types" "2.7.0" 235 | "@parcel/utils" "2.7.0" 236 | "@parcel/workers" "2.7.0" 237 | abortcontroller-polyfill "^1.1.9" 238 | base-x "^3.0.8" 239 | browserslist "^4.6.6" 240 | clone "^2.1.1" 241 | dotenv "^7.0.0" 242 | dotenv-expand "^5.1.0" 243 | json5 "^2.2.0" 244 | msgpackr "^1.5.4" 245 | nullthrows "^1.1.1" 246 | semver "^5.7.1" 247 | 248 | "@parcel/css@^1.12.2": 249 | version "1.14.0" 250 | resolved "https://registry.yarnpkg.com/@parcel/css/-/css-1.14.0.tgz#233750a1e3648b3746f27c2d8f3fd85a2290e512" 251 | integrity sha512-r5tJWe6NF6lesfPw1N3g7N7WUKpHqi2ONnw9wl5ccSGGIxkmgcPaPQxfvmhdjXvQnktSuIOR0HjQXVXu+/en/w== 252 | dependencies: 253 | lightningcss "^1.14.0" 254 | 255 | "@parcel/diagnostic@2.7.0": 256 | version "2.7.0" 257 | resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.7.0.tgz#cf2596a20ce9277334616e12bbdac98490189e99" 258 | integrity sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug== 259 | dependencies: 260 | "@mischnic/json-sourcemap" "^0.1.0" 261 | nullthrows "^1.1.1" 262 | 263 | "@parcel/events@2.7.0": 264 | version "2.7.0" 265 | resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.7.0.tgz#b6db8464d45626686134d412d3a36d024ffb1482" 266 | integrity sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig== 267 | 268 | "@parcel/fs-search@2.7.0": 269 | version "2.7.0" 270 | resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.7.0.tgz#15e658006039ddc7b92528df5266ee2b9c47b6a4" 271 | integrity sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ== 272 | dependencies: 273 | detect-libc "^1.0.3" 274 | 275 | "@parcel/fs@2.7.0": 276 | version "2.7.0" 277 | resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.7.0.tgz#c9a0c60bdbef7101ff47f2db6b23814c3db06007" 278 | integrity sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg== 279 | dependencies: 280 | "@parcel/fs-search" "2.7.0" 281 | "@parcel/types" "2.7.0" 282 | "@parcel/utils" "2.7.0" 283 | "@parcel/watcher" "^2.0.0" 284 | "@parcel/workers" "2.7.0" 285 | 286 | "@parcel/graph@2.7.0": 287 | version "2.7.0" 288 | resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-2.7.0.tgz#2ae326c62764aaa53324b89d9c83ec0bc6ad55bf" 289 | integrity sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA== 290 | dependencies: 291 | "@parcel/utils" "2.7.0" 292 | nullthrows "^1.1.1" 293 | 294 | "@parcel/hash@2.7.0": 295 | version "2.7.0" 296 | resolved "https://registry.yarnpkg.com/@parcel/hash/-/hash-2.7.0.tgz#8825cff69a0bc4816737415e6e2aa29e8671c0b1" 297 | integrity sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA== 298 | dependencies: 299 | detect-libc "^1.0.3" 300 | xxhash-wasm "^0.4.2" 301 | 302 | "@parcel/logger@2.7.0": 303 | version "2.7.0" 304 | resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.7.0.tgz#1aa1de0458bdd613714ce4031134d92135aec590" 305 | integrity sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw== 306 | dependencies: 307 | "@parcel/diagnostic" "2.7.0" 308 | "@parcel/events" "2.7.0" 309 | 310 | "@parcel/markdown-ansi@2.7.0": 311 | version "2.7.0" 312 | resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz#4ba70e3661ce06cd8fd2eb3f7b84028853a586e4" 313 | integrity sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag== 314 | dependencies: 315 | chalk "^4.1.0" 316 | 317 | "@parcel/namer-default@2.7.0": 318 | version "2.7.0" 319 | resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.7.0.tgz#e008097586016f16509834db11985dcc772c314c" 320 | integrity sha512-lIKMdsmi//7fepecNDYmJYzBlL91HifPsX03lJCdu1dC6q5fBs+gG0XjKKG7yPnSCw1qH/4m7drzt9+dRZYAHQ== 321 | dependencies: 322 | "@parcel/diagnostic" "2.7.0" 323 | "@parcel/plugin" "2.7.0" 324 | nullthrows "^1.1.1" 325 | 326 | "@parcel/node-resolver-core@2.7.0": 327 | version "2.7.0" 328 | resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-2.7.0.tgz#468074aa58a2f0026a492607153079ebb16308e3" 329 | integrity sha512-5UJQHalqMxdhJIs2hhqQzFfQpF7+NAowsRq064lYtiRvcD8wMr3OOQ9wd1iazGpFSl4JKdT7BwDU9/miDJmanQ== 330 | dependencies: 331 | "@parcel/diagnostic" "2.7.0" 332 | "@parcel/utils" "2.7.0" 333 | nullthrows "^1.1.1" 334 | semver "^5.7.1" 335 | 336 | "@parcel/optimizer-css@2.7.0": 337 | version "2.7.0" 338 | resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.7.0.tgz#460cde19b9ee61efed577473cb0822796b6e8b1a" 339 | integrity sha512-IfnOMACqhcAclKyOW9X9JpsknB6OShk9OVvb8EvbDTKHJhQHNNmzE88OkSI/pS3ZVZP9Zj+nWcVHguV+kvDeiQ== 340 | dependencies: 341 | "@parcel/css" "^1.12.2" 342 | "@parcel/diagnostic" "2.7.0" 343 | "@parcel/plugin" "2.7.0" 344 | "@parcel/source-map" "^2.0.0" 345 | "@parcel/utils" "2.7.0" 346 | browserslist "^4.6.6" 347 | nullthrows "^1.1.1" 348 | 349 | "@parcel/optimizer-htmlnano@2.7.0": 350 | version "2.7.0" 351 | resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.7.0.tgz#d2e843b539a430fcca723f08efcee26f98b3d40b" 352 | integrity sha512-5QrGdWS5Hi4VXE3nQNrGqugmSXt68YIsWwKRAdarOxzyULSJS3gbCiQOXqIPRJobfZjnSIcdtkyxSiCUe1inIA== 353 | dependencies: 354 | "@parcel/plugin" "2.7.0" 355 | htmlnano "^2.0.0" 356 | nullthrows "^1.1.1" 357 | posthtml "^0.16.5" 358 | svgo "^2.4.0" 359 | 360 | "@parcel/optimizer-image@2.7.0": 361 | version "2.7.0" 362 | resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.7.0.tgz#180d7709e6268e0634967eb265bf901aba2471ce" 363 | integrity sha512-EnaXz5UjR67FUu0BEcqZTT9LsbB/iFAkkghCotbnbOuC5QQsloq6tw54TKU3y+R3qsjgUoMtGxPcGfVoXxZXYw== 364 | dependencies: 365 | "@parcel/diagnostic" "2.7.0" 366 | "@parcel/plugin" "2.7.0" 367 | "@parcel/utils" "2.7.0" 368 | "@parcel/workers" "2.7.0" 369 | detect-libc "^1.0.3" 370 | 371 | "@parcel/optimizer-svgo@2.7.0": 372 | version "2.7.0" 373 | resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.7.0.tgz#9b4ab38a9d3c99504cf399a5c7709e5d2a615e71" 374 | integrity sha512-IO1JV4NpfP3V7FrhsqCcV8pDQIHraFi1/ZvEJyssITxjH49Im/txKlwMiQuZZryAPn8Xb8g395Muawuk6AK6sg== 375 | dependencies: 376 | "@parcel/diagnostic" "2.7.0" 377 | "@parcel/plugin" "2.7.0" 378 | "@parcel/utils" "2.7.0" 379 | svgo "^2.4.0" 380 | 381 | "@parcel/optimizer-terser@2.7.0": 382 | version "2.7.0" 383 | resolved "https://registry.yarnpkg.com/@parcel/optimizer-terser/-/optimizer-terser-2.7.0.tgz#b9ef408f45714952d1502940b6a63e5ebd3f0940" 384 | integrity sha512-07VZjIO8xsl2/WmS/qHI8lI/cpu47iS9eRpqwfZEEsdk1cfz50jhWkmFudHBxiHGMfcZ//1+DdaPg9RDBWZtZA== 385 | dependencies: 386 | "@parcel/diagnostic" "2.7.0" 387 | "@parcel/plugin" "2.7.0" 388 | "@parcel/source-map" "^2.0.0" 389 | "@parcel/utils" "2.7.0" 390 | nullthrows "^1.1.1" 391 | terser "^5.2.0" 392 | 393 | "@parcel/package-manager@2.7.0": 394 | version "2.7.0" 395 | resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.7.0.tgz#5de1bf5c94d95330e98dffb2a66c22d1f20c4c8a" 396 | integrity sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q== 397 | dependencies: 398 | "@parcel/diagnostic" "2.7.0" 399 | "@parcel/fs" "2.7.0" 400 | "@parcel/logger" "2.7.0" 401 | "@parcel/types" "2.7.0" 402 | "@parcel/utils" "2.7.0" 403 | "@parcel/workers" "2.7.0" 404 | semver "^5.7.1" 405 | 406 | "@parcel/packager-css@2.7.0": 407 | version "2.7.0" 408 | resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.7.0.tgz#060af8b96e5ad53620b4021610364804e26d69b2" 409 | integrity sha512-44nzZwu+ssGuiFmYM6cf/Y4iChiUZ4DUzzpegnGlhXtKJKe4NHntxThJynuRZWKN2AAf48avApDpimg2jW0KDw== 410 | dependencies: 411 | "@parcel/plugin" "2.7.0" 412 | "@parcel/source-map" "^2.0.0" 413 | "@parcel/utils" "2.7.0" 414 | nullthrows "^1.1.1" 415 | 416 | "@parcel/packager-html@2.7.0": 417 | version "2.7.0" 418 | resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.7.0.tgz#4f86698d05f5ec5c3ebc8b46102a6ae42c58a24a" 419 | integrity sha512-Zgqd7sdcY/UnR370GR0q2ilmEohUDXsO8A1F28QCJzIsR1iCB6KRUT74+pawfQ1IhXZLaaFLLYe0UWcfm0JeXg== 420 | dependencies: 421 | "@parcel/plugin" "2.7.0" 422 | "@parcel/types" "2.7.0" 423 | "@parcel/utils" "2.7.0" 424 | nullthrows "^1.1.1" 425 | posthtml "^0.16.5" 426 | 427 | "@parcel/packager-js@2.7.0": 428 | version "2.7.0" 429 | resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.7.0.tgz#e694cc731d75697e63d3d4be0bdbbe4a2ae8f1fc" 430 | integrity sha512-wTRdM81PgRVDzWGXdWmqLwguWnTYWzhEDdjXpW2n8uMOu/CjHhMtogk65aaYk3GOnq6OBL/NsrmBiV/zKPj1vA== 431 | dependencies: 432 | "@parcel/diagnostic" "2.7.0" 433 | "@parcel/hash" "2.7.0" 434 | "@parcel/plugin" "2.7.0" 435 | "@parcel/source-map" "^2.0.0" 436 | "@parcel/utils" "2.7.0" 437 | globals "^13.2.0" 438 | nullthrows "^1.1.1" 439 | 440 | "@parcel/packager-raw@2.7.0": 441 | version "2.7.0" 442 | resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.7.0.tgz#5b68de05c19bbcf438f40b4ae9f45411ba9739bd" 443 | integrity sha512-jg2Zp8dI5VpIQlaeahXDCfrPN9m/DKht1NkR9P2CylMAwqCcc1Xc1RRiF0wfwcPZpPMpq1265n+4qnB7rjGBlA== 444 | dependencies: 445 | "@parcel/plugin" "2.7.0" 446 | 447 | "@parcel/packager-svg@2.7.0": 448 | version "2.7.0" 449 | resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.7.0.tgz#e7e96503c86815eca285b9cc8908105075d9ab38" 450 | integrity sha512-EmJg3HpD6/xxKBjir/CdCKJZwI24iVfBuxRS9LUp3xHAIebOzVh1z6IN+i2Di5+NyRwfOFaLliL4uMa1zwbyCA== 451 | dependencies: 452 | "@parcel/plugin" "2.7.0" 453 | "@parcel/types" "2.7.0" 454 | "@parcel/utils" "2.7.0" 455 | posthtml "^0.16.4" 456 | 457 | "@parcel/plugin@2.7.0", "@parcel/plugin@^2.0.0": 458 | version "2.7.0" 459 | resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.7.0.tgz#0211281025d02afbc5a23fba237b7aae02e34e51" 460 | integrity sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw== 461 | dependencies: 462 | "@parcel/types" "2.7.0" 463 | 464 | "@parcel/reporter-cli@2.7.0": 465 | version "2.7.0" 466 | resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.7.0.tgz#86499624e258034001b64c10b14e23ae4b92f44b" 467 | integrity sha512-80gEODg8cnAmnxGVuaSVDo8JJ54P9AA2bHwSs1cIkHWlJ3BjDQb83H31bBHncJ5Kn5kQ/j+7WjlqHpTCiOR9PA== 468 | dependencies: 469 | "@parcel/plugin" "2.7.0" 470 | "@parcel/types" "2.7.0" 471 | "@parcel/utils" "2.7.0" 472 | chalk "^4.1.0" 473 | term-size "^2.2.1" 474 | 475 | "@parcel/reporter-dev-server@2.7.0": 476 | version "2.7.0" 477 | resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.7.0.tgz#9bd3d10f745e0cbc9ab983ec046953c2c564dcb2" 478 | integrity sha512-ySuou5addK8fGue8aXzo536BaEjMujDrEc1xkp4TasInXHVcA98b+SYX5NAZTGob5CxKvZQ5ylhg77zW30B+iA== 479 | dependencies: 480 | "@parcel/plugin" "2.7.0" 481 | "@parcel/utils" "2.7.0" 482 | 483 | "@parcel/resolver-default@2.7.0": 484 | version "2.7.0" 485 | resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.7.0.tgz#648a257b81abe2eda09700d8f36348a88ea0442e" 486 | integrity sha512-v8TvWsbLK7/q7n4gv6OrYNbW18xUx4zKbVMGZb1u4yMhzEH4HFr1D9OeoTq3jk+ximAigds8B6triQbL5exF7A== 487 | dependencies: 488 | "@parcel/node-resolver-core" "2.7.0" 489 | "@parcel/plugin" "2.7.0" 490 | 491 | "@parcel/runtime-browser-hmr@2.7.0": 492 | version "2.7.0" 493 | resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.7.0.tgz#aed79b96c0d97021f56f2b7e35bc2d4f70869e26" 494 | integrity sha512-PLbMLdclQeYsi2LkilZVGFV1n3y55G1jaBvby4ekedUZjMw3SWdMY2tDxgSDdFWfLCnYHJXdGUQSzGGi1kPzjA== 495 | dependencies: 496 | "@parcel/plugin" "2.7.0" 497 | "@parcel/utils" "2.7.0" 498 | 499 | "@parcel/runtime-js@2.7.0": 500 | version "2.7.0" 501 | resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.7.0.tgz#63dd744e96c3554ac86778ffce1c8055e7653fce" 502 | integrity sha512-9/YUZTBNrSN2H6rbz/o1EOM0O7I3ZR/x9IDzxjJBD6Mi+0uCgCD02aedare/SNr1qgnbZZWmhpOzC+YgREcfLA== 503 | dependencies: 504 | "@parcel/plugin" "2.7.0" 505 | "@parcel/utils" "2.7.0" 506 | nullthrows "^1.1.1" 507 | 508 | "@parcel/runtime-react-refresh@2.7.0": 509 | version "2.7.0" 510 | resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.7.0.tgz#c56b847ef1144264e918339381e040ffe811efc5" 511 | integrity sha512-vDKO0rWqRzEpmvoZ4kkYUiSsTxT5NnH904BFPFxKI0wJCl6yEmPuEifmATo73OuYhP6jIP3Qfl1R4TtiDFPJ1Q== 512 | dependencies: 513 | "@parcel/plugin" "2.7.0" 514 | "@parcel/utils" "2.7.0" 515 | react-error-overlay "6.0.9" 516 | react-refresh "^0.9.0" 517 | 518 | "@parcel/runtime-service-worker@2.7.0": 519 | version "2.7.0" 520 | resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.7.0.tgz#352c3722ec635eee2898d9698541e3c1f53e8906" 521 | integrity sha512-uD2pAV0yV6+e7JaWH4KVPbG+zRCrxr/OACyS9tIh+Q/R1vRmh8zGM3yhdrcoiZ7tFOnM72vd6xY11eTrUsSVig== 522 | dependencies: 523 | "@parcel/plugin" "2.7.0" 524 | "@parcel/utils" "2.7.0" 525 | nullthrows "^1.1.1" 526 | 527 | "@parcel/source-map@^2.0.0": 528 | version "2.1.1" 529 | resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" 530 | integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== 531 | dependencies: 532 | detect-libc "^1.0.3" 533 | 534 | "@parcel/transformer-babel@2.7.0": 535 | version "2.7.0" 536 | resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.7.0.tgz#eae98d50a99cd722c3146cd57c479bfb86f537b2" 537 | integrity sha512-7iklDXXnKH1530+QbI+e4kIJ+Q1puA1ulRS10db3aUJMj5GnvXGDFwhSZ7+T1ps66QHO7cVO29VlbqiRDarH1Q== 538 | dependencies: 539 | "@parcel/diagnostic" "2.7.0" 540 | "@parcel/plugin" "2.7.0" 541 | "@parcel/source-map" "^2.0.0" 542 | "@parcel/utils" "2.7.0" 543 | browserslist "^4.6.6" 544 | json5 "^2.2.0" 545 | nullthrows "^1.1.1" 546 | semver "^5.7.0" 547 | 548 | "@parcel/transformer-css@2.7.0": 549 | version "2.7.0" 550 | resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.7.0.tgz#d0879ec04191e5ba3eadb6fc06b7ec0db3f5c3f6" 551 | integrity sha512-J4EpWK9spQpXyNCmKK8Xnane0xW/1B/EAmfp7Fiv7g+5yUjY4ODf4KUugvE+Eb2gekPkhOKNHermO2KrX0/PFA== 552 | dependencies: 553 | "@parcel/css" "^1.12.2" 554 | "@parcel/diagnostic" "2.7.0" 555 | "@parcel/plugin" "2.7.0" 556 | "@parcel/source-map" "^2.0.0" 557 | "@parcel/utils" "2.7.0" 558 | browserslist "^4.6.6" 559 | nullthrows "^1.1.1" 560 | 561 | "@parcel/transformer-html@2.7.0": 562 | version "2.7.0" 563 | resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.7.0.tgz#5397a924fea683ef2c345f36f99f67f0181d6967" 564 | integrity sha512-wYJl5rn81W+Rlk9oQwDJcjoVsWVDKyeri84FzmlGXOsg0EYgnqOiG+3MDM8GeZjfuGe5fuoum4eqZeS0WdUHXw== 565 | dependencies: 566 | "@parcel/diagnostic" "2.7.0" 567 | "@parcel/hash" "2.7.0" 568 | "@parcel/plugin" "2.7.0" 569 | nullthrows "^1.1.1" 570 | posthtml "^0.16.5" 571 | posthtml-parser "^0.10.1" 572 | posthtml-render "^3.0.0" 573 | semver "^5.7.1" 574 | 575 | "@parcel/transformer-image@2.7.0": 576 | version "2.7.0" 577 | resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.7.0.tgz#e569ffc426c6060bc4dcccc0347c526930abfba4" 578 | integrity sha512-mhi9/R5/ULhCkL2COVIKhNFoLDiZwQgprdaTJr5fnODggVxEX5o7ebFV6KNLMTEkwZUJWoB1hL0ziI0++DtoFA== 579 | dependencies: 580 | "@parcel/plugin" "2.7.0" 581 | "@parcel/utils" "2.7.0" 582 | "@parcel/workers" "2.7.0" 583 | nullthrows "^1.1.1" 584 | 585 | "@parcel/transformer-js@2.7.0": 586 | version "2.7.0" 587 | resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.7.0.tgz#1e69295a11bf70d880cdd3846cf89016a74aac50" 588 | integrity sha512-mzerR+D4rDomUSIk5RSTa2w+DXBdXUeQrpDO74WCDdpDi1lIl8ppFpqtmU7O6y6p8QsgkmS9b0g/vhcry6CJTA== 589 | dependencies: 590 | "@parcel/diagnostic" "2.7.0" 591 | "@parcel/plugin" "2.7.0" 592 | "@parcel/source-map" "^2.0.0" 593 | "@parcel/utils" "2.7.0" 594 | "@parcel/workers" "2.7.0" 595 | "@swc/helpers" "^0.4.2" 596 | browserslist "^4.6.6" 597 | detect-libc "^1.0.3" 598 | nullthrows "^1.1.1" 599 | regenerator-runtime "^0.13.7" 600 | semver "^5.7.1" 601 | 602 | "@parcel/transformer-json@2.7.0": 603 | version "2.7.0" 604 | resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.7.0.tgz#c203f74cd445ce93eb833dd88be8127d1eadc6c3" 605 | integrity sha512-RQjuxBpYOch+kr4a0zi77KJtOLTPYRM7iq4NN80zKnA0r0dwDUCxZBtaj2l0O0o3R4MMJnm+ncP+cB7XR7dZYA== 606 | dependencies: 607 | "@parcel/plugin" "2.7.0" 608 | json5 "^2.2.0" 609 | 610 | "@parcel/transformer-postcss@2.7.0": 611 | version "2.7.0" 612 | resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.7.0.tgz#66be4469ae9186c89638ff67ec5808139caaeb8e" 613 | integrity sha512-b6RskXBWf0MjpC9qjR2dQ1ZdRnlOiKYseG5CEovWCqM218RtdydFKz7jS+5Gxkb6qBtOG7zGPONXdPe+gTILcA== 614 | dependencies: 615 | "@parcel/diagnostic" "2.7.0" 616 | "@parcel/hash" "2.7.0" 617 | "@parcel/plugin" "2.7.0" 618 | "@parcel/utils" "2.7.0" 619 | clone "^2.1.1" 620 | nullthrows "^1.1.1" 621 | postcss-value-parser "^4.2.0" 622 | semver "^5.7.1" 623 | 624 | "@parcel/transformer-posthtml@2.7.0": 625 | version "2.7.0" 626 | resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.7.0.tgz#67d5761b895574edb771f7ab1b24ec80775f58bd" 627 | integrity sha512-cP8YOiSynWJ1ycmBlhnnHeuQb2cwmklZ+BNyLUktj5p78kDy2de7VjX+dRNRHoW4H9OgEcSF4UEfDVVz5RYIhw== 628 | dependencies: 629 | "@parcel/plugin" "2.7.0" 630 | "@parcel/utils" "2.7.0" 631 | nullthrows "^1.1.1" 632 | posthtml "^0.16.5" 633 | posthtml-parser "^0.10.1" 634 | posthtml-render "^3.0.0" 635 | semver "^5.7.1" 636 | 637 | "@parcel/transformer-raw@2.7.0": 638 | version "2.7.0" 639 | resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.7.0.tgz#d6d8b94d1b33efc3dbf748ec1954c8917a2e1566" 640 | integrity sha512-sDnItWCFSDez0izK1i5cgv+kXzZTbcJh4rNpVIgmE1kBLvAz608sqgcCkavb2wVJIvLesxYM+5G4p1CwkDlZ1g== 641 | dependencies: 642 | "@parcel/plugin" "2.7.0" 643 | 644 | "@parcel/transformer-react-refresh-wrap@2.7.0": 645 | version "2.7.0" 646 | resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.7.0.tgz#e206b529d4a3444e14ba329d3323c5be3ded25d2" 647 | integrity sha512-1vRmIJzyBA1nIiXTAU6tZExq2FvJj/2F0ft6KDw8GYPv0KjmdiPo/PmaZ7JeSVOM6SdXQIQCbTmp1vkMP7DtkA== 648 | dependencies: 649 | "@parcel/plugin" "2.7.0" 650 | "@parcel/utils" "2.7.0" 651 | react-refresh "^0.9.0" 652 | 653 | "@parcel/transformer-svg@2.7.0": 654 | version "2.7.0" 655 | resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.7.0.tgz#c2a7d10bdbc6aeb2ae7ef85db5b583574807071c" 656 | integrity sha512-ioER37zceuuE+K6ZrnjCyMUWEnv+63hIAFResc1OXxRhyt+7kzMz9ZqK0Mt6QMLwl1dxhkLmrU41n9IxzKZuSQ== 657 | dependencies: 658 | "@parcel/diagnostic" "2.7.0" 659 | "@parcel/hash" "2.7.0" 660 | "@parcel/plugin" "2.7.0" 661 | nullthrows "^1.1.1" 662 | posthtml "^0.16.5" 663 | posthtml-parser "^0.10.1" 664 | posthtml-render "^3.0.0" 665 | semver "^5.7.1" 666 | 667 | "@parcel/types@2.7.0": 668 | version "2.7.0" 669 | resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.7.0.tgz#c89e95964339324c1931ef7a17906a72291d6b73" 670 | integrity sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw== 671 | dependencies: 672 | "@parcel/cache" "2.7.0" 673 | "@parcel/diagnostic" "2.7.0" 674 | "@parcel/fs" "2.7.0" 675 | "@parcel/package-manager" "2.7.0" 676 | "@parcel/source-map" "^2.0.0" 677 | "@parcel/workers" "2.7.0" 678 | utility-types "^3.10.0" 679 | 680 | "@parcel/utils@2.7.0": 681 | version "2.7.0" 682 | resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.7.0.tgz#f795d0f43efdd449ab0bbfac3632cd7f3ec0e4dd" 683 | integrity sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg== 684 | dependencies: 685 | "@parcel/codeframe" "2.7.0" 686 | "@parcel/diagnostic" "2.7.0" 687 | "@parcel/hash" "2.7.0" 688 | "@parcel/logger" "2.7.0" 689 | "@parcel/markdown-ansi" "2.7.0" 690 | "@parcel/source-map" "^2.0.0" 691 | chalk "^4.1.0" 692 | 693 | "@parcel/watcher@^2.0.0": 694 | version "2.0.5" 695 | resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" 696 | integrity sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw== 697 | dependencies: 698 | node-addon-api "^3.2.1" 699 | node-gyp-build "^4.3.0" 700 | 701 | "@parcel/workers@2.7.0": 702 | version "2.7.0" 703 | resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.7.0.tgz#d74955d361337127227912a5ab26cb3079ebfc78" 704 | integrity sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg== 705 | dependencies: 706 | "@parcel/diagnostic" "2.7.0" 707 | "@parcel/logger" "2.7.0" 708 | "@parcel/types" "2.7.0" 709 | "@parcel/utils" "2.7.0" 710 | chrome-trace-event "^1.0.2" 711 | nullthrows "^1.1.1" 712 | 713 | "@swc/helpers@^0.4.2": 714 | version "0.4.11" 715 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.11.tgz#db23a376761b3d31c26502122f349a21b592c8de" 716 | integrity sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw== 717 | dependencies: 718 | tslib "^2.4.0" 719 | 720 | "@trysound/sax@0.2.0": 721 | version "0.2.0" 722 | resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" 723 | integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== 724 | 725 | "@types/parse-json@^4.0.0": 726 | version "4.0.0" 727 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 728 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 729 | 730 | abortcontroller-polyfill@^1.1.9: 731 | version "1.7.3" 732 | resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz#1b5b487bd6436b5b764fd52a612509702c3144b5" 733 | integrity sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q== 734 | 735 | acorn@^8.5.0: 736 | version "8.8.0" 737 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" 738 | integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== 739 | 740 | ansi-styles@^3.2.1: 741 | version "3.2.1" 742 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 743 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 744 | dependencies: 745 | color-convert "^1.9.0" 746 | 747 | ansi-styles@^4.1.0: 748 | version "4.3.0" 749 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 750 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 751 | dependencies: 752 | color-convert "^2.0.1" 753 | 754 | base-x@^3.0.8: 755 | version "3.0.9" 756 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" 757 | integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== 758 | dependencies: 759 | safe-buffer "^5.0.1" 760 | 761 | boolbase@^1.0.0: 762 | version "1.0.0" 763 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 764 | integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== 765 | 766 | browserslist@^4.6.6: 767 | version "4.21.4" 768 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" 769 | integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== 770 | dependencies: 771 | caniuse-lite "^1.0.30001400" 772 | electron-to-chromium "^1.4.251" 773 | node-releases "^2.0.6" 774 | update-browserslist-db "^1.0.9" 775 | 776 | buffer-from@^1.0.0: 777 | version "1.1.2" 778 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 779 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 780 | 781 | callsites@^3.0.0: 782 | version "3.1.0" 783 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 784 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 785 | 786 | caniuse-lite@^1.0.30001400: 787 | version "1.0.30001412" 788 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz#30f67d55a865da43e0aeec003f073ea8764d5d7c" 789 | integrity sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA== 790 | 791 | chalk@^2.0.0: 792 | version "2.4.2" 793 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 794 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 795 | dependencies: 796 | ansi-styles "^3.2.1" 797 | escape-string-regexp "^1.0.5" 798 | supports-color "^5.3.0" 799 | 800 | chalk@^4.1.0: 801 | version "4.1.2" 802 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 803 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 804 | dependencies: 805 | ansi-styles "^4.1.0" 806 | supports-color "^7.1.0" 807 | 808 | chrome-trace-event@^1.0.2: 809 | version "1.0.3" 810 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" 811 | integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== 812 | 813 | clone@^2.1.1: 814 | version "2.1.2" 815 | resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" 816 | integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== 817 | 818 | color-convert@^1.9.0: 819 | version "1.9.3" 820 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 821 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 822 | dependencies: 823 | color-name "1.1.3" 824 | 825 | color-convert@^2.0.1: 826 | version "2.0.1" 827 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 828 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 829 | dependencies: 830 | color-name "~1.1.4" 831 | 832 | color-name@1.1.3: 833 | version "1.1.3" 834 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 835 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 836 | 837 | color-name@~1.1.4: 838 | version "1.1.4" 839 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 840 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 841 | 842 | commander@^2.20.0: 843 | version "2.20.3" 844 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 845 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 846 | 847 | commander@^7.0.0, commander@^7.2.0: 848 | version "7.2.0" 849 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" 850 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== 851 | 852 | cosmiconfig@^7.0.1: 853 | version "7.0.1" 854 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 855 | integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 856 | dependencies: 857 | "@types/parse-json" "^4.0.0" 858 | import-fresh "^3.2.1" 859 | parse-json "^5.0.0" 860 | path-type "^4.0.0" 861 | yaml "^1.10.0" 862 | 863 | css-select@^4.1.3: 864 | version "4.3.0" 865 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" 866 | integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== 867 | dependencies: 868 | boolbase "^1.0.0" 869 | css-what "^6.0.1" 870 | domhandler "^4.3.1" 871 | domutils "^2.8.0" 872 | nth-check "^2.0.1" 873 | 874 | css-tree@^1.1.2, css-tree@^1.1.3: 875 | version "1.1.3" 876 | resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" 877 | integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== 878 | dependencies: 879 | mdn-data "2.0.14" 880 | source-map "^0.6.1" 881 | 882 | css-what@^6.0.1: 883 | version "6.1.0" 884 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" 885 | integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== 886 | 887 | csso@^4.2.0: 888 | version "4.2.0" 889 | resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" 890 | integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== 891 | dependencies: 892 | css-tree "^1.1.2" 893 | 894 | detect-libc@^1.0.3: 895 | version "1.0.3" 896 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 897 | integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== 898 | 899 | dom-serializer@^1.0.1: 900 | version "1.4.1" 901 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" 902 | integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== 903 | dependencies: 904 | domelementtype "^2.0.1" 905 | domhandler "^4.2.0" 906 | entities "^2.0.0" 907 | 908 | domelementtype@^2.0.1, domelementtype@^2.2.0: 909 | version "2.3.0" 910 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" 911 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== 912 | 913 | domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1: 914 | version "4.3.1" 915 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" 916 | integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== 917 | dependencies: 918 | domelementtype "^2.2.0" 919 | 920 | domutils@^2.8.0: 921 | version "2.8.0" 922 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" 923 | integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== 924 | dependencies: 925 | dom-serializer "^1.0.1" 926 | domelementtype "^2.2.0" 927 | domhandler "^4.2.0" 928 | 929 | dotenv-expand@^5.1.0: 930 | version "5.1.0" 931 | resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" 932 | integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== 933 | 934 | dotenv@^7.0.0: 935 | version "7.0.0" 936 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" 937 | integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== 938 | 939 | electron-to-chromium@^1.4.251: 940 | version "1.4.264" 941 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.264.tgz#2f68a062c38b7a04bf57f3e6954b868672fbdcd3" 942 | integrity sha512-AZ6ZRkucHOQT8wke50MktxtmcWZr67kE17X/nAXFf62NIdMdgY6xfsaJD5Szoy84lnkuPWH+4tTNE3s2+bPCiw== 943 | 944 | entities@^2.0.0: 945 | version "2.2.0" 946 | resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" 947 | integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== 948 | 949 | entities@^3.0.1: 950 | version "3.0.1" 951 | resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" 952 | integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== 953 | 954 | error-ex@^1.3.1: 955 | version "1.3.2" 956 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 957 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 958 | dependencies: 959 | is-arrayish "^0.2.1" 960 | 961 | escalade@^3.1.1: 962 | version "3.1.1" 963 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 964 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 965 | 966 | escape-string-regexp@^1.0.5: 967 | version "1.0.5" 968 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 969 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 970 | 971 | get-port@^4.2.0: 972 | version "4.2.0" 973 | resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" 974 | integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== 975 | 976 | globals@^13.2.0: 977 | version "13.17.0" 978 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" 979 | integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== 980 | dependencies: 981 | type-fest "^0.20.2" 982 | 983 | has-flag@^3.0.0: 984 | version "3.0.0" 985 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 986 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 987 | 988 | has-flag@^4.0.0: 989 | version "4.0.0" 990 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 991 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 992 | 993 | htmlnano@^2.0.0: 994 | version "2.0.2" 995 | resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-2.0.2.tgz#3e3170941e2446a86211196d740272ebca78f878" 996 | integrity sha512-+ZrQFS4Ub+zd+/fWwfvoYCEGNEa0/zrpys6CyXxvZDwtL7Pl+pOtRkiujyvBQ7Lmfp7/iEPxtOFgxWA16Gkj3w== 997 | dependencies: 998 | cosmiconfig "^7.0.1" 999 | posthtml "^0.16.5" 1000 | timsort "^0.3.0" 1001 | 1002 | htmlparser2@^7.1.1: 1003 | version "7.2.0" 1004 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" 1005 | integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== 1006 | dependencies: 1007 | domelementtype "^2.0.1" 1008 | domhandler "^4.2.2" 1009 | domutils "^2.8.0" 1010 | entities "^3.0.1" 1011 | 1012 | import-fresh@^3.2.1: 1013 | version "3.3.0" 1014 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1015 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1016 | dependencies: 1017 | parent-module "^1.0.0" 1018 | resolve-from "^4.0.0" 1019 | 1020 | is-arrayish@^0.2.1: 1021 | version "0.2.1" 1022 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1023 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1024 | 1025 | is-json@^2.0.1: 1026 | version "2.0.1" 1027 | resolved "https://registry.yarnpkg.com/is-json/-/is-json-2.0.1.tgz#6be166d144828a131d686891b983df62c39491ff" 1028 | integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA== 1029 | 1030 | js-tokens@^4.0.0: 1031 | version "4.0.0" 1032 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1033 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1034 | 1035 | json-parse-even-better-errors@^2.3.0: 1036 | version "2.3.1" 1037 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1038 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1039 | 1040 | json5@^2.2.0, json5@^2.2.1: 1041 | version "2.2.1" 1042 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 1043 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 1044 | 1045 | lightningcss-darwin-arm64@1.16.0: 1046 | version "1.16.0" 1047 | resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.16.0.tgz#f3318a2e64ca160610977675ee1a7e611f4a3617" 1048 | integrity sha512-gIhz6eZFwsC4oVMjBGQ3QWDdLQY7vcXFyM/x91PilgHqu63B9uBa10EZA75YoTEkbKhoz0uDCqyHh/EoF1GrkQ== 1049 | 1050 | lightningcss-darwin-x64@1.16.0: 1051 | version "1.16.0" 1052 | resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.16.0.tgz#46361b701b572ce9ec29730624000b439c2184bb" 1053 | integrity sha512-kLPi+OEpDj3UGY6DC8TfjbcULJDKMP+TVKSlrEkNGn8t1YRzi2g4oy7UVTSB5AnSbT0CusUItzdVjHQ49EdoNA== 1054 | 1055 | lightningcss-linux-arm-gnueabihf@1.16.0: 1056 | version "1.16.0" 1057 | resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.16.0.tgz#5da29f465dd44d98434b00b424cc4b445ea49eff" 1058 | integrity sha512-oSwEbvXUPr//H/ainBRJXTxHerlheee/KgkTTmAQWiVnt8HV+bRohTBWWPBy5ZArgiGLwj7ogv45istgljPN2Q== 1059 | 1060 | lightningcss-linux-arm64-gnu@1.16.0: 1061 | version "1.16.0" 1062 | resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.16.0.tgz#21d139f5201c9b8bb3972c24116a5bcbb7e2c3b5" 1063 | integrity sha512-Drq9BSVIvmV9zsDJbCZWCulMvKMQWFIlYXPCKV/iwRj+ZAJ1BRngma0cNHB6uW7Wac8Jg04CJN5IA4ELE3J+cQ== 1064 | 1065 | lightningcss-linux-arm64-musl@1.16.0: 1066 | version "1.16.0" 1067 | resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.16.0.tgz#d06936e0570fb51d58cc18ef2fb8858aeecd1979" 1068 | integrity sha512-1QXWStnTEo4RFQf0mfGhRyNUeEHilCZ0NA97XgwKwrYr/M7sYKU/1HWY00dPxFJ6GITR2pfJGo9xi3ScSSBxbA== 1069 | 1070 | lightningcss-linux-x64-gnu@1.16.0: 1071 | version "1.16.0" 1072 | resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.16.0.tgz#fd9881cd839cac4676a01b713b06b0b178743f87" 1073 | integrity sha512-gD2eQYD5OFs1p83R0TcMCEc5HRyJES4lR4THmclv7khm3dc9vc+2VT0kFBPxO1L2AwlZuvXaaMan7X1Ul7uSfA== 1074 | 1075 | lightningcss-linux-x64-musl@1.16.0: 1076 | version "1.16.0" 1077 | resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.16.0.tgz#697d87448e0f6445b6fc3cf8529d89709f3bfacc" 1078 | integrity sha512-HJsKeYxloEvg2WCQhtYPqzZUliLu9JBJNeI5y9cPQeDR/7ayGGLbVhJaotPtzJkElOFL/SaXsS+FRuH4w+yafg== 1079 | 1080 | lightningcss-win32-x64-msvc@1.16.0: 1081 | version "1.16.0" 1082 | resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.16.0.tgz#e4a09c12a48534121ecd03ef0be8dadbbbbb63b6" 1083 | integrity sha512-h4ayyAlOMLUHV9NdofcIu79aEjmly93adVxcg5wDJpkvMiwDTufEN30M8G4gGcjo1JE5jFjAcyQcRpXYkYcemA== 1084 | 1085 | lightningcss@^1.14.0: 1086 | version "1.16.0" 1087 | resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.16.0.tgz#4c8e4ef8133d54488d1482a115d3758259191c52" 1088 | integrity sha512-5+ZS9h+xeADcJTF2oRCT3yNZBlDYyOgQSdrWNBCqsIwm8ucKbF061OBVv/WHP4Zk8FToNhwFklk/hMuOngqsIg== 1089 | dependencies: 1090 | detect-libc "^1.0.3" 1091 | optionalDependencies: 1092 | lightningcss-darwin-arm64 "1.16.0" 1093 | lightningcss-darwin-x64 "1.16.0" 1094 | lightningcss-linux-arm-gnueabihf "1.16.0" 1095 | lightningcss-linux-arm64-gnu "1.16.0" 1096 | lightningcss-linux-arm64-musl "1.16.0" 1097 | lightningcss-linux-x64-gnu "1.16.0" 1098 | lightningcss-linux-x64-musl "1.16.0" 1099 | lightningcss-win32-x64-msvc "1.16.0" 1100 | 1101 | lines-and-columns@^1.1.6: 1102 | version "1.2.4" 1103 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1104 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1105 | 1106 | lmdb@2.5.2: 1107 | version "2.5.2" 1108 | resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.2.tgz#37e28a9fb43405f4dc48c44cec0e13a14c4a6ff1" 1109 | integrity sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA== 1110 | dependencies: 1111 | msgpackr "^1.5.4" 1112 | node-addon-api "^4.3.0" 1113 | node-gyp-build-optional-packages "5.0.3" 1114 | ordered-binary "^1.2.4" 1115 | weak-lru-cache "^1.2.2" 1116 | optionalDependencies: 1117 | "@lmdb/lmdb-darwin-arm64" "2.5.2" 1118 | "@lmdb/lmdb-darwin-x64" "2.5.2" 1119 | "@lmdb/lmdb-linux-arm" "2.5.2" 1120 | "@lmdb/lmdb-linux-arm64" "2.5.2" 1121 | "@lmdb/lmdb-linux-x64" "2.5.2" 1122 | "@lmdb/lmdb-win32-x64" "2.5.2" 1123 | 1124 | mdn-data@2.0.14: 1125 | version "2.0.14" 1126 | resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" 1127 | integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== 1128 | 1129 | msgpackr-extract@^2.1.2: 1130 | version "2.1.2" 1131 | resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-2.1.2.tgz#56272030f3e163e1b51964ef8b1cd5e7240c03ed" 1132 | integrity sha512-cmrmERQFb19NX2JABOGtrKdHMyI6RUyceaPBQ2iRz9GnDkjBWFjNJC0jyyoOfZl2U/LZE3tQCCQc4dlRyA8mcA== 1133 | dependencies: 1134 | node-gyp-build-optional-packages "5.0.3" 1135 | optionalDependencies: 1136 | "@msgpackr-extract/msgpackr-extract-darwin-arm64" "2.1.2" 1137 | "@msgpackr-extract/msgpackr-extract-darwin-x64" "2.1.2" 1138 | "@msgpackr-extract/msgpackr-extract-linux-arm" "2.1.2" 1139 | "@msgpackr-extract/msgpackr-extract-linux-arm64" "2.1.2" 1140 | "@msgpackr-extract/msgpackr-extract-linux-x64" "2.1.2" 1141 | "@msgpackr-extract/msgpackr-extract-win32-x64" "2.1.2" 1142 | 1143 | msgpackr@^1.5.4: 1144 | version "1.7.2" 1145 | resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.7.2.tgz#68d6debf5999d6b61abb6e7046a689991ebf7261" 1146 | integrity sha512-mWScyHTtG6TjivXX9vfIy2nBtRupaiAj0HQ2mtmpmYujAmqZmaaEVPaSZ1NKLMvicaMLFzEaMk0ManxMRg8rMQ== 1147 | optionalDependencies: 1148 | msgpackr-extract "^2.1.2" 1149 | 1150 | node-addon-api@^3.2.1: 1151 | version "3.2.1" 1152 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" 1153 | integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== 1154 | 1155 | node-addon-api@^4.3.0: 1156 | version "4.3.0" 1157 | resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" 1158 | integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== 1159 | 1160 | node-gyp-build-optional-packages@5.0.3: 1161 | version "5.0.3" 1162 | resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" 1163 | integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== 1164 | 1165 | node-gyp-build@^4.3.0: 1166 | version "4.5.0" 1167 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" 1168 | integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== 1169 | 1170 | node-releases@^2.0.6: 1171 | version "2.0.6" 1172 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 1173 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 1174 | 1175 | nth-check@^2.0.1: 1176 | version "2.1.1" 1177 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" 1178 | integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== 1179 | dependencies: 1180 | boolbase "^1.0.0" 1181 | 1182 | nullthrows@^1.1.1: 1183 | version "1.1.1" 1184 | resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" 1185 | integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== 1186 | 1187 | ordered-binary@^1.2.4: 1188 | version "1.3.0" 1189 | resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.3.0.tgz#a116d64c923278216e335602d279750b2ebd746e" 1190 | integrity sha512-knIeYepTI6BDAzGxqFEDGtI/iGqs57H32CInAIxEvAHG46vk1Di0CEpyc1A7iY39B1mfik3g3KLYwOTNnnMHLA== 1191 | 1192 | parcel-resolver-ts-base-url@^1.1.5: 1193 | version "1.1.5" 1194 | resolved "https://registry.yarnpkg.com/parcel-resolver-ts-base-url/-/parcel-resolver-ts-base-url-1.1.5.tgz#acbe2157113dbe5a0a624661f57b8568eec02992" 1195 | integrity sha512-+mCkJVv06p04lzub7j13B9Ee5F5Yx3zH1/1dXKhOp4f5DVsKwiz+I+zWIN/I8r7YdTz+4mVSvubP84f3zoijeA== 1196 | 1197 | parcel@^2.7.0: 1198 | version "2.7.0" 1199 | resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.7.0.tgz#41fdd3e5c7144d4cf7f1fa3ab8d0ea0d47d31f77" 1200 | integrity sha512-pRYwnivwtNP0tip8xYSo4zCB0XhLt7/gJzP1p8OovCqkmFjG9VG+GW9TcAKqMIo0ovEa9tT+/s6gY1Qy+BONGQ== 1201 | dependencies: 1202 | "@parcel/config-default" "2.7.0" 1203 | "@parcel/core" "2.7.0" 1204 | "@parcel/diagnostic" "2.7.0" 1205 | "@parcel/events" "2.7.0" 1206 | "@parcel/fs" "2.7.0" 1207 | "@parcel/logger" "2.7.0" 1208 | "@parcel/package-manager" "2.7.0" 1209 | "@parcel/reporter-cli" "2.7.0" 1210 | "@parcel/reporter-dev-server" "2.7.0" 1211 | "@parcel/utils" "2.7.0" 1212 | chalk "^4.1.0" 1213 | commander "^7.0.0" 1214 | get-port "^4.2.0" 1215 | v8-compile-cache "^2.0.0" 1216 | 1217 | parent-module@^1.0.0: 1218 | version "1.0.1" 1219 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1220 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1221 | dependencies: 1222 | callsites "^3.0.0" 1223 | 1224 | parse-json@^5.0.0: 1225 | version "5.2.0" 1226 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 1227 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1228 | dependencies: 1229 | "@babel/code-frame" "^7.0.0" 1230 | error-ex "^1.3.1" 1231 | json-parse-even-better-errors "^2.3.0" 1232 | lines-and-columns "^1.1.6" 1233 | 1234 | path-type@^4.0.0: 1235 | version "4.0.0" 1236 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1237 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1238 | 1239 | picocolors@^1.0.0: 1240 | version "1.0.0" 1241 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1242 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1243 | 1244 | postcss-value-parser@^4.2.0: 1245 | version "4.2.0" 1246 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 1247 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 1248 | 1249 | posthtml-parser@^0.10.1: 1250 | version "0.10.2" 1251 | resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573" 1252 | integrity sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg== 1253 | dependencies: 1254 | htmlparser2 "^7.1.1" 1255 | 1256 | posthtml-parser@^0.11.0: 1257 | version "0.11.0" 1258 | resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.11.0.tgz#25d1c7bf811ea83559bc4c21c189a29747a24b7a" 1259 | integrity sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw== 1260 | dependencies: 1261 | htmlparser2 "^7.1.1" 1262 | 1263 | posthtml-render@^3.0.0: 1264 | version "3.0.0" 1265 | resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-3.0.0.tgz#97be44931496f495b4f07b99e903cc70ad6a3205" 1266 | integrity sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA== 1267 | dependencies: 1268 | is-json "^2.0.1" 1269 | 1270 | posthtml@^0.16.4, posthtml@^0.16.5: 1271 | version "0.16.6" 1272 | resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.16.6.tgz#e2fc407f67a64d2fa3567afe770409ffdadafe59" 1273 | integrity sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ== 1274 | dependencies: 1275 | posthtml-parser "^0.11.0" 1276 | posthtml-render "^3.0.0" 1277 | 1278 | react-error-overlay@6.0.9: 1279 | version "6.0.9" 1280 | resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" 1281 | integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== 1282 | 1283 | react-refresh@^0.9.0: 1284 | version "0.9.0" 1285 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" 1286 | integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== 1287 | 1288 | regenerator-runtime@^0.13.7: 1289 | version "0.13.9" 1290 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1291 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1292 | 1293 | resolve-from@^4.0.0: 1294 | version "4.0.0" 1295 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1296 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1297 | 1298 | safe-buffer@^5.0.1: 1299 | version "5.2.1" 1300 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1301 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1302 | 1303 | semver@^5.7.0, semver@^5.7.1: 1304 | version "5.7.1" 1305 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1306 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1307 | 1308 | source-map-support@~0.5.20: 1309 | version "0.5.21" 1310 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 1311 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 1312 | dependencies: 1313 | buffer-from "^1.0.0" 1314 | source-map "^0.6.0" 1315 | 1316 | source-map@^0.6.0, source-map@^0.6.1: 1317 | version "0.6.1" 1318 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1319 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1320 | 1321 | stable@^0.1.8: 1322 | version "0.1.8" 1323 | resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" 1324 | integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== 1325 | 1326 | supports-color@^5.3.0: 1327 | version "5.5.0" 1328 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1329 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1330 | dependencies: 1331 | has-flag "^3.0.0" 1332 | 1333 | supports-color@^7.1.0: 1334 | version "7.2.0" 1335 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1336 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1337 | dependencies: 1338 | has-flag "^4.0.0" 1339 | 1340 | svgo@^2.4.0: 1341 | version "2.8.0" 1342 | resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" 1343 | integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== 1344 | dependencies: 1345 | "@trysound/sax" "0.2.0" 1346 | commander "^7.2.0" 1347 | css-select "^4.1.3" 1348 | css-tree "^1.1.3" 1349 | csso "^4.2.0" 1350 | picocolors "^1.0.0" 1351 | stable "^0.1.8" 1352 | 1353 | term-size@^2.2.1: 1354 | version "2.2.1" 1355 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" 1356 | integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== 1357 | 1358 | terser@^5.2.0: 1359 | version "5.15.0" 1360 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" 1361 | integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== 1362 | dependencies: 1363 | "@jridgewell/source-map" "^0.3.2" 1364 | acorn "^8.5.0" 1365 | commander "^2.20.0" 1366 | source-map-support "~0.5.20" 1367 | 1368 | timsort@^0.3.0: 1369 | version "0.3.0" 1370 | resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" 1371 | integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== 1372 | 1373 | tslib@^2.4.0: 1374 | version "2.4.0" 1375 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 1376 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 1377 | 1378 | type-fest@^0.20.2: 1379 | version "0.20.2" 1380 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 1381 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1382 | 1383 | update-browserslist-db@^1.0.9: 1384 | version "1.0.9" 1385 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" 1386 | integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== 1387 | dependencies: 1388 | escalade "^3.1.1" 1389 | picocolors "^1.0.0" 1390 | 1391 | utility-types@^3.10.0: 1392 | version "3.10.0" 1393 | resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" 1394 | integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== 1395 | 1396 | v8-compile-cache@^2.0.0: 1397 | version "2.3.0" 1398 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 1399 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1400 | 1401 | weak-lru-cache@^1.2.2: 1402 | version "1.2.2" 1403 | resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" 1404 | integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== 1405 | 1406 | xxhash-wasm@^0.4.2: 1407 | version "0.4.2" 1408 | resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79" 1409 | integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA== 1410 | 1411 | yaml@^1.10.0: 1412 | version "1.10.2" 1413 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 1414 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 1415 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": true, 4 | "checkJs": true, 5 | "strict": true, 6 | "noEmit": true, 7 | "skipLibCheck": true, 8 | "esModuleInterop": true 9 | }, 10 | "include": ["src/**/*"] 11 | } 12 | --------------------------------------------------------------------------------