From bd24159f3777309037d377a5956bfd16f7e29afd Mon Sep 17 00:00:00 2001 From: "claude (duplicate_chess)" Date: Tue, 19 May 2026 00:40:03 -0400 Subject: [PATCH] chore: scaffold Vite + Svelte 5 + TS project with chess.js and vitest Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 28 +- .secrets.baseline | 865 +++++++++++++++++++++++++++++++++ .vscode/extensions.json | 3 + README.md | 47 ++ index.html | 13 + package.json | 27 ++ pnpm-lock.yaml | 1025 +++++++++++++++++++++++++++++++++++++++ public/favicon.svg | 1 + public/icons.svg | 24 + src/App.svelte | 4 + src/app.css | 0 src/main.ts | 9 + svelte.config.js | 2 + tsconfig.app.json | 20 + tsconfig.json | 7 + tsconfig.node.json | 24 + vite.config.ts | 7 + vitest.config.ts | 5 + 18 files changed, 2109 insertions(+), 2 deletions(-) create mode 100644 .secrets.baseline create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 public/favicon.svg create mode 100644 public/icons.svg create mode 100644 src/App.svelte create mode 100644 src/app.css create mode 100644 src/main.ts create mode 100644 svelte.config.js create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 vitest.config.ts diff --git a/.gitignore b/.gitignore index bfd2f1c..ee6eb2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,31 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules node_modules/ +dist dist/ -.superpowers/ -.DS_Store +dist-ssr *.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +# Project-specific +.superpowers/ *.tsbuildinfo GITEA_API.md diff --git a/.secrets.baseline b/.secrets.baseline new file mode 100644 index 0000000..3dbe0da --- /dev/null +++ b/.secrets.baseline @@ -0,0 +1,865 @@ +{ + "version": "1.5.0", + "plugins_used": [ + { + "name": "ArtifactoryDetector" + }, + { + "name": "AWSKeyDetector" + }, + { + "name": "AzureStorageKeyDetector" + }, + { + "name": "Base64HighEntropyString", + "limit": 4.5 + }, + { + "name": "BasicAuthDetector" + }, + { + "name": "CloudantDetector" + }, + { + "name": "DiscordBotTokenDetector" + }, + { + "name": "GitHubTokenDetector" + }, + { + "name": "GitLabTokenDetector" + }, + { + "name": "HexHighEntropyString", + "limit": 3.0 + }, + { + "name": "IbmCloudIamDetector" + }, + { + "name": "IbmCosHmacDetector" + }, + { + "name": "IPPublicDetector" + }, + { + "name": "JwtTokenDetector" + }, + { + "name": "KeywordDetector", + "keyword_exclude": "" + }, + { + "name": "MailchimpDetector" + }, + { + "name": "NpmDetector" + }, + { + "name": "OpenAIDetector" + }, + { + "name": "PrivateKeyDetector" + }, + { + "name": "PypiTokenDetector" + }, + { + "name": "SendGridDetector" + }, + { + "name": "SlackDetector" + }, + { + "name": "SoftlayerDetector" + }, + { + "name": "SquareOAuthDetector" + }, + { + "name": "StripeDetector" + }, + { + "name": "TelegramBotTokenDetector" + }, + { + "name": "TwilioKeyDetector" + } + ], + "filters_used": [ + { + "path": "detect_secrets.filters.allowlist.is_line_allowlisted" + }, + { + "path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies", + "min_level": 2 + }, + { + "path": "detect_secrets.filters.heuristic.is_indirect_reference" + }, + { + "path": "detect_secrets.filters.heuristic.is_likely_id_string" + }, + { + "path": "detect_secrets.filters.heuristic.is_lock_file" + }, + { + "path": "detect_secrets.filters.heuristic.is_not_alphanumeric_string" + }, + { + "path": "detect_secrets.filters.heuristic.is_potential_uuid" + }, + { + "path": "detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign" + }, + { + "path": "detect_secrets.filters.heuristic.is_sequential_string" + }, + { + "path": "detect_secrets.filters.heuristic.is_swagger_file" + }, + { + "path": "detect_secrets.filters.heuristic.is_templated_secret" + } + ], + "results": { + "pnpm-lock.yaml": [ + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "88dcf5e48940431d207eb6beeda3f28b52b9dcd6", + "is_verified": false, + "line_number": 43 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "9b1aeb3238bb5411805279e20afb4fb96fa7490d", + "is_verified": false, + "line_number": 46 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "e8cc5935afdfd3788eae945e3db3f42e2c3acee6", + "is_verified": false, + "line_number": 49 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "8733ba82d33885a92ca3009eb6ba61e505a1ee9a", + "is_verified": false, + "line_number": 52 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "3e3522c83d724aa4133ee6bb6d627e4390be31a5", + "is_verified": false, + "line_number": 55 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "9d1b9dbec9f048e048f4dd38591947ca7deff5dd", + "is_verified": false, + "line_number": 58 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "f60c00cacddf514ad090fbde7005d8721adc0b89", + "is_verified": false, + "line_number": 62 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b0e9cbf320ebe74507bcdaae3f0b40740459a092", + "is_verified": false, + "line_number": 65 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "f274e993f5da6ef04f9ab21f5152b7f16f86fc45", + "is_verified": false, + "line_number": 68 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "63ec2819c4e19e52c1d683e5e3e2e6ce0b6cac93", + "is_verified": false, + "line_number": 74 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "907c22434e5fe282d088f338a9e6155fb51ce241", + "is_verified": false, + "line_number": 77 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "e694aeb21a36497b6eb9bc56f884bd4c69ac5add", + "is_verified": false, + "line_number": 83 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "4d2585f3339105214d7685879b53a916f5aea9fa", + "is_verified": false, + "line_number": 89 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "f1833f6e7490c05a1a76205a4bdafb80e88e04e6", + "is_verified": false, + "line_number": 95 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "cacf9ecad80e93e92e88556952a24dedeae071ae", + "is_verified": false, + "line_number": 101 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "525571cc69c07ea83a7f575ab13f8174a1279317", + "is_verified": false, + "line_number": 107 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "be823e3374be22151f74deb53ad9b52ba62e1794", + "is_verified": false, + "line_number": 114 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "f057529a66a11ba122564fc9c36ccefe29df6f1a", + "is_verified": false, + "line_number": 121 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2e065f3f711d422e5ef5abdcd9c255dea44113f7", + "is_verified": false, + "line_number": 128 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "04eddfeea8ec2c47eac1fdc1f6033f88d175e4cf", + "is_verified": false, + "line_number": 135 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "de1fe5a83dde4beebb24a15f2ebf259aa1adb023", + "is_verified": false, + "line_number": 142 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "aaa92f5d670cc00ba757939cebeda4c34436c037", + "is_verified": false, + "line_number": 149 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2cd4187cd1381a5ff2776451a79449d69a7790ec", + "is_verified": false, + "line_number": 155 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "a427b668faefb136b19160d59226685364b3a9e5", + "is_verified": false, + "line_number": 160 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "007e6990046ea7fce8af0547e80941651f78eb17", + "is_verified": false, + "line_number": 166 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b0da61692236cf0f51dfca9bea5b058e6db2a173", + "is_verified": false, + "line_number": 172 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "1e9ff9fee5ad181d3f63618e0267e8ad42826e83", + "is_verified": false, + "line_number": 175 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "0e08e31e43853476fc57d10643d8c871082c08b3", + "is_verified": false, + "line_number": 178 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "de37fe98add6f4734b9251d9b8c3e9d0772f2a7a", + "is_verified": false, + "line_number": 183 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "ae55501077a6c44a2607882f75ee062a47bc2a6a", + "is_verified": false, + "line_number": 190 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2a99232e74af9898db82959893e9c64814b15714", + "is_verified": false, + "line_number": 193 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "7739c7a36e8b5c9759887d54c3d3a252d017cb71", + "is_verified": false, + "line_number": 196 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "d4dda0583372eb865e22ea00ae160ceb315aa0df", + "is_verified": false, + "line_number": 199 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "fa52615bd39e56c7366b834e0c9b496bbb96f043", + "is_verified": false, + "line_number": 202 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2ff8e8e4076d74fa172588e8f030832fc1d1577f", + "is_verified": false, + "line_number": 205 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "5f411c7e6073b67aca1c9043e3e952322dc21d46", + "is_verified": false, + "line_number": 208 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "4ea248d159b60f6d7fef97d151e4684cb2bd1b7c", + "is_verified": false, + "line_number": 211 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "40efaa4408aa7a51f20a5dafc886853a090bdf7f", + "is_verified": false, + "line_number": 214 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "bbd4d55c127ca96a683a41840e2cf89a50b2d879", + "is_verified": false, + "line_number": 225 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "ca76999d735911c431e5bdd1fea97ba4933bc187", + "is_verified": false, + "line_number": 228 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "902751d36d478d198a9171b2692aea0bcee1d728", + "is_verified": false, + "line_number": 231 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "f9e756c256be01a72d3b154b30203f0e3bd4c554", + "is_verified": false, + "line_number": 234 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b510709833d6f2ff1ea90f5cfa4b514c6c56b2ce", + "is_verified": false, + "line_number": 237 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b2c03df0ed8f8caded3abab58c3b2e3b645dbb28", + "is_verified": false, + "line_number": 240 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "5bb90e7e3d7847438b155c9fb564dfd279383855", + "is_verified": false, + "line_number": 245 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "1c504c77e2b9f1ea0e1770e65673fd7f8b3f4c8f", + "is_verified": false, + "line_number": 249 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "4a6acdb47bbd22c85e10baf5921ddbb3c09a787b", + "is_verified": false, + "line_number": 253 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "bc23715592b7602434c2776230d19f43fc479898", + "is_verified": false, + "line_number": 257 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "8095985919187b5be33de4b775c7a5e7562aafee", + "is_verified": false, + "line_number": 261 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "8ff61e34bccd3c9f85c8a24db9723d984fd74314", + "is_verified": false, + "line_number": 264 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "5974b42acc3c558a08c734a45a10785534b5d382", + "is_verified": false, + "line_number": 268 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "08c8ee0987f57add8cd4071488caef8ec431336a", + "is_verified": false, + "line_number": 272 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "c0c7aeed5e5a888b2aa3cdb739955fd27d25335e", + "is_verified": false, + "line_number": 275 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "bef68af5091abf3bd912b28fd2f8b438426dd79d", + "is_verified": false, + "line_number": 279 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "deb1c562595f81e98efdd28daf90161dc8ab8013", + "is_verified": false, + "line_number": 283 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "d3bc9e85ef73bc81be3c9767f7c26c7600f357c0", + "is_verified": false, + "line_number": 286 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "4a1a266072e5f401e1aa928a9bf6d94bfeab4806", + "is_verified": false, + "line_number": 289 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "5522dfea7968ce0fbca87245aaf099a6211d7e23", + "is_verified": false, + "line_number": 292 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "763f4272f5426f2cb52dd90f1f6a490a4ce61418", + "is_verified": false, + "line_number": 300 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "16d0c877fca994fd1c43bd7f131be967bf4f87b6", + "is_verified": false, + "line_number": 303 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "16fa3bfaeef78e32910c87baf9060e51490d09ad", + "is_verified": false, + "line_number": 307 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "d950cd8ef510429f57fb282e4a437321ca86158c", + "is_verified": false, + "line_number": 316 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "aea3a2f0dd7f8e8655ed2e6cf823ce09d0d537a4", + "is_verified": false, + "line_number": 321 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "ecca8c8ee1920fbd6387220767bdecf3635a3741", + "is_verified": false, + "line_number": 324 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b48b7cde42a2442c78c359b776b516d8127006c6", + "is_verified": false, + "line_number": 330 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2fb4be4f309d24f5064ac5496b8c7f59df0bf966", + "is_verified": false, + "line_number": 336 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b6acf38d09475b54b197ff0574abc4a7e86c3543", + "is_verified": false, + "line_number": 342 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "405ac79c3832190ec6bd61bce50e9390a026af72", + "is_verified": false, + "line_number": 348 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "5f3d1367a38ac4e76290f44b6dc26d3555bbabf5", + "is_verified": false, + "line_number": 354 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "d86912fe91c497e31a4344f459a68586ce096966", + "is_verified": false, + "line_number": 361 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "1509ab36ebf61526ec42f40016db32b0925e96bc", + "is_verified": false, + "line_number": 368 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2139b734b30d5642cf104ea814b455bf3f08ca4c", + "is_verified": false, + "line_number": 375 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "ef73b9a0b786d2e003921cc9967a0a7cd6ae1913", + "is_verified": false, + "line_number": 382 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2ffc317e2ecc11d98e3e05bf565c6575c4cbfd51", + "is_verified": false, + "line_number": 388 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "432730c731e24c084f98525d5e133e358dc47b2f", + "is_verified": false, + "line_number": 394 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "3e2f7beb6f6a2204eb1ca56ae8ca7e9602ad13f3", + "is_verified": false, + "line_number": 398 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "1e2228f0d8e0fc2bc3b8740a8ff3d287006b9a38", + "is_verified": false, + "line_number": 401 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "1229dc2178fd4b24f6dcb957dbdc4dd4f592e26f", + "is_verified": false, + "line_number": 404 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "5b6b494f771ff69c35ad46e17ec1f7da6eb8696e", + "is_verified": false, + "line_number": 408 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "fd987a3583a86961bbb3db9e742c93a837cd5bf6", + "is_verified": false, + "line_number": 413 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "9235bcf425e49c5749d9f52ed67b13717efda795", + "is_verified": false, + "line_number": 416 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "4439cc784aca22e5cdf33ed6656f5b8b99eaa44d", + "is_verified": false, + "line_number": 419 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "84cbfec871cf2b178ab90fcc1f442fa369e99a02", + "is_verified": false, + "line_number": 422 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "84a22bebcaaf61d613e397ca696c152d80aedf67", + "is_verified": false, + "line_number": 426 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "36149fc78b01f35bca00b832a55a4ea4f21995ae", + "is_verified": false, + "line_number": 430 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "ea0a3fae2d1694876f309429bfe231935a1e70f4", + "is_verified": false, + "line_number": 434 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "7e42e0804bd25c31e53b2f0871fa2b3551dc66d9", + "is_verified": false, + "line_number": 439 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "33e224ae0061fa6dc855702e88cad5e948136009", + "is_verified": false, + "line_number": 443 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "336d02c1e7195c5237197b5884304099ab15c6ba", + "is_verified": false, + "line_number": 446 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "b015b77432bd6d255596af7b2f552d8e8c91a7f7", + "is_verified": false, + "line_number": 450 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "c8fac131170b7bd907b0771e52111a64e940b2a5", + "is_verified": false, + "line_number": 453 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "befe96270355093c9f7fb4836d62f862ced86d2a", + "is_verified": false, + "line_number": 456 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "31277df63022917906a65ae6542742dc60d23b54", + "is_verified": false, + "line_number": 464 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2fbe8ab30e5355ea9d7538aec4d6c869562a0ed8", + "is_verified": false, + "line_number": 468 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "03816f8548cdb479aadd0ed1610f90e001fef53f", + "is_verified": false, + "line_number": 471 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "bcc923e3a3bbb5c5c7c2f2b5e17bda91f8076652", + "is_verified": false, + "line_number": 475 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "f0661775df2ce05e6c49ee07d6003c0e831cda30", + "is_verified": false, + "line_number": 479 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "9bf200e3147a1d837839d6bf5b649716c1537cbb", + "is_verified": false, + "line_number": 483 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "4e65da49f5fe5560a904f41bd2519c712c48c151", + "is_verified": false, + "line_number": 486 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "2cf79101947343f62524a7ab71f313b66d694198", + "is_verified": false, + "line_number": 491 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "7bedcb999f1cafb154755766dcf512cbc27a2833", + "is_verified": false, + "line_number": 494 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "8ac9d9448e688e8f94e810f2c49fd9b728bd2041", + "is_verified": false, + "line_number": 537 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "05b85c0e6305e0bae00683ce171f23f02837787e", + "is_verified": false, + "line_number": 545 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "95b02c02e7cb902e9603042bf77d2ce3b47d7dd1", + "is_verified": false, + "line_number": 586 + }, + { + "type": "Base64 High Entropy String", + "filename": "pnpm-lock.yaml", + "hashed_secret": "9b0596f2945cdeab0d6fb2407275942153f87d9c", + "is_verified": false, + "line_number": 591 + } + ] + }, + "generated_at": "2026-05-19T04:40:00Z" +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..bdef820 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["svelte.svelte-vscode"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..e6cd94f --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# Svelte + TS + Vite + +This template should help get you started developing with Svelte and TypeScript in Vite. + +## Recommended IDE Setup + +[VS Code](https://code.visualstudio.com/) + [Svelte](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode). + +## Need an official Svelte framework? + +Check out [SvelteKit](https://github.com/sveltejs/kit#readme), which is also powered by Vite. Deploy anywhere with its serverless-first approach and adapt to various platforms, with out of the box support for TypeScript, SCSS, and Less, and easily-added support for mdsvex, GraphQL, PostCSS, Tailwind CSS, and more. + +## Technical considerations + +**Why use this over SvelteKit?** + +- It brings its own routing solution which might not be preferable for some users. +- It is first and foremost a framework that just happens to use Vite under the hood, not a Vite app. + +This template contains as little as possible to get started with Vite + TypeScript + Svelte, while taking into account the developer experience with regards to HMR and intellisense. It demonstrates capabilities on par with the other `create-vite` templates and is a good starting point for beginners dipping their toes into a Vite + Svelte project. + +Should you later need the extended capabilities and extensibility provided by SvelteKit, the template has been structured similarly to SvelteKit so that it is easy to migrate. + +**Why `global.d.ts` instead of `compilerOptions.types` inside `jsconfig.json` or `tsconfig.json`?** + +Setting `compilerOptions.types` shuts out all other types not explicitly listed in the configuration. Using triple-slash references keeps the default TypeScript setting of accepting type information from the entire workspace, while also adding `svelte` and `vite/client` type information. + +**Why include `.vscode/extensions.json`?** + +Other templates indirectly recommend extensions via the README, but this file allows VS Code to prompt the user to install the recommended extension upon opening the project. + +**Why enable `allowJs` in the TS template?** + +While `allowJs: false` would indeed prevent the use of `.js` files in the project, it does not prevent the use of JavaScript syntax in `.svelte` files. In addition, it would force `checkJs: false`, bringing the worst of both worlds: not being able to guarantee the entire codebase is TypeScript, and also having worse typechecking for the existing JavaScript. In addition, there are valid use cases in which a mixed codebase may be relevant. + +**Why is HMR not preserving my local component state?** + +HMR state preservation comes with a number of gotchas! It has been disabled by default in both `svelte-hmr` and `@sveltejs/vite-plugin-svelte` due to its often surprising behavior. You can read the details [here](https://github.com/rixo/svelte-hmr#svelte-hmr). + +If you have state that's important to retain within a component, consider creating an external store which would not be replaced by HMR. + +```ts +// store.ts +// An extremely simple external store +import { writable } from 'svelte/store' +export default writable(0) +``` diff --git a/index.html b/index.html new file mode 100644 index 0000000..0664ca2 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + vite-tmp + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..c192052 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "duplicate-chess", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json", + "test": "vitest run --passWithNoTests", + "test:watch": "vitest" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "^7.1.2", + "@tsconfig/svelte": "^5.0.8", + "@types/node": "^24.12.3", + "svelte": "^5.55.5", + "svelte-check": "^4.4.8", + "typescript": "~6.0.2", + "vite": "^8.0.12", + "vitest": "^4.1.6" + }, + "dependencies": { + "chess.js": "^1.4.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..274f837 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1025 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + chess.js: + specifier: ^1.4.0 + version: 1.4.0 + devDependencies: + '@sveltejs/vite-plugin-svelte': + specifier: ^7.1.2 + version: 7.1.2(svelte@5.55.8)(vite@8.0.13(@types/node@24.12.4)) + '@tsconfig/svelte': + specifier: ^5.0.8 + version: 5.0.8 + '@types/node': + specifier: ^24.12.3 + version: 24.12.4 + svelte: + specifier: ^5.55.5 + version: 5.55.8 + svelte-check: + specifier: ^4.4.8 + version: 4.4.8(picomatch@4.0.4)(svelte@5.55.8)(typescript@6.0.3) + typescript: + specifier: ~6.0.2 + version: 6.0.3 + vite: + specifier: ^8.0.12 + version: 8.0.13(@types/node@24.12.4) + vitest: + specifier: ^4.1.6 + version: 4.1.6(@types/node@24.12.4)(vite@8.0.13(@types/node@24.12.4)) + +packages: + + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@oxc-project/types@0.130.0': + resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} + + '@rolldown/binding-android-arm64@1.0.1': + resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.1': + resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.1': + resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.1': + resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.1': + resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.0.1': + resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.0.1': + resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.0.1': + resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.0.1': + resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.0.1': + resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.0.1': + resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.1': + resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.1': + resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.1': + resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@sveltejs/acorn-typescript@1.0.9': + resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==} + peerDependencies: + acorn: ^8.9.0 + + '@sveltejs/vite-plugin-svelte@7.1.2': + resolution: {integrity: sha512-DrUBA2UXRfDmUX/ZTiEopd3X40yavsJF1FX2RygcuIScHL7o5YX1fMvoYnDhjeJQC4weCOklirpNWlcb2NiSeA==} + engines: {node: ^20.19 || ^22.12 || >=24} + peerDependencies: + svelte: ^5.46.4 + vite: ^8.0.0-beta.7 || ^8.0.0 + + '@tsconfig/svelte@5.0.8': + resolution: {integrity: sha512-UkNnw1/oFEfecR8ypyHIQuWYdkPvHiwcQ78sh+ymIiYoF+uc5H1UBetbjyqT+vgGJ3qQN6nhucJviX6HesWtKQ==} + + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/node@24.12.4': + resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@vitest/expect@4.1.6': + resolution: {integrity: sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==} + + '@vitest/mocker@4.1.6': + resolution: {integrity: sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.1.6': + resolution: {integrity: sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==} + + '@vitest/runner@4.1.6': + resolution: {integrity: sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==} + + '@vitest/snapshot@4.1.6': + resolution: {integrity: sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==} + + '@vitest/spy@4.1.6': + resolution: {integrity: sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==} + + '@vitest/utils@4.1.6': + resolution: {integrity: sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==} + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + aria-query@5.3.1: + resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} + engines: {node: '>= 0.4'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chess.js@1.4.0: + resolution: {integrity: sha512-BBJgrrtKQOzFLonR0l+k64A98NLemPwNsCskwb+29bRwobUa4iTm51E1kwGPbWXAcfdDa18nad6vpPPKPWarqw==} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + devalue@5.8.1: + resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==} + + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + + esm-env@1.2.2: + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} + + esrap@2.2.9: + resolution: {integrity: sha512-4KijP+NxCWthMCUC3qHbE6n4vCjqgJS1uAYKhuT/GWfFTf1Qyive2TgOjep+gzbSzRfnNyaN/UU9YmdOt8Eg0A==} + peerDependencies: + '@typescript-eslint/types': ^8.2.0 + peerDependenciesMeta: + '@typescript-eslint/types': + optional: true + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + + postcss@8.5.14: + resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} + engines: {node: ^10 || ^12 || >=14} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + rolldown@1.0.1: + resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + + svelte-check@4.4.8: + resolution: {integrity: sha512-67adfgBox5eNSNIvIIwgFizKGdcRrGpiMoNO2obHcYuLz7iTa8Xgm/NGU3ntMFnNm8K1grFOIG6HhMLX/vcN8w==} + engines: {node: '>= 18.0.0'} + hasBin: true + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + typescript: '>=5.0.0' + + svelte@5.55.8: + resolution: {integrity: sha512-4D6lyrMHmDaZalQOEBMCWCCidyZjSnec14/oPn0k627G6goxcck9xqMwz1tFLlQz+ZFvtTTHfFOlUayuAz0z6Q==} + engines: {node: '>=18'} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@1.1.2: + resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} + engines: {node: '>=18'} + + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + vite@8.0.13: + resolution: {integrity: sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitefu@1.1.3: + resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + vite: + optional: true + + vitest@4.1.6: + resolution: {integrity: sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.6 + '@vitest/browser-preview': 4.1.6 + '@vitest/browser-webdriverio': 4.1.6 + '@vitest/coverage-istanbul': 4.1.6 + '@vitest/coverage-v8': 4.1.6 + '@vitest/ui': 4.1.6 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + zimmerframe@1.1.4: + resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} + +snapshots: + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + optional: true + + '@oxc-project/types@0.130.0': {} + + '@rolldown/binding-android-arm64@1.0.1': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.1': + optional: true + + '@rolldown/binding-darwin-x64@1.0.1': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.1': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.1': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.1': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.0.1': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.0.1': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.1': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.1': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.1': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.1': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.1': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.1': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@standard-schema/spec@1.1.0': {} + + '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)': + dependencies: + acorn: 8.16.0 + + '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.55.8)(vite@8.0.13(@types/node@24.12.4))': + dependencies: + deepmerge: 4.3.1 + magic-string: 0.30.21 + obug: 2.1.1 + svelte: 5.55.8 + vite: 8.0.13(@types/node@24.12.4) + vitefu: 1.1.3(vite@8.0.13(@types/node@24.12.4)) + + '@tsconfig/svelte@5.0.8': {} + + '@tybys/wasm-util@0.10.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/deep-eql@4.0.2': {} + + '@types/estree@1.0.9': {} + + '@types/node@24.12.4': + dependencies: + undici-types: 7.16.0 + + '@types/trusted-types@2.0.7': {} + + '@vitest/expect@4.1.6': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.6 + '@vitest/utils': 4.1.6 + chai: 6.2.2 + tinyrainbow: 3.1.0 + + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.4))': + dependencies: + '@vitest/spy': 4.1.6 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.0.13(@types/node@24.12.4) + + '@vitest/pretty-format@4.1.6': + dependencies: + tinyrainbow: 3.1.0 + + '@vitest/runner@4.1.6': + dependencies: + '@vitest/utils': 4.1.6 + pathe: 2.0.3 + + '@vitest/snapshot@4.1.6': + dependencies: + '@vitest/pretty-format': 4.1.6 + '@vitest/utils': 4.1.6 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.1.6': {} + + '@vitest/utils@4.1.6': + dependencies: + '@vitest/pretty-format': 4.1.6 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + + acorn@8.16.0: {} + + aria-query@5.3.1: {} + + assertion-error@2.0.1: {} + + axobject-query@4.1.0: {} + + chai@6.2.2: {} + + chess.js@1.4.0: {} + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + clsx@2.1.1: {} + + convert-source-map@2.0.0: {} + + deepmerge@4.3.1: {} + + detect-libc@2.1.2: {} + + devalue@5.8.1: {} + + es-module-lexer@2.1.0: {} + + esm-env@1.2.2: {} + + esrap@2.2.9: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + expect-type@1.3.0: {} + + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 + + fsevents@2.3.3: + optional: true + + is-reference@3.0.3: + dependencies: + '@types/estree': 1.0.9 + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + locate-character@3.0.0: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + mri@1.2.0: {} + + nanoid@3.3.12: {} + + obug@2.1.1: {} + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@4.0.4: {} + + postcss@8.5.14: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + readdirp@4.1.2: {} + + rolldown@1.0.1: + dependencies: + '@oxc-project/types': 0.130.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.1 + '@rolldown/binding-darwin-arm64': 1.0.1 + '@rolldown/binding-darwin-x64': 1.0.1 + '@rolldown/binding-freebsd-x64': 1.0.1 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 + '@rolldown/binding-linux-arm64-gnu': 1.0.1 + '@rolldown/binding-linux-arm64-musl': 1.0.1 + '@rolldown/binding-linux-ppc64-gnu': 1.0.1 + '@rolldown/binding-linux-s390x-gnu': 1.0.1 + '@rolldown/binding-linux-x64-gnu': 1.0.1 + '@rolldown/binding-linux-x64-musl': 1.0.1 + '@rolldown/binding-openharmony-arm64': 1.0.1 + '@rolldown/binding-wasm32-wasi': 1.0.1 + '@rolldown/binding-win32-arm64-msvc': 1.0.1 + '@rolldown/binding-win32-x64-msvc': 1.0.1 + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + siginfo@2.0.0: {} + + source-map-js@1.2.1: {} + + stackback@0.0.2: {} + + std-env@4.1.0: {} + + svelte-check@4.4.8(picomatch@4.0.4)(svelte@5.55.8)(typescript@6.0.3): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + chokidar: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picocolors: 1.1.1 + sade: 1.8.1 + svelte: 5.55.8 + typescript: 6.0.3 + transitivePeerDependencies: + - picomatch + + svelte@5.55.8: + dependencies: + '@jridgewell/remapping': 2.3.5 + '@jridgewell/sourcemap-codec': 1.5.5 + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) + '@types/estree': 1.0.9 + '@types/trusted-types': 2.0.7 + acorn: 8.16.0 + aria-query: 5.3.1 + axobject-query: 4.1.0 + clsx: 2.1.1 + devalue: 5.8.1 + esm-env: 1.2.2 + esrap: 2.2.9 + is-reference: 3.0.3 + locate-character: 3.0.0 + magic-string: 0.30.21 + zimmerframe: 1.1.4 + transitivePeerDependencies: + - '@typescript-eslint/types' + + tinybench@2.9.0: {} + + tinyexec@1.1.2: {} + + tinyglobby@0.2.16: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + + tinyrainbow@3.1.0: {} + + tslib@2.8.1: + optional: true + + typescript@6.0.3: {} + + undici-types@7.16.0: {} + + vite@8.0.13(@types/node@24.12.4): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.4 + postcss: 8.5.14 + rolldown: 1.0.1 + tinyglobby: 0.2.16 + optionalDependencies: + '@types/node': 24.12.4 + fsevents: 2.3.3 + + vitefu@1.1.3(vite@8.0.13(@types/node@24.12.4)): + optionalDependencies: + vite: 8.0.13(@types/node@24.12.4) + + vitest@4.1.6(@types/node@24.12.4)(vite@8.0.13(@types/node@24.12.4)): + dependencies: + '@vitest/expect': 4.1.6 + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.4)) + '@vitest/pretty-format': 4.1.6 + '@vitest/runner': 4.1.6 + '@vitest/snapshot': 4.1.6 + '@vitest/spy': 4.1.6 + '@vitest/utils': 4.1.6 + es-module-lexer: 2.1.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.1.2 + tinyglobby: 0.2.16 + tinyrainbow: 3.1.0 + vite: 8.0.13(@types/node@24.12.4) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.12.4 + transitivePeerDependencies: + - msw + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + zimmerframe@1.1.4: {} diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..6893eb1 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icons.svg b/public/icons.svg new file mode 100644 index 0000000..e952219 --- /dev/null +++ b/public/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/App.svelte b/src/App.svelte new file mode 100644 index 0000000..69a0cac --- /dev/null +++ b/src/App.svelte @@ -0,0 +1,4 @@ +
+

Duplicate Chess

+

Sandbox under construction.

+
diff --git a/src/app.css b/src/app.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..664a057 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,9 @@ +import { mount } from 'svelte' +import './app.css' +import App from './App.svelte' + +const app = mount(App, { + target: document.getElementById('app')!, +}) + +export default app diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..0cf7db3 --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,2 @@ +/** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */ +export default {} diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..d774b20 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,20 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "module": "esnext", + "types": ["svelte", "vite/client"], + "noEmit": true, + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "moduleDetection": "force" + }, + "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..d3c52ea --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "module": "esnext", + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..d32eba1 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import { svelte } from '@sveltejs/vite-plugin-svelte' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [svelte()], +}) diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..41f954b --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { environment: 'node', include: ['src/**/*.test.ts'] }, +});