From 36203feaeba3d08b984b7c24fdb87e9afa107d79 Mon Sep 17 00:00:00 2001 From: Julian Karl Date: Mon, 21 Aug 2023 20:40:07 +0200 Subject: [PATCH] feat: init new plugin --- packages/trpc/.eslintignore | 13 + packages/trpc/.eslintrc.cjs | 30 ++ packages/trpc/.gitignore | 11 + packages/trpc/.npmrc | 2 + packages/trpc/.prettierignore | 13 + packages/trpc/.prettierrc | 9 + packages/trpc/README.md | 58 +++ packages/trpc/package.json | 68 +++ packages/trpc/playwright.config.ts | 12 + packages/trpc/scripts/build-cli.js | 35 ++ packages/trpc/src/app.d.ts | 12 + packages/trpc/src/app.html | 12 + .../trpc/src/cli/commands/trpc/hello-world.ts | 16 + .../trpc/src/cli/extensions/hello-world.ts | 11 + packages/trpc/src/cli/templates/template.ejs | 1 + packages/trpc/src/index.test.ts | 7 + packages/trpc/src/lib/index.js | 1 + packages/trpc/src/routes/+page.svelte | 3 + packages/trpc/static/favicon.png | Bin 0 -> 1571 bytes packages/trpc/svelte.config.js | 18 + packages/trpc/tests/test.ts | 6 + packages/trpc/tsconfig.json | 14 + packages/trpc/vite.config.ts | 9 + pnpm-lock.yaml | 489 +++++++++++++++++- 24 files changed, 844 insertions(+), 6 deletions(-) create mode 100644 packages/trpc/.eslintignore create mode 100644 packages/trpc/.eslintrc.cjs create mode 100644 packages/trpc/.gitignore create mode 100644 packages/trpc/.npmrc create mode 100644 packages/trpc/.prettierignore create mode 100644 packages/trpc/.prettierrc create mode 100644 packages/trpc/README.md create mode 100644 packages/trpc/package.json create mode 100644 packages/trpc/playwright.config.ts create mode 100644 packages/trpc/scripts/build-cli.js create mode 100644 packages/trpc/src/app.d.ts create mode 100644 packages/trpc/src/app.html create mode 100644 packages/trpc/src/cli/commands/trpc/hello-world.ts create mode 100644 packages/trpc/src/cli/extensions/hello-world.ts create mode 100644 packages/trpc/src/cli/templates/template.ejs create mode 100644 packages/trpc/src/index.test.ts create mode 100644 packages/trpc/src/lib/index.js create mode 100644 packages/trpc/src/routes/+page.svelte create mode 100644 packages/trpc/static/favicon.png create mode 100644 packages/trpc/svelte.config.js create mode 100644 packages/trpc/tests/test.ts create mode 100644 packages/trpc/tsconfig.json create mode 100644 packages/trpc/vite.config.ts diff --git a/packages/trpc/.eslintignore b/packages/trpc/.eslintignore new file mode 100644 index 00000000..38972655 --- /dev/null +++ b/packages/trpc/.eslintignore @@ -0,0 +1,13 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example + +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/packages/trpc/.eslintrc.cjs b/packages/trpc/.eslintrc.cjs new file mode 100644 index 00000000..ebc19589 --- /dev/null +++ b/packages/trpc/.eslintrc.cjs @@ -0,0 +1,30 @@ +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:svelte/recommended', + 'prettier' + ], + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020, + extraFileExtensions: ['.svelte'] + }, + env: { + browser: true, + es2017: true, + node: true + }, + overrides: [ + { + files: ['*.svelte'], + parser: 'svelte-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser' + } + } + ] +}; diff --git a/packages/trpc/.gitignore b/packages/trpc/.gitignore new file mode 100644 index 00000000..ac7211b4 --- /dev/null +++ b/packages/trpc/.gitignore @@ -0,0 +1,11 @@ +.DS_Store +node_modules +/build +/dist +/.svelte-kit +/package +.env +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/packages/trpc/.npmrc b/packages/trpc/.npmrc new file mode 100644 index 00000000..0c05da45 --- /dev/null +++ b/packages/trpc/.npmrc @@ -0,0 +1,2 @@ +engine-strict=true +resolution-mode=highest diff --git a/packages/trpc/.prettierignore b/packages/trpc/.prettierignore new file mode 100644 index 00000000..38972655 --- /dev/null +++ b/packages/trpc/.prettierignore @@ -0,0 +1,13 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example + +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/packages/trpc/.prettierrc b/packages/trpc/.prettierrc new file mode 100644 index 00000000..a77fddea --- /dev/null +++ b/packages/trpc/.prettierrc @@ -0,0 +1,9 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte"], + "pluginSearchDirs": ["."], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] +} diff --git a/packages/trpc/README.md b/packages/trpc/README.md new file mode 100644 index 00000000..4fee31f6 --- /dev/null +++ b/packages/trpc/README.md @@ -0,0 +1,58 @@ +# create-svelte + +Everything you need to build a Svelte library, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). + +Read more about creating a library [in the docs](https://kit.svelte.dev/docs/packaging). + +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```bash +# create a new project in the current directory +npm create svelte@latest + +# create a new project in my-app +npm create svelte@latest my-app +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```bash +npm run dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open +``` + +Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app. + +## Building + +To build your library: + +```bash +npm run package +``` + +To create a production version of your showcase app: + +```bash +npm run build +``` + +You can preview the production build with `npm run preview`. + +> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. + +## Publishing + +Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)). + +To publish your library to [npm](https://www.npmjs.com): + +```bash +npm publish +``` diff --git a/packages/trpc/package.json b/packages/trpc/package.json new file mode 100644 index 00000000..84d4c501 --- /dev/null +++ b/packages/trpc/package.json @@ -0,0 +1,68 @@ +{ + "name": "webstone-plugin-trpc", + "version": "0.0.1", + "scripts": { + "build": "npm run clean:build && npm run cli:build && npm run web:build", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "clean:build": "rimraf ./dist", + "cli:build": "node scripts/build-cli.js build && npm run templates:copy", + "cli:dev": "node scripts/build-cli.js dev", + "dev": "npm run clean:build && npm-run-all --parallel cli:dev web:dev templates:dev", + "format": "prettier --plugin-search-dir . --write .", + "lint": "prettier --plugin-search-dir . --check . && eslint .", + "package": "svelte-kit sync && svelte-package -o ./dist/web && publint", + "prepublishOnly": "npm run package", + "preview": "vite preview", + "templates:copy": "cp -a ./src/cli/templates ./dist/cli", + "templates:dev": "nodemon --watch src/cli/templates --ext '.ejs' --exec 'npm run templates:copy'", + "test": "npm run test:integration && npm run test:unit", + "test:integration": "playwright test", + "test:unit": "vitest", + "web:build": "vite build && npm run package", + "web:dev": "vite dev" + }, + "exports": { + ".": { + "types": "./dist/web/index.d.ts", + "svelte": "./dist/web/index.js" + } + }, + "files": [ + "dist", + "!dist/**/*.test.*", + "!dist/**/*.spec.*" + ], + "peerDependencies": { + "svelte": "^4.0.0" + }, + "devDependencies": { + "@playwright/test": "^1.28.1", + "@sveltejs/adapter-auto": "^2.0.0", + "@sveltejs/kit": "^1.20.4", + "@sveltejs/package": "^2.0.0", + "@typescript-eslint/eslint-plugin": "^5.45.0", + "@typescript-eslint/parser": "^5.45.0", + "@webstone/gluegun": "0.0.5", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte": "^2.30.0", + "fs-jetpack": "^5.1.0", + "nodemon": "^3.0.1", + "npm-run-all": "^4.1.5", + "prettier": "^2.8.0", + "prettier-plugin-svelte": "^2.10.1", + "publint": "^0.1.9", + "rimraf": "^3.0.2", + "svelte": "^4.0.5", + "svelte-check": "^3.4.3", + "tslib": "^2.4.1", + "tsup": "^6.7.0", + "typescript": "^5.0.0", + "vite": "^4.4.2", + "vitest": "^0.32.2" + }, + "svelte": "./dist/web/index.js", + "types": "./dist/web/index.d.ts", + "type": "module" +} diff --git a/packages/trpc/playwright.config.ts b/packages/trpc/playwright.config.ts new file mode 100644 index 00000000..1c5d7a1f --- /dev/null +++ b/packages/trpc/playwright.config.ts @@ -0,0 +1,12 @@ +import type { PlaywrightTestConfig } from '@playwright/test'; + +const config: PlaywrightTestConfig = { + webServer: { + command: 'npm run build && npm run preview', + port: 4173 + }, + testDir: 'tests', + testMatch: /(.+\.)?(test|spec)\.[jt]s/ +}; + +export default config; diff --git a/packages/trpc/scripts/build-cli.js b/packages/trpc/scripts/build-cli.js new file mode 100644 index 00000000..d916e7d5 --- /dev/null +++ b/packages/trpc/scripts/build-cli.js @@ -0,0 +1,35 @@ +import { defineConfig, build } from 'tsup'; +import jetpack from 'fs-jetpack'; + +/** + * @type {"build" | "dev"} + */ +const mode = process.argv[2]; + +// check if mode is valid +if (!['build', 'dev'].includes(mode)) { + console.log('Usage: node ./scripts/build-cli.js build|dev'); + process.exit(1); +} + +const config = defineConfig({ + entry: ['src/cli/**/*.ts'], + outDir: 'dist/cli', + splitting: true, + target: 'es6', + format: 'cjs', + clean: true, + treeshake: true, + tsconfig: './tsconfig.json', + bundle: false, + minify: true, + watch: mode === 'dev' ? ['src/cli'] : false +}); + +const tsFiles = jetpack.cwd('src/cli').find({ matching: '*.ts', recursive: true }); +const tsFilesCount = tsFiles.length; +if (tsFilesCount === 0) { + console.log('No files to build'); + process.exit(1); +} +await build(config); diff --git a/packages/trpc/src/app.d.ts b/packages/trpc/src/app.d.ts new file mode 100644 index 00000000..f59b884c --- /dev/null +++ b/packages/trpc/src/app.d.ts @@ -0,0 +1,12 @@ +// See https://kit.svelte.dev/docs/types#app +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface Platform {} + } +} + +export {}; diff --git a/packages/trpc/src/app.html b/packages/trpc/src/app.html new file mode 100644 index 00000000..f22aeaad --- /dev/null +++ b/packages/trpc/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/packages/trpc/src/cli/commands/trpc/hello-world.ts b/packages/trpc/src/cli/commands/trpc/hello-world.ts new file mode 100644 index 00000000..40d8acd1 --- /dev/null +++ b/packages/trpc/src/cli/commands/trpc/hello-world.ts @@ -0,0 +1,16 @@ +import type { GluegunCommand } from '@webstone/gluegun'; + +const command: GluegunCommand = { + name: 'hello', + alias: ['h'], + description: 'Hello World Command', + hidden: false, + dashed: false, + run: async (toolbox) => { + const { print } = toolbox; + + print.info(`Hello World`); + } +}; + +export default command; diff --git a/packages/trpc/src/cli/extensions/hello-world.ts b/packages/trpc/src/cli/extensions/hello-world.ts new file mode 100644 index 00000000..3cd0d172 --- /dev/null +++ b/packages/trpc/src/cli/extensions/hello-world.ts @@ -0,0 +1,11 @@ +import type { GluegunToolbox } from '@webstone/gluegun'; + +const extension = (toolbox: GluegunToolbox) => { + const { print } = toolbox; + + toolbox.sayhello = () => { + print.info('Hello from an extension!'); + }; +}; + +export default extension; diff --git a/packages/trpc/src/cli/templates/template.ejs b/packages/trpc/src/cli/templates/template.ejs new file mode 100644 index 00000000..a0d6a291 --- /dev/null +++ b/packages/trpc/src/cli/templates/template.ejs @@ -0,0 +1 @@ +

Template

diff --git a/packages/trpc/src/index.test.ts b/packages/trpc/src/index.test.ts new file mode 100644 index 00000000..e07cbbd7 --- /dev/null +++ b/packages/trpc/src/index.test.ts @@ -0,0 +1,7 @@ +import { describe, it, expect } from 'vitest'; + +describe('sum test', () => { + it('adds 1 + 2 to equal 3', () => { + expect(1 + 2).toBe(3); + }); +}); diff --git a/packages/trpc/src/lib/index.js b/packages/trpc/src/lib/index.js new file mode 100644 index 00000000..47d3c46f --- /dev/null +++ b/packages/trpc/src/lib/index.js @@ -0,0 +1 @@ +// Reexport your entry components here diff --git a/packages/trpc/src/routes/+page.svelte b/packages/trpc/src/routes/+page.svelte new file mode 100644 index 00000000..0a45b69f --- /dev/null +++ b/packages/trpc/src/routes/+page.svelte @@ -0,0 +1,3 @@ +

Welcome to your library project

+

Create your package using @sveltejs/package and preview/showcase your work with SvelteKit

+

Visit kit.svelte.dev to read the documentation

diff --git a/packages/trpc/static/favicon.png b/packages/trpc/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 GIT binary patch literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UH { + await page.goto('/'); + await expect(page.getByRole('heading', { name: 'Welcome to SvelteKit' })).toBeVisible(); +}); diff --git a/packages/trpc/tsconfig.json b/packages/trpc/tsconfig.json new file mode 100644 index 00000000..f56aae6f --- /dev/null +++ b/packages/trpc/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "NodeNext" + } +} diff --git a/packages/trpc/vite.config.ts b/packages/trpc/vite.config.ts new file mode 100644 index 00000000..37b6a84b --- /dev/null +++ b/packages/trpc/vite.config.ts @@ -0,0 +1,9 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [sveltekit()], + test: { + include: ['src/**/*.{test,spec}.{js,ts}'] + } +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a61e88f4..481d528f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,7 +84,7 @@ importers: devDependencies: tsup: specifier: ^6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.28)(ts-node@10.9.1)(typescript@5.1.6) packages/create-webstone-app: dependencies: @@ -109,7 +109,7 @@ importers: version: 20.4.10 tsup: specifier: ^6.7.0 - version: 6.7.0(ts-node@10.9.1)(typescript@5.1.6) + version: 6.7.0(postcss@8.4.28)(ts-node@10.9.1)(typescript@5.1.6) type-fest: specifier: ^4.2.0 version: 4.2.0 @@ -290,6 +290,81 @@ importers: specifier: workspace:^0.2.0 version: link:../cli + packages/trpc: + devDependencies: + '@playwright/test': + specifier: ^1.28.1 + version: 1.37.1 + '@sveltejs/adapter-auto': + specifier: ^2.0.0 + version: 2.1.0(@sveltejs/kit@1.22.6) + '@sveltejs/kit': + specifier: ^1.20.4 + version: 1.22.6(svelte@4.2.0)(vite@4.4.9) + '@sveltejs/package': + specifier: ^2.0.0 + version: 2.2.1(svelte@4.2.0)(typescript@5.1.6) + '@typescript-eslint/eslint-plugin': + specifier: ^5.45.0 + version: 5.45.0(@typescript-eslint/parser@5.45.0)(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/parser': + specifier: ^5.45.0 + version: 5.45.0(eslint@8.47.0)(typescript@5.1.6) + '@webstone/gluegun': + specifier: 0.0.5 + version: 0.0.5 + eslint: + specifier: ^8.28.0 + version: 8.47.0 + eslint-config-prettier: + specifier: ^8.5.0 + version: 8.5.0(eslint@8.47.0) + eslint-plugin-svelte: + specifier: ^2.30.0 + version: 2.32.4(eslint@8.47.0)(svelte@4.2.0)(ts-node@10.9.1) + fs-jetpack: + specifier: ^5.1.0 + version: 5.1.0 + nodemon: + specifier: ^3.0.1 + version: 3.0.1 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + prettier: + specifier: ^2.8.0 + version: 2.8.8 + prettier-plugin-svelte: + specifier: ^2.10.1 + version: 2.10.1(prettier@2.8.8)(svelte@4.2.0) + publint: + specifier: ^0.1.9 + version: 0.1.9 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + svelte: + specifier: ^4.0.5 + version: 4.2.0 + svelte-check: + specifier: ^3.4.3 + version: 3.5.0(postcss@8.4.28)(svelte@4.2.0) + tslib: + specifier: ^2.4.1 + version: 2.6.2 + tsup: + specifier: ^6.7.0 + version: 6.7.0(postcss@8.4.28)(ts-node@10.9.1)(typescript@5.1.6) + typescript: + specifier: ^5.0.0 + version: 5.1.6 + vite: + specifier: ^4.4.2 + version: 4.4.9(@types/node@20.4.10) + vitest: + specifier: ^0.32.2 + version: 0.32.2 + packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -1402,7 +1477,7 @@ packages: sade: 1.8.1 semver: 7.5.4 svelte: 4.1.2 - svelte2tsx: 0.6.19(svelte@4.1.2)(typescript@5.1.6) + svelte2tsx: 0.6.20(svelte@4.1.2)(typescript@5.1.6) transitivePeerDependencies: - typescript dev: true @@ -1629,6 +1704,33 @@ packages: resolution: {integrity: sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==} dev: true + /@typescript-eslint/eslint-plugin@5.45.0(@typescript-eslint/parser@5.45.0)(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.45.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/type-utils': 5.45.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.45.0(eslint@8.47.0)(typescript@5.1.6) + debug: 4.3.4 + eslint: 8.47.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + regexpp: 3.2.0 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/eslint-plugin@6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1718,6 +1820,26 @@ packages: - supports-color dev: true + /@typescript-eslint/parser@5.45.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.1.6) + debug: 4.3.4 + eslint: 8.47.0 + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser@6.2.1(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1781,6 +1903,14 @@ packages: - supports-color dev: true + /@typescript-eslint/scope-manager@5.45.0: + resolution: {integrity: sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 + dev: true + /@typescript-eslint/scope-manager@6.2.1: resolution: {integrity: sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1805,6 +1935,26 @@ packages: '@typescript-eslint/visitor-keys': 6.4.0 dev: true + /@typescript-eslint/type-utils@5.45.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.1.6) + '@typescript-eslint/utils': 5.45.0(eslint@8.47.0)(typescript@5.1.6) + debug: 4.3.4 + eslint: 8.47.0 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/type-utils@6.2.1(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1865,6 +2015,11 @@ packages: - supports-color dev: true + /@typescript-eslint/types@5.45.0: + resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@typescript-eslint/types@6.2.1: resolution: {integrity: sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1880,6 +2035,27 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true + /@typescript-eslint/typescript-estree@5.45.0(typescript@5.1.6): + resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/typescript-estree@6.2.1(typescript@5.1.6): resolution: {integrity: sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1943,6 +2119,26 @@ packages: - supports-color dev: true + /@typescript-eslint/utils@5.45.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.1.6) + eslint: 8.47.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.47.0) + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/utils@6.2.1(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2000,6 +2196,14 @@ packages: - typescript dev: true + /@typescript-eslint/visitor-keys@5.45.0: + resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.45.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@typescript-eslint/visitor-keys@6.2.1: resolution: {integrity: sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2024,6 +2228,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@vitest/expect@0.32.2: + resolution: {integrity: sha512-6q5yzweLnyEv5Zz1fqK5u5E83LU+gOMVBDuxBl2d2Jfx1BAp5M+rZgc5mlyqdnxquyoiOXpXmFNkcGcfFnFH3Q==} + dependencies: + '@vitest/spy': 0.32.2 + '@vitest/utils': 0.32.2 + chai: 4.3.7 + dev: true + /@vitest/expect@0.34.2: resolution: {integrity: sha512-EZm2dMNlLyIfDMha17QHSQcg2KjeAZaXd65fpPzXY5bvnfx10Lcaz3N55uEe8PhF+w4pw+hmrlHLLlRn9vkBJg==} dependencies: @@ -2032,6 +2244,15 @@ packages: chai: 4.3.7 dev: true + /@vitest/runner@0.32.2: + resolution: {integrity: sha512-06vEL0C1pomOEktGoLjzZw+1Fb+7RBRhmw/06WkDrd1akkT9i12su0ku+R/0QM69dfkIL/rAIDTG+CSuQVDcKw==} + dependencies: + '@vitest/utils': 0.32.2 + concordance: 5.0.4 + p-limit: 4.0.0 + pathe: 1.1.1 + dev: true + /@vitest/runner@0.34.2: resolution: {integrity: sha512-8ydGPACVX5tK3Dl0SUwxfdg02h+togDNeQX3iXVFYgzF5odxvaou7HnquALFZkyVuYskoaHUOqOyOLpOEj5XTA==} dependencies: @@ -2040,6 +2261,14 @@ packages: pathe: 1.1.1 dev: true + /@vitest/snapshot@0.32.2: + resolution: {integrity: sha512-JwhpeH/PPc7GJX38vEfCy9LtRzf9F4er7i4OsAJyV7sjPwjj+AIR8cUgpMTWK4S3TiamzopcTyLsZDMuldoi5A==} + dependencies: + magic-string: 0.30.2 + pathe: 1.1.1 + pretty-format: 27.5.1 + dev: true + /@vitest/snapshot@0.34.2: resolution: {integrity: sha512-qhQ+xy3u4mwwLxltS4Pd4SR+XHv4EajiTPNY3jkIBLUApE6/ce72neJPSUQZ7bL3EBuKI+NhvzhGj3n5baRQUQ==} dependencies: @@ -2048,12 +2277,26 @@ packages: pretty-format: 29.6.2 dev: true + /@vitest/spy@0.32.2: + resolution: {integrity: sha512-Q/ZNILJ4ca/VzQbRM8ur3Si5Sardsh1HofatG9wsJY1RfEaw0XKP8IVax2lI1qnrk9YPuG9LA2LkZ0EI/3d4ug==} + dependencies: + tinyspy: 2.1.1 + dev: true + /@vitest/spy@0.34.2: resolution: {integrity: sha512-yd4L9OhfH6l0Av7iK3sPb3MykhtcRN5c5K5vm1nTbuN7gYn+yvUVVsyvzpHrjqS7EWqn9WsPJb7+0c3iuY60tA==} dependencies: tinyspy: 2.1.1 dev: true + /@vitest/utils@0.32.2: + resolution: {integrity: sha512-lnJ0T5i03j0IJaeW73hxe2AuVnZ/y1BhhCOuIcl9LIzXnbpXJT9Lrt6brwKHXLOiA7MZ6N5hSJjt0xE1dGNCzQ==} + dependencies: + diff-sequences: 29.4.3 + loupe: 2.3.6 + pretty-format: 27.5.1 + dev: true + /@vitest/utils@0.34.2: resolution: {integrity: sha512-Lzw+kAsTPubhoQDp1uVAOP6DhNia1GMDsI9jgB0yMn+/nDaPieYQ88lKqz/gGjSHL4zwOItvpehec9OY+rS73w==} dependencies: @@ -2335,6 +2578,10 @@ packages: inherits: 2.0.4 readable-stream: 3.6.0 + /blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -2689,6 +2936,20 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.3.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.5.4 + well-known-symbols: 2.0.0 + dev: true + /conventional-commit-types@3.0.0: resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} dev: true @@ -2851,6 +3112,13 @@ packages: - '@swc/wasm' dev: true + /date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 + dev: true + /debug@3.2.7(supports-color@5.5.0): resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3157,6 +3425,15 @@ packages: engines: {node: '>=10'} dev: true + /eslint-config-prettier@8.5.0(eslint@8.47.0): + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.47.0 + dev: true + /eslint-config-prettier@9.0.0(eslint@8.46.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true @@ -3213,6 +3490,14 @@ packages: - ts-node dev: true + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3221,6 +3506,21 @@ packages: estraverse: 5.3.0 dev: true + /eslint-utils@3.0.0(eslint@8.47.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.47.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + /eslint-visitor-keys@3.4.2: resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3356,6 +3656,11 @@ packages: estraverse: 5.3.0 dev: true + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -3425,6 +3730,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + /fast-glob@3.3.1: resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} @@ -4226,6 +4535,11 @@ packages: engines: {node: '>=10'} dev: true + /js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4580,6 +4894,13 @@ packages: engines: {node: '>=8'} dev: true + /md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + /mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true @@ -5299,6 +5620,16 @@ packages: engines: {node: '>= 0.8.0'} dev: true + /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.2.0): + resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} + peerDependencies: + prettier: ^1.16.4 || ^2.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 + dependencies: + prettier: 2.8.8 + svelte: 4.2.0 + dev: true + /prettier-plugin-svelte@3.0.3(prettier@3.0.1)(svelte@4.1.2): resolution: {integrity: sha512-dLhieh4obJEK1hnZ6koxF+tMUrZbV5YGvRpf2+OADyanjya5j0z1Llo8iGwiHmFWZVG/hLEw/AJD5chXd9r3XA==} peerDependencies: @@ -5337,6 +5668,15 @@ packages: hasBin: true dev: true + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + /pretty-format@29.6.2: resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5358,6 +5698,16 @@ packages: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} dev: true + /publint@0.1.9: + resolution: {integrity: sha512-O53y7vbePxuGFmEjgcrafMSlDpOJwOkj8YdexOt7yWlv7SB3rXoT3mHknyMJ3lf2UFH5Bmt6tnIkHcOTR6dEoA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + npm-packlist: 5.1.3 + picocolors: 1.0.0 + sade: 1.8.1 + dev: true + /publint@0.2.1: resolution: {integrity: sha512-WdNOjBRgfvy1yigbcmxQMvMFQPaIVXatclpWsYjyKvewdr2GuQX4larT9fi/tJ9Q/CxhvwCjvvQRMYhHOLA5BQ==} engines: {node: '>=16'} @@ -5381,6 +5731,10 @@ packages: engines: {node: '>=8'} dev: true + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true @@ -5484,6 +5838,11 @@ packages: functions-have-names: 1.2.3 dev: true + /regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -6241,8 +6600,8 @@ packages: typescript: 5.1.6 dev: true - /svelte2tsx@0.6.19(svelte@4.1.2)(typescript@5.1.6): - resolution: {integrity: sha512-h3b5OtcO8zyVL/RiB2zsDwCopeo/UH+887uyhgb2mjnewOFwiTxu+4IGuVwrrlyuh2onM2ktfUemNrNmQwXONQ==} + /svelte2tsx@0.6.20(svelte@4.1.2)(typescript@5.1.6): + resolution: {integrity: sha512-zaSnHSERYceKxugFbjiZ3YiNcC2fNbVjpQ9qaE5hrYI4tIOX9ZqHS+I30Hp2HF+MVXLOVWVErgn/6pAlQNnheA==} peerDependencies: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 typescript: ^4.9.4 || ^5.0.0 @@ -6351,10 +6710,20 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true + /time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + /tinybench@2.5.0: resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} dev: true + /tinypool@0.5.0: + resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} + engines: {node: '>=14.0.0'} + dev: true + /tinypool@0.7.0: resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} engines: {node: '>=14.0.0'} @@ -6505,6 +6874,10 @@ packages: dev: true optional: true + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + /tslib@2.6.1: resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} dev: true @@ -6513,7 +6886,7 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsup@6.7.0(ts-node@10.9.1)(typescript@5.1.6): + /tsup@6.7.0(postcss@8.4.28)(ts-node@10.9.1)(typescript@5.1.6): resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} engines: {node: '>=14.18'} hasBin: true @@ -6537,6 +6910,7 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 + postcss: 8.4.28 postcss-load-config: 3.1.4(postcss@8.4.28)(ts-node@10.9.1) resolve-from: 5.0.0 rollup: 3.28.0 @@ -6586,6 +6960,16 @@ packages: - ts-node dev: true + /tsutils@3.21.0(typescript@5.1.6): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.1.6 + dev: true + /tsx@3.12.7: resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} hasBin: true @@ -6782,6 +7166,28 @@ packages: spdx-expression-parse: 3.0.1 dev: true + /vite-node@0.32.2(@types/node@20.4.10): + resolution: {integrity: sha512-dTQ1DCLwl2aEseov7cfQ+kDMNJpM1ebpyMMMwWzBvLbis8Nla/6c9WQcqpPssTwS6Rp/+U6KwlIj8Eapw4bLdA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + mlly: 1.4.0 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@20.4.10) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vite-node@0.34.2(@types/node@20.5.1): resolution: {integrity: sha512-JtW249Zm3FB+F7pQfH56uWSdlltCo1IOkZW5oHBzeQo0iX4jtC7o1t9aILMGd9kVekXBP2lfJBEQt9rBh07ebA==} engines: {node: '>=v14.18.0'} @@ -6887,6 +7293,72 @@ packages: vite: 4.4.9(@types/node@20.4.10) dev: true + /vitest@0.32.2: + resolution: {integrity: sha512-hU8GNNuQfwuQmqTLfiKcqEhZY72Zxb7nnN07koCUNmntNxbKQnVbeIS6sqUgR3eXSlbOpit8+/gr1KpqoMgWCQ==} + engines: {node: '>=v14.18.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + dependencies: + '@types/chai': 4.3.5 + '@types/chai-subset': 1.3.3 + '@types/node': 20.4.10 + '@vitest/expect': 0.32.2 + '@vitest/runner': 0.32.2 + '@vitest/snapshot': 0.32.2 + '@vitest/spy': 0.32.2 + '@vitest/utils': 0.32.2 + acorn: 8.10.0 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 + concordance: 5.0.4 + debug: 4.3.4 + local-pkg: 0.4.3 + magic-string: 0.30.2 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.4.0 + strip-literal: 1.3.0 + tinybench: 2.5.0 + tinypool: 0.5.0 + vite: 4.4.9(@types/node@20.4.10) + vite-node: 0.32.2(@types/node@20.4.10) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vitest@0.34.2: resolution: {integrity: sha512-WgaIvBbjsSYMq/oiMlXUI7KflELmzM43BEvkdC/8b5CAod4ryAiY2z8uR6Crbi5Pjnu5oOmhKa9sy7uk6paBxQ==} engines: {node: '>=v14.18.0'} @@ -6961,6 +7433,11 @@ packages: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true + /well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + /whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: