From 8dbd9f5f27adcfa62c48dc217ed0fd3248f35edd Mon Sep 17 00:00:00 2001 From: James Berry <69924001+jlalmes@users.noreply.github.com> Date: Fri, 11 Nov 2022 12:34:54 +0000 Subject: [PATCH] feat: support tsconfig paths (#285) * feat/tsconfig-paths * Adding post-process resolver * fix up lockfile * bump canary * bump canary Co-authored-by: L <6723574+louisgv@users.noreply.github.com> --- cli/create-plasmo/package.json | 2 +- cli/plasmo/package.json | 2 +- cli/plasmo/src/commands/dev.ts | 2 +- packages/parcel-config/index.json | 6 +- packages/parcel-config/package.json | 3 +- packages/parcel-resolver-post/.gitignore | 3 + packages/parcel-resolver-post/package.json | 37 ++ .../src/handle-ts-path.ts | 193 +++++++++++ packages/parcel-resolver-post/src/index.ts | 9 + packages/parcel-resolver-post/src/shared.ts | 20 ++ packages/parcel-resolver-post/src/utils.ts | 65 ++++ packages/parcel-resolver-post/tsconfig.json | 5 + packages/parcel-resolver/package.json | 2 +- .../parcel-resolver/src/handle-tilde-src.ts | 1 - packages/parcel-resolver/src/shared.ts | 2 +- packages/parcel-runtime/package.json | 2 +- packages/parcel-runtime/src/index.ts | 2 +- pnpm-lock.yaml | 322 ++---------------- 18 files changed, 377 insertions(+), 301 deletions(-) create mode 100644 packages/parcel-resolver-post/.gitignore create mode 100644 packages/parcel-resolver-post/package.json create mode 100644 packages/parcel-resolver-post/src/handle-ts-path.ts create mode 100644 packages/parcel-resolver-post/src/index.ts create mode 100644 packages/parcel-resolver-post/src/shared.ts create mode 100644 packages/parcel-resolver-post/src/utils.ts create mode 100644 packages/parcel-resolver-post/tsconfig.json diff --git a/cli/create-plasmo/package.json b/cli/create-plasmo/package.json index 2fcf29ad2..0d057cfef 100644 --- a/cli/create-plasmo/package.json +++ b/cli/create-plasmo/package.json @@ -1,6 +1,6 @@ { "name": "create-plasmo", - "version": "0.58.0", + "version": "0.59.0-alpha.1", "description": "Create Plasmo Framework Browser Extension", "main": "dist/index.js", "bin": "bin/index.mjs", diff --git a/cli/plasmo/package.json b/cli/plasmo/package.json index 504d878cc..23543b134 100644 --- a/cli/plasmo/package.json +++ b/cli/plasmo/package.json @@ -1,6 +1,6 @@ { "name": "plasmo", - "version": "0.58.0", + "version": "0.59.0-alpha.1", "description": "The Plasmo Platform CLI", "main": "dist/index.js", "types": "dist/type.d.ts", diff --git a/cli/plasmo/src/commands/dev.ts b/cli/plasmo/src/commands/dev.ts index 85a3b0f58..5d2814cc3 100644 --- a/cli/plasmo/src/commands/dev.ts +++ b/cli/plasmo/src/commands/dev.ts @@ -63,7 +63,7 @@ async function dev() { } if (event.type === "buildSuccess") { - aLog(`✨ Extension re-packaged in ${event.buildTime}ms!`) + aLog(`Extension re-packaged in ${event.buildTime}ms! 🚀`) await plasmoManifest.postBuild() } else if (event.type === "buildFailure") { event.diagnostics.forEach((diagnostic) => { diff --git a/packages/parcel-config/index.json b/packages/parcel-config/index.json index 2fe106515..8a7d909a9 100644 --- a/packages/parcel-config/index.json +++ b/packages/parcel-config/index.json @@ -1,7 +1,11 @@ { "extends": "@parcel/config-default", "bundler": "@plasmohq/parcel-bundler", - "resolvers": ["@plasmohq/parcel-resolver", "..."], + "resolvers": [ + "@plasmohq/parcel-resolver", + "...", + "@plasmohq/parcel-resolver-post" + ], "transformers": { "*.plasmo.manifest.json": ["@plasmohq/parcel-transformer-manifest"], diff --git a/packages/parcel-config/package.json b/packages/parcel-config/package.json index 6b5c9c928..c0108ae4c 100644 --- a/packages/parcel-config/package.json +++ b/packages/parcel-config/package.json @@ -1,6 +1,6 @@ { "name": "@plasmohq/parcel-config", - "version": "0.21.0", + "version": "0.22.0", "license": "MIT", "repository": { "type": "git", @@ -26,6 +26,7 @@ "@plasmohq/parcel-namer-manifest": "workspace:*", "@plasmohq/parcel-packager": "workspace:*", "@plasmohq/parcel-resolver": "workspace:*", + "@plasmohq/parcel-resolver-post": "workspace:*", "@plasmohq/parcel-runtime": "workspace:*", "@plasmohq/parcel-transformer-inject-env": "workspace:*", "@plasmohq/parcel-transformer-inline-css": "workspace:*", diff --git a/packages/parcel-resolver-post/.gitignore b/packages/parcel-resolver-post/.gitignore new file mode 100644 index 000000000..c7df64ac6 --- /dev/null +++ b/packages/parcel-resolver-post/.gitignore @@ -0,0 +1,3 @@ +node_modules + +dist/ \ No newline at end of file diff --git a/packages/parcel-resolver-post/package.json b/packages/parcel-resolver-post/package.json new file mode 100644 index 000000000..02fe20a03 --- /dev/null +++ b/packages/parcel-resolver-post/package.json @@ -0,0 +1,37 @@ +{ + "name": "@plasmohq/parcel-resolver-post", + "version": "0.0.0", + "description": "Plasmo Parcel Resolver Post-processing", + "files": [ + "dist" + ], + "main": "dist/index.js", + "scripts": { + "prepublishOnly": "pnpm build", + "build": "tsup src/index.ts --minify --clean", + "dev": "tsup src/index.ts --watch" + }, + "author": "Plasmo Corp. ", + "homepage": "https://docs.plasmo.com/", + "engines": { + "parcel": ">= 2.7.0" + }, + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/PlasmoHQ/plasmo.git" + }, + "devDependencies": { + "@plasmo/config": "workspace:*", + "@plasmo/utils": "workspace:*" + }, + "dependencies": { + "@parcel/core": "2.7.0", + "@parcel/utils": "2.7.0", + "@parcel/types": "2.7.0", + "@parcel/hash": "2.7.0", + "@parcel/plugin": "2.7.0", + "typescript": "4.8.4", + "tsup": "6.3.0" + } +} diff --git a/packages/parcel-resolver-post/src/handle-ts-path.ts b/packages/parcel-resolver-post/src/handle-ts-path.ts new file mode 100644 index 000000000..2fa3b47a0 --- /dev/null +++ b/packages/parcel-resolver-post/src/handle-ts-path.ts @@ -0,0 +1,193 @@ +/** + * Copyright (c) 2022 Plasmo Corp. (https://www.plasmo.com) and contributors + * MIT License + * + * Based on: https://github.com/zachbryant/parcel-resolver-tspaths + * Copyright (c) 2021 Zach Bryant + * MIT License + */ + +import { loadConfig } from "@parcel/utils" +import { extname, join, resolve } from "path" +import type { CompilerOptions } from "typescript" + +import type { ResolverProps, ResolverResult } from "./shared" +import { checkWebpackSpecificImportSyntax, findModule, trimStar } from "./utils" + +const tsRegex = /\.tsx?$/ + +const relevantExtList = [ + ".ts", + ".tsx", + ".svelte", + ".vue", + ".json", + + ".css", + ".scss", + ".sass", + ".less", + + ".svg", + + ".js", + ".jsx" +] as const + +const relevantExtSet = new Set(relevantExtList) + +type TsPaths = string[] + +type TsPathsMap = Map + +const state = { + pathsMap: null as TsPathsMap, + pathsMapRegex: null as [string, TsPaths, RegExp][] +} + +export async function handleTsPath( + props: ResolverProps +): Promise { + try { + const { dependency } = props + + checkWebpackSpecificImportSyntax(dependency.specifier) + + const isTypescript = tsRegex.test(dependency.resolveFrom) + + if (!isTypescript) { + return null + } + + const { compilerOptions } = await getTsconfigCompilerOptions(props) + if (!compilerOptions) { + return null + } + + loadTsPathsMap(compilerOptions) + + const result = attemptResolve(props) + + if (!result) { + return null + } + + return { + filePath: result + } + } catch { + return null + } +} + +/** Populate a map with any paths from tsconfig.json starting from baseUrl */ +function loadTsPathsMap(compilerOptions: CompilerOptions) { + if (state.pathsMap) { + return + } + + const baseUrl = compilerOptions.baseUrl || "." + const tsPaths = compilerOptions.paths || {} + + const tsPathsMap = Object.entries(tsPaths).reduce( + (output, [key, pathList]) => { + output.set( + key, + pathList.map((p) => join(baseUrl, p)) + ) + return output + }, + new Map() + ) + + state.pathsMap = tsPathsMap + state.pathsMapRegex = Array.from(tsPathsMap.entries()).map((entry) => [ + ...entry, + new RegExp(`^${entry[0].replace("*", ".*")}$`) + ]) +} + +function attemptResolve({ specifier, dependency }: ResolverProps) { + const { pathsMap, pathsMapRegex } = state + if (pathsMap.has(specifier)) { + return attemptResolveArray( + specifier, + specifier, + pathsMap.get(specifier), + dependency.resolveFrom + ) + } + + const relevantEntry = pathsMapRegex.find(([, , aliasRegex]) => + aliasRegex.test(specifier) + ) + + if (!!relevantEntry) { + return attemptResolveArray( + specifier, + relevantEntry[0], + relevantEntry[1], + dependency.resolveFrom + ) + } + + return null +} + +// TODO support resource loaders like 'url:@alias/my.svg' +/** Attempt to resolve any path associated with the alias to a file or directory index */ +function attemptResolveArray( + from: string, + alias: string, + realPaths: TsPaths, + parentFile: string +) { + for (const option of realPaths) { + const absoluteBaseFile = resolve( + from.replace(trimStar(alias), trimStar(option)) + ) + + const importExt = extname(absoluteBaseFile) + + if (importExt.length > 0 && relevantExtSet.has(importExt as any)) { + return absoluteBaseFile + } + + const parentExt = extname(parentFile) + + const checkingExts = [ + parentExt, + ...relevantExtList.filter((ext) => ext !== parentExt) + ] + + const mod = findModule(absoluteBaseFile, checkingExts) + + if (mod !== null) { + return mod + } + } + return null +} + +async function getTsconfigCompilerOptions({ + options, + dependency +}: ResolverProps) { + const result = await loadConfig( + options.inputFS, + dependency.resolveFrom, + ["tsconfig.json", "tsconfig.js"], + join(process.env.PLASMO_PROJECT_DIR, "lab") + ) + + if (!result?.config?.compilerOptions) { + return null + } + + const filePath = result.files[0].filePath + const compilerOptions = result?.config?.compilerOptions as CompilerOptions + return { + compilerOptions, + filePath + } +} diff --git a/packages/parcel-resolver-post/src/index.ts b/packages/parcel-resolver-post/src/index.ts new file mode 100644 index 000000000..58176cad1 --- /dev/null +++ b/packages/parcel-resolver-post/src/index.ts @@ -0,0 +1,9 @@ +import { Resolver } from "@parcel/plugin" + +import { handleTsPath } from "./handle-ts-path" + +export default new Resolver({ + async resolve(props) { + return (await handleTsPath(props)) || null + } +}) diff --git a/packages/parcel-resolver-post/src/shared.ts b/packages/parcel-resolver-post/src/shared.ts new file mode 100644 index 000000000..7ce6355c4 --- /dev/null +++ b/packages/parcel-resolver-post/src/shared.ts @@ -0,0 +1,20 @@ +import type { Resolver } from "@parcel/plugin" +import type { ResolveResult } from "@parcel/types" + +export const relevantExtensionList = [ + ".ts", + ".tsx", + ".svelte", + ".vue", + ".json", + + ".js", + ".jsx" +] as const + +export const relevantExtensionSet = new Set(relevantExtensionList) + +type ResolveFx = ConstructorParameters[0]["resolve"] + +export type ResolverResult = ResolveResult +export type ResolverProps = Parameters[0] diff --git a/packages/parcel-resolver-post/src/utils.ts b/packages/parcel-resolver-post/src/utils.ts new file mode 100644 index 000000000..1eb6523fb --- /dev/null +++ b/packages/parcel-resolver-post/src/utils.ts @@ -0,0 +1,65 @@ +import type { ResolveResult } from "@parcel/types" +import { statSync } from "fs" +import { resolve } from "path" + +import { type ResolverResult, relevantExtensionList } from "./shared" + +const WEBPACK_IMPORT_REGEX = /\S+-loader\S*!\S+/g + +export function checkWebpackSpecificImportSyntax(specifier = "") { + // Throw user friendly errors on special webpack loader syntax + // ex. `imports-loader?$=jquery!./example.js` + if (WEBPACK_IMPORT_REGEX.test(specifier)) { + throw new Error( + `The import path: ${specifier} is using webpack specific loader import syntax, which isn't supported by Parcel.` + ) + } +} + +export function trimStar(str: string) { + return trim(str, "*") +} + +export function trim(str: string, trim: string) { + if (str.endsWith(trim)) { + str = str.substring(0, str.length - trim.length) + } + return str +} + +const isFile = (filePath: string) => { + try { + return statSync(filePath).isFile() + } catch { + return false + } +} + +export function findModule( + absoluteBaseFile: string, + checkingExts = relevantExtensionList as readonly string[] +) { + return checkingExts + .flatMap((ext) => [ + resolve(`${absoluteBaseFile}${ext}`), + resolve(absoluteBaseFile, `index${ext}`) + ]) + .find(isFile) +} + +/** + * Look for source code file (crawl index) + */ +export const resolveSourceIndex = async ( + absoluteBaseFile: string, + checkingExts = relevantExtensionList as readonly string[], + opts = {} as Partial +): Promise => { + const filePath = findModule(absoluteBaseFile, checkingExts) + + if (!filePath) { + return null + } + + return { filePath, ...opts } +} diff --git a/packages/parcel-resolver-post/tsconfig.json b/packages/parcel-resolver-post/tsconfig.json new file mode 100644 index 000000000..baa127a20 --- /dev/null +++ b/packages/parcel-resolver-post/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@plasmo/config/ts/cli", + "include": ["src/**/*.ts"], + "exclude": ["dist", "node_modules"] +} diff --git a/packages/parcel-resolver/package.json b/packages/parcel-resolver/package.json index 673087855..784f81b0e 100644 --- a/packages/parcel-resolver/package.json +++ b/packages/parcel-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@plasmohq/parcel-resolver", - "version": "0.6.1", + "version": "0.7.0", "description": "Plasmo Parcel Resolver", "files": [ "dist" diff --git a/packages/parcel-resolver/src/handle-tilde-src.ts b/packages/parcel-resolver/src/handle-tilde-src.ts index 2e46fcdee..6b44d1080 100644 --- a/packages/parcel-resolver/src/handle-tilde-src.ts +++ b/packages/parcel-resolver/src/handle-tilde-src.ts @@ -1,4 +1,3 @@ -import { statSync } from "fs" import { extname, resolve } from "path" import { diff --git a/packages/parcel-resolver/src/shared.ts b/packages/parcel-resolver/src/shared.ts index dac8c33c3..5375ae467 100644 --- a/packages/parcel-resolver/src/shared.ts +++ b/packages/parcel-resolver/src/shared.ts @@ -1,6 +1,6 @@ import type { Resolver } from "@parcel/plugin" import type { ResolveResult } from "@parcel/types" -import { statSync } from "fs-extra" +import { statSync } from "fs" import type { Got } from "got" import { resolve } from "path" diff --git a/packages/parcel-runtime/package.json b/packages/parcel-runtime/package.json index 6509b6f15..ee4515e9b 100644 --- a/packages/parcel-runtime/package.json +++ b/packages/parcel-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@plasmohq/parcel-runtime", - "version": "0.11.0", + "version": "0.11.1", "description": "Plasmo Parcel Runtime", "files": [ "dist" diff --git a/packages/parcel-runtime/src/index.ts b/packages/parcel-runtime/src/index.ts index 568d0b075..eaf3fa019 100644 --- a/packages/parcel-runtime/src/index.ts +++ b/packages/parcel-runtime/src/index.ts @@ -23,7 +23,7 @@ export default new Runtime({ dependencies: Record devDependencies: Record }>( - join(process.env.PLASMO_SRC_DIR, "lab"), // parcel only look up + join(process.env.PLASMO_PROJECT_DIR, "lab"), // parcel only look up ["package.json"], { exclude: true diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9417b054..aa75ee580 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1230,6 +1230,7 @@ importers: '@plasmohq/parcel-namer-manifest': workspace:* '@plasmohq/parcel-packager': workspace:* '@plasmohq/parcel-resolver': workspace:* + '@plasmohq/parcel-resolver-post': workspace:* '@plasmohq/parcel-runtime': workspace:* '@plasmohq/parcel-transformer-inject-env': workspace:* '@plasmohq/parcel-transformer-inline-css': workspace:* @@ -1255,6 +1256,7 @@ importers: '@plasmohq/parcel-namer-manifest': link:../parcel-namer-manifest '@plasmohq/parcel-packager': link:../parcel-packager '@plasmohq/parcel-resolver': link:../parcel-resolver + '@plasmohq/parcel-resolver-post': link:../parcel-resolver-post '@plasmohq/parcel-runtime': link:../parcel-runtime '@plasmohq/parcel-transformer-inject-env': link:../parcel-transformer-inject-env '@plasmohq/parcel-transformer-inline-css': link:../parcel-transformer-inline-css @@ -1319,6 +1321,29 @@ importers: '@plasmo/config': link:../config tsup: 6.3.0 + packages/parcel-resolver-post: + specifiers: + '@parcel/core': 2.7.0 + '@parcel/hash': 2.7.0 + '@parcel/plugin': 2.7.0 + '@parcel/types': 2.7.0 + '@parcel/utils': 2.7.0 + '@plasmo/config': workspace:* + '@plasmo/utils': workspace:* + tsup: 6.3.0 + typescript: 4.8.4 + dependencies: + '@parcel/core': 2.7.0 + '@parcel/hash': 2.7.0 + '@parcel/plugin': 2.7.0_@parcel+core@2.7.0 + '@parcel/types': 2.7.0_@parcel+core@2.7.0 + '@parcel/utils': 2.7.0 + tsup: 6.3.0_typescript@4.8.4 + typescript: 4.8.4 + devDependencies: + '@plasmo/config': link:../config + '@plasmo/utils': link:../utils + packages/parcel-runtime: specifiers: '@parcel/core': 2.7.0 @@ -2240,31 +2265,12 @@ packages: resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==} dev: false - /@esbuild/android-arm/0.15.11: - resolution: {integrity: sha512-PzMcQLazLBkwDEkrNPi9AbjFt6+3I7HKbiYF2XtWQ7wItrHvEOeO3T8Am434zAozWtVP7lrTue1bEfc2nYWeCA==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm/0.15.12: resolution: {integrity: sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==} engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64/0.15.11: - resolution: {integrity: sha512-geWp637tUhNmhL3Xgy4Bj703yXB9dqiLJe05lCUfjSFDrQf9C/8pArusyPUbUbPwlC/EAUjBw32sxuIl/11dZw==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64/0.15.12: @@ -2273,7 +2279,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@eslint/eslintrc/1.3.3: @@ -5150,7 +5155,6 @@ packages: /any-promise/1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} @@ -5224,7 +5228,6 @@ packages: /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true /array.prototype.flatmap/1.3.0: resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} @@ -5477,20 +5480,18 @@ packages: node-gyp-build: 4.5.0 dev: false - /bundle-require/3.1.0_esbuild@0.15.11: + /bundle-require/3.1.0_esbuild@0.15.12: resolution: {integrity: sha512-IIXtAO7fKcwPHNPt9kY/WNVJqy7NDy6YqJvv6ENH0TOZoJ+yjpEsn1w40WKZbR2ibfu5g1rfgJTvmFHpm5aOMA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.13' dependencies: - esbuild: 0.15.11 + esbuild: 0.15.12 load-tsconfig: 0.2.3 - dev: true /cac/6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true /cacheable-lookup/7.0.0: resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} @@ -5750,7 +5751,6 @@ packages: /commander/4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - dev: true /commander/7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} @@ -6108,7 +6108,6 @@ packages: engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: true /dlv/1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -6333,31 +6332,12 @@ packages: ext: 1.7.0 dev: false - /esbuild-android-64/0.15.11: - resolution: {integrity: sha512-rrwoXEiuI1kaw4k475NJpexs8GfJqQUKcD08VR8sKHmuW9RUuTR2VxcupVvHdiGh9ihxL9m3lpqB1kju92Ialw==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /esbuild-android-64/0.15.12: resolution: {integrity: sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.15.11: - resolution: {integrity: sha512-/hDubOg7BHOhUUsT8KUIU7GfZm5bihqssvqK5PfO4apag7YuObZRZSzViyEKcFn2tPeHx7RKbSBXvAopSHDZJQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true optional: true /esbuild-android-arm64/0.15.12: @@ -6366,16 +6346,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.15.11: - resolution: {integrity: sha512-1DqHD0ms3AhiwkKnjRUzmiW7JnaJJr5FKrPiR7xuyMwnjDqvNWDdMq4rKSD9OC0piFNK6n0LghsglNMe2MwJtA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true optional: true /esbuild-darwin-64/0.15.12: @@ -6384,16 +6354,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.15.11: - resolution: {integrity: sha512-OMzhxSbS0lwwrW40HHjRCeVIJTURdXFA8c3GU30MlHKuPCcvWNUIKVucVBtNpJySXmbkQMDJdJNrXzNDyvoqvQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true optional: true /esbuild-darwin-arm64/0.15.12: @@ -6402,16 +6362,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.15.11: - resolution: {integrity: sha512-8dKP26r0/Qyez8nTCwpq60QbuYKOeBygdgOAWGCRalunyeqWRoSZj9TQjPDnTTI9joxd3QYw3UhVZTKxO9QdRg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true optional: true /esbuild-freebsd-64/0.15.12: @@ -6420,16 +6370,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.15.11: - resolution: {integrity: sha512-aSGiODiukLGGnSg/O9+cGO2QxEacrdCtCawehkWYTt5VX1ni2b9KoxpHCT9h9Y6wGqNHmXFnB47RRJ8BIqZgmQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true optional: true /esbuild-freebsd-arm64/0.15.12: @@ -6438,16 +6378,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.15.11: - resolution: {integrity: sha512-lsrAfdyJBGx+6aHIQmgqUonEzKYeBnyfJPkT6N2dOf1RoXYYV1BkWB6G02tjsrz1d5wZzaTc3cF+TKmuTo/ZwA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-32/0.15.12: @@ -6456,16 +6386,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.15.11: - resolution: {integrity: sha512-Y2Rh+PcyVhQqXKBTacPCltINN3uIw2xC+dsvLANJ1SpK5NJUtxv8+rqWpjmBgaNWKQT1/uGpMmA9olALy9PLVA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-64/0.15.12: @@ -6474,16 +6394,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.15.11: - resolution: {integrity: sha512-TJllTVk5aSyqPFvvcHTvf6Wu1ZKhWpJ/qNmZO8LL/XeB+LXCclm7HQHNEIz6MT7IX8PmlC1BZYrOiw2sXSB95A==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-arm/0.15.12: @@ -6492,16 +6402,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.15.11: - resolution: {integrity: sha512-uhcXiTwTmD4OpxJu3xC5TzAAw6Wzf9O1XGWL448EE9bqGjgV1j+oK3lIHAfsHnuIn8K4nDW8yjX0Sv5S++oRuw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-arm64/0.15.12: @@ -6510,16 +6410,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.15.11: - resolution: {integrity: sha512-WD61y/R1M4BLe4gxXRypoQ0Ci+Vjf714QYzcPNkiYv5I8K8WDz2ZR8Bm6cqKxd6rD+e/rZgPDbhQ9PCf7TMHmA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-mips64le/0.15.12: @@ -6528,16 +6418,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.15.11: - resolution: {integrity: sha512-JVleZS9oPVLTlBhPTWgOwxFWU/wMUdlBwTbGA4GF8c38sLbS13cupj+C8bLq929jU7EMWry4SaL+tKGIaTlqKg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-ppc64le/0.15.12: @@ -6546,16 +6426,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.15.11: - resolution: {integrity: sha512-9aLIalZ2HFHIOZpmVU11sEAS9F8TnHw49daEjcgMpBXHFF57VuT9f9/9LKJhw781Gda0P9jDkuCWJ0tFbErvJw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-riscv64/0.15.12: @@ -6564,16 +6434,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.15.11: - resolution: {integrity: sha512-sZHtiXXOKsLI3XGBGoYO4qKBzJlb8xNsWmvFiwFMHFzA4AXgDP1KDp7Dawe9C2pavTRBDvl+Ok4n/DHQ59oaTg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true optional: true /esbuild-linux-s390x/0.15.12: @@ -6582,16 +6442,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.15.11: - resolution: {integrity: sha512-hUC9yN06K9sg7ju4Vgu9ChAPdsEgtcrcLfyNT5IKwKyfpLvKUwCMZSdF+gRD3WpyZelgTQfJ+pDx5XFbXTlB0A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true optional: true /esbuild-netbsd-64/0.15.12: @@ -6600,16 +6450,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.15.11: - resolution: {integrity: sha512-0bBo9SQR4t66Wd91LGMAqmWorzO0TTzVjYiifwoFtel8luFeXuPThQnEm5ztN4g0fnvcp7AnUPPzS/Depf17wQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true optional: true /esbuild-openbsd-64/0.15.12: @@ -6618,16 +6458,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true - optional: true - - /esbuild-sunos-64/0.15.11: - resolution: {integrity: sha512-EuBdTGlsMTjEl1sQnBX2jfygy7iR6CKfvOzi+gEOfhDqbHXsmY1dcpbVtcwHAg9/2yUZSfMJHMAgf1z8M4yyyw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true optional: true /esbuild-sunos-64/0.15.12: @@ -6636,16 +6466,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32/0.15.11: - resolution: {integrity: sha512-O0/Wo1Wk6dc0rZSxkvGpmTNIycEznHmkObTFz2VHBhjPsO4ZpCgfGxNkCpz4AdAIeMczpTXt/8d5vdJNKEGC+Q==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true optional: true /esbuild-windows-32/0.15.12: @@ -6654,16 +6474,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.15.11: - resolution: {integrity: sha512-x977Q4HhNjnHx00b4XLAnTtj5vfbdEvkxaQwC1Zh5AN8g5EX+izgZ6e5QgqJgpzyRNJqh4hkgIJF1pyy1be0mQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true optional: true /esbuild-windows-64/0.15.12: @@ -6672,16 +6482,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.15.11: - resolution: {integrity: sha512-VwUHFACuBahrvntdcMKZteUZ9HaYrBRODoKe4tIWxguQRvvYoYb7iu5LrcRS/FQx8KPZNaa72zuqwVtHeXsITw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true optional: true /esbuild-windows-arm64/0.15.12: @@ -6690,39 +6490,8 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true - /esbuild/0.15.11: - resolution: {integrity: sha512-OgHGuhlfZ//mToxjte1D5iiiQgWfJ2GByVMwEC/IuoXsBGkuyK1+KrjYu0laSpnN/L1UmLUCv0s25vObdc1bVg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.11 - '@esbuild/linux-loong64': 0.15.11 - esbuild-android-64: 0.15.11 - esbuild-android-arm64: 0.15.11 - esbuild-darwin-64: 0.15.11 - esbuild-darwin-arm64: 0.15.11 - esbuild-freebsd-64: 0.15.11 - esbuild-freebsd-arm64: 0.15.11 - esbuild-linux-32: 0.15.11 - esbuild-linux-64: 0.15.11 - esbuild-linux-arm: 0.15.11 - esbuild-linux-arm64: 0.15.11 - esbuild-linux-mips64le: 0.15.11 - esbuild-linux-ppc64le: 0.15.11 - esbuild-linux-riscv64: 0.15.11 - esbuild-linux-s390x: 0.15.11 - esbuild-netbsd-64: 0.15.11 - esbuild-openbsd-64: 0.15.11 - esbuild-sunos-64: 0.15.11 - esbuild-windows-32: 0.15.11 - esbuild-windows-64: 0.15.11 - esbuild-windows-arm64: 0.15.11 - dev: true - /esbuild/0.15.12: resolution: {integrity: sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==} engines: {node: '>=12'} @@ -6751,7 +6520,6 @@ packages: esbuild-windows-32: 0.15.12 esbuild-windows-64: 0.15.12 esbuild-windows-arm64: 0.15.12 - dev: true /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -6956,7 +6724,6 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true /exit/0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} @@ -7278,7 +7045,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /glob/7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -7314,7 +7080,6 @@ packages: ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 - dev: true /globrex/0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -7551,7 +7316,6 @@ packages: /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -7577,7 +7341,6 @@ packages: /ignore/5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} - dev: true /image-size/0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} @@ -8386,7 +8149,6 @@ packages: /joycon/3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - dev: true /js-sdsl/4.1.5: resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} @@ -8716,7 +8478,6 @@ packages: /load-tsconfig/0.2.3: resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true /locate-path/5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -8773,7 +8534,6 @@ packages: /lodash.sortby/4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true /lodash.union/4.6.0: resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} @@ -8877,7 +8637,6 @@ packages: /merge-stream/2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -9020,7 +8779,6 @@ packages: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - dev: true /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} @@ -9188,7 +8946,6 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 - dev: true /nth-check/2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -9486,7 +9243,6 @@ packages: /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} - dev: true /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -9529,7 +9285,6 @@ packages: dependencies: lilconfig: 2.0.6 yaml: 1.10.2 - dev: true /postcss-load-config/3.1.4_postcss@8.4.18: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} @@ -9762,7 +9517,6 @@ packages: /punycode/2.1.1: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} - dev: true /qs/6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} @@ -10563,7 +10317,6 @@ packages: /resolve-from/5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true /resolve.exports/1.1.0: resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} @@ -10632,7 +10385,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: true /run-async/2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} @@ -10824,7 +10576,6 @@ packages: /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true /snake-case/3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -10875,7 +10626,6 @@ packages: engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 - dev: true /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} @@ -11016,7 +10766,6 @@ packages: /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - dev: true /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -11075,7 +10824,6 @@ packages: mz: 2.7.0 pirates: 4.0.5 ts-interface-checker: 0.1.13 - dev: true /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -11278,13 +11026,11 @@ packages: engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 - dev: true /thenify/3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 - dev: true /through/2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -11351,7 +11097,6 @@ packages: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.1.1 - dev: true /tr46/3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} @@ -11363,7 +11108,6 @@ packages: /tree-kill/1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - dev: true /ts-algebra/1.1.1: resolution: {integrity: sha512-W43a3/BN0Tp4SgRNERQF/QPVuY1rnHkgCr/fISLY0Ycu05P0NWPYRuViU8JFn+pFZuY6/zp9TgET1fxMzppR/Q==} @@ -11373,7 +11117,6 @@ packages: /ts-interface-checker/0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true /ts-jest/29.0.3_a2wb2fpmmoypxea2sxiscqqu6y: resolution: {integrity: sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==} @@ -11432,11 +11175,11 @@ packages: typescript: optional: true dependencies: - bundle-require: 3.1.0_esbuild@0.15.11 + bundle-require: 3.1.0_esbuild@0.15.12 cac: 6.7.14 chokidar: 3.5.3 debug: 4.3.4 - esbuild: 0.15.11 + esbuild: 0.15.12 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 @@ -11467,11 +11210,11 @@ packages: typescript: optional: true dependencies: - bundle-require: 3.1.0_esbuild@0.15.11 + bundle-require: 3.1.0_esbuild@0.15.12 cac: 6.7.14 chokidar: 3.5.3 debug: 4.3.4 - esbuild: 0.15.11 + esbuild: 0.15.12 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 @@ -11485,7 +11228,6 @@ packages: transitivePeerDependencies: - supports-color - ts-node - dev: true /tunnel-agent/0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -11763,7 +11505,6 @@ packages: /webidl-conversions/4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true /webidl-conversions/7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} @@ -11831,7 +11572,6 @@ packages: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 - dev: true /which-boxed-primitive/1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}