From fbcade939bce9b9ed15f1faded5f592bcb204c84 Mon Sep 17 00:00:00 2001 From: Johann Schopplich Date: Tue, 25 Apr 2023 07:40:35 +0200 Subject: [PATCH] feat: svelte component --- .gitignore | 1 + README.md | 2 +- package.json | 4 +- packages/nuxt/package.json | 3 +- packages/svelte/.eslintrc.cjs | 21 ++ packages/svelte/README.md | 11 + packages/svelte/package.json | 64 ++++ packages/svelte/src/app.html | 11 + packages/svelte/src/lib/UnLazyImage.svelte | 52 +++ packages/svelte/src/lib/index.js | 1 + packages/svelte/src/routes/+page.svelte | 18 ++ packages/svelte/svelte.config.js | 13 + packages/svelte/tsconfig.json | 13 + packages/svelte/vite.config.ts | 25 ++ pnpm-lock.yaml | 348 +++++++++++++++++++++ 15 files changed, 582 insertions(+), 5 deletions(-) create mode 100644 packages/svelte/.eslintrc.cjs create mode 100644 packages/svelte/README.md create mode 100644 packages/svelte/package.json create mode 100644 packages/svelte/src/app.html create mode 100644 packages/svelte/src/lib/UnLazyImage.svelte create mode 100644 packages/svelte/src/lib/index.js create mode 100644 packages/svelte/src/routes/+page.svelte create mode 100644 packages/svelte/svelte.config.js create mode 100644 packages/svelte/tsconfig.json create mode 100644 packages/svelte/vite.config.ts diff --git a/.gitignore b/.gitignore index f1e8c2b..f8cf0ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .nuxt .output +.svelte-kit **/.vitepress/cache *.log* .DS_Store diff --git a/README.md b/README.md index dd56d7f..753d712 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ You can target specific images by passing a CSS selector, a DOM element, a list 2. Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable` 3. Install dependencies using `pnpm install` 4. Run `pnpm run dev:prepare` -5. Start development server using `pnpm run dev` +5. Start development server using `pnpm run dev` inside the one of the `packages` directories ## License diff --git a/package.json b/package.json index 2fc72aa..6b9f72a 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "private": true, "packageManager": "pnpm@8.3.1", "scripts": { - "dev": "pnpm -r --filter=./packages/** run dev:prepare", "build": "pnpm -r --filter=./packages/** run build", + "dev:prepare": "pnpm -r --filter=./packages/** run dev:prepare", "docs": "pnpm -C docs run dev", "docs:build": "pnpm -C docs run build", "docs:serve": "pnpm -C docs run serve", @@ -14,7 +14,7 @@ "test": "pnpm -r test:run", "test:types": "pnpm -r test:types", "release": "bumpp -r", - "prepare": "pnpm run dev" + "prepare": "pnpm run dev:prepare" }, "devDependencies": { "@antfu/eslint-config": "^0.38.5", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index f2ee287..76b1978 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -42,8 +42,7 @@ "dev": "nuxi dev playground", "dev:build": "nuxi build playground", "dev:prepare": "nuxt-module-build --stub && nuxi prepare playground", - "test:types": "vue-tsc --noEmit", - "prepare": "nuxi prepare playground" + "test:types": "vue-tsc --noEmit" }, "dependencies": { "@nuxt/kit": "^3.4.2", diff --git a/packages/svelte/.eslintrc.cjs b/packages/svelte/.eslintrc.cjs new file mode 100644 index 0000000..d613fa3 --- /dev/null +++ b/packages/svelte/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + extends: ['@antfu/eslint-config-ts'], + plugins: ['svelte3'], + overrides: [ + { + files: ['*.svelte'], + processor: 'svelte3/svelte3', + }, + ], + settings: { + 'svelte3/typescript': () => require('typescript'), + }, + // Disable some conflicting `@antfu/eslint-config-ts` rules + rules: { + '@typescript-eslint/comma-dangle': 'off', + 'import/first': 'off', + 'import/no-mutable-exports': 'off', + 'no-multiple-empty-lines': 'off', + 'no-undef-init': 'off', + }, +} diff --git a/packages/svelte/README.md b/packages/svelte/README.md new file mode 100644 index 0000000..eda38b7 --- /dev/null +++ b/packages/svelte/README.md @@ -0,0 +1,11 @@ +# @unlazy/svelte + +unlazy integration for Svelte. + +## Documentation + +Please refer to the [documentation](https://unlazy.byjohann.dev/integrations/svelte). + +## License + +MIT License © 2023-present [Johann Schopplich](https://github.com/johannschopplich) diff --git a/packages/svelte/package.json b/packages/svelte/package.json new file mode 100644 index 0000000..abca48d --- /dev/null +++ b/packages/svelte/package.json @@ -0,0 +1,64 @@ +{ + "name": "@unlazy/svelte", + "type": "module", + "version": "0.7.6", + "packageManager": "pnpm@8.3.1", + "description": "Svelte lazy loading library for placeholder images", + "author": "Johann Schopplich ", + "license": "MIT", + "homepage": "https://unlazy.byjohann.dev", + "repository": { + "type": "git", + "url": "git+https://github.com/johannschopplich/unlazy.git", + "directory": "packages/svelte" + }, + "bugs": { + "url": "https://github.com/johannschopplich/unlazy/issues" + }, + "keywords": [ + "blurhash", + "lazy", + "loading", + "lozad", + "placeholder", + "responsive", + "thumbhash", + "svelte" + ], + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "svelte": "./dist/index.js" + } + }, + "svelte": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "pnpm run package", + "dev": "vite dev", + "dev:build": "vite build && pnpm run package", + "dev:prepare": "pnpm run package", + "dev:preview": "vite preview", + "package": "svelte-kit sync && svelte-package", + "test:types": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json" + }, + "peerDependencies": { + "svelte": "^3.54.0" + }, + "dependencies": { + "unlazy": "workspace:*" + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^2.0.1", + "@sveltejs/kit": "^1.15.8", + "@sveltejs/package": "^2.0.2", + "eslint-plugin-svelte3": "^4.0.0", + "svelte": "^3.58.0", + "svelte-check": "^3.2.0", + "tslib": "^2.5.0" + } +} diff --git a/packages/svelte/src/app.html b/packages/svelte/src/app.html new file mode 100644 index 0000000..f0e203f --- /dev/null +++ b/packages/svelte/src/app.html @@ -0,0 +1,11 @@ + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/packages/svelte/src/lib/UnLazyImage.svelte b/packages/svelte/src/lib/UnLazyImage.svelte new file mode 100644 index 0000000..adde2ac --- /dev/null +++ b/packages/svelte/src/lib/UnLazyImage.svelte @@ -0,0 +1,52 @@ + + + + diff --git a/packages/svelte/src/lib/index.js b/packages/svelte/src/lib/index.js new file mode 100644 index 0000000..29decd0 --- /dev/null +++ b/packages/svelte/src/lib/index.js @@ -0,0 +1 @@ +export { default as UnLazyimage } from './UnLazyImage.svelte' diff --git a/packages/svelte/src/routes/+page.svelte b/packages/svelte/src/routes/+page.svelte new file mode 100644 index 0000000..da6f2ea --- /dev/null +++ b/packages/svelte/src/routes/+page.svelte @@ -0,0 +1,18 @@ + + + + diff --git a/packages/svelte/svelte.config.js b/packages/svelte/svelte.config.js new file mode 100644 index 0000000..8fa2889 --- /dev/null +++ b/packages/svelte/svelte.config.js @@ -0,0 +1,13 @@ +import adapter from '@sveltejs/adapter-auto' +import { vitePreprocess } from '@sveltejs/kit/vite' + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + preprocess: vitePreprocess(), + + kit: { + adapter: adapter(), + }, +} + +export default config diff --git a/packages/svelte/tsconfig.json b/packages/svelte/tsconfig.json new file mode 100644 index 0000000..5c56cee --- /dev/null +++ b/packages/svelte/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true + } +} diff --git a/packages/svelte/vite.config.ts b/packages/svelte/vite.config.ts new file mode 100644 index 0000000..4d61ae3 --- /dev/null +++ b/packages/svelte/vite.config.ts @@ -0,0 +1,25 @@ +import { resolve } from 'node:path' +import { sveltekit } from '@sveltejs/kit/vite' +import { defineConfig } from 'vite' + +const currentDir = new URL('.', import.meta.url).pathname + +export default defineConfig({ + plugins: [sveltekit()], + + // Custom alias for unlazy until Jiti issue is resolved + // https://github.com/unjs/jiti/issues/136 + resolve: { + alias: { + '@unlazy/core': `${resolve(currentDir, '../core/src')}/`, + 'unlazy': `${resolve(currentDir, '../unlazy/src')}/`, + }, + }, + + optimizeDeps: { + exclude: [ + '@unlazy/core', + 'unlazy', + ], + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ecd03a..04d6040 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -140,6 +140,34 @@ importers: specifier: ^2.7.0 version: 2.7.0(solid-js@1.7.3)(vite@4.3.1) + packages/svelte: + dependencies: + unlazy: + specifier: workspace:* + version: link:../unlazy + devDependencies: + '@sveltejs/adapter-auto': + specifier: ^2.0.1 + version: 2.0.1(@sveltejs/kit@1.15.8) + '@sveltejs/kit': + specifier: ^1.15.8 + version: 1.15.8(svelte@3.58.0)(vite@4.3.1) + '@sveltejs/package': + specifier: ^2.0.2 + version: 2.0.2(svelte@3.58.0)(typescript@5.0.4) + eslint-plugin-svelte3: + specifier: ^4.0.0 + version: 4.0.0(eslint@8.39.0)(svelte@3.58.0) + svelte: + specifier: ^3.58.0 + version: 3.58.0 + svelte-check: + specifier: ^3.2.0 + version: 3.2.0(@babel/core@7.21.4)(svelte@3.58.0) + tslib: + specifier: ^2.5.0 + version: 2.5.0 + packages/unlazy: dependencies: '@unlazy/core': @@ -1465,6 +1493,78 @@ packages: picomatch: 2.3.1 rollup: 3.20.7 + /@sveltejs/adapter-auto@2.0.1(@sveltejs/kit@1.15.8): + resolution: {integrity: sha512-anxxYMcQy7HWSKxN4YNaVcgNzCHtNFwygq72EA1Xv7c+5gSECOJ1ez1PYoLciPiFa7A3XBvMDQXUFJ2eqLDtAA==} + peerDependencies: + '@sveltejs/kit': ^1.0.0 + dependencies: + '@sveltejs/kit': 1.15.8(svelte@3.58.0)(vite@4.3.1) + import-meta-resolve: 3.0.0 + dev: true + + /@sveltejs/kit@1.15.8(svelte@3.58.0)(vite@4.3.1): + resolution: {integrity: sha512-xPIF3UbFEA5BBZWFTGGUtSZ0O3DAtmzIp/yZZVdLIfzZ9+geKG3iGSVFnOUdYstjU7JcvJg12UC5MD5xoED59A==} + engines: {node: ^16.14 || >=18} + hasBin: true + requiresBuild: true + peerDependencies: + svelte: ^3.54.0 + vite: ^4.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte': 2.1.0(svelte@3.58.0)(vite@4.3.1) + '@types/cookie': 0.5.1 + cookie: 0.5.0 + devalue: 4.3.0 + esm-env: 1.0.0 + kleur: 4.1.5 + magic-string: 0.30.0 + mime: 3.0.0 + sade: 1.8.1 + set-cookie-parser: 2.6.0 + sirv: 2.0.2 + svelte: 3.58.0 + tiny-glob: 0.2.9 + undici: 5.22.0 + vite: 4.3.1(@types/node@18.16.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@sveltejs/package@2.0.2(svelte@3.58.0)(typescript@5.0.4): + resolution: {integrity: sha512-cCOCcO8yMHnhHyaR51nQtvKZ3o/vSU9UYI1EXLT1j2CKNPMuH1/g6JNwKcNNrtQGwwquudc69ZeYy8D/TDNwEw==} + engines: {node: ^16.14 || >=18} + hasBin: true + peerDependencies: + svelte: ^3.44.0 + dependencies: + chokidar: 3.5.3 + kleur: 4.1.5 + sade: 1.8.1 + svelte: 3.58.0 + svelte2tsx: 0.6.11(svelte@3.58.0)(typescript@5.0.4) + transitivePeerDependencies: + - typescript + dev: true + + /@sveltejs/vite-plugin-svelte@2.1.0(svelte@3.58.0)(vite@4.3.1): + resolution: {integrity: sha512-Bc9A8mtTGlhTICdLL/aZ+jyHI3kwtkcXremOH5xwjbNNKOTOtY8nMyG8/oZ5KK8IuUfAn1WL58Bp2tofDJBW0w==} + engines: {node: ^14.18.0 || >= 16} + peerDependencies: + svelte: ^3.54.0 + vite: ^4.0.0 + dependencies: + debug: 4.3.4 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.0 + svelte: 3.58.0 + svelte-hmr: 0.15.1(svelte@3.58.0) + vite: 4.3.1(@types/node@18.16.0) + vitefu: 0.2.4(vite@4.3.1) + transitivePeerDependencies: + - supports-color + dev: true + /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -1509,6 +1609,10 @@ packages: resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} dev: true + /@types/cookie@0.5.1: + resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} + dev: true + /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: @@ -1552,6 +1656,10 @@ packages: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} dev: true + /@types/pug@2.0.6: + resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} + dev: true + /@types/react-dom@18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: @@ -2808,6 +2916,13 @@ packages: load-tsconfig: 0.2.5 dev: true + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: true + /c12@1.4.1: resolution: {integrity: sha512-0x7pWfLZpZsgtyotXtuepJc0rZYE0Aw8PwNAXs0jSG9zq6Sl5xmbWnFqfmRY01ieZLHNbvneSFm9/x88CvzAuw==} dependencies: @@ -3097,6 +3212,11 @@ packages: resolution: {integrity: sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==} dev: true + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -3303,6 +3423,10 @@ packages: dependencies: ms: 2.1.2 + /dedent-js@1.0.1: + resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} + dev: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -3363,6 +3487,11 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + /detect-libc@2.0.1: resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} engines: {node: '>=8'} @@ -3565,6 +3694,10 @@ packages: is-symbol: 1.0.4 dev: true + /es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dev: true + /esbuild-plugin-solid@0.5.0(esbuild@0.17.18)(solid-js@1.7.3): resolution: {integrity: sha512-ITK6n+0ayGFeDVUZWNMxX+vLsasEN1ILrg4pISsNOQ+mq4ljlJJiuXotInd+HE0MzwTcA9wExT1yzDE2hsqPsg==} peerDependencies: @@ -3868,6 +4001,16 @@ packages: - typescript dev: true + /eslint-plugin-svelte3@4.0.0(eslint@8.39.0)(svelte@3.58.0): + resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} + peerDependencies: + eslint: '>=8.0.0' + svelte: ^3.2.0 + dependencies: + eslint: 8.39.0 + svelte: 3.58.0 + dev: true + /eslint-plugin-unicorn@46.0.0(eslint@8.39.0): resolution: {integrity: sha512-j07WkC+PFZwk8J33LYp6JMoHa1lXc1u6R45pbSAipjpfpb7KIGr17VE2D685zCxR5VL4cjrl65kTJflziQWMDA==} engines: {node: '>=14.18'} @@ -4043,6 +4186,10 @@ packages: - supports-color dev: true + /esm-env@1.0.0: + resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + dev: true + /espree@9.5.1: resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4492,6 +4639,10 @@ packages: define-properties: 1.2.0 dev: true + /globalyzer@0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -4514,6 +4665,10 @@ packages: merge2: 1.4.1 slash: 4.0.0 + /globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -4720,6 +4875,10 @@ packages: resolve-from: 4.0.0 dev: true + /import-meta-resolve@3.0.0: + resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==} + dev: true + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -5159,6 +5318,11 @@ packages: engines: {node: '>=6'} dev: true + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + /klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -5327,6 +5491,12 @@ packages: get-func-name: 2.0.0 dev: true + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.5.0 + dev: true + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -5538,6 +5708,13 @@ packages: minipass: 3.3.6 yallist: 4.0.0 + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -5711,6 +5888,13 @@ packages: - supports-color dev: true + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.5.0 + dev: true + /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -6138,6 +6322,13 @@ packages: engines: {node: '>= 0.8'} dev: true + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.0 + dev: true + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -6806,6 +6997,13 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -6867,6 +7065,13 @@ packages: tslib: 2.5.0 dev: true + /sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -6892,6 +7097,15 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true + /sander@0.5.1: + resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + dependencies: + es6-promise: 3.3.1 + graceful-fs: 4.2.11 + mkdirp: 0.5.6 + rimraf: 2.7.1 + dev: true + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: @@ -6980,6 +7194,10 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: true + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true @@ -7065,6 +7283,16 @@ packages: solid-js: 1.7.3 dev: true + /sorcery@0.11.0: + resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} + hasBin: true + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + buffer-crc32: 0.2.13 + minimist: 1.2.8 + sander: 0.5.1 + dev: true + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -7144,6 +7372,11 @@ packages: bl: 5.1.0 dev: true + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: true + /string-argv@0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} @@ -7318,6 +7551,107 @@ packages: engines: {node: '>= 0.4'} dev: true + /svelte-check@3.2.0(@babel/core@7.21.4)(svelte@3.58.0): + resolution: {integrity: sha512-6ZnscN8dHEN5Eq5LgIzjj07W9nc9myyBH+diXsUAuiY/3rt0l65/LCIQYlIuoFEjp2F1NhXqZiJwV9omPj9tMw==} + hasBin: true + peerDependencies: + svelte: ^3.55.0 + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + chokidar: 3.5.3 + fast-glob: 3.2.12 + import-fresh: 3.3.0 + picocolors: 1.0.0 + sade: 1.8.1 + svelte: 3.58.0 + svelte-preprocess: 5.0.3(@babel/core@7.21.4)(svelte@3.58.0)(typescript@5.0.4) + typescript: 5.0.4 + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + dev: true + + /svelte-hmr@0.15.1(svelte@3.58.0): + resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} + engines: {node: ^12.20 || ^14.13.1 || >= 16} + peerDependencies: + svelte: '>=3.19.0' + dependencies: + svelte: 3.58.0 + dev: true + + /svelte-preprocess@5.0.3(@babel/core@7.21.4)(svelte@3.58.0)(typescript@5.0.4): + resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} + engines: {node: '>= 14.10.0'} + requiresBuild: true + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 + svelte: ^3.23.0 + typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + dependencies: + '@babel/core': 7.21.4 + '@types/pug': 2.0.6 + detect-indent: 6.1.0 + magic-string: 0.27.0 + sorcery: 0.11.0 + strip-indent: 3.0.0 + svelte: 3.58.0 + typescript: 5.0.4 + dev: true + + /svelte2tsx@0.6.11(svelte@3.58.0)(typescript@5.0.4): + resolution: {integrity: sha512-rRW/3V/6mcejYWmSqcHpmILOSPsOhLgkbKbrTOz82s2n8TywmIsqj2jYPsiL6HeGoUM/atiTD0YKguW4b7ECog==} + peerDependencies: + svelte: ^3.55 + typescript: ^4.9.4 || ^5.0.0 + dependencies: + dedent-js: 1.0.1 + pascal-case: 3.1.2 + svelte: 3.58.0 + typescript: 5.0.4 + dev: true + + /svelte@3.58.0: + resolution: {integrity: sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==} + engines: {node: '>= 8'} + dev: true + /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true @@ -7430,6 +7764,13 @@ packages: engines: {node: '>=4'} dev: true + /tiny-glob@0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 + dev: true + /tiny-invariant@1.3.1: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} dev: true @@ -7693,6 +8034,13 @@ packages: magic-string: 0.30.0 unplugin: 1.3.1 + /undici@5.22.0: + resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==} + engines: {node: '>=14.0'} + dependencies: + busboy: 1.6.0 + dev: true + /unenv@1.4.1: resolution: {integrity: sha512-DuFZUDfaBC92zy3fW7QqKTLdYJIPkpwTN0yGZtaxnpOI7HvIfl41NYh9NVv4zcqhT8CGXJ1ELpvO2tecaB6NfA==} dependencies: