diff --git a/package.json b/package.json index 54f2135..39164e8 100644 --- a/package.json +++ b/package.json @@ -13,30 +13,30 @@ "format": "prettier --write --plugin-search-dir=. ." }, "devDependencies": { - "@playwright/test": "^1.26.1", + "@playwright/test": "^1.27.1", "@rgossiaux/svelte-headlessui": "1.0.2", "@rgossiaux/svelte-heroicons": "^0.1.2", "@sveltejs/adapter-auto": "1.0.0-next.72", "@sveltejs/kit": "1.0.0-next.480", "@types/cookie": "^0.5.1", - "@types/node": "^18.8.1", - "@typescript-eslint/eslint-plugin": "^5.39.0", - "@typescript-eslint/parser": "^5.39.0", - "carbon-components-svelte": "^0.70.9", + "@types/node": "^18.8.5", + "@typescript-eslint/eslint-plugin": "^5.40.0", + "@typescript-eslint/parser": "^5.40.0", + "carbon-components-svelte": "^0.70.10", "carbon-icons-svelte": "^11.3.0", - "eslint": "^8.24.0", + "eslint": "^8.25.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-svelte3": "^4.0.0", "just-debounce-it": "^3.1.1", "prettier": "^2.7.1", - "prettier-plugin-svelte": "^2.7.1", + "prettier-plugin-svelte": "^2.8.0", "sass": "^1.55.0", - "svelte": "^3.50.1", - "svelte-check": "^2.9.1", + "svelte": "^3.51.0", + "svelte-check": "^2.9.2", "svelte-preprocess": "^4.10.7", "tslib": "^2.0.0", "typescript": "^4.8.4", - "vite": "^3.1.4" + "vite": "^3.1.7" }, "type": "module", "dependencies": { @@ -47,6 +47,7 @@ "@types/feather-icons": "^4.7.0", "cookie": "^0.5.0", "feather-icons": "^4.29.0", - "zod": "^3.19.1" + "zod": "^3.19.1", + "zod-to-json-schema": "^3.18.1" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 676cb89..8394663 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,34 +5,35 @@ specifiers: '@leveluptuts/svelte-side-menu': ^1.0.5 '@leveluptuts/svelte-toy': ^2.0.3 '@lukeed/uuid': ^2.0.0 - '@playwright/test': ^1.26.1 + '@playwright/test': ^1.27.1 '@rgossiaux/svelte-headlessui': 1.0.2 '@rgossiaux/svelte-heroicons': ^0.1.2 '@sveltejs/adapter-auto': 1.0.0-next.72 '@sveltejs/kit': 1.0.0-next.480 '@types/cookie': ^0.5.1 '@types/feather-icons': ^4.7.0 - '@types/node': ^18.8.1 - '@typescript-eslint/eslint-plugin': ^5.39.0 - '@typescript-eslint/parser': ^5.39.0 - carbon-components-svelte: ^0.70.9 + '@types/node': ^18.8.5 + '@typescript-eslint/eslint-plugin': ^5.40.0 + '@typescript-eslint/parser': ^5.40.0 + carbon-components-svelte: ^0.70.10 carbon-icons-svelte: ^11.3.0 cookie: ^0.5.0 - eslint: ^8.24.0 + eslint: ^8.25.0 eslint-config-prettier: ^8.1.0 eslint-plugin-svelte3: ^4.0.0 feather-icons: ^4.29.0 just-debounce-it: ^3.1.1 prettier: ^2.7.1 - prettier-plugin-svelte: ^2.7.1 + prettier-plugin-svelte: ^2.8.0 sass: ^1.55.0 - svelte: ^3.50.1 - svelte-check: ^2.9.1 + svelte: ^3.51.0 + svelte-check: ^2.9.2 svelte-preprocess: ^4.10.7 tslib: ^2.0.0 typescript: ^4.8.4 - vite: ^3.1.4 + vite: ^3.1.7 zod: ^3.19.1 + zod-to-json-schema: ^3.18.1 dependencies: '@fontsource/fira-mono': 4.5.10 @@ -43,32 +44,33 @@ dependencies: cookie: 0.5.0 feather-icons: 4.29.0 zod: 3.19.1 + zod-to-json-schema: 3.18.1_zod@3.19.1 devDependencies: - '@playwright/test': 1.26.1 - '@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.50.1 - '@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.50.1 + '@playwright/test': 1.27.1 + '@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.51.0 + '@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.51.0 '@sveltejs/adapter-auto': 1.0.0-next.72 - '@sveltejs/kit': 1.0.0-next.480_svelte@3.50.1+vite@3.1.4 + '@sveltejs/kit': 1.0.0-next.480_svelte@3.51.0+vite@3.1.7 '@types/cookie': 0.5.1 - '@types/node': 18.8.1 - '@typescript-eslint/eslint-plugin': 5.39.0_xyciw6oqjoiiono4dhv3uhn5my - '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa - carbon-components-svelte: 0.70.9 + '@types/node': 18.8.5 + '@typescript-eslint/eslint-plugin': 5.40.0_25sstg4uu2sk4pm7xcyzuov7xq + '@typescript-eslint/parser': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q + carbon-components-svelte: 0.70.10 carbon-icons-svelte: 11.3.0 - eslint: 8.24.0 - eslint-config-prettier: 8.5.0_eslint@8.24.0 - eslint-plugin-svelte3: 4.0.0_snydkosur25h6rjxszquwacaua + eslint: 8.25.0 + eslint-config-prettier: 8.5.0_eslint@8.25.0 + eslint-plugin-svelte3: 4.0.0_pr36k4f4yzzzfpayao7l7fkqni just-debounce-it: 3.1.1 prettier: 2.7.1 - prettier-plugin-svelte: 2.7.1_nk6d2fkgcllkkdynqbuearcure + prettier-plugin-svelte: 2.8.0_ibge6ami6vq2q2j5g4rcvk62hq sass: 1.55.0 - svelte: 3.50.1 - svelte-check: 2.9.1_sass@1.55.0+svelte@3.50.1 - svelte-preprocess: 4.10.7_hfbjjxm4ggy2hdppiwxlv6aafa + svelte: 3.51.0 + svelte-check: 2.9.2_sass@1.55.0+svelte@3.51.0 + svelte-preprocess: 4.10.7_3zdl52liprsvq5pqxbibodqiju tslib: 2.4.0 typescript: 4.8.4 - vite: 3.1.4_sass@1.55.0 + vite: 3.1.7_sass@1.55.0 packages: @@ -76,6 +78,15 @@ packages: resolution: {integrity: sha512-gaBUSaKS65mN3iKZEgichbXYEmAa/pXkc5Gbt+1BptYphdGkj09ggdsiE4w8g0F/uI1g36QaTKrzVnBAWMipvQ==} dev: true + /@esbuild/android-arm/0.15.10: + resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64/0.14.54: resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} engines: {node: '>=12'} @@ -85,8 +96,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.15.7: - resolution: {integrity: sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==} + /@esbuild/linux-loong64/0.15.10: + resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -94,8 +105,8 @@ packages: dev: true optional: true - /@eslint/eslintrc/1.3.2: - resolution: {integrity: sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==} + /@eslint/eslintrc/1.3.3: + resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -126,10 +137,6 @@ packages: - supports-color dev: true - /@humanwhocodes/gitignore-to-minimatch/1.0.2: - resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} - dev: true - /@humanwhocodes/module-importer/1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} @@ -220,33 +227,33 @@ packages: fastq: 1.13.0 dev: true - /@playwright/test/1.26.1: - resolution: {integrity: sha512-bNxyZASVt2adSZ9gbD7NCydzcb5JaI0OR9hc7s+nmPeH604gwp0zp17NNpwXY4c8nvuBGQQ9oGDx72LE+cUWvw==} + /@playwright/test/1.27.1: + resolution: {integrity: sha512-mrL2q0an/7tVqniQQF6RBL2saskjljXzqNcCOVMUjRIgE6Y38nCNaP+Dc2FBW06bcpD3tqIws/HT9qiMHbNU0A==} engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 18.8.1 - playwright-core: 1.26.1 + '@types/node': 18.8.5 + playwright-core: 1.27.1 dev: true /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@rgossiaux/svelte-headlessui/1.0.2_svelte@3.50.1: + /@rgossiaux/svelte-headlessui/1.0.2_svelte@3.51.0: resolution: {integrity: sha512-sauopYTSivhzXe1kAvgawkhyYJcQlK8Li3p0d2OtcCIVprOzdbard5lbqWB4xHDv83zAobt2mR08oizO2poHLQ==} peerDependencies: svelte: ^3.44.0 dependencies: - svelte: 3.50.1 + svelte: 3.51.0 dev: true - /@rgossiaux/svelte-heroicons/0.1.2_svelte@3.50.1: + /@rgossiaux/svelte-heroicons/0.1.2_svelte@3.51.0: resolution: {integrity: sha512-c5Ep1QDvBo9HD/P0AxbXItDbn6x77fldCjjL0aBjNseUntV4fkdHkBde1IaLr8i0kmrhTSovjkIen8W83jUPzg==} peerDependencies: svelte: ^3.44.0 dependencies: - svelte: 3.50.1 + svelte: 3.51.0 dev: true /@rollup/pluginutils/4.2.1: @@ -295,7 +302,7 @@ packages: - supports-color dev: true - /@sveltejs/kit/1.0.0-next.480_svelte@3.50.1+vite@3.1.4: + /@sveltejs/kit/1.0.0-next.480_svelte@3.51.0+vite@3.1.7: resolution: {integrity: sha512-RnltVDZFksAkeIZ0wgMQDr4POz3WZxSDy6D/ycIjrz3VXMDYWxKRqmTEI7Yl7TxPgUabeYHGRm/qI+nSXOb/Yw==} engines: {node: '>=16.14'} hasBin: true @@ -304,7 +311,7 @@ packages: svelte: ^3.44.0 vite: ^3.1.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.5_svelte@3.50.1+vite@3.1.4 + '@sveltejs/vite-plugin-svelte': 1.0.5_svelte@3.51.0+vite@3.1.7 cookie: 0.5.0 devalue: 3.1.3 kleur: 4.1.5 @@ -314,16 +321,16 @@ packages: sade: 1.8.1 set-cookie-parser: 2.5.1 sirv: 2.0.2 - svelte: 3.50.1 + svelte: 3.51.0 tiny-glob: 0.2.9 undici: 5.10.0 - vite: 3.1.4_sass@1.55.0 + vite: 3.1.7_sass@1.55.0 transitivePeerDependencies: - diff-match-patch - supports-color dev: true - /@sveltejs/vite-plugin-svelte/1.0.5_svelte@3.50.1+vite@3.1.4: + /@sveltejs/vite-plugin-svelte/1.0.5_svelte@3.51.0+vite@3.1.7: resolution: {integrity: sha512-CmSdSow0Dr5ua1A11BQMtreWnE0JZmkVIcRU/yG3PKbycKUpXjNdgYTWFSbStLB0vdlGnBbm2+Y4sBVj+C+TIw==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -339,9 +346,9 @@ packages: deepmerge: 4.2.2 kleur: 4.1.5 magic-string: 0.26.3 - svelte: 3.50.1 - svelte-hmr: 0.14.12_svelte@3.50.1 - vite: 3.1.4_sass@1.55.0 + svelte: 3.51.0 + svelte-hmr: 0.14.12_svelte@3.51.0 + vite: 3.1.7_sass@1.55.0 transitivePeerDependencies: - supports-color dev: true @@ -358,8 +365,8 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/node/18.8.1: - resolution: {integrity: sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==} + /@types/node/18.8.5: + resolution: {integrity: sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==} dev: true /@types/pug/2.0.6: @@ -369,11 +376,11 @@ packages: /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.8.1 + '@types/node': 18.8.5 dev: true - /@typescript-eslint/eslint-plugin/5.39.0_xyciw6oqjoiiono4dhv3uhn5my: - resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} + /@typescript-eslint/eslint-plugin/5.40.0_25sstg4uu2sk4pm7xcyzuov7xq: + resolution: {integrity: sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -383,12 +390,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/type-utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa - '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/parser': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q + '@typescript-eslint/scope-manager': 5.40.0 + '@typescript-eslint/type-utils': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q + '@typescript-eslint/utils': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q debug: 4.3.4 - eslint: 8.24.0 + eslint: 8.25.0 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 @@ -398,8 +405,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.39.0_ypn2ylkkyfa5i233caldtndbqa: - resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} + /@typescript-eslint/parser/5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q: + resolution: {integrity: sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -408,26 +415,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.40.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.8.4 debug: 4.3.4 - eslint: 8.24.0 + eslint: 8.25.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.39.0: - resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} + /@typescript-eslint/scope-manager/5.40.0: + resolution: {integrity: sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/visitor-keys': 5.39.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/visitor-keys': 5.40.0 dev: true - /@typescript-eslint/type-utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: - resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} + /@typescript-eslint/type-utils/5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q: + resolution: {integrity: sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -436,23 +443,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 - '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q debug: 4.3.4 - eslint: 8.24.0 + eslint: 8.25.0 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.39.0: - resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} + /@typescript-eslint/types/5.40.0: + resolution: {integrity: sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.39.0_typescript@4.8.4: - resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} + /@typescript-eslint/typescript-estree/5.40.0_typescript@4.8.4: + resolution: {integrity: sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -460,41 +467,42 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/visitor-keys': 5.39.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/visitor-keys': 5.40.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.7 + semver: 7.3.8 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: - resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} + /@typescript-eslint/utils/5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q: + resolution: {integrity: sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==} 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.11 - '@typescript-eslint/scope-manager': 5.39.0 - '@typescript-eslint/types': 5.39.0 - '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 - eslint: 8.24.0 + '@typescript-eslint/scope-manager': 5.40.0 + '@typescript-eslint/types': 5.40.0 + '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.8.4 + eslint: 8.25.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.24.0 + eslint-utils: 3.0.0_eslint@8.25.0 + semver: 7.3.7 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.39.0: - resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} + /@typescript-eslint/visitor-keys/5.40.0: + resolution: {integrity: sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/types': 5.40.0 eslint-visitor-keys: 3.3.0 dev: true @@ -637,8 +645,8 @@ packages: engines: {node: '>=6'} dev: true - /carbon-components-svelte/0.70.9: - resolution: {integrity: sha512-eygo57EHPAxyPXNRdXGHMZx5e+qwEc1ltGCi2nVF1093U+9uNjYpnPojxr/l5kKMfZBdxNYJHIg7+Mgy5U/kgw==} + /carbon-components-svelte/0.70.10: + resolution: {integrity: sha512-JevvFOwmwyJTlop1UNiJ/bQ88PGFHipS8684qvHCMO283IxLmHaSydn5DcUIq9Qd1xV4qsQdCioYFI8DlLvc0Q==} dependencies: flatpickr: 4.6.9 dev: true @@ -796,8 +804,8 @@ packages: dev: true optional: true - /esbuild-android-64/0.15.7: - resolution: {integrity: sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==} + /esbuild-android-64/0.15.10: + resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -814,8 +822,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.15.7: - resolution: {integrity: sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==} + /esbuild-android-arm64/0.15.10: + resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -832,8 +840,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.15.7: - resolution: {integrity: sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==} + /esbuild-darwin-64/0.15.10: + resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -850,8 +858,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.15.7: - resolution: {integrity: sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==} + /esbuild-darwin-arm64/0.15.10: + resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -868,8 +876,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.15.7: - resolution: {integrity: sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==} + /esbuild-freebsd-64/0.15.10: + resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -886,8 +894,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.15.7: - resolution: {integrity: sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==} + /esbuild-freebsd-arm64/0.15.10: + resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -904,8 +912,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.15.7: - resolution: {integrity: sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==} + /esbuild-linux-32/0.15.10: + resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -922,8 +930,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.15.7: - resolution: {integrity: sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==} + /esbuild-linux-64/0.15.10: + resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -940,8 +948,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.15.7: - resolution: {integrity: sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==} + /esbuild-linux-arm/0.15.10: + resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -958,8 +966,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.15.7: - resolution: {integrity: sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==} + /esbuild-linux-arm64/0.15.10: + resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -976,8 +984,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.15.7: - resolution: {integrity: sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==} + /esbuild-linux-mips64le/0.15.10: + resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -994,8 +1002,8 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.15.7: - resolution: {integrity: sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==} + /esbuild-linux-ppc64le/0.15.10: + resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1012,8 +1020,8 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.15.7: - resolution: {integrity: sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==} + /esbuild-linux-riscv64/0.15.10: + resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1030,8 +1038,8 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.15.7: - resolution: {integrity: sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==} + /esbuild-linux-s390x/0.15.10: + resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1048,8 +1056,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.15.7: - resolution: {integrity: sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==} + /esbuild-netbsd-64/0.15.10: + resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1066,8 +1074,8 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.15.7: - resolution: {integrity: sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==} + /esbuild-openbsd-64/0.15.10: + resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1084,8 +1092,8 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.15.7: - resolution: {integrity: sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==} + /esbuild-sunos-64/0.15.10: + resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1102,8 +1110,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.15.7: - resolution: {integrity: sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==} + /esbuild-windows-32/0.15.10: + resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1120,8 +1128,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.15.7: - resolution: {integrity: sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==} + /esbuild-windows-64/0.15.10: + resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1138,8 +1146,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.15.7: - resolution: {integrity: sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==} + /esbuild-windows-arm64/0.15.10: + resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1176,33 +1184,34 @@ packages: esbuild-windows-arm64: 0.14.54 dev: true - /esbuild/0.15.7: - resolution: {integrity: sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==} + /esbuild/0.15.10: + resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/linux-loong64': 0.15.7 - esbuild-android-64: 0.15.7 - esbuild-android-arm64: 0.15.7 - esbuild-darwin-64: 0.15.7 - esbuild-darwin-arm64: 0.15.7 - esbuild-freebsd-64: 0.15.7 - esbuild-freebsd-arm64: 0.15.7 - esbuild-linux-32: 0.15.7 - esbuild-linux-64: 0.15.7 - esbuild-linux-arm: 0.15.7 - esbuild-linux-arm64: 0.15.7 - esbuild-linux-mips64le: 0.15.7 - esbuild-linux-ppc64le: 0.15.7 - esbuild-linux-riscv64: 0.15.7 - esbuild-linux-s390x: 0.15.7 - esbuild-netbsd-64: 0.15.7 - esbuild-openbsd-64: 0.15.7 - esbuild-sunos-64: 0.15.7 - esbuild-windows-32: 0.15.7 - esbuild-windows-64: 0.15.7 - esbuild-windows-arm64: 0.15.7 + '@esbuild/android-arm': 0.15.10 + '@esbuild/linux-loong64': 0.15.10 + esbuild-android-64: 0.15.10 + esbuild-android-arm64: 0.15.10 + esbuild-darwin-64: 0.15.10 + esbuild-darwin-arm64: 0.15.10 + esbuild-freebsd-64: 0.15.10 + esbuild-freebsd-arm64: 0.15.10 + esbuild-linux-32: 0.15.10 + esbuild-linux-64: 0.15.10 + esbuild-linux-arm: 0.15.10 + esbuild-linux-arm64: 0.15.10 + esbuild-linux-mips64le: 0.15.10 + esbuild-linux-ppc64le: 0.15.10 + esbuild-linux-riscv64: 0.15.10 + esbuild-linux-s390x: 0.15.10 + esbuild-netbsd-64: 0.15.10 + esbuild-openbsd-64: 0.15.10 + esbuild-sunos-64: 0.15.10 + esbuild-windows-32: 0.15.10 + esbuild-windows-64: 0.15.10 + esbuild-windows-arm64: 0.15.10 dev: true /escape-string-regexp/4.0.0: @@ -1210,23 +1219,23 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.5.0_eslint@8.24.0: + /eslint-config-prettier/8.5.0_eslint@8.25.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.24.0 + eslint: 8.25.0 dev: true - /eslint-plugin-svelte3/4.0.0_snydkosur25h6rjxszquwacaua: + /eslint-plugin-svelte3/4.0.0_pr36k4f4yzzzfpayao7l7fkqni: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.24.0 - svelte: 3.50.1 + eslint: 8.25.0 + svelte: 3.51.0 dev: true /eslint-scope/5.1.1: @@ -1245,13 +1254,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.24.0: + /eslint-utils/3.0.0_eslint@8.25.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.24.0 + eslint: 8.25.0 eslint-visitor-keys: 2.1.0 dev: true @@ -1265,14 +1274,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.24.0: - resolution: {integrity: sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==} + /eslint/8.25.0: + resolution: {integrity: sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.2 + '@eslint/eslintrc': 1.3.3 '@humanwhocodes/config-array': 0.10.5 - '@humanwhocodes/gitignore-to-minimatch': 1.0.2 '@humanwhocodes/module-importer': 1.0.1 ajv: 6.12.6 chalk: 4.1.2 @@ -1281,7 +1289,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.24.0 + eslint-utils: 3.0.0_eslint@8.25.0 eslint-visitor-keys: 3.3.0 espree: 9.4.0 esquery: 1.4.0 @@ -1942,8 +1950,8 @@ packages: engines: {node: '>=8.6'} dev: true - /playwright-core/1.26.1: - resolution: {integrity: sha512-hzFchhhxnEiPc4qVPs9q2ZR+5eKNifY2hQDHtg1HnTTUuphYCBP8ZRb2si+B1TR7BHirgXaPi48LIye5SgrLAA==} + /playwright-core/1.27.1: + resolution: {integrity: sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==} engines: {node: '>=14'} hasBin: true dev: true @@ -1962,14 +1970,14 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte/2.7.1_nk6d2fkgcllkkdynqbuearcure: - resolution: {integrity: sha512-H33qjhCBZyd9Zr1A5hUAYDh7j0Mf97uvy7XcA7CP4nNSYrNcPvBUf7wI8K9NptWTIs0S41QtgTWmJIUiGlEBtw==} + /prettier-plugin-svelte/2.8.0_ibge6ami6vq2q2j5g4rcvk62hq: + resolution: {integrity: sha512-QlXv/U3bUszks3XYDPsk1fsaQC+fo2lshwKbcbO+lrSVdJ+40mB1BfL8OCAk1W9y4pJxpqO/4gqm6NtF3zNGCw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: prettier: 2.7.1 - svelte: 3.50.1 + svelte: 3.51.0 dev: true /prettier/2.7.1: @@ -2114,6 +2122,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /set-blocking/2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true @@ -2217,8 +2233,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check/2.9.1_sass@1.55.0+svelte@3.50.1: - resolution: {integrity: sha512-+BFPsj6irZ+t2pVSVo//2Ic1mI3A52xCwbkSTVhTqYZqgawcyZd9pYZoEac3fIWbEeTyCb5X82ORKI/gjn+P7A==} + /svelte-check/2.9.2_sass@1.55.0+svelte@3.51.0: + resolution: {integrity: sha512-DRi8HhnCiqiGR2YF9ervPGvtoYrheE09cXieCTEqeTPOTJzfoa54Py8rovIBv4bH4n5HgZYIyTQ3DDLHQLl2uQ==} hasBin: true peerDependencies: svelte: ^3.24.0 @@ -2229,8 +2245,8 @@ packages: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.50.1 - svelte-preprocess: 4.10.7_hfbjjxm4ggy2hdppiwxlv6aafa + svelte: 3.51.0 + svelte-preprocess: 4.10.7_3zdl52liprsvq5pqxbibodqiju typescript: 4.8.4 transitivePeerDependencies: - '@babel/core' @@ -2245,16 +2261,16 @@ packages: - sugarss dev: true - /svelte-hmr/0.14.12_svelte@3.50.1: + /svelte-hmr/0.14.12_svelte@3.51.0: resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.50.1 + svelte: 3.51.0 dev: true - /svelte-preprocess/4.10.7_hfbjjxm4ggy2hdppiwxlv6aafa: + /svelte-preprocess/4.10.7_3zdl52liprsvq5pqxbibodqiju: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -2302,12 +2318,12 @@ packages: sass: 1.55.0 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.50.1 + svelte: 3.51.0 typescript: 4.8.4 dev: true - /svelte/3.50.1: - resolution: {integrity: sha512-bS4odcsdj5D5jEg6riZuMg5NKelzPtmsCbD9RG+8umU03TeNkdWnP6pqbCm0s8UQNBkqk29w/Bdubn3C+HWSwA==} + /svelte/3.51.0: + resolution: {integrity: sha512-PBITYIrsNOuW+Dtds00gSY68raNZQn7i59Dg/fjgf6WwyawPKeBwle692coO7ILZqSO+UJe9899aDn9sMdeOHA==} engines: {node: '>= 8'} dev: true @@ -2401,8 +2417,8 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite/3.1.4_sass@1.55.0: - resolution: {integrity: sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA==} + /vite/3.1.7_sass@1.55.0: + resolution: {integrity: sha512-5vCAmU4S8lyVdFCInu9M54f/g8qbOMakVw5xJ4pjoaDy5wgy9sLLZkGdSLN52dlsBqh0tBqxjaqqa8LgPqwRAA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -2420,7 +2436,7 @@ packages: terser: optional: true dependencies: - esbuild: 0.15.7 + esbuild: 0.15.10 postcss: 8.4.16 resolve: 1.22.1 rollup: 2.78.1 @@ -2485,6 +2501,14 @@ packages: engines: {node: '>=10'} dev: true + /zod-to-json-schema/3.18.1_zod@3.19.1: + resolution: {integrity: sha512-YFP4dAZR2GHDkTOZL7E7p2E3/yoUZeB5RD797JEpJTyh/L+9WvIK/tEMuF+MhzDPhQWXlkSugxmO8nbdXjJKYA==} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.19.1 + dev: false + /zod/3.19.1: resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} dev: false diff --git a/src/lib/zodValidation.ts b/src/lib/zodValidation.ts index 43a93b3..5c27741 100644 --- a/src/lib/zodValidation.ts +++ b/src/lib/zodValidation.ts @@ -1,4 +1,5 @@ import { z } from 'zod'; +import zodToJsonSchema from 'zod-to-json-schema'; export const BoardGameSearch = z.object({ minAge: z.number(), @@ -7,7 +8,9 @@ export const BoardGameSearch = z.object({ maxPlayers: z.number() }); -export const Game = z.object({ +export const Board + +export const game_schema = z.object({ id: z.string(), handle: z.string(), name: z.string(), @@ -28,3 +31,9 @@ export const Game = z.object({ players: z.string(), playtime: z.string() }); + +export const game_raw_schema_json = zodToJsonSchema(game_schema, { + $refStrategy: 'none', +}); + +export type Game = z.infer; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 082abdc..15a5396 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -97,6 +97,7 @@ boredState.update((n) => ({ ...n, loading: true })); return async ({ result }) => { boredState.update((n) => ({ ...n, loading: false })); + console.log(result); // `result` is an `ActionResult` object if (result.type === 'error') { toast.send('Error!', { duration: 3000, type: ToastType.ERROR, dismissible: true }); diff --git a/src/routes/api/games/+server.ts b/src/routes/api/games/+server.ts index 6aef45f..e0d8ab4 100644 --- a/src/routes/api/games/+server.ts +++ b/src/routes/api/games/+server.ts @@ -91,9 +91,9 @@ export const POST: RequestHandler = async ({ request }) => { games.push(mapAPIGameToBoredGame(game)); }); console.log('games', games); - return json$1({ + return { games - }); + }; } return new Response(undefined, { status: response.status }); diff --git a/src/routes/game/[id]/+page.server.ts b/src/routes/game/[id]/+page.server.ts index 7f1c77b..8972570 100644 --- a/src/routes/game/[id]/+page.server.ts +++ b/src/routes/game/[id]/+page.server.ts @@ -15,7 +15,6 @@ type GamePageParams = { export const load: PageServerLoad = async ({ params }: GamePageParams) => { console.log('params', params); - debugger; const queryParams = { ids: `${params?.id}` }; diff --git a/src/routes/search/+page.svelte b/src/routes/search/+page.svelte index 63e6401..af32b20 100644 --- a/src/routes/search/+page.svelte +++ b/src/routes/search/+page.svelte @@ -1 +1,45 @@ + +

Search

+ +{#if $gameStore?.length > 0} +
+

Games Found:

+
+ {#each $gameStore as game (game.id)} + + {/each} +
+
+{/if} diff --git a/src/search/actions.ts b/src/search/actions.ts index 23026b1..d7c9c70 100644 --- a/src/search/actions.ts +++ b/src/search/actions.ts @@ -12,66 +12,32 @@ export const Games: Actions = { console.log("In search action specific") // Do things in here const form = await request.formData(); - console.log('form', form); + console.log('action form', form); const queryParams: SearchQuery = { order_by: 'rank', ascending: false, - limit: 20, - client_id: BOARD_GAME_ATLAS_CLIENT_ID + limit: 10, + skip: 0, + client_id: BOARD_GAME_ATLAS_CLIENT_ID, + fuzzy_match: true, + name: '' }; - const id = form.get('id'); - const ids = form.get('ids'); - const minAge = form.get('minAge'); - const minPlayers = form.get('minPlayers'); - const maxPlayers = form.get('maxPlayers'); - const exactMinAge = form.get('exactMinAge') || false; - const exactMinPlayers = form.get('exactMinPlayers') || false; - const exactMaxPlayers = form.get('exactMaxPlayers') || false; - const random = form.get('random') === 'on' || false; - - if (minAge) { - if (exactMinAge) { - queryParams.min_age = +minAge; - } else { - queryParams.gt_min_age = +minAge === 1 ? 0 : +minAge - 1; - } + const name = form.has('name') ? form.get('name') : await request?.text(); + console.log('name', name); + if (name) { + queryParams.name = `${name}`; } - if (minPlayers) { - if (exactMinPlayers) { - queryParams.min_players = +minPlayers; - } else { - queryParams.gt_min_players = +minPlayers === 1 ? 0 : +minPlayers - 1; - } - } - - if (maxPlayers) { - if (exactMaxPlayers) { - queryParams.max_players = +maxPlayers; - } else { - queryParams.lt_max_players = +maxPlayers + 1; - } - } - - if (id) { - queryParams.ids = new Array(`${id}`); - } - - if (ids) { - // TODO: Pass in ids array from localstorage / game store - queryParams.ids = new Array(ids); - } - - queryParams.random = random; - console.log('queryParams', queryParams); - const newQueryParams: Record = {}; for (const key in queryParams) { - newQueryParams[key] = `${queryParams[key as keyof typeof queryParams]}`; + console.log('key', key); + console.log('queryParams[key]', queryParams[key]); + newQueryParams[key] = `${queryParams[key]}`; } const urlQueryParams = new URLSearchParams(newQueryParams); + console.log('urlQueryParams', urlQueryParams); const url = `https://api.boardgameatlas.com/api/search${urlQueryParams ? `?${urlQueryParams}` : '' }`; @@ -86,7 +52,6 @@ export const Games: Actions = { // user hasn't created a todo list. // start with an empty array return { - success: true, games: [], totalCount: 0 }; @@ -94,21 +59,117 @@ export const Games: Actions = { if (response.status === 200) { const gameResponse = await response.json(); + console.log('gameResponse', gameResponse); const gameList = gameResponse?.games; + const totalCount = gameResponse?.count; + console.log('totalCount', totalCount); const games: GameType[] = []; - gameList.forEach((game: GameType) => { + gameList.forEach((game) => { games.push(mapAPIGameToBoredGame(game)); }); - console.log('games', games); + return { - success: true, games, totalCount: games.length }; } - return { success: false }; + return { + games: [], + totalCount: 0 + }; } + + // const id = form.get('id'); + // const ids = form.get('ids'); + // const minAge = form.get('minAge'); + // const minPlayers = form.get('minPlayers'); + // const maxPlayers = form.get('maxPlayers'); + // const exactMinAge = form.get('exactMinAge') || false; + // const exactMinPlayers = form.get('exactMinPlayers') || false; + // const exactMaxPlayers = form.get('exactMaxPlayers') || false; + // const random = form.get('random') === 'on' || false; + + // if (minAge) { + // if (exactMinAge) { + // queryParams.min_age = +minAge; + // } else { + // queryParams.gt_min_age = +minAge === 1 ? 0 : +minAge - 1; + // } + // } + + // if (minPlayers) { + // if (exactMinPlayers) { + // queryParams.min_players = +minPlayers; + // } else { + // queryParams.gt_min_players = +minPlayers === 1 ? 0 : +minPlayers - 1; + // } + // } + + // if (maxPlayers) { + // if (exactMaxPlayers) { + // queryParams.max_players = +maxPlayers; + // } else { + // queryParams.lt_max_players = +maxPlayers + 1; + // } + // } + + // if (id) { + // queryParams.ids = new Array(`${id}`); + // } + + // if (ids) { + // // TODO: Pass in ids array from localstorage / game store + // queryParams.ids = new Array(ids); + // } + + // queryParams.random = random; + // console.log('queryParams', queryParams); + + // const newQueryParams: Record = {}; + // for (const key in queryParams) { + // newQueryParams[key] = `${queryParams[key as keyof typeof queryParams]}`; + // } + + // const urlQueryParams = new URLSearchParams(newQueryParams); + + // const url = `https://api.boardgameatlas.com/api/search${urlQueryParams ? `?${urlQueryParams}` : '' + // }`; + // const response = await fetch(url, { + // method: 'get', + // headers: { + // 'content-type': 'application/json' + // } + // }); + // console.log('response status', response.status); + // console.log('board game response action', response); + // if (response.status === 404) { + // // user hasn't created a todo list. + // // start with an empty array + // return { + // success: true, + // games: [], + // totalCount: 0 + // }; + // } + + // if (response.status === 200) { + // const gameResponse = await response.json(); + // console.log('gameResponse', gameResponse); + // const gameList = gameResponse?.games; + // const games: GameType[] = []; + // gameList.forEach((game: GameType) => { + // games.push(mapAPIGameToBoredGame(game)); + // }); + // console.log('action games', games); + // return { + // games, + // totalCount: games.length + // }; + // } + + // return { success: false }; + // } // create: async function create({ request, locals }): Promise { // const data = await getFormDataObject(request); // return data;