generated from darkicewolf50/ssg-sveltekit-template
feat(master): 3.0.0 done, todo add experience to backend
This commit is contained in:
440
package-lock.json
generated
440
package-lock.json
generated
@ -1,29 +1,29 @@
|
||||
{
|
||||
"name": "ssg-sveltekit-template",
|
||||
"version": "0.0.1",
|
||||
"name": "darkicewolf50",
|
||||
"version": "3.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ssg-sveltekit-template",
|
||||
"version": "0.0.1",
|
||||
"name": "darkicewolf50",
|
||||
"version": "3.0.0",
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.2.5",
|
||||
"@eslint/js": "^9.18.0",
|
||||
"@eslint/js": "^9.31.0",
|
||||
"@sveltejs/adapter-auto": "^6.0.0",
|
||||
"@sveltejs/adapter-cloudflare": "^7.0.4",
|
||||
"@sveltejs/kit": "^2.16.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
||||
"eslint": "^9.18.0",
|
||||
"@sveltejs/adapter-cloudflare": "^7.1.0",
|
||||
"@sveltejs/kit": "^2.25.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^6.1.0",
|
||||
"eslint": "^9.31.0",
|
||||
"eslint-config-prettier": "^10.0.1",
|
||||
"eslint-plugin-svelte": "^3.0.0",
|
||||
"eslint-plugin-svelte": "^3.11.0",
|
||||
"globals": "^16.0.0",
|
||||
"prettier": "^3.4.2",
|
||||
"prettier-plugin-svelte": "^3.3.3",
|
||||
"svelte": "^5.0.0",
|
||||
"vite": "^6.2.6",
|
||||
"vite-plugin-devtools-json": "^0.2.0",
|
||||
"wrangler": "^4.23.0"
|
||||
"svelte": "^5.36.7",
|
||||
"vite": "^7.0.5",
|
||||
"vite-plugin-devtools-json": "^0.3.0",
|
||||
"wrangler": "^4.25.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
@ -70,9 +70,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cloudflare/workerd-darwin-64": {
|
||||
"version": "1.20250617.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20250617.0.tgz",
|
||||
"integrity": "sha512-toG8JUKVLIks4oOJLe9FeuixE84pDpMZ32ip7mCpE7JaFc5BqGFvevk0YC/db3T71AQlialjRwioH3jS/dzItA==",
|
||||
"version": "1.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20250712.0.tgz",
|
||||
"integrity": "sha512-M6S6a/LQ0Jb0R+g0XhlYi1adGifvYmxA5mD/i9TuZZgjs2bIm5ELuka/n3SCnI98ltvlx3HahRaHagAtOilsFg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -87,9 +87,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cloudflare/workerd-darwin-arm64": {
|
||||
"version": "1.20250617.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20250617.0.tgz",
|
||||
"integrity": "sha512-JTX0exbC9/ZtMmQQA8tDZEZFMXZrxOpTUj2hHnsUkErWYkr5SSZH04RBhPg6dU4VL8bXuB5/eJAh7+P9cZAp7g==",
|
||||
"version": "1.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20250712.0.tgz",
|
||||
"integrity": "sha512-7sFzn6rvAcnLy7MktFL42dYtzL0Idw/kiUmNf2P3TvsBRoShhLK5ZKhbw+NAhvU8e4pXWm5lkE0XmpieA0zNjw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -104,9 +104,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cloudflare/workerd-linux-64": {
|
||||
"version": "1.20250617.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20250617.0.tgz",
|
||||
"integrity": "sha512-8jkSoVRJ+1bOx3tuWlZCGaGCV2ew7/jFMl6V3CPXOoEtERUHsZBQLVkQIGKcmC/LKSj7f/mpyBUeu2EPTo2HEg==",
|
||||
"version": "1.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20250712.0.tgz",
|
||||
"integrity": "sha512-EFRrGe/bqK7NHtht7vNlbrDpfvH3eRvtJOgsTpEQEysDjVmlK6pVJxSnLy9Hg1zlLY15IfhfGC+K2qisseHGJQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -121,9 +121,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cloudflare/workerd-linux-arm64": {
|
||||
"version": "1.20250617.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20250617.0.tgz",
|
||||
"integrity": "sha512-YAzcOyu897z5dQKFzme1oujGWMGEJCR7/Wrrm1nSP6dqutxFPTubRADM8BHn2CV3ij//vaPnAeLmZE3jVwOwig==",
|
||||
"version": "1.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20250712.0.tgz",
|
||||
"integrity": "sha512-rG8JUleddhUHQVwpXOYv0VbL0S9kOtR9PNKecgVhFpxEhC8aTeg2HNBBjo8st7IfcUvY8WaW3pD3qdAMZ05UwQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -138,9 +138,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cloudflare/workerd-windows-64": {
|
||||
"version": "1.20250617.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20250617.0.tgz",
|
||||
"integrity": "sha512-XWM/6sagDrO0CYDKhXhPjM23qusvIN1ju9ZEml6gOQs8tNOFnq6Cn6X9FAmnyapRFCGUSEC3HZYJAm7zwVKaMA==",
|
||||
"version": "1.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20250712.0.tgz",
|
||||
"integrity": "sha512-qS8H5RCYwE21Om9wo5/F807ClBJIfknhuLBj16eYxvJcj9JqgAKWi12BGgjyGxHuJJjeoQ63lr4wHAdbFntDDg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -155,9 +155,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@cloudflare/workers-types": {
|
||||
"version": "4.20250703.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20250703.0.tgz",
|
||||
"integrity": "sha512-6ITY5VL2eDkwFVWtF4OSsLIalyuwAE8/eH76fFn1KNGsH5V8JdjYriFTa/3YaJ+mzt4n4X6Hv06zrg00IKBTIA==",
|
||||
"version": "4.20250715.0",
|
||||
"resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20250715.0.tgz",
|
||||
"integrity": "sha512-uMp+ClvvhNlk3ojIgWuIB5Zteq4YVmZcyX16hpJ8eCeCX3izagfEZwXe/vETlv4cc5vtM3xAOMdV//0BD0E98g==",
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0"
|
||||
},
|
||||
@ -186,9 +186,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@emnapi/runtime": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
|
||||
"integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.4.tgz",
|
||||
"integrity": "sha512-hHyapA4A3gPaDCNfiqyZUStTMqIkKRshqPIuDOXv1hcBnD4U3l8cP0T1HMCfGRxQ6V64TGCcoswChANyOAwbQg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
@ -707,9 +707,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/core": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
|
||||
"integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
|
||||
"version": "0.15.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz",
|
||||
"integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -757,9 +757,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "9.30.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz",
|
||||
"integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==",
|
||||
"version": "9.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz",
|
||||
"integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@ -793,29 +793,6 @@
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
|
||||
"version": "0.15.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz",
|
||||
"integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.15"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@fastify/busboy": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
|
||||
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/@humanfs/core": {
|
||||
"version": "0.19.1",
|
||||
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
||||
@ -1308,6 +1285,48 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@poppinss/colors": {
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.5.tgz",
|
||||
"integrity": "sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"kleur": "^4.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@poppinss/dumper": {
|
||||
"version": "0.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.4.tgz",
|
||||
"integrity": "sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@poppinss/colors": "^4.1.5",
|
||||
"@sindresorhus/is": "^7.0.2",
|
||||
"supports-color": "^10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@poppinss/dumper/node_modules/supports-color": {
|
||||
"version": "10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz",
|
||||
"integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@poppinss/exception": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.2.tgz",
|
||||
"integrity": "sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||
"version": "4.44.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz",
|
||||
@ -1588,6 +1607,26 @@
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@sindresorhus/is": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.0.2.tgz",
|
||||
"integrity": "sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/is?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@speed-highlight/core": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.7.tgz",
|
||||
"integrity": "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==",
|
||||
"dev": true,
|
||||
"license": "CC0-1.0"
|
||||
},
|
||||
"node_modules/@sveltejs/acorn-typescript": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz",
|
||||
@ -1609,9 +1648,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@sveltejs/adapter-cloudflare": {
|
||||
"version": "7.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-7.0.4.tgz",
|
||||
"integrity": "sha512-pYJDICmhatM9lofkjLR+nhAJ4prEPjmwmx+J7hBuMSfrrNEVk+THfAahuWNizcxae4mO1MQKjIRMLpVnKyNE5g==",
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-7.1.0.tgz",
|
||||
"integrity": "sha512-ogQHLrjZFQXUGlj8vXR/FgJlk2FW5iRB07Z9G3N3FcrU9oMRGL2pymFDWbaj5yfZNcrX/LA4EmtaeiVTjdYKeg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -1624,9 +1663,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@sveltejs/kit": {
|
||||
"version": "2.22.2",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.2.tgz",
|
||||
"integrity": "sha512-2MvEpSYabUrsJAoq5qCOBGAlkICjfjunrnLcx3YAk2XV7TvAIhomlKsAgR4H/4uns5rAfYmj7Wet5KRtc8dPIg==",
|
||||
"version": "2.25.0",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.25.0.tgz",
|
||||
"integrity": "sha512-Yc/WUMqYjYIZp2JsFUajw+cx7hIIqL1Z4uuhVl/yess65bGITbmG1aRIVOrlHg4oxmZqMluUJaVTLMLZZ9sNlg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -1641,8 +1680,7 @@
|
||||
"mrmime": "^2.0.0",
|
||||
"sade": "^1.8.1",
|
||||
"set-cookie-parser": "^2.6.0",
|
||||
"sirv": "^3.0.0",
|
||||
"vitefu": "^1.0.6"
|
||||
"sirv": "^3.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"svelte-kit": "svelte-kit.js"
|
||||
@ -1657,43 +1695,43 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@sveltejs/vite-plugin-svelte": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz",
|
||||
"integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==",
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.1.0.tgz",
|
||||
"integrity": "sha512-+U6lz1wvGEG/BvQyL4z/flyNdQ9xDNv5vrh+vWBWTHaebqT0c9RNggpZTo/XSPoHsSCWBlYaTlRX8pZ9GATXCw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sveltejs/vite-plugin-svelte-inspector": "^4.0.1",
|
||||
"@sveltejs/vite-plugin-svelte-inspector": "^5.0.0-next.1",
|
||||
"debug": "^4.4.1",
|
||||
"deepmerge": "^4.3.1",
|
||||
"kleur": "^4.1.5",
|
||||
"magic-string": "^0.30.17",
|
||||
"vitefu": "^1.0.6"
|
||||
"vitefu": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.0.0 || ^20.0.0 || >=22"
|
||||
"node": "^20.19 || ^22.12 || >=24"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"svelte": "^5.0.0",
|
||||
"vite": "^6.0.0"
|
||||
"vite": "^6.3.0 || ^7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sveltejs/vite-plugin-svelte-inspector": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz",
|
||||
"integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.0.tgz",
|
||||
"integrity": "sha512-iwQ8Z4ET6ZFSt/gC+tVfcsSBHwsqc6RumSaiLUkAurW3BCpJam65cmHw0oOlDMTO0u+PZi9hilBRYN+LZNHTUQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"debug": "^4.3.7"
|
||||
"debug": "^4.4.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.0.0 || ^20.0.0 || >=22"
|
||||
"node": "^20.19 || ^22.12 || >=24"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^6.0.0-next.0",
|
||||
"svelte": "^5.0.0",
|
||||
"vite": "^6.0.0"
|
||||
"vite": "^6.3.0 || ^7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/cookie": {
|
||||
@ -1800,16 +1838,6 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/as-table": {
|
||||
"version": "1.0.55",
|
||||
"resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz",
|
||||
"integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"printable-characters": "^1.0.42"
|
||||
}
|
||||
},
|
||||
"node_modules/axobject-query": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
|
||||
@ -1972,13 +2000,6 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/data-uri-to-buffer": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz",
|
||||
"integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
@ -2038,6 +2059,16 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/error-stack-parser-es": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz",
|
||||
"integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/antfu"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.25.5",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
|
||||
@ -2093,9 +2124,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "9.30.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz",
|
||||
"integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==",
|
||||
"version": "9.31.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz",
|
||||
"integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -2103,9 +2134,9 @@
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
"@eslint/config-array": "^0.21.0",
|
||||
"@eslint/config-helpers": "^0.3.0",
|
||||
"@eslint/core": "^0.14.0",
|
||||
"@eslint/core": "^0.15.0",
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "9.30.1",
|
||||
"@eslint/js": "9.31.0",
|
||||
"@eslint/plugin-kit": "^0.3.1",
|
||||
"@humanfs/node": "^0.16.6",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
@ -2170,9 +2201,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-svelte": {
|
||||
"version": "3.10.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.10.1.tgz",
|
||||
"integrity": "sha512-csCh2x0ge/DugXC7dCANh46Igi7bjMZEy6rHZCdS13AoGVJSu7a90Kru3I8oMYLGEemPRE1hQXadxvRPVMAAXQ==",
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.11.0.tgz",
|
||||
"integrity": "sha512-KliWlkieHyEa65aQIkRwUFfHzT5Cn4u3BQQsu3KlkJOs7c1u7ryn84EWaOjEzilbKgttT4OfBURA8Uc4JBSQIw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -2185,7 +2216,7 @@
|
||||
"postcss-load-config": "^3.1.4",
|
||||
"postcss-safe-parser": "^7.0.0",
|
||||
"semver": "^7.6.3",
|
||||
"svelte-eslint-parser": "^1.2.0"
|
||||
"svelte-eslint-parser": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@ -2436,17 +2467,6 @@
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/get-source": {
|
||||
"version": "2.0.12",
|
||||
"resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz",
|
||||
"integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==",
|
||||
"dev": true,
|
||||
"license": "Unlicense",
|
||||
"dependencies": {
|
||||
"data-uri-to-buffer": "^2.0.0",
|
||||
"source-map": "^0.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-parent": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
||||
@ -2713,9 +2733,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/miniflare": {
|
||||
"version": "4.20250617.5",
|
||||
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20250617.5.tgz",
|
||||
"integrity": "sha512-Qqn30jR6dCjXaKVizT6vH4KOb+GyLccoxLNOJEfu63yBPn8eoXa7PrdiSGTmjs2RY8/tr7eTO8Wu/Yr14k0xVA==",
|
||||
"version": "4.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20250712.0.tgz",
|
||||
"integrity": "sha512-o7zYqG4pMi3gQTjiGhgZ82bQfexNwK+bzAaNlu8f7m3Kra4DcU5LC9nznfq2rfIBnUnMgwtU2VUfMlN1TuI8Og==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -2726,10 +2746,10 @@
|
||||
"glob-to-regexp": "0.4.1",
|
||||
"sharp": "^0.33.5",
|
||||
"stoppable": "1.1.0",
|
||||
"undici": "^5.28.5",
|
||||
"workerd": "1.20250617.0",
|
||||
"undici": "^7.10.0",
|
||||
"workerd": "1.20250712.0",
|
||||
"ws": "8.18.0",
|
||||
"youch": "3.3.4",
|
||||
"youch": "4.1.0-beta.10",
|
||||
"zod": "3.22.3"
|
||||
},
|
||||
"bin": {
|
||||
@ -2792,16 +2812,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/mustache": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
|
||||
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"mustache": "bin/mustache"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
||||
@ -3126,13 +3136,6 @@
|
||||
"svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0"
|
||||
}
|
||||
},
|
||||
"node_modules/printable-characters": {
|
||||
"version": "1.0.42",
|
||||
"resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz",
|
||||
"integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==",
|
||||
"dev": true,
|
||||
"license": "Unlicense"
|
||||
},
|
||||
"node_modules/punycode": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
||||
@ -3324,16 +3327,6 @@
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
|
||||
@ -3344,17 +3337,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stacktracey": {
|
||||
"version": "2.1.8",
|
||||
"resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz",
|
||||
"integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==",
|
||||
"dev": true,
|
||||
"license": "Unlicense",
|
||||
"dependencies": {
|
||||
"as-table": "^1.0.36",
|
||||
"get-source": "^2.0.12"
|
||||
}
|
||||
},
|
||||
"node_modules/stoppable": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
|
||||
@ -3393,9 +3375,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/svelte": {
|
||||
"version": "5.35.2",
|
||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.35.2.tgz",
|
||||
"integrity": "sha512-uW/rRXYrhZ7Dh4UQNZ0t+oVGL1dEM+95GavCO8afAk1IY2cPq9BcZv9C3um5aLIya2y8lIeLPxLII9ASGg9Dzw==",
|
||||
"version": "5.36.7",
|
||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.36.7.tgz",
|
||||
"integrity": "sha512-QsaFAxL1PZvo9hwaN+x7Sq2U8oJARmsEuM8TEZVy98nx5D5IKzRi8FKkPvmOx9NXScSYnItDGLErBBn/ieIn2A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -3419,9 +3401,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/svelte-eslint-parser": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz",
|
||||
"integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==",
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.3.0.tgz",
|
||||
"integrity": "sha512-VCgMHKV7UtOGcGLGNFSbmdm6kEKjtzo5nnpGU/mnx4OsFY6bZ7QwRF5DUx+Hokw5Lvdyo8dpk8B1m8mliomrNg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -3503,16 +3485,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "5.29.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
|
||||
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
|
||||
"version": "7.11.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.11.0.tgz",
|
||||
"integrity": "sha512-heTSIac3iLhsmZhUCjyS3JQEkZELateufzZuBaVM5RHXdSBMb1LPMQf5x+FH7qjsZYDP0ttAc3nnVpUB+wYbOg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@fastify/busboy": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0"
|
||||
"node": ">=20.18.1"
|
||||
}
|
||||
},
|
||||
"node_modules/unenv": {
|
||||
@ -3561,24 +3540,24 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "6.3.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
|
||||
"integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
|
||||
"version": "7.0.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-7.0.5.tgz",
|
||||
"integrity": "sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"esbuild": "^0.25.0",
|
||||
"fdir": "^6.4.4",
|
||||
"fdir": "^6.4.6",
|
||||
"picomatch": "^4.0.2",
|
||||
"postcss": "^8.5.3",
|
||||
"rollup": "^4.34.9",
|
||||
"tinyglobby": "^0.2.13"
|
||||
"postcss": "^8.5.6",
|
||||
"rollup": "^4.40.0",
|
||||
"tinyglobby": "^0.2.14"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.0.0 || ^20.0.0 || >=22.0.0"
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/vitejs/vite?sponsor=1"
|
||||
@ -3587,14 +3566,14 @@
|
||||
"fsevents": "~2.3.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "*",
|
||||
"less": "^4.0.0",
|
||||
"lightningcss": "^1.21.0",
|
||||
"sass": "*",
|
||||
"sass-embedded": "*",
|
||||
"stylus": "*",
|
||||
"sugarss": "*",
|
||||
"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"
|
||||
@ -3636,9 +3615,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite-plugin-devtools-json": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-devtools-json/-/vite-plugin-devtools-json-0.2.1.tgz",
|
||||
"integrity": "sha512-5aiNvf/iLTuLR1dUqoI5CLLGgeK2hd6u+tA+RIp7GUZDyAcM6ECaUEWOOtGpidbcxbkKq++KtmSqA3jhMbPwMA==",
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-devtools-json/-/vite-plugin-devtools-json-0.3.0.tgz",
|
||||
"integrity": "sha512-y8QdN/uZNV0Jj96H9R3s7G9jtcSuyssk8EwSfWaY+NUAdy7976d7rjtXJzqmeCcgp4CZywcTyUc+k6zpPFHdeg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -3649,9 +3628,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vitefu": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.0.tgz",
|
||||
"integrity": "sha512-AiG/L9DVsEYHWQ9jAEnke0nKiASlPw+JYwDl6Z4l6a6/IqT1tKseEl6R5+rVnKJt/K3jCTWiQvgoIh5MuqBJJQ==",
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz",
|
||||
"integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"workspaces": [
|
||||
@ -3695,9 +3674,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/workerd": {
|
||||
"version": "1.20250617.0",
|
||||
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20250617.0.tgz",
|
||||
"integrity": "sha512-Uv6p0PYUHp/W/aWfUPLkZVAoAjapisM27JJlwcX9wCPTfCfnuegGOxFMvvlYpmNaX4YCwEdLCwuNn3xkpSkuZw==",
|
||||
"version": "1.20250712.0",
|
||||
"resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20250712.0.tgz",
|
||||
"integrity": "sha512-7h+k1OxREpiZW0849g0uQNexRWMcs5i5gUGhJzCY8nIx6Tv4D/ndlXJ47lEFj7/LQdp165IL9dM2D5uDiedZrg==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
@ -3708,11 +3687,11 @@
|
||||
"node": ">=16"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@cloudflare/workerd-darwin-64": "1.20250617.0",
|
||||
"@cloudflare/workerd-darwin-arm64": "1.20250617.0",
|
||||
"@cloudflare/workerd-linux-64": "1.20250617.0",
|
||||
"@cloudflare/workerd-linux-arm64": "1.20250617.0",
|
||||
"@cloudflare/workerd-windows-64": "1.20250617.0"
|
||||
"@cloudflare/workerd-darwin-64": "1.20250712.0",
|
||||
"@cloudflare/workerd-darwin-arm64": "1.20250712.0",
|
||||
"@cloudflare/workerd-linux-64": "1.20250712.0",
|
||||
"@cloudflare/workerd-linux-arm64": "1.20250712.0",
|
||||
"@cloudflare/workerd-windows-64": "1.20250712.0"
|
||||
}
|
||||
},
|
||||
"node_modules/worktop": {
|
||||
@ -3730,9 +3709,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/wrangler": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.23.0.tgz",
|
||||
"integrity": "sha512-JSeDt3IwA4TEmg/V3tRblImPjdxynBt9PUVO/acQJ83XGlMMSwswDKL1FuwvbFzgX6+JXc3GMHeu7r8AQIxw9w==",
|
||||
"version": "4.25.0",
|
||||
"resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.25.0.tgz",
|
||||
"integrity": "sha512-SepXQbzWkdp0O7qAx3i0go+fw5I0VkDqLV2G3ewbffO5k8kpvuCkhalS23KO+7+o8+Oa3vfC7x+16IL3rj2n4w==",
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"dependencies": {
|
||||
@ -3740,10 +3719,10 @@
|
||||
"@cloudflare/unenv-preset": "2.3.3",
|
||||
"blake3-wasm": "2.1.5",
|
||||
"esbuild": "0.25.4",
|
||||
"miniflare": "4.20250617.5",
|
||||
"miniflare": "4.20250712.0",
|
||||
"path-to-regexp": "6.3.0",
|
||||
"unenv": "2.0.0-rc.17",
|
||||
"workerd": "1.20250617.0"
|
||||
"workerd": "1.20250712.0"
|
||||
},
|
||||
"bin": {
|
||||
"wrangler": "bin/wrangler.js",
|
||||
@ -3756,7 +3735,7 @@
|
||||
"fsevents": "~2.3.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@cloudflare/workers-types": "^4.20250617.0"
|
||||
"@cloudflare/workers-types": "^4.20250712.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@cloudflare/workers-types": {
|
||||
@ -4266,25 +4245,38 @@
|
||||
}
|
||||
},
|
||||
"node_modules/youch": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/youch/-/youch-3.3.4.tgz",
|
||||
"integrity": "sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==",
|
||||
"version": "4.1.0-beta.10",
|
||||
"resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz",
|
||||
"integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cookie": "^0.7.1",
|
||||
"mustache": "^4.2.0",
|
||||
"stacktracey": "^2.1.8"
|
||||
"@poppinss/colors": "^4.1.5",
|
||||
"@poppinss/dumper": "^0.6.4",
|
||||
"@speed-highlight/core": "^1.2.7",
|
||||
"cookie": "^1.0.2",
|
||||
"youch-core": "^0.3.3"
|
||||
}
|
||||
},
|
||||
"node_modules/youch-core": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz",
|
||||
"integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@poppinss/exception": "^1.2.2",
|
||||
"error-stack-parser-es": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/youch/node_modules/cookie": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
|
||||
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
|
||||
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6"
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/zimmerframe": {
|
||||
|
22
package.json
22
package.json
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "darkicewolf50",
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"version": "3.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "vite dev",
|
||||
@ -15,20 +15,20 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.2.5",
|
||||
"@eslint/js": "^9.18.0",
|
||||
"@eslint/js": "^9.31.0",
|
||||
"@sveltejs/adapter-auto": "^6.0.0",
|
||||
"@sveltejs/adapter-cloudflare": "^7.0.4",
|
||||
"@sveltejs/kit": "^2.16.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
||||
"eslint": "^9.18.0",
|
||||
"@sveltejs/adapter-cloudflare": "^7.1.0",
|
||||
"@sveltejs/kit": "^2.25.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^6.1.0",
|
||||
"eslint": "^9.31.0",
|
||||
"eslint-config-prettier": "^10.0.1",
|
||||
"eslint-plugin-svelte": "^3.0.0",
|
||||
"eslint-plugin-svelte": "^3.11.0",
|
||||
"globals": "^16.0.0",
|
||||
"prettier": "^3.4.2",
|
||||
"prettier-plugin-svelte": "^3.3.3",
|
||||
"svelte": "^5.0.0",
|
||||
"vite": "^6.2.6",
|
||||
"vite-plugin-devtools-json": "^0.2.0",
|
||||
"wrangler": "^4.23.0"
|
||||
"svelte": "^5.36.7",
|
||||
"vite": "^7.0.5",
|
||||
"vite-plugin-devtools-json": "^0.3.0",
|
||||
"wrangler": "^4.25.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,26 +1,42 @@
|
||||
<script>
|
||||
import ProjectsCard from './projectsCard.svelte';
|
||||
|
||||
let { independent_page = true } = $props();
|
||||
let { independent_page = true, techTablePromise = null } = $props();
|
||||
|
||||
let limitProjects = $derived(independent_page ? 0 : 8);
|
||||
|
||||
let projectsPromise = $state(null);
|
||||
let techPromise = $state(null);
|
||||
|
||||
$effect(async () => {
|
||||
try {
|
||||
const res = await fetch(
|
||||
`https://darkicewolf50cloud.bajacloud.duckdns.org/projects/${limitProjects}`
|
||||
);
|
||||
if (!res.ok) {
|
||||
projectsPromise = null;
|
||||
return;
|
||||
$effect(() => {
|
||||
projectsPromise = (async () => {
|
||||
try {
|
||||
const res = await fetch(
|
||||
`https://darkicewolf50cloud.bajacloud.duckdns.org/projects/${limitProjects}`
|
||||
);
|
||||
if (!res.ok) return null;
|
||||
|
||||
return await res.json();
|
||||
} catch (e) {
|
||||
console.error('Fetch error:', e);
|
||||
return -1;
|
||||
}
|
||||
const data = await res.json();
|
||||
projectsPromise = Array.isArray(data) ? data : null;
|
||||
} catch (e) {
|
||||
console.error('Fetch error:', e);
|
||||
projectsPromise = null;
|
||||
})();
|
||||
|
||||
if (independent_page) {
|
||||
techPromise = (async () => {
|
||||
try {
|
||||
const res = await fetch('https://darkicewolf50cloud.bajacloud.duckdns.org/home/skills');
|
||||
|
||||
if (!(await res.ok)) return null;
|
||||
return await res.json();
|
||||
} catch (e) {
|
||||
console.error('Fetch error:', e);
|
||||
return -1;
|
||||
}
|
||||
})();
|
||||
} else {
|
||||
techPromise = techTablePromise ?? Promise.resolve(-1);
|
||||
}
|
||||
});
|
||||
|
||||
@ -35,35 +51,65 @@
|
||||
<p>Top Featured and Recent Projects</p>
|
||||
</div>
|
||||
<div class="project-section">
|
||||
<ProjectsCard
|
||||
project_name="Portfolio Site Version 3.0.0"
|
||||
website_link="https://darkicewolf50.pages.dev"
|
||||
gitea_link="https://gitea.bajacloud.duckdns.org/darkicewolf50/darkicewolf50"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745630861/Portfolio_site_k4mhmj.png"
|
||||
techs_used={['JavaScript', 'CSS', 'SvelteKit', 'Git', 'Gitea']}
|
||||
project_des="A conversion from Dioxus to Sveltekit is going to be worth it as it is significantly easier to add additional api calls.
|
||||
{#await Promise.all([projectsPromise, techPromise])}
|
||||
<p>Loading...</p>
|
||||
{:then [projects, techTable]}
|
||||
{#if projects === -1 || techTable === -1}
|
||||
<p>An Error has occurred</p>
|
||||
{:else if projects != null && techTable != null}
|
||||
{#each projects as project, projectIndex}
|
||||
<ProjectsCard
|
||||
key={project.project_name + projectIndex}
|
||||
{techTable}
|
||||
project_name={project.project_name}
|
||||
website_link={project.website_link}
|
||||
github_link={project.github_link}
|
||||
gitea_link={project.gitea_link}
|
||||
dockerhub_link={project.dockerhub_link}
|
||||
techs_used={project.techs_used}
|
||||
project_des={project.project_des}
|
||||
project_img={project.project_img}
|
||||
/>
|
||||
{/each}
|
||||
{:else}
|
||||
<ProjectsCard
|
||||
project_name="Portfolio Site Version 3.0.0"
|
||||
website_link="https://darkicewolf50.pages.dev"
|
||||
gitea_link="https://gitea.bajacloud.duckdns.org/darkicewolf50/darkicewolf50"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745630861/Portfolio_site_k4mhmj.png"
|
||||
techs_used={['JavaScript', 'CSS', 'SvelteKit', 'Git', 'Gitea']}
|
||||
project_des="A conversion from Dioxus to Sveltekit is going to be worth it as it is significantly easier to add additional api calls.
|
||||
This is not to mention the benefits of using ssg instead of a client side rendered app.
|
||||
Overall this was a great way to dive into a great JavaScript framework."
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="Personal Backend"
|
||||
gitea_link="https://gitea.bajacloud.duckdns.org/darkicewolf50/darkicewolf50Cloud"
|
||||
dockerhub_link="https://hub.docker.com/r/darkicewolf50/darkicewolf50cloud"
|
||||
project_img="https://actix.rs/img/logo.png"
|
||||
techs_used={['Rust', 'Actix', 'Github Actions', 'Docker', 'Traefik', 'Gitea', 'Git', 'Github']}
|
||||
project_des="I find that this is a much better option in compareision to FastAPI as it does not require a post request
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="Personal Backend"
|
||||
gitea_link="https://gitea.bajacloud.duckdns.org/darkicewolf50/darkicewolf50Cloud"
|
||||
dockerhub_link="https://hub.docker.com/r/darkicewolf50/darkicewolf50cloud"
|
||||
project_img="https://actix.rs/img/logo.png"
|
||||
techs_used={[
|
||||
'Rust',
|
||||
'Actix',
|
||||
'Github Actions',
|
||||
'Docker',
|
||||
'Traefik',
|
||||
'Gitea',
|
||||
'Git',
|
||||
'Github'
|
||||
]}
|
||||
project_des="I find that this is a much better option in compareision to FastAPI as it does not require a post request
|
||||
to input data instead it give the option for the url to give the parameters it needs. I don't have any complains about using Actix, its mature stable and fairly popular.
|
||||
This backend application also uses comrak to convert markdown blogs into html docuemnts that are then seen by you the user.
|
||||
This honestly was a fun challenge getting the blogs previews, ensuring correctness and not allowing for any unknown states,
|
||||
this will serve as a great basis for any future backend requirements that I may have."
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="Portfolio Site Version 2.0.1"
|
||||
website_link="https://darkicewolf50.pages.dev"
|
||||
gitea_link="https://gitea.bajacloud.duckdns.org/darkicewolf50/personal_site"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745630861/Portfolio_site_k4mhmj.png"
|
||||
techs_used={['Rust', 'CSS', 'Dioxus', 'Git', 'Gitea']}
|
||||
project_des="This project was a great test of my newly learned Rust.
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="Portfolio Site Version 2.0.1"
|
||||
website_link="https://darkicewolf50.pages.dev"
|
||||
gitea_link="https://gitea.bajacloud.duckdns.org/darkicewolf50/personal_site"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745630861/Portfolio_site_k4mhmj.png"
|
||||
techs_used={['Rust', 'CSS', 'Dioxus', 'Git', 'Gitea']}
|
||||
project_des="This project was a great test of my newly learned Rust.
|
||||
This major update added functionality for the contact me, the blogs part of the site, as well as many minor
|
||||
UI consistencies to ensure that all of the buttons and links felt like buttons and links.
|
||||
I was surprise how easy it was to set up a discord webhook using the 'reqwest' crate.
|
||||
@ -71,52 +117,54 @@
|
||||
I think using tools like disocrd webhooks and email notifications are great for users but certainly not great for reading data from.
|
||||
I was very satisfied with serde, and comrak for converting markdown files into html.
|
||||
I use this extensively for the blogs search menu and the blog itself to display the blog itself in a consistent way without needing to write a whole library."
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="Portfolio Site 1.0.0"
|
||||
website_link="https://darkicewolf50.github.io"
|
||||
github_link="https://github.com/darkicewolf50/darkicewolf50.github.io"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745630861/Portfolio_site_k4mhmj.png"
|
||||
techs_used={['Rust', 'CSS', 'Dioxus', 'Git', 'Github']}
|
||||
project_des="This project was a great test of my newly learned Rust.
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="Portfolio Site 1.0.0"
|
||||
website_link="https://darkicewolf50.github.io"
|
||||
github_link="https://github.com/darkicewolf50/darkicewolf50.github.io"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745630861/Portfolio_site_k4mhmj.png"
|
||||
techs_used={['Rust', 'CSS', 'Dioxus', 'Git', 'Github']}
|
||||
project_des="This project was a great test of my newly learned Rust.
|
||||
It was certainly interesting to go through all of the stages of front end web developement, while the orignal and new found scope is not currently achieved, it will be on a later pass through.
|
||||
I am very happy with how it turned out in compairison to my origanl site map, and wireframes.
|
||||
Considering this phase one was accomplished in 3 working days I believe it is an excellent show of my skill."
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="UCalgary Baja Backend"
|
||||
project_img="https://www.svgrepo.com/show/448221/docker.svg"
|
||||
dockerhub_link="https://hub.docker.com/r/darkicewolf50/uofcbajacloud"
|
||||
techs_used={['Python', 'FastAPI', 'Github Actions', 'Docker', 'Traefik', 'Git', 'Github']}
|
||||
project_des="This is going to be extremely cost saving for the non-profit club UCalgary Baja.
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="UCalgary Baja Backend"
|
||||
project_img="https://www.svgrepo.com/show/448221/docker.svg"
|
||||
dockerhub_link="https://hub.docker.com/r/darkicewolf50/uofcbajacloud"
|
||||
techs_used={['Python', 'FastAPI', 'Github Actions', 'Docker', 'Traefik', 'Git', 'Github']}
|
||||
project_des="This is going to be extremely cost saving for the non-profit club UCalgary Baja.
|
||||
Using automated uploads and linting to check the Python and FastAPI code was excellent for learning how to self-host a web server.
|
||||
This was then upgraded later with the addition of treafik so that it could be SSL certified, this is also known as supporting HTTPS transmissions.
|
||||
Ultimately it will serve as a great stepping stone for both myself an anyone else in UCalgary Baja Software subteam.
|
||||
This will lead into using Actixs in the migration Soon™ to be."
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="UCalgary Baja Website"
|
||||
website_link="https://uofcbaja.pages.dev"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745633714/ucalgary-baja-site-April.png"
|
||||
techs_used={[
|
||||
'HTML5',
|
||||
'CSS',
|
||||
'JavaScript',
|
||||
'Markdown',
|
||||
'YAML',
|
||||
'React',
|
||||
'Git',
|
||||
'Github',
|
||||
'Cloudflare'
|
||||
]}
|
||||
project_des="The flexibility that we achieved using React,
|
||||
/>
|
||||
<ProjectsCard
|
||||
project_name="UCalgary Baja Website"
|
||||
website_link="https://uofcbaja.pages.dev"
|
||||
project_img="https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745633714/ucalgary-baja-site-April.png"
|
||||
techs_used={[
|
||||
'HTML5',
|
||||
'CSS',
|
||||
'JavaScript',
|
||||
'Markdown',
|
||||
'YAML',
|
||||
'React',
|
||||
'Git',
|
||||
'Github',
|
||||
'Cloudflare'
|
||||
]}
|
||||
project_des="The flexibility that we achieved using React,
|
||||
rather than a locked down platform or framework has allows all the Software members of UCalgary Baja to learn infinitely more.
|
||||
This isn't to say that it is faster or have additional perks of using 'non-code website builders'.
|
||||
This is provided massive opportunities to learn teach and save on cost compaired to the website builders.
|
||||
Overall I would say this will be worth it in the long run and opened my eyes to different website hosting providers,
|
||||
with their associated perks and costs.
|
||||
When we change it, it will most likely we re-written in Vue as there is a good non-depreciated way to initalize the framework."
|
||||
/>
|
||||
/>
|
||||
{/if}
|
||||
{/await}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
@ -1,14 +1,13 @@
|
||||
<script>
|
||||
const tech_table_lookup = (to_lookup) => {
|
||||
const tech_table_lookup = (to_lookup, techTable) => {
|
||||
let tech_to_return = {
|
||||
tech_name: 'Not in table',
|
||||
tech_logo: '',
|
||||
project_site: '',
|
||||
skill_level: 0
|
||||
};
|
||||
// let tech_to_return = null; // Default value for tech_to_return
|
||||
|
||||
for (let tech of TECH_TABLE) {
|
||||
for (let tech of techTable) {
|
||||
if (tech.tech_name === to_lookup) {
|
||||
tech_to_return = tech;
|
||||
break; // Optional: stop the loop once the match is found
|
||||
@ -18,238 +17,6 @@
|
||||
return tech_to_return;
|
||||
};
|
||||
|
||||
const TECH_TABLE = [
|
||||
{
|
||||
tech_name: 'Rust',
|
||||
tech_logo: 'https://www.svgrepo.com/show/374056/rust.svg',
|
||||
project_site: 'https://www.rust-lang.org',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Python',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452091/python.svg',
|
||||
project_site: 'https://www.python.org',
|
||||
skill_level: 50
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'JavaScript',
|
||||
tech_logo: 'https://www.svgrepo.com/show/303206/javascript-logo.svg',
|
||||
project_site: 'https://www.python.org',
|
||||
skill_level: 60
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'YAML',
|
||||
tech_logo: 'https://yaml.org/favicon.svg',
|
||||
project_site: 'https://yaml.org',
|
||||
skill_level: 95
|
||||
},
|
||||
{
|
||||
tech_name: 'Github',
|
||||
tech_logo: 'https://www.svgrepo.com/show/512317/github-142.svg',
|
||||
project_site: 'https://github.com/darkicewolf50',
|
||||
skill_level: 80
|
||||
},
|
||||
{
|
||||
tech_name: 'Email',
|
||||
tech_logo: 'https://www.svgrepo.com/show/491226/email.svg',
|
||||
project_site: 'mailto:darkicewolf50@gmail.com',
|
||||
skill_level: 100
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'LinkedIn',
|
||||
tech_logo: 'https://www.svgrepo.com/show/521725/linkedin.svg',
|
||||
project_site: 'https://www.linkedin.com/in/brock-tomlinson/',
|
||||
skill_level: 40
|
||||
},
|
||||
{
|
||||
tech_name: 'Twitch',
|
||||
tech_logo: 'https://www.svgrepo.com/show/519925/twitch.svg',
|
||||
project_site: 'https://www.twitch.tv/darkicewolf50',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Youtube',
|
||||
tech_logo: 'https://www.svgrepo.com/show/521936/youtube.svg',
|
||||
project_site: 'https://www.youtube.com/@darkicewolf50',
|
||||
skill_level: 40
|
||||
},
|
||||
{
|
||||
tech_name: 'Internet',
|
||||
tech_logo: 'https://www.svgrepo.com/show/490809/internet.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 99
|
||||
},
|
||||
{
|
||||
tech_name: 'React',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452092/react.svg',
|
||||
project_site: 'https://react.dev',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'Docker',
|
||||
tech_logo: 'https://www.svgrepo.com/show/448221/docker.svg',
|
||||
project_site: 'https://www.docker.com',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'FastAPI',
|
||||
tech_logo: 'https://fastapi.tiangolo.com/img/favicon.png',
|
||||
project_site: 'https://fastapi.tiangolo.com',
|
||||
skill_level: 80
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'Actix',
|
||||
tech_logo: 'https://actix.rs/img/logo.png',
|
||||
project_site: 'https://actix.rs',
|
||||
skill_level: 20
|
||||
},
|
||||
{
|
||||
tech_name: 'HTML5',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452228/html-5.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 90
|
||||
},
|
||||
{
|
||||
tech_name: 'CSS',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452185/css-3.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 65
|
||||
},
|
||||
{
|
||||
tech_name: 'Git',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452210/git.svg',
|
||||
project_site: 'https://git-scm.com',
|
||||
skill_level: 55
|
||||
},
|
||||
{
|
||||
tech_name: 'Github Actions',
|
||||
tech_logo: 'https://cdn.simpleicons.org/githubactions/2088FF',
|
||||
project_site: 'https://github.com/',
|
||||
skill_level: 50
|
||||
},
|
||||
{
|
||||
tech_name: 'Vs Code',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452129/vs-code.svg',
|
||||
project_site: 'https://code.visualstudio.com',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Gitea',
|
||||
tech_logo: 'https://about.gitea.com/gitea.png',
|
||||
project_site: 'https://about.gitea.com',
|
||||
skill_level: 85
|
||||
},
|
||||
{
|
||||
tech_name: 'AWS',
|
||||
tech_logo: 'https://www.svgrepo.com/show/448266/aws.svg',
|
||||
project_site: 'https://aws.amazon.com',
|
||||
skill_level: 30
|
||||
},
|
||||
{
|
||||
tech_name: 'Firefox',
|
||||
tech_logo: 'https://www.svgrepo.com/show/378808/firefox-developer-edition-57-70.svg',
|
||||
project_site: 'https://www.mozilla.org/en-CA/firefox/developer/',
|
||||
skill_level: 80
|
||||
},
|
||||
{
|
||||
tech_name: 'Markdown',
|
||||
tech_logo: 'https://www.svgrepo.com/show/510065/markdown.svg',
|
||||
project_site: 'https://www.markdownguide.org',
|
||||
skill_level: 90
|
||||
},
|
||||
{
|
||||
tech_name: 'Prettier',
|
||||
tech_logo: 'https://prettier.io/icon.png',
|
||||
project_site: 'https://prettier.io',
|
||||
skill_level: 90
|
||||
},
|
||||
{
|
||||
tech_name: 'Cloudflare',
|
||||
tech_logo:
|
||||
'https://qualified-production.s3.us-east-1.amazonaws.com/uploads/3b522ef84c409e4457032e4b4e3b984abbc92522c6f100f4ccc55c0ccfd3062b.png',
|
||||
project_site: 'https://www.cloudflare.com/en-ca/',
|
||||
skill_level: 65
|
||||
},
|
||||
{
|
||||
tech_name: 'Netlify',
|
||||
tech_logo:
|
||||
'https://qualified-production.s3.us-east-1.amazonaws.com/uploads/0f63ae7280d8d193e346973a1915bf99aea8c63e254eb062bad0bde99b43a9b7.png',
|
||||
project_site: 'https://www.netlify.com',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Vercel',
|
||||
tech_logo: 'https://www.svgrepo.com/show/361653/vercel-logo.svg',
|
||||
project_site: 'https://vercel.com/home',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Dioxus',
|
||||
tech_logo: 'https://dioxuslabs.com/assets/smalllogo-b1926fd214dc8427.png',
|
||||
project_site: 'https://dioxuslabs.com',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'SvelteKit',
|
||||
tech_logo: 'https://svelte.dev/favicon.png',
|
||||
project_site: 'https://svelte.dev',
|
||||
skill_level: 1
|
||||
},
|
||||
{
|
||||
tech_name: 'Mongodb',
|
||||
tech_logo: 'https://www.svgrepo.com/show/331488/mongodb.svg',
|
||||
project_site: 'https://www.mongodb.com',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'Sqlite',
|
||||
tech_logo: 'https://www.svgrepo.com/show/374094/sqlite.svg',
|
||||
project_site: 'https://www.sqlite.org',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'PostgreSQL',
|
||||
tech_logo: 'https://www.svgrepo.com/show/303301/postgresql-logo.svg',
|
||||
project_site: 'https://www.postgresql.org',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'DynamoDB',
|
||||
tech_logo: 'https://www.svgrepo.com/show/473526/amazondynamodb.svg',
|
||||
project_site: 'https://aws.amazon.com/dynamodb/',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'Diesel',
|
||||
tech_logo:
|
||||
'https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745443276/diesel_logo_ujtvia.png',
|
||||
project_site: 'https://diesel.rs',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'Kubernetes',
|
||||
tech_logo: 'https://kubernetes.io/images/kubernetes.png',
|
||||
project_site: 'https://kubernetes.io',
|
||||
skill_level: 5
|
||||
},
|
||||
{
|
||||
tech_name: 'Terraform',
|
||||
tech_logo: 'https://www.svgrepo.com/show/448253/terraform.svg',
|
||||
project_site: 'https://www.terraform.io',
|
||||
skill_level: 15
|
||||
},
|
||||
{
|
||||
tech_name: 'Traefik',
|
||||
tech_logo: 'https://hub.docker.com/api/media/repos_logo/v1/library%2Ftraefik',
|
||||
project_site: 'https://traefik.io/traefik/',
|
||||
skill_level: 60
|
||||
}
|
||||
];
|
||||
|
||||
let {
|
||||
website_link,
|
||||
github_link,
|
||||
@ -258,7 +25,8 @@
|
||||
project_name,
|
||||
techs_used,
|
||||
project_des,
|
||||
project_img = 'https://picsum.photos/200'
|
||||
project_img = 'https://picsum.photos/200',
|
||||
techTable
|
||||
} = $props();
|
||||
</script>
|
||||
|
||||
@ -271,7 +39,7 @@
|
||||
<a href={github_link}>
|
||||
<img
|
||||
class="lookup"
|
||||
src={tech_table_lookup('Github').tech_logo}
|
||||
src={tech_table_lookup('Github', techTable).tech_logo}
|
||||
alt={{ techs_used } + "'s logo/icon"}
|
||||
/>
|
||||
</a>
|
||||
@ -281,7 +49,7 @@
|
||||
<a href={gitea_link} class="gitea">
|
||||
<img
|
||||
class="lookup"
|
||||
src={tech_table_lookup('Gitea').tech_logo}
|
||||
src={tech_table_lookup('Gitea', techTable).tech_logo}
|
||||
alt={{ techs_used } + "'s logo/icon"}
|
||||
/>
|
||||
</a>
|
||||
@ -290,7 +58,7 @@
|
||||
<a href={dockerhub_link} class="dockerhub">
|
||||
<img
|
||||
class="lookup"
|
||||
src={tech_table_lookup('Docker').tech_logo}
|
||||
src={tech_table_lookup('Docker', techTable).tech_logo}
|
||||
alt={{ techs_used } + "'s logo/icon"}
|
||||
/>
|
||||
</a>
|
||||
@ -299,7 +67,7 @@
|
||||
<a href={website_link}>
|
||||
<img
|
||||
class="lookup"
|
||||
src={tech_table_lookup('Internet').tech_logo}
|
||||
src={tech_table_lookup('Internet', techTable).tech_logo}
|
||||
alt={{ techs_used } + "'s logo/icon"}
|
||||
/>
|
||||
</a>
|
||||
@ -313,7 +81,7 @@
|
||||
{#each techs_used as tech, index}
|
||||
<img
|
||||
key={tech + index}
|
||||
src={tech_table_lookup(tech).tech_logo}
|
||||
src={tech_table_lookup(tech, techTable).tech_logo}
|
||||
alt={{ techs_used } + "'s logo/icon"}
|
||||
/>
|
||||
{/each}
|
||||
|
@ -1,5 +1,5 @@
|
||||
<script>
|
||||
const tech_table_lookup = (to_lookup) => {
|
||||
const tech_table_lookup = (to_lookup, techTable) => {
|
||||
let tech_to_return = {
|
||||
tech_name: 'Not in table',
|
||||
tech_logo: '',
|
||||
@ -8,259 +8,28 @@
|
||||
};
|
||||
// let tech_to_return = null; // Default value for tech_to_return
|
||||
|
||||
for (let tech of TECH_TABLE) {
|
||||
for (let tech of techTable) {
|
||||
if (tech.tech_name === to_lookup) {
|
||||
tech_to_return = tech;
|
||||
break; // Optional: stop the loop once the match is found
|
||||
}
|
||||
}
|
||||
|
||||
if (tech_props.tech_name === 'Dioxus') {
|
||||
console.log(tech_props.tech_logo);
|
||||
}
|
||||
|
||||
return tech_to_return;
|
||||
};
|
||||
|
||||
// https://darkicewolf50cloud.bajacloud.duckdns.org/home/skills
|
||||
|
||||
const TECH_TABLE = [
|
||||
{
|
||||
tech_name: 'Rust',
|
||||
tech_logo: 'https://www.svgrepo.com/show/374056/rust.svg',
|
||||
project_site: 'https://www.rust-lang.org',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Python',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452091/python.svg',
|
||||
project_site: 'https://www.python.org',
|
||||
skill_level: 50
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'JavaScript',
|
||||
tech_logo: 'https://www.svgrepo.com/show/303206/javascript-logo.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 60
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'YAML',
|
||||
tech_logo: 'https://yaml.org/favicon.svg',
|
||||
project_site: 'https://yaml.org',
|
||||
skill_level: 95
|
||||
},
|
||||
{
|
||||
tech_name: 'Github',
|
||||
tech_logo: 'https://www.svgrepo.com/show/512317/github-142.svg',
|
||||
project_site: 'https://github.com/darkicewolf50',
|
||||
skill_level: 80
|
||||
},
|
||||
{
|
||||
tech_name: 'Email',
|
||||
tech_logo: 'https://www.svgrepo.com/show/491226/email.svg',
|
||||
project_site: 'mailto:darkicewolf50@gmail.com',
|
||||
skill_level: 100
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'LinkedIn',
|
||||
tech_logo: 'https://www.svgrepo.com/show/521725/linkedin.svg',
|
||||
project_site: 'https://www.linkedin.com/in/brock-tomlinson/',
|
||||
skill_level: 40
|
||||
},
|
||||
{
|
||||
tech_name: 'Twitch',
|
||||
tech_logo: 'https://www.svgrepo.com/show/519925/twitch.svg',
|
||||
project_site: 'https://www.twitch.tv/darkicewolf50',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Youtube',
|
||||
tech_logo: 'https://www.svgrepo.com/show/521936/youtube.svg',
|
||||
project_site: 'https://www.youtube.com/@darkicewolf50',
|
||||
skill_level: 40
|
||||
},
|
||||
{
|
||||
tech_name: 'Internet',
|
||||
tech_logo: 'https://www.svgrepo.com/show/490809/internet.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 99
|
||||
},
|
||||
{
|
||||
tech_name: 'React',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452092/react.svg',
|
||||
project_site: 'https://react.dev',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'Docker',
|
||||
tech_logo: 'https://www.svgrepo.com/show/448221/docker.svg',
|
||||
project_site: 'https://www.docker.com',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'FastAPI',
|
||||
tech_logo: 'https://fastapi.tiangolo.com/img/favicon.png',
|
||||
project_site: 'https://fastapi.tiangolo.com',
|
||||
skill_level: 80
|
||||
},
|
||||
|
||||
{
|
||||
tech_name: 'Actix',
|
||||
tech_logo: 'https://actix.rs/img/logo.png',
|
||||
project_site: 'https://actix.rs',
|
||||
skill_level: 20
|
||||
},
|
||||
{
|
||||
tech_name: 'HTML5',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452228/html-5.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 90
|
||||
},
|
||||
{
|
||||
tech_name: 'CSS',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452185/css-3.svg',
|
||||
project_site: 'https://google.com',
|
||||
skill_level: 65
|
||||
},
|
||||
{
|
||||
tech_name: 'Git',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452210/git.svg',
|
||||
project_site: 'https://git-scm.com',
|
||||
skill_level: 55
|
||||
},
|
||||
{
|
||||
tech_name: 'Github Actions',
|
||||
tech_logo: 'https://cdn.simpleicons.org/githubactions/2088FF',
|
||||
project_site: 'https://github.com/',
|
||||
skill_level: 50
|
||||
},
|
||||
{
|
||||
tech_name: 'Vs Code',
|
||||
tech_logo: 'https://www.svgrepo.com/show/452129/vs-code.svg',
|
||||
project_site: 'https://code.visualstudio.com',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Gitea',
|
||||
tech_logo: 'https://about.gitea.com/gitea.png',
|
||||
project_site: 'https://about.gitea.com',
|
||||
skill_level: 85
|
||||
},
|
||||
{
|
||||
tech_name: 'AWS',
|
||||
tech_logo: 'https://www.svgrepo.com/show/448266/aws.svg',
|
||||
project_site: 'https://aws.amazon.com',
|
||||
skill_level: 30
|
||||
},
|
||||
{
|
||||
tech_name: 'Firefox',
|
||||
tech_logo: 'https://www.svgrepo.com/show/378808/firefox-developer-edition-57-70.svg',
|
||||
project_site: 'https://www.mozilla.org/en-CA/firefox/developer/',
|
||||
skill_level: 80
|
||||
},
|
||||
{
|
||||
tech_name: 'Markdown',
|
||||
tech_logo: 'https://www.svgrepo.com/show/510065/markdown.svg',
|
||||
project_site: 'https://www.markdownguide.org',
|
||||
skill_level: 90
|
||||
},
|
||||
{
|
||||
tech_name: 'Prettier',
|
||||
tech_logo: 'https://prettier.io/icon.png',
|
||||
project_site: 'https://prettier.io',
|
||||
skill_level: 90
|
||||
},
|
||||
{
|
||||
tech_name: 'Cloudflare',
|
||||
tech_logo:
|
||||
'https://qualified-production.s3.us-east-1.amazonaws.com/uploads/3b522ef84c409e4457032e4b4e3b984abbc92522c6f100f4ccc55c0ccfd3062b.png',
|
||||
project_site: 'https://www.cloudflare.com/en-ca/',
|
||||
skill_level: 65
|
||||
},
|
||||
{
|
||||
tech_name: 'Netlify',
|
||||
tech_logo:
|
||||
'https://qualified-production.s3.us-east-1.amazonaws.com/uploads/0f63ae7280d8d193e346973a1915bf99aea8c63e254eb062bad0bde99b43a9b7.png',
|
||||
project_site: 'https://www.netlify.com',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Vercel',
|
||||
tech_logo: 'https://www.svgrepo.com/show/361653/vercel-logo.svg',
|
||||
project_site: 'https://vercel.com/home',
|
||||
skill_level: 60
|
||||
},
|
||||
{
|
||||
tech_name: 'Dioxus',
|
||||
tech_logo: 'https://dioxuslabs.com/assets/smalllogo-b1926fd214dc8427.png',
|
||||
project_site: 'https://dioxuslabs.com',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'SvelteKit',
|
||||
tech_logo: 'https://svelte.dev/favicon.png',
|
||||
project_site: 'https://svelte.dev',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'Mongodb',
|
||||
tech_logo: 'https://www.svgrepo.com/show/331488/mongodb.svg',
|
||||
project_site: 'https://www.mongodb.com',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'Sqlite',
|
||||
tech_logo: 'https://www.svgrepo.com/show/374094/sqlite.svg',
|
||||
project_site: 'https://www.sqlite.org',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'PostgreSQL',
|
||||
tech_logo: 'https://www.svgrepo.com/show/303301/postgresql-logo.svg',
|
||||
project_site: 'https://www.postgresql.org',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'DynamoDB',
|
||||
tech_logo: 'https://www.svgrepo.com/show/473526/amazondynamodb.svg',
|
||||
project_site: 'https://aws.amazon.com/dynamodb/',
|
||||
skill_level: 70
|
||||
},
|
||||
{
|
||||
tech_name: 'Diesel',
|
||||
tech_logo:
|
||||
'https://res.cloudinary.com/dpgrgsh7g/image/upload/v1745443276/diesel_logo_ujtvia.png',
|
||||
project_site: 'https://diesel.rs',
|
||||
skill_level: 10
|
||||
},
|
||||
{
|
||||
tech_name: 'Kubernetes',
|
||||
tech_logo: 'https://kubernetes.io/images/kubernetes.png',
|
||||
project_site: 'https://kubernetes.io',
|
||||
skill_level: 5
|
||||
},
|
||||
{
|
||||
tech_name: 'Terraform',
|
||||
tech_logo: 'https://www.svgrepo.com/show/448253/terraform.svg',
|
||||
project_site: 'https://www.terraform.io',
|
||||
skill_level: 15
|
||||
},
|
||||
{
|
||||
tech_name: 'Traefik',
|
||||
tech_logo: 'https://hub.docker.com/api/media/repos_logo/v1/library%2Ftraefik',
|
||||
project_site: 'https://traefik.io/traefik/',
|
||||
skill_level: 60
|
||||
}
|
||||
];
|
||||
|
||||
let { tech_props } = $props();
|
||||
|
||||
let props_tech = $derived(tech_table_lookup(tech_props));
|
||||
let { tech_props, techTablePromise } = $props();
|
||||
</script>
|
||||
|
||||
<a href={props_tech.project_site} class="tech-card">
|
||||
<img src={props_tech.tech_logo} alt={tech_props + "'s logo"} />
|
||||
<h4>{tech_props}</h4>
|
||||
<progress value={props_tech.skill_level} max="100"></progress>
|
||||
<a href={tech_props.project_site} class="tech-card">
|
||||
<img src={tech_props.tech_logo} alt={tech_props.tech_name + "'s logo"} />
|
||||
|
||||
<h4>{tech_props.tech_name}</h4>
|
||||
<progress value={tech_props.skill_level} max="100"></progress>
|
||||
</a>
|
||||
|
||||
<style>
|
||||
|
@ -1,15 +1,44 @@
|
||||
<script>
|
||||
import TechCard from './techCard.svelte';
|
||||
|
||||
let { cat, tech_vec } = $props();
|
||||
let { cat, tech_vec, techTablePromise } = $props();
|
||||
const tech_table_lookup = (to_lookup, tableTech) => {
|
||||
let tech_to_return = {
|
||||
tech_name: 'Not in table',
|
||||
tech_logo: '',
|
||||
project_site: '',
|
||||
skill_level: 0
|
||||
};
|
||||
|
||||
for (let tech of tableTech) {
|
||||
if (tech.tech_name === to_lookup) {
|
||||
tech_to_return = tech;
|
||||
break; // Optional: stop the loop once the match is found
|
||||
}
|
||||
}
|
||||
|
||||
return tech_to_return;
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="tech-cat">
|
||||
<h3>{cat}</h3>
|
||||
<div class="tech-row">
|
||||
{#each tech_vec as tech}
|
||||
<TechCard tech_props={tech} />
|
||||
{/each}
|
||||
{#await techTablePromise}
|
||||
<p>Loading...</p>
|
||||
{:then techTable}
|
||||
{#if techTable != null}
|
||||
{#each tech_vec as tech, techIndex}
|
||||
<TechCard
|
||||
tech_props={tech_table_lookup(tech, techTable)}
|
||||
{techTablePromise}
|
||||
key={tech + techIndex}
|
||||
/>
|
||||
{/each}
|
||||
{:else}
|
||||
<p>An Error has occurred or loading slowly</p>
|
||||
{/if}
|
||||
{/await}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -20,6 +20,22 @@
|
||||
'Terraform'
|
||||
];
|
||||
let platforms = ['AWS', 'Cloudflare', 'Vercel', 'Netlify', 'Gitea', 'Github'];
|
||||
|
||||
let techPromise = $state(null);
|
||||
|
||||
$effect(() => {
|
||||
techPromise = (async () => {
|
||||
try {
|
||||
const res = await fetch('https://darkicewolf50cloud.bajacloud.duckdns.org/home/skills');
|
||||
|
||||
if (!(await res.ok)) return null;
|
||||
return await res.json();
|
||||
} catch (e) {
|
||||
console.error('Fetch error:', e);
|
||||
return -1;
|
||||
}
|
||||
})();
|
||||
});
|
||||
</script>
|
||||
|
||||
<title>Brock Tomlinson - Home</title>
|
||||
@ -57,18 +73,18 @@
|
||||
<p>Here is what I prefer to use and their self assessed skill</p>
|
||||
<!-- <p>Here is what I developed skills in.</p> -->
|
||||
<div class="technologies-cat">
|
||||
<TechCat cat="Languages" tech_vec={languages} />
|
||||
<TechCat cat="Backend" , tech_vec={backend} />
|
||||
<TechCat cat="Frontend" , tech_vec={frontend} />
|
||||
<TechCat cat="Databases" , tech_vec={databases} />
|
||||
<TechCat cat="Platforms" , tech_vec={platforms} />
|
||||
<TechCat cat="Tools" , tech_vec={tools} />
|
||||
<TechCat cat="Languages" tech_vec={languages} techTablePromise={techPromise} />
|
||||
<TechCat cat="Backend" , tech_vec={backend} techTablePromise={techPromise} />
|
||||
<TechCat cat="Frontend" , tech_vec={frontend} techTablePromise={techPromise} />
|
||||
<TechCat cat="Databases" , tech_vec={databases} techTablePromise={techPromise} />
|
||||
<TechCat cat="Platforms" , tech_vec={platforms} techTablePromise={techPromise} />
|
||||
<TechCat cat="Tools" , tech_vec={tools} techTablePromise={techPromise} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Contact />
|
||||
|
||||
<Projects independent_page={false} />
|
||||
<Projects independent_page={false} techTablePromise={techPromise} />
|
||||
|
||||
<div id="experience">
|
||||
<h2>Experience</h2>
|
||||
|
Reference in New Issue
Block a user