├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── README.md ├── jsconfig.json ├── package.json ├── pnpm-lock.yaml ├── postcss.config.cjs ├── sample.env ├── src ├── app.css ├── app.d.ts ├── app.html ├── lib │ ├── components │ │ ├── facebook-icon.svelte │ │ ├── footer.svelte │ │ ├── navbar.svelte │ │ ├── project-card.svelte │ │ ├── theme-select.svelte │ │ ├── twitter-icon.svelte │ │ └── you-tube-icon.svelte │ ├── graphql-client.js │ └── graphql-queries.js └── routes │ ├── +layout.js │ ├── +layout.svelte │ ├── +page.js │ ├── +page.svelte │ ├── about │ ├── +page.js │ └── +page.svelte │ ├── posts │ ├── +page.js │ ├── +page.svelte │ └── [slug] │ │ ├── +page.js │ │ └── +page.svelte │ └── projects │ ├── +page.js │ ├── +page.svelte │ └── [slug] │ ├── +page.js │ └── +page.svelte ├── static ├── favicon.png └── robots.txt ├── svelte.config.js ├── tailwind.config.cjs └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | vite.config.js.timestamp-* 10 | vite.config.ts.timestamp-* 11 | 12 | .vercel 13 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | 10 | # Ignore files for PNPM, NPM and YARN 11 | pnpm-lock.yaml 12 | package-lock.json 13 | yarn.lock 14 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "semi": false, 5 | "trailingComma": "none", 6 | "printWidth": 70, 7 | "plugins": ["prettier-plugin-svelte"], 8 | "pluginSearchDirs": ["."], 9 | "proseWrap": "always", 10 | "overrides": [ 11 | { "files": "*.svelte", "options": { "parser": "svelte" } } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GraphCMS SvelteKit Portfolio and Blog Starter 2 | 3 | > Minimalist Developer Portfolio and Blog built with SvelteKit, 4 | > Tailwind, daisyUI, and deployed to Vercel. 5 | 6 | **Check out the [demo].** 7 | 8 | If you've come here from freeCodeCamp, you can check out the updated 9 | changes to work with the new routing in SvelteKit here: 10 | https://github.com/spences10/graphcms-sveltekit-portfolio-and-blog-starter/pull/101/files 11 | 12 | **Deploy your own** on Vercel, click the deploy button and remember to 13 | add in the Content API from _your_ GraphCMS project template: 14 | 15 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/spences10/developer-portfolio-and-blog&env=VITE_GRAPHQL_API) 16 | 17 | ## The stack 18 | 19 | This is an example project generated with the GraphCMS Developer 20 | Portfolio and Blog starter. 21 | 22 | - **[GraphCMS](https://graphcms.com)**: Manage projects and blog 23 | posts. 24 | - **[SvelteKit](https://kit.svelte.dev/)**: A powerful framework that 25 | lets us query data and use endpoints for server side data. 26 | - **[Vercel](https://www.vercel.com/)**: For an intuitive Git based 27 | workflow with seamless publishing. 28 | 29 | ## How to use 30 | 31 | ⚠TODO! 32 | 33 | Rename the `sample.env` file to `.env` and add your own Content API 34 | endpoint. 35 | 36 | ```bash 37 | mv sample.env .env 38 | ``` 39 | 40 | Install dependencies and run local dev server: 41 | 42 | ```bash 43 | npm i 44 | npm run dev 45 | ``` 46 | 47 | 48 | 49 | [demo]: 50 | https://sveltekit-portfolio-and-blog-starter-with-graphcms.vercel.app/ 51 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true 12 | } 13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias and https://kit.svelte.dev/docs/configuration#files 14 | // 15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 16 | // from the referenced tsconfig.json - TypeScript does not merge them in 17 | } 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "developer-portfolio-and-blog", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "dev": "vite dev", 7 | "build": "vite build", 8 | "preview": "vite preview", 9 | "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", 10 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch", 11 | "lint": "prettier --plugin-search-dir . --check .", 12 | "format": "prettier --plugin-search-dir . --write ." 13 | }, 14 | "devDependencies": { 15 | "@sveltejs/adapter-auto": "^2.0.0", 16 | "@sveltejs/kit": "^1.5.0", 17 | "@tailwindcss/typography": "^0.5.3", 18 | "autoprefixer": "^10.4.7", 19 | "daisyui": "^2.18.1", 20 | "graphql": "^16.6.0", 21 | "graphql-request": "^6.0.0", 22 | "marked": "^4.3.0", 23 | "postcss": "^8.4.14", 24 | "postcss-load-config": "^4.0.1", 25 | "prettier": "^2.8.0", 26 | "prettier-plugin-svelte": "^2.8.1", 27 | "svead": "^0.0.4", 28 | "svelte": "^3.54.0", 29 | "svelte-check": "^3.0.1", 30 | "svelte-preprocess": "^4.10.7", 31 | "tailwindcss": "^3.1.5", 32 | "theme-change": "^2.5.0", 33 | "typescript": "^5.0.0", 34 | "vite": "^4.2.0" 35 | }, 36 | "type": "module" 37 | } 38 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | devDependencies: 4 | '@sveltejs/adapter-auto': 5 | specifier: ^2.0.0 6 | version: 2.0.0(@sveltejs/kit@1.5.0) 7 | '@sveltejs/kit': 8 | specifier: ^1.5.0 9 | version: 1.5.0(svelte@3.54.0)(vite@4.2.0) 10 | '@tailwindcss/typography': 11 | specifier: ^0.5.3 12 | version: 0.5.3(tailwindcss@3.1.5) 13 | autoprefixer: 14 | specifier: ^10.4.7 15 | version: 10.4.7(postcss@8.4.14) 16 | daisyui: 17 | specifier: ^2.18.1 18 | version: 2.18.1(autoprefixer@10.4.7)(postcss@8.4.14) 19 | graphql: 20 | specifier: ^16.6.0 21 | version: 16.6.0 22 | graphql-request: 23 | specifier: ^6.0.0 24 | version: 6.0.0(graphql@16.6.0) 25 | marked: 26 | specifier: ^4.3.0 27 | version: 4.3.0 28 | postcss: 29 | specifier: ^8.4.14 30 | version: 8.4.14 31 | postcss-load-config: 32 | specifier: ^4.0.1 33 | version: 4.0.1(postcss@8.4.14) 34 | prettier: 35 | specifier: ^2.8.0 36 | version: 2.8.0 37 | prettier-plugin-svelte: 38 | specifier: ^2.8.1 39 | version: 2.8.1(prettier@2.8.0)(svelte@3.54.0) 40 | svead: 41 | specifier: ^0.0.4 42 | version: 0.0.4 43 | svelte: 44 | specifier: ^3.54.0 45 | version: 3.54.0 46 | svelte-check: 47 | specifier: ^3.0.1 48 | version: 3.0.1(postcss-load-config@4.0.1)(postcss@8.4.14)(svelte@3.54.0) 49 | svelte-preprocess: 50 | specifier: ^4.10.7 51 | version: 4.10.7(postcss-load-config@4.0.1)(postcss@8.4.14)(svelte@3.54.0)(typescript@5.0.2) 52 | tailwindcss: 53 | specifier: ^3.1.5 54 | version: 3.1.5(postcss@8.4.14) 55 | theme-change: 56 | specifier: ^2.5.0 57 | version: 2.5.0 58 | typescript: 59 | specifier: ^5.0.0 60 | version: 5.0.2 61 | vite: 62 | specifier: ^4.2.0 63 | version: 4.2.0 64 | 65 | packages: 66 | 67 | /@esbuild/android-arm64@0.17.16: 68 | resolution: {integrity: sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==} 69 | engines: {node: '>=12'} 70 | cpu: [arm64] 71 | os: [android] 72 | requiresBuild: true 73 | dev: true 74 | optional: true 75 | 76 | /@esbuild/android-arm@0.17.16: 77 | resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==} 78 | engines: {node: '>=12'} 79 | cpu: [arm] 80 | os: [android] 81 | requiresBuild: true 82 | dev: true 83 | optional: true 84 | 85 | /@esbuild/android-x64@0.17.16: 86 | resolution: {integrity: sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==} 87 | engines: {node: '>=12'} 88 | cpu: [x64] 89 | os: [android] 90 | requiresBuild: true 91 | dev: true 92 | optional: true 93 | 94 | /@esbuild/darwin-arm64@0.17.16: 95 | resolution: {integrity: sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==} 96 | engines: {node: '>=12'} 97 | cpu: [arm64] 98 | os: [darwin] 99 | requiresBuild: true 100 | dev: true 101 | optional: true 102 | 103 | /@esbuild/darwin-x64@0.17.16: 104 | resolution: {integrity: sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==} 105 | engines: {node: '>=12'} 106 | cpu: [x64] 107 | os: [darwin] 108 | requiresBuild: true 109 | dev: true 110 | optional: true 111 | 112 | /@esbuild/freebsd-arm64@0.17.16: 113 | resolution: {integrity: sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==} 114 | engines: {node: '>=12'} 115 | cpu: [arm64] 116 | os: [freebsd] 117 | requiresBuild: true 118 | dev: true 119 | optional: true 120 | 121 | /@esbuild/freebsd-x64@0.17.16: 122 | resolution: {integrity: sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==} 123 | engines: {node: '>=12'} 124 | cpu: [x64] 125 | os: [freebsd] 126 | requiresBuild: true 127 | dev: true 128 | optional: true 129 | 130 | /@esbuild/linux-arm64@0.17.16: 131 | resolution: {integrity: sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==} 132 | engines: {node: '>=12'} 133 | cpu: [arm64] 134 | os: [linux] 135 | requiresBuild: true 136 | dev: true 137 | optional: true 138 | 139 | /@esbuild/linux-arm@0.17.16: 140 | resolution: {integrity: sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==} 141 | engines: {node: '>=12'} 142 | cpu: [arm] 143 | os: [linux] 144 | requiresBuild: true 145 | dev: true 146 | optional: true 147 | 148 | /@esbuild/linux-ia32@0.17.16: 149 | resolution: {integrity: sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==} 150 | engines: {node: '>=12'} 151 | cpu: [ia32] 152 | os: [linux] 153 | requiresBuild: true 154 | dev: true 155 | optional: true 156 | 157 | /@esbuild/linux-loong64@0.17.16: 158 | resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==} 159 | engines: {node: '>=12'} 160 | cpu: [loong64] 161 | os: [linux] 162 | requiresBuild: true 163 | dev: true 164 | optional: true 165 | 166 | /@esbuild/linux-mips64el@0.17.16: 167 | resolution: {integrity: sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==} 168 | engines: {node: '>=12'} 169 | cpu: [mips64el] 170 | os: [linux] 171 | requiresBuild: true 172 | dev: true 173 | optional: true 174 | 175 | /@esbuild/linux-ppc64@0.17.16: 176 | resolution: {integrity: sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==} 177 | engines: {node: '>=12'} 178 | cpu: [ppc64] 179 | os: [linux] 180 | requiresBuild: true 181 | dev: true 182 | optional: true 183 | 184 | /@esbuild/linux-riscv64@0.17.16: 185 | resolution: {integrity: sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==} 186 | engines: {node: '>=12'} 187 | cpu: [riscv64] 188 | os: [linux] 189 | requiresBuild: true 190 | dev: true 191 | optional: true 192 | 193 | /@esbuild/linux-s390x@0.17.16: 194 | resolution: {integrity: sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==} 195 | engines: {node: '>=12'} 196 | cpu: [s390x] 197 | os: [linux] 198 | requiresBuild: true 199 | dev: true 200 | optional: true 201 | 202 | /@esbuild/linux-x64@0.17.16: 203 | resolution: {integrity: sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==} 204 | engines: {node: '>=12'} 205 | cpu: [x64] 206 | os: [linux] 207 | requiresBuild: true 208 | dev: true 209 | optional: true 210 | 211 | /@esbuild/netbsd-x64@0.17.16: 212 | resolution: {integrity: sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==} 213 | engines: {node: '>=12'} 214 | cpu: [x64] 215 | os: [netbsd] 216 | requiresBuild: true 217 | dev: true 218 | optional: true 219 | 220 | /@esbuild/openbsd-x64@0.17.16: 221 | resolution: {integrity: sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==} 222 | engines: {node: '>=12'} 223 | cpu: [x64] 224 | os: [openbsd] 225 | requiresBuild: true 226 | dev: true 227 | optional: true 228 | 229 | /@esbuild/sunos-x64@0.17.16: 230 | resolution: {integrity: sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==} 231 | engines: {node: '>=12'} 232 | cpu: [x64] 233 | os: [sunos] 234 | requiresBuild: true 235 | dev: true 236 | optional: true 237 | 238 | /@esbuild/win32-arm64@0.17.16: 239 | resolution: {integrity: sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==} 240 | engines: {node: '>=12'} 241 | cpu: [arm64] 242 | os: [win32] 243 | requiresBuild: true 244 | dev: true 245 | optional: true 246 | 247 | /@esbuild/win32-ia32@0.17.16: 248 | resolution: {integrity: sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==} 249 | engines: {node: '>=12'} 250 | cpu: [ia32] 251 | os: [win32] 252 | requiresBuild: true 253 | dev: true 254 | optional: true 255 | 256 | /@esbuild/win32-x64@0.17.16: 257 | resolution: {integrity: sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==} 258 | engines: {node: '>=12'} 259 | cpu: [x64] 260 | os: [win32] 261 | requiresBuild: true 262 | dev: true 263 | optional: true 264 | 265 | /@graphql-typed-document-node/core@3.2.0(graphql@16.6.0): 266 | resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} 267 | peerDependencies: 268 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 269 | dependencies: 270 | graphql: 16.6.0 271 | dev: true 272 | 273 | /@jridgewell/resolve-uri@3.1.0: 274 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 275 | engines: {node: '>=6.0.0'} 276 | dev: true 277 | 278 | /@jridgewell/sourcemap-codec@1.4.14: 279 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 280 | dev: true 281 | 282 | /@jridgewell/sourcemap-codec@1.4.15: 283 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 284 | dev: true 285 | 286 | /@jridgewell/trace-mapping@0.3.18: 287 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} 288 | dependencies: 289 | '@jridgewell/resolve-uri': 3.1.0 290 | '@jridgewell/sourcemap-codec': 1.4.14 291 | dev: true 292 | 293 | /@nodelib/fs.scandir@2.1.5: 294 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 295 | engines: {node: '>= 8'} 296 | dependencies: 297 | '@nodelib/fs.stat': 2.0.5 298 | run-parallel: 1.2.0 299 | dev: true 300 | 301 | /@nodelib/fs.stat@2.0.5: 302 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 303 | engines: {node: '>= 8'} 304 | dev: true 305 | 306 | /@nodelib/fs.walk@1.2.8: 307 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 308 | engines: {node: '>= 8'} 309 | dependencies: 310 | '@nodelib/fs.scandir': 2.1.5 311 | fastq: 1.15.0 312 | dev: true 313 | 314 | /@polka/url@1.0.0-next.21: 315 | resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} 316 | dev: true 317 | 318 | /@sveltejs/adapter-auto@2.0.0(@sveltejs/kit@1.5.0): 319 | resolution: {integrity: sha512-b+gkHFZgD771kgV3aO4avHFd7y1zhmMYy9i6xOK7m/rwmwaRO8gnF5zBc0Rgca80B2PMU1bKNxyBTHA14OzUAQ==} 320 | peerDependencies: 321 | '@sveltejs/kit': ^1.0.0 322 | dependencies: 323 | '@sveltejs/kit': 1.5.0(svelte@3.54.0)(vite@4.2.0) 324 | import-meta-resolve: 2.2.2 325 | dev: true 326 | 327 | /@sveltejs/kit@1.5.0(svelte@3.54.0)(vite@4.2.0): 328 | resolution: {integrity: sha512-AkWgCO9i2djZjTqCgIQJ5XfnSzRINowh2w2Gk9wDRuTwxKizSuYe3jNvds/HCDDGHo8XE5E0yWNC9j2XxbrX+g==} 329 | engines: {node: ^16.14 || >=18} 330 | hasBin: true 331 | requiresBuild: true 332 | peerDependencies: 333 | svelte: ^3.54.0 334 | vite: ^4.0.0 335 | dependencies: 336 | '@sveltejs/vite-plugin-svelte': 2.0.4(svelte@3.54.0)(vite@4.2.0) 337 | '@types/cookie': 0.5.1 338 | cookie: 0.5.0 339 | devalue: 4.3.0 340 | esm-env: 1.0.0 341 | kleur: 4.1.5 342 | magic-string: 0.27.0 343 | mime: 3.0.0 344 | sade: 1.8.1 345 | set-cookie-parser: 2.6.0 346 | sirv: 2.0.2 347 | svelte: 3.54.0 348 | tiny-glob: 0.2.9 349 | undici: 5.18.0 350 | vite: 4.2.0 351 | transitivePeerDependencies: 352 | - supports-color 353 | dev: true 354 | 355 | /@sveltejs/vite-plugin-svelte@2.0.4(svelte@3.54.0)(vite@4.2.0): 356 | resolution: {integrity: sha512-pjqhW00KwK2uzDGEr+yJBwut+D+4XfJO/+bHHdHzPRXn9+1Jeq5JcFHyrUiYaXgHtyhX0RsllCTm4ssAx4ZY7Q==} 357 | engines: {node: ^14.18.0 || >= 16} 358 | peerDependencies: 359 | svelte: ^3.54.0 360 | vite: ^4.0.0 361 | dependencies: 362 | debug: 4.3.4 363 | deepmerge: 4.3.1 364 | kleur: 4.1.5 365 | magic-string: 0.30.0 366 | svelte: 3.54.0 367 | svelte-hmr: 0.15.1(svelte@3.54.0) 368 | vite: 4.2.0 369 | vitefu: 0.2.4(vite@4.2.0) 370 | transitivePeerDependencies: 371 | - supports-color 372 | dev: true 373 | 374 | /@tailwindcss/typography@0.5.3(tailwindcss@3.1.5): 375 | resolution: {integrity: sha512-Cn4MufL/xiTh2Npw26xiL7gP3GFkJH+zWM8DAm/NNEr4gF5N9D6gY9zMNNQUu27m8g0IIk665BUuoU92wVUBkA==} 376 | peerDependencies: 377 | tailwindcss: '>=3.0.0 || insiders' 378 | dependencies: 379 | lodash.castarray: 4.4.0 380 | lodash.isplainobject: 4.0.6 381 | lodash.merge: 4.6.2 382 | tailwindcss: 3.1.5(postcss@8.4.14) 383 | dev: true 384 | 385 | /@types/cookie@0.5.1: 386 | resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} 387 | dev: true 388 | 389 | /@types/pug@2.0.6: 390 | resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} 391 | dev: true 392 | 393 | /@types/sass@1.45.0: 394 | resolution: {integrity: sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==} 395 | deprecated: This is a stub types definition. sass provides its own type definitions, so you do not need this installed. 396 | dependencies: 397 | sass: 1.62.0 398 | dev: true 399 | 400 | /acorn-node@1.8.2: 401 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} 402 | dependencies: 403 | acorn: 7.4.1 404 | acorn-walk: 7.2.0 405 | xtend: 4.0.2 406 | dev: true 407 | 408 | /acorn-walk@7.2.0: 409 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 410 | engines: {node: '>=0.4.0'} 411 | dev: true 412 | 413 | /acorn@7.4.1: 414 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 415 | engines: {node: '>=0.4.0'} 416 | hasBin: true 417 | dev: true 418 | 419 | /anymatch@3.1.3: 420 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 421 | engines: {node: '>= 8'} 422 | dependencies: 423 | normalize-path: 3.0.0 424 | picomatch: 2.3.1 425 | dev: true 426 | 427 | /arg@5.0.2: 428 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 429 | dev: true 430 | 431 | /autoprefixer@10.4.7(postcss@8.4.14): 432 | resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} 433 | engines: {node: ^10 || ^12 || >=14} 434 | hasBin: true 435 | peerDependencies: 436 | postcss: ^8.1.0 437 | dependencies: 438 | browserslist: 4.21.5 439 | caniuse-lite: 1.0.30001478 440 | fraction.js: 4.2.0 441 | normalize-range: 0.1.2 442 | picocolors: 1.0.0 443 | postcss: 8.4.14 444 | postcss-value-parser: 4.2.0 445 | dev: true 446 | 447 | /balanced-match@1.0.2: 448 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 449 | dev: true 450 | 451 | /binary-extensions@2.2.0: 452 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 453 | engines: {node: '>=8'} 454 | dev: true 455 | 456 | /brace-expansion@1.1.11: 457 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 458 | dependencies: 459 | balanced-match: 1.0.2 460 | concat-map: 0.0.1 461 | dev: true 462 | 463 | /braces@3.0.2: 464 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 465 | engines: {node: '>=8'} 466 | dependencies: 467 | fill-range: 7.0.1 468 | dev: true 469 | 470 | /browserslist@4.21.5: 471 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} 472 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 473 | hasBin: true 474 | dependencies: 475 | caniuse-lite: 1.0.30001478 476 | electron-to-chromium: 1.4.361 477 | node-releases: 2.0.10 478 | update-browserslist-db: 1.0.10(browserslist@4.21.5) 479 | dev: true 480 | 481 | /buffer-crc32@0.2.13: 482 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 483 | dev: true 484 | 485 | /busboy@1.6.0: 486 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 487 | engines: {node: '>=10.16.0'} 488 | dependencies: 489 | streamsearch: 1.1.0 490 | dev: true 491 | 492 | /callsites@3.1.0: 493 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 494 | engines: {node: '>=6'} 495 | dev: true 496 | 497 | /camelcase-css@2.0.1: 498 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 499 | engines: {node: '>= 6'} 500 | dev: true 501 | 502 | /caniuse-lite@1.0.30001478: 503 | resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} 504 | dev: true 505 | 506 | /chokidar@3.5.3: 507 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 508 | engines: {node: '>= 8.10.0'} 509 | dependencies: 510 | anymatch: 3.1.3 511 | braces: 3.0.2 512 | glob-parent: 5.1.2 513 | is-binary-path: 2.1.0 514 | is-glob: 4.0.3 515 | normalize-path: 3.0.0 516 | readdirp: 3.6.0 517 | optionalDependencies: 518 | fsevents: 2.3.2 519 | dev: true 520 | 521 | /color-convert@2.0.1: 522 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 523 | engines: {node: '>=7.0.0'} 524 | dependencies: 525 | color-name: 1.1.4 526 | dev: true 527 | 528 | /color-name@1.1.4: 529 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 530 | dev: true 531 | 532 | /color-string@1.9.1: 533 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 534 | dependencies: 535 | color-name: 1.1.4 536 | simple-swizzle: 0.2.2 537 | dev: true 538 | 539 | /color@4.2.3: 540 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 541 | engines: {node: '>=12.5.0'} 542 | dependencies: 543 | color-convert: 2.0.1 544 | color-string: 1.9.1 545 | dev: true 546 | 547 | /concat-map@0.0.1: 548 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 549 | dev: true 550 | 551 | /cookie@0.5.0: 552 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 553 | engines: {node: '>= 0.6'} 554 | dev: true 555 | 556 | /cross-fetch@3.1.5: 557 | resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} 558 | dependencies: 559 | node-fetch: 2.6.7 560 | transitivePeerDependencies: 561 | - encoding 562 | dev: true 563 | 564 | /css-selector-tokenizer@0.8.0: 565 | resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==} 566 | dependencies: 567 | cssesc: 3.0.0 568 | fastparse: 1.1.2 569 | dev: true 570 | 571 | /cssesc@3.0.0: 572 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 573 | engines: {node: '>=4'} 574 | hasBin: true 575 | dev: true 576 | 577 | /daisyui@2.18.1(autoprefixer@10.4.7)(postcss@8.4.14): 578 | resolution: {integrity: sha512-MBmhUxkFefa9WvIWcOg2XYadHpZNakgFDHzfQJ75C4S3Vy0I9m9xZiiZgqhR9dQd1YnFal/E30i4FgpRSVtRSw==} 579 | peerDependencies: 580 | autoprefixer: ^10.0.2 581 | postcss: ^8.1.6 582 | dependencies: 583 | autoprefixer: 10.4.7(postcss@8.4.14) 584 | color: 4.2.3 585 | css-selector-tokenizer: 0.8.0 586 | postcss: 8.4.14 587 | postcss-js: 4.0.1(postcss@8.4.14) 588 | tailwindcss: 3.1.5(postcss@8.4.14) 589 | transitivePeerDependencies: 590 | - ts-node 591 | dev: true 592 | 593 | /debug@4.3.4: 594 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 595 | engines: {node: '>=6.0'} 596 | peerDependencies: 597 | supports-color: '*' 598 | peerDependenciesMeta: 599 | supports-color: 600 | optional: true 601 | dependencies: 602 | ms: 2.1.2 603 | dev: true 604 | 605 | /deepmerge@4.3.1: 606 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 607 | engines: {node: '>=0.10.0'} 608 | dev: true 609 | 610 | /defined@1.0.1: 611 | resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} 612 | dev: true 613 | 614 | /detect-indent@6.1.0: 615 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 616 | engines: {node: '>=8'} 617 | dev: true 618 | 619 | /detective@5.2.1: 620 | resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} 621 | engines: {node: '>=0.8.0'} 622 | hasBin: true 623 | dependencies: 624 | acorn-node: 1.8.2 625 | defined: 1.0.1 626 | minimist: 1.2.8 627 | dev: true 628 | 629 | /devalue@4.3.0: 630 | resolution: {integrity: sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==} 631 | dev: true 632 | 633 | /didyoumean@1.2.2: 634 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 635 | dev: true 636 | 637 | /dlv@1.1.3: 638 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 639 | dev: true 640 | 641 | /electron-to-chromium@1.4.361: 642 | resolution: {integrity: sha512-VocVwjPp05HUXzf3xmL0boRn5b0iyqC7amtDww84Jb1QJNPBc7F69gJyEeXRoriLBC4a5pSyckdllrXAg4mmRA==} 643 | dev: true 644 | 645 | /es6-promise@3.3.1: 646 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} 647 | dev: true 648 | 649 | /esbuild@0.17.16: 650 | resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==} 651 | engines: {node: '>=12'} 652 | hasBin: true 653 | requiresBuild: true 654 | optionalDependencies: 655 | '@esbuild/android-arm': 0.17.16 656 | '@esbuild/android-arm64': 0.17.16 657 | '@esbuild/android-x64': 0.17.16 658 | '@esbuild/darwin-arm64': 0.17.16 659 | '@esbuild/darwin-x64': 0.17.16 660 | '@esbuild/freebsd-arm64': 0.17.16 661 | '@esbuild/freebsd-x64': 0.17.16 662 | '@esbuild/linux-arm': 0.17.16 663 | '@esbuild/linux-arm64': 0.17.16 664 | '@esbuild/linux-ia32': 0.17.16 665 | '@esbuild/linux-loong64': 0.17.16 666 | '@esbuild/linux-mips64el': 0.17.16 667 | '@esbuild/linux-ppc64': 0.17.16 668 | '@esbuild/linux-riscv64': 0.17.16 669 | '@esbuild/linux-s390x': 0.17.16 670 | '@esbuild/linux-x64': 0.17.16 671 | '@esbuild/netbsd-x64': 0.17.16 672 | '@esbuild/openbsd-x64': 0.17.16 673 | '@esbuild/sunos-x64': 0.17.16 674 | '@esbuild/win32-arm64': 0.17.16 675 | '@esbuild/win32-ia32': 0.17.16 676 | '@esbuild/win32-x64': 0.17.16 677 | dev: true 678 | 679 | /escalade@3.1.1: 680 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 681 | engines: {node: '>=6'} 682 | dev: true 683 | 684 | /esm-env@1.0.0: 685 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} 686 | dev: true 687 | 688 | /fast-glob@3.2.12: 689 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 690 | engines: {node: '>=8.6.0'} 691 | dependencies: 692 | '@nodelib/fs.stat': 2.0.5 693 | '@nodelib/fs.walk': 1.2.8 694 | glob-parent: 5.1.2 695 | merge2: 1.4.1 696 | micromatch: 4.0.5 697 | dev: true 698 | 699 | /fastparse@1.1.2: 700 | resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==} 701 | dev: true 702 | 703 | /fastq@1.15.0: 704 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 705 | dependencies: 706 | reusify: 1.0.4 707 | dev: true 708 | 709 | /fill-range@7.0.1: 710 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 711 | engines: {node: '>=8'} 712 | dependencies: 713 | to-regex-range: 5.0.1 714 | dev: true 715 | 716 | /fraction.js@4.2.0: 717 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} 718 | dev: true 719 | 720 | /fs.realpath@1.0.0: 721 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 722 | dev: true 723 | 724 | /fsevents@2.3.2: 725 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 726 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 727 | os: [darwin] 728 | requiresBuild: true 729 | dev: true 730 | optional: true 731 | 732 | /function-bind@1.1.1: 733 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 734 | dev: true 735 | 736 | /glob-parent@5.1.2: 737 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 738 | engines: {node: '>= 6'} 739 | dependencies: 740 | is-glob: 4.0.3 741 | dev: true 742 | 743 | /glob-parent@6.0.2: 744 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 745 | engines: {node: '>=10.13.0'} 746 | dependencies: 747 | is-glob: 4.0.3 748 | dev: true 749 | 750 | /glob@7.2.3: 751 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 752 | dependencies: 753 | fs.realpath: 1.0.0 754 | inflight: 1.0.6 755 | inherits: 2.0.4 756 | minimatch: 3.1.2 757 | once: 1.4.0 758 | path-is-absolute: 1.0.1 759 | dev: true 760 | 761 | /globalyzer@0.1.0: 762 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} 763 | dev: true 764 | 765 | /globrex@0.1.2: 766 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 767 | dev: true 768 | 769 | /graceful-fs@4.2.11: 770 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 771 | dev: true 772 | 773 | /graphql-request@6.0.0(graphql@16.6.0): 774 | resolution: {integrity: sha512-2BmHTuglonjZvmNVw6ZzCfFlW/qkIPds0f+Qdi/Lvjsl3whJg2uvHmSvHnLWhUTEw6zcxPYAHiZoPvSVKOZ7Jw==} 775 | peerDependencies: 776 | graphql: 14 - 16 777 | dependencies: 778 | '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) 779 | cross-fetch: 3.1.5 780 | graphql: 16.6.0 781 | transitivePeerDependencies: 782 | - encoding 783 | dev: true 784 | 785 | /graphql@16.6.0: 786 | resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} 787 | engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} 788 | dev: true 789 | 790 | /has@1.0.3: 791 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 792 | engines: {node: '>= 0.4.0'} 793 | dependencies: 794 | function-bind: 1.1.1 795 | dev: true 796 | 797 | /immutable@4.3.0: 798 | resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} 799 | dev: true 800 | 801 | /import-fresh@3.3.0: 802 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 803 | engines: {node: '>=6'} 804 | dependencies: 805 | parent-module: 1.0.1 806 | resolve-from: 4.0.0 807 | dev: true 808 | 809 | /import-meta-resolve@2.2.2: 810 | resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} 811 | dev: true 812 | 813 | /inflight@1.0.6: 814 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 815 | dependencies: 816 | once: 1.4.0 817 | wrappy: 1.0.2 818 | dev: true 819 | 820 | /inherits@2.0.4: 821 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 822 | dev: true 823 | 824 | /is-arrayish@0.3.2: 825 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 826 | dev: true 827 | 828 | /is-binary-path@2.1.0: 829 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 830 | engines: {node: '>=8'} 831 | dependencies: 832 | binary-extensions: 2.2.0 833 | dev: true 834 | 835 | /is-core-module@2.12.0: 836 | resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} 837 | dependencies: 838 | has: 1.0.3 839 | dev: true 840 | 841 | /is-extglob@2.1.1: 842 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 843 | engines: {node: '>=0.10.0'} 844 | dev: true 845 | 846 | /is-glob@4.0.3: 847 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 848 | engines: {node: '>=0.10.0'} 849 | dependencies: 850 | is-extglob: 2.1.1 851 | dev: true 852 | 853 | /is-number@7.0.0: 854 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 855 | engines: {node: '>=0.12.0'} 856 | dev: true 857 | 858 | /kleur@4.1.5: 859 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 860 | engines: {node: '>=6'} 861 | dev: true 862 | 863 | /lilconfig@2.1.0: 864 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 865 | engines: {node: '>=10'} 866 | dev: true 867 | 868 | /lodash.castarray@4.4.0: 869 | resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} 870 | dev: true 871 | 872 | /lodash.isplainobject@4.0.6: 873 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 874 | dev: true 875 | 876 | /lodash.merge@4.6.2: 877 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 878 | dev: true 879 | 880 | /magic-string@0.25.9: 881 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 882 | dependencies: 883 | sourcemap-codec: 1.4.8 884 | dev: true 885 | 886 | /magic-string@0.27.0: 887 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} 888 | engines: {node: '>=12'} 889 | dependencies: 890 | '@jridgewell/sourcemap-codec': 1.4.15 891 | dev: true 892 | 893 | /magic-string@0.30.0: 894 | resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} 895 | engines: {node: '>=12'} 896 | dependencies: 897 | '@jridgewell/sourcemap-codec': 1.4.15 898 | dev: true 899 | 900 | /marked@4.3.0: 901 | resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} 902 | engines: {node: '>= 12'} 903 | hasBin: true 904 | dev: true 905 | 906 | /merge2@1.4.1: 907 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 908 | engines: {node: '>= 8'} 909 | dev: true 910 | 911 | /micromatch@4.0.5: 912 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 913 | engines: {node: '>=8.6'} 914 | dependencies: 915 | braces: 3.0.2 916 | picomatch: 2.3.1 917 | dev: true 918 | 919 | /mime@3.0.0: 920 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 921 | engines: {node: '>=10.0.0'} 922 | hasBin: true 923 | dev: true 924 | 925 | /min-indent@1.0.1: 926 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 927 | engines: {node: '>=4'} 928 | dev: true 929 | 930 | /minimatch@3.1.2: 931 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 932 | dependencies: 933 | brace-expansion: 1.1.11 934 | dev: true 935 | 936 | /minimist@1.2.8: 937 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 938 | dev: true 939 | 940 | /mkdirp@0.5.6: 941 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 942 | hasBin: true 943 | dependencies: 944 | minimist: 1.2.8 945 | dev: true 946 | 947 | /mri@1.2.0: 948 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 949 | engines: {node: '>=4'} 950 | dev: true 951 | 952 | /mrmime@1.0.1: 953 | resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} 954 | engines: {node: '>=10'} 955 | dev: true 956 | 957 | /ms@2.1.2: 958 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 959 | dev: true 960 | 961 | /nanoid@3.3.6: 962 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 963 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 964 | hasBin: true 965 | dev: true 966 | 967 | /node-fetch@2.6.7: 968 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 969 | engines: {node: 4.x || >=6.0.0} 970 | peerDependencies: 971 | encoding: ^0.1.0 972 | peerDependenciesMeta: 973 | encoding: 974 | optional: true 975 | dependencies: 976 | whatwg-url: 5.0.0 977 | dev: true 978 | 979 | /node-releases@2.0.10: 980 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} 981 | dev: true 982 | 983 | /normalize-path@3.0.0: 984 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 985 | engines: {node: '>=0.10.0'} 986 | dev: true 987 | 988 | /normalize-range@0.1.2: 989 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 990 | engines: {node: '>=0.10.0'} 991 | dev: true 992 | 993 | /object-hash@3.0.0: 994 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 995 | engines: {node: '>= 6'} 996 | dev: true 997 | 998 | /once@1.4.0: 999 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1000 | dependencies: 1001 | wrappy: 1.0.2 1002 | dev: true 1003 | 1004 | /parent-module@1.0.1: 1005 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1006 | engines: {node: '>=6'} 1007 | dependencies: 1008 | callsites: 3.1.0 1009 | dev: true 1010 | 1011 | /path-is-absolute@1.0.1: 1012 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1013 | engines: {node: '>=0.10.0'} 1014 | dev: true 1015 | 1016 | /path-parse@1.0.7: 1017 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1018 | dev: true 1019 | 1020 | /picocolors@1.0.0: 1021 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1022 | dev: true 1023 | 1024 | /picomatch@2.3.1: 1025 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1026 | engines: {node: '>=8.6'} 1027 | dev: true 1028 | 1029 | /pify@2.3.0: 1030 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1031 | engines: {node: '>=0.10.0'} 1032 | dev: true 1033 | 1034 | /postcss-import@14.1.0(postcss@8.4.14): 1035 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} 1036 | engines: {node: '>=10.0.0'} 1037 | peerDependencies: 1038 | postcss: ^8.0.0 1039 | dependencies: 1040 | postcss: 8.4.14 1041 | postcss-value-parser: 4.2.0 1042 | read-cache: 1.0.0 1043 | resolve: 1.22.2 1044 | dev: true 1045 | 1046 | /postcss-js@4.0.1(postcss@8.4.14): 1047 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1048 | engines: {node: ^12 || ^14 || >= 16} 1049 | peerDependencies: 1050 | postcss: ^8.4.21 1051 | dependencies: 1052 | camelcase-css: 2.0.1 1053 | postcss: 8.4.14 1054 | dev: true 1055 | 1056 | /postcss-load-config@4.0.1(postcss@8.4.14): 1057 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} 1058 | engines: {node: '>= 14'} 1059 | peerDependencies: 1060 | postcss: '>=8.0.9' 1061 | ts-node: '>=9.0.0' 1062 | peerDependenciesMeta: 1063 | postcss: 1064 | optional: true 1065 | ts-node: 1066 | optional: true 1067 | dependencies: 1068 | lilconfig: 2.1.0 1069 | postcss: 8.4.14 1070 | yaml: 2.2.1 1071 | dev: true 1072 | 1073 | /postcss-nested@5.0.6(postcss@8.4.14): 1074 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} 1075 | engines: {node: '>=12.0'} 1076 | peerDependencies: 1077 | postcss: ^8.2.14 1078 | dependencies: 1079 | postcss: 8.4.14 1080 | postcss-selector-parser: 6.0.11 1081 | dev: true 1082 | 1083 | /postcss-selector-parser@6.0.11: 1084 | resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} 1085 | engines: {node: '>=4'} 1086 | dependencies: 1087 | cssesc: 3.0.0 1088 | util-deprecate: 1.0.2 1089 | dev: true 1090 | 1091 | /postcss-value-parser@4.2.0: 1092 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1093 | dev: true 1094 | 1095 | /postcss@8.4.14: 1096 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} 1097 | engines: {node: ^10 || ^12 || >=14} 1098 | dependencies: 1099 | nanoid: 3.3.6 1100 | picocolors: 1.0.0 1101 | source-map-js: 1.0.2 1102 | dev: true 1103 | 1104 | /postcss@8.4.21: 1105 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 1106 | engines: {node: ^10 || ^12 || >=14} 1107 | dependencies: 1108 | nanoid: 3.3.6 1109 | picocolors: 1.0.0 1110 | source-map-js: 1.0.2 1111 | dev: true 1112 | 1113 | /prettier-plugin-svelte@2.8.1(prettier@2.8.0)(svelte@3.54.0): 1114 | resolution: {integrity: sha512-KA3K1J3/wKDnCxW7ZDRA/QL2Q67N7Xs3gOERqJ5X1qFjq1DdnN3K1R29scSKwh+kA8FF67pXbYytUpvN/i3iQw==} 1115 | peerDependencies: 1116 | prettier: ^1.16.4 || ^2.0.0 1117 | svelte: ^3.2.0 1118 | dependencies: 1119 | prettier: 2.8.0 1120 | svelte: 3.54.0 1121 | dev: true 1122 | 1123 | /prettier@2.8.0: 1124 | resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} 1125 | engines: {node: '>=10.13.0'} 1126 | hasBin: true 1127 | dev: true 1128 | 1129 | /queue-microtask@1.2.3: 1130 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1131 | dev: true 1132 | 1133 | /quick-lru@5.1.1: 1134 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 1135 | engines: {node: '>=10'} 1136 | dev: true 1137 | 1138 | /read-cache@1.0.0: 1139 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1140 | dependencies: 1141 | pify: 2.3.0 1142 | dev: true 1143 | 1144 | /readdirp@3.6.0: 1145 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1146 | engines: {node: '>=8.10.0'} 1147 | dependencies: 1148 | picomatch: 2.3.1 1149 | dev: true 1150 | 1151 | /resolve-from@4.0.0: 1152 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1153 | engines: {node: '>=4'} 1154 | dev: true 1155 | 1156 | /resolve@1.22.2: 1157 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} 1158 | hasBin: true 1159 | dependencies: 1160 | is-core-module: 2.12.0 1161 | path-parse: 1.0.7 1162 | supports-preserve-symlinks-flag: 1.0.0 1163 | dev: true 1164 | 1165 | /reusify@1.0.4: 1166 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1167 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1168 | dev: true 1169 | 1170 | /rimraf@2.7.1: 1171 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 1172 | hasBin: true 1173 | dependencies: 1174 | glob: 7.2.3 1175 | dev: true 1176 | 1177 | /rollup@3.20.2: 1178 | resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} 1179 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1180 | hasBin: true 1181 | optionalDependencies: 1182 | fsevents: 2.3.2 1183 | dev: true 1184 | 1185 | /run-parallel@1.2.0: 1186 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1187 | dependencies: 1188 | queue-microtask: 1.2.3 1189 | dev: true 1190 | 1191 | /sade@1.8.1: 1192 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1193 | engines: {node: '>=6'} 1194 | dependencies: 1195 | mri: 1.2.0 1196 | dev: true 1197 | 1198 | /sander@0.5.1: 1199 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} 1200 | dependencies: 1201 | es6-promise: 3.3.1 1202 | graceful-fs: 4.2.11 1203 | mkdirp: 0.5.6 1204 | rimraf: 2.7.1 1205 | dev: true 1206 | 1207 | /sass@1.62.0: 1208 | resolution: {integrity: sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==} 1209 | engines: {node: '>=14.0.0'} 1210 | hasBin: true 1211 | dependencies: 1212 | chokidar: 3.5.3 1213 | immutable: 4.3.0 1214 | source-map-js: 1.0.2 1215 | dev: true 1216 | 1217 | /set-cookie-parser@2.6.0: 1218 | resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} 1219 | dev: true 1220 | 1221 | /simple-swizzle@0.2.2: 1222 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 1223 | dependencies: 1224 | is-arrayish: 0.3.2 1225 | dev: true 1226 | 1227 | /sirv@2.0.2: 1228 | resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} 1229 | engines: {node: '>= 10'} 1230 | dependencies: 1231 | '@polka/url': 1.0.0-next.21 1232 | mrmime: 1.0.1 1233 | totalist: 3.0.1 1234 | dev: true 1235 | 1236 | /sorcery@0.10.0: 1237 | resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} 1238 | hasBin: true 1239 | dependencies: 1240 | buffer-crc32: 0.2.13 1241 | minimist: 1.2.8 1242 | sander: 0.5.1 1243 | sourcemap-codec: 1.4.8 1244 | dev: true 1245 | 1246 | /sorcery@0.11.0: 1247 | resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} 1248 | hasBin: true 1249 | dependencies: 1250 | '@jridgewell/sourcemap-codec': 1.4.15 1251 | buffer-crc32: 0.2.13 1252 | minimist: 1.2.8 1253 | sander: 0.5.1 1254 | dev: true 1255 | 1256 | /source-map-js@1.0.2: 1257 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1258 | engines: {node: '>=0.10.0'} 1259 | dev: true 1260 | 1261 | /sourcemap-codec@1.4.8: 1262 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1263 | deprecated: Please use @jridgewell/sourcemap-codec instead 1264 | dev: true 1265 | 1266 | /streamsearch@1.1.0: 1267 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1268 | engines: {node: '>=10.0.0'} 1269 | dev: true 1270 | 1271 | /strip-indent@3.0.0: 1272 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1273 | engines: {node: '>=8'} 1274 | dependencies: 1275 | min-indent: 1.0.1 1276 | dev: true 1277 | 1278 | /supports-preserve-symlinks-flag@1.0.0: 1279 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1280 | engines: {node: '>= 0.4'} 1281 | dev: true 1282 | 1283 | /svead@0.0.4: 1284 | resolution: {integrity: sha512-BrS8WAvrdUs6nbXyZN/kABjLBcPFqA1QBnbpJQiRzxfdA/8XchNJmiRmcPFTElw5NA5k7AG/eYWjj91V+8+Heg==} 1285 | dev: true 1286 | 1287 | /svelte-check@3.0.1(postcss-load-config@4.0.1)(postcss@8.4.14)(svelte@3.54.0): 1288 | resolution: {integrity: sha512-7YpHYWv6V2qhcvVeAlXixUPAlpLCXB1nZEQK0EItB3PtuYmENhKclbc5uKSJTodTwWR1y+4stKGcbH30k6A3Yw==} 1289 | hasBin: true 1290 | peerDependencies: 1291 | svelte: ^3.55.0 1292 | dependencies: 1293 | '@jridgewell/trace-mapping': 0.3.18 1294 | chokidar: 3.5.3 1295 | fast-glob: 3.2.12 1296 | import-fresh: 3.3.0 1297 | picocolors: 1.0.0 1298 | sade: 1.8.1 1299 | svelte: 3.54.0 1300 | svelte-preprocess: 5.0.3(postcss-load-config@4.0.1)(postcss@8.4.14)(svelte@3.54.0)(typescript@4.9.5) 1301 | typescript: 4.9.5 1302 | transitivePeerDependencies: 1303 | - '@babel/core' 1304 | - coffeescript 1305 | - less 1306 | - postcss 1307 | - postcss-load-config 1308 | - pug 1309 | - sass 1310 | - stylus 1311 | - sugarss 1312 | dev: true 1313 | 1314 | /svelte-hmr@0.15.1(svelte@3.54.0): 1315 | resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} 1316 | engines: {node: ^12.20 || ^14.13.1 || >= 16} 1317 | peerDependencies: 1318 | svelte: '>=3.19.0' 1319 | dependencies: 1320 | svelte: 3.54.0 1321 | dev: true 1322 | 1323 | /svelte-preprocess@4.10.7(postcss-load-config@4.0.1)(postcss@8.4.14)(svelte@3.54.0)(typescript@5.0.2): 1324 | resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} 1325 | engines: {node: '>= 9.11.2'} 1326 | requiresBuild: true 1327 | peerDependencies: 1328 | '@babel/core': ^7.10.2 1329 | coffeescript: ^2.5.1 1330 | less: ^3.11.3 || ^4.0.0 1331 | node-sass: '*' 1332 | postcss: ^7 || ^8 1333 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 1334 | pug: ^3.0.0 1335 | sass: ^1.26.8 1336 | stylus: ^0.55.0 1337 | sugarss: ^2.0.0 1338 | svelte: ^3.23.0 1339 | typescript: ^3.9.5 || ^4.0.0 1340 | peerDependenciesMeta: 1341 | '@babel/core': 1342 | optional: true 1343 | coffeescript: 1344 | optional: true 1345 | less: 1346 | optional: true 1347 | node-sass: 1348 | optional: true 1349 | postcss: 1350 | optional: true 1351 | postcss-load-config: 1352 | optional: true 1353 | pug: 1354 | optional: true 1355 | sass: 1356 | optional: true 1357 | stylus: 1358 | optional: true 1359 | sugarss: 1360 | optional: true 1361 | typescript: 1362 | optional: true 1363 | dependencies: 1364 | '@types/pug': 2.0.6 1365 | '@types/sass': 1.45.0 1366 | detect-indent: 6.1.0 1367 | magic-string: 0.25.9 1368 | postcss: 8.4.14 1369 | postcss-load-config: 4.0.1(postcss@8.4.14) 1370 | sorcery: 0.10.0 1371 | strip-indent: 3.0.0 1372 | svelte: 3.54.0 1373 | typescript: 5.0.2 1374 | dev: true 1375 | 1376 | /svelte-preprocess@5.0.3(postcss-load-config@4.0.1)(postcss@8.4.14)(svelte@3.54.0)(typescript@4.9.5): 1377 | resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} 1378 | engines: {node: '>= 14.10.0'} 1379 | requiresBuild: true 1380 | peerDependencies: 1381 | '@babel/core': ^7.10.2 1382 | coffeescript: ^2.5.1 1383 | less: ^3.11.3 || ^4.0.0 1384 | postcss: ^7 || ^8 1385 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 1386 | pug: ^3.0.0 1387 | sass: ^1.26.8 1388 | stylus: ^0.55.0 1389 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 1390 | svelte: ^3.23.0 1391 | typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' 1392 | peerDependenciesMeta: 1393 | '@babel/core': 1394 | optional: true 1395 | coffeescript: 1396 | optional: true 1397 | less: 1398 | optional: true 1399 | postcss: 1400 | optional: true 1401 | postcss-load-config: 1402 | optional: true 1403 | pug: 1404 | optional: true 1405 | sass: 1406 | optional: true 1407 | stylus: 1408 | optional: true 1409 | sugarss: 1410 | optional: true 1411 | typescript: 1412 | optional: true 1413 | dependencies: 1414 | '@types/pug': 2.0.6 1415 | detect-indent: 6.1.0 1416 | magic-string: 0.27.0 1417 | postcss: 8.4.14 1418 | postcss-load-config: 4.0.1(postcss@8.4.14) 1419 | sorcery: 0.11.0 1420 | strip-indent: 3.0.0 1421 | svelte: 3.54.0 1422 | typescript: 4.9.5 1423 | dev: true 1424 | 1425 | /svelte@3.54.0: 1426 | resolution: {integrity: sha512-tdrgeJU0hob0ZWAMoKXkhcxXA7dpTg6lZGxUeko5YqvPdJBiyRspGsCwV27kIrbrqPP2WUoSV9ca0gnLlw8YzQ==} 1427 | engines: {node: '>= 8'} 1428 | dev: true 1429 | 1430 | /tailwindcss@3.1.5(postcss@8.4.14): 1431 | resolution: {integrity: sha512-bC/2dy3dGPqxMWAqFSRgQxVCfmO/31ZbeEp8s9DMDh4zgPZ5WW1gxRJkbBkXcTUIzaSUdhWrcsrSOe32ccgB4w==} 1432 | engines: {node: '>=12.13.0'} 1433 | hasBin: true 1434 | peerDependencies: 1435 | postcss: ^8.0.9 1436 | dependencies: 1437 | arg: 5.0.2 1438 | chokidar: 3.5.3 1439 | color-name: 1.1.4 1440 | detective: 5.2.1 1441 | didyoumean: 1.2.2 1442 | dlv: 1.1.3 1443 | fast-glob: 3.2.12 1444 | glob-parent: 6.0.2 1445 | is-glob: 4.0.3 1446 | lilconfig: 2.1.0 1447 | normalize-path: 3.0.0 1448 | object-hash: 3.0.0 1449 | picocolors: 1.0.0 1450 | postcss: 8.4.14 1451 | postcss-import: 14.1.0(postcss@8.4.14) 1452 | postcss-js: 4.0.1(postcss@8.4.14) 1453 | postcss-load-config: 4.0.1(postcss@8.4.14) 1454 | postcss-nested: 5.0.6(postcss@8.4.14) 1455 | postcss-selector-parser: 6.0.11 1456 | postcss-value-parser: 4.2.0 1457 | quick-lru: 5.1.1 1458 | resolve: 1.22.2 1459 | transitivePeerDependencies: 1460 | - ts-node 1461 | dev: true 1462 | 1463 | /theme-change@2.5.0: 1464 | resolution: {integrity: sha512-B/UdsgdHAGhSKHTAQnxg/etN0RaMDpehuJmZIjLMDVJ6DGIliRHGD6pODi1CXLQAN9GV0GSyB3G6yCuK05PkPQ==} 1465 | dev: true 1466 | 1467 | /tiny-glob@0.2.9: 1468 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} 1469 | dependencies: 1470 | globalyzer: 0.1.0 1471 | globrex: 0.1.2 1472 | dev: true 1473 | 1474 | /to-regex-range@5.0.1: 1475 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1476 | engines: {node: '>=8.0'} 1477 | dependencies: 1478 | is-number: 7.0.0 1479 | dev: true 1480 | 1481 | /totalist@3.0.1: 1482 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1483 | engines: {node: '>=6'} 1484 | dev: true 1485 | 1486 | /tr46@0.0.3: 1487 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1488 | dev: true 1489 | 1490 | /typescript@4.9.5: 1491 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 1492 | engines: {node: '>=4.2.0'} 1493 | hasBin: true 1494 | dev: true 1495 | 1496 | /typescript@5.0.2: 1497 | resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} 1498 | engines: {node: '>=12.20'} 1499 | hasBin: true 1500 | dev: true 1501 | 1502 | /undici@5.18.0: 1503 | resolution: {integrity: sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==} 1504 | engines: {node: '>=12.18'} 1505 | dependencies: 1506 | busboy: 1.6.0 1507 | dev: true 1508 | 1509 | /update-browserslist-db@1.0.10(browserslist@4.21.5): 1510 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 1511 | hasBin: true 1512 | peerDependencies: 1513 | browserslist: '>= 4.21.0' 1514 | dependencies: 1515 | browserslist: 4.21.5 1516 | escalade: 3.1.1 1517 | picocolors: 1.0.0 1518 | dev: true 1519 | 1520 | /util-deprecate@1.0.2: 1521 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1522 | dev: true 1523 | 1524 | /vite@4.2.0: 1525 | resolution: {integrity: sha512-AbDTyzzwuKoRtMIRLGNxhLRuv1FpRgdIw+1y6AQG73Q5+vtecmvzKo/yk8X/vrHDpETRTx01ABijqUHIzBXi0g==} 1526 | engines: {node: ^14.18.0 || >=16.0.0} 1527 | hasBin: true 1528 | peerDependencies: 1529 | '@types/node': '>= 14' 1530 | less: '*' 1531 | sass: '*' 1532 | stylus: '*' 1533 | sugarss: '*' 1534 | terser: ^5.4.0 1535 | peerDependenciesMeta: 1536 | '@types/node': 1537 | optional: true 1538 | less: 1539 | optional: true 1540 | sass: 1541 | optional: true 1542 | stylus: 1543 | optional: true 1544 | sugarss: 1545 | optional: true 1546 | terser: 1547 | optional: true 1548 | dependencies: 1549 | esbuild: 0.17.16 1550 | postcss: 8.4.21 1551 | resolve: 1.22.2 1552 | rollup: 3.20.2 1553 | optionalDependencies: 1554 | fsevents: 2.3.2 1555 | dev: true 1556 | 1557 | /vitefu@0.2.4(vite@4.2.0): 1558 | resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} 1559 | peerDependencies: 1560 | vite: ^3.0.0 || ^4.0.0 1561 | peerDependenciesMeta: 1562 | vite: 1563 | optional: true 1564 | dependencies: 1565 | vite: 4.2.0 1566 | dev: true 1567 | 1568 | /webidl-conversions@3.0.1: 1569 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 1570 | dev: true 1571 | 1572 | /whatwg-url@5.0.0: 1573 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 1574 | dependencies: 1575 | tr46: 0.0.3 1576 | webidl-conversions: 3.0.1 1577 | dev: true 1578 | 1579 | /wrappy@1.0.2: 1580 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1581 | dev: true 1582 | 1583 | /xtend@4.0.2: 1584 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 1585 | engines: {node: '>=0.4'} 1586 | dev: true 1587 | 1588 | /yaml@2.2.1: 1589 | resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} 1590 | engines: {node: '>= 14'} 1591 | dev: true 1592 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const tailwindcss = require('tailwindcss') 2 | const autoprefixer = require('autoprefixer') 3 | 4 | const config = { 5 | plugins: [ 6 | //Some plugins, like tailwindcss/nesting, need to run before Tailwind, 7 | tailwindcss(), 8 | //But others, like autoprefixer, need to run after, 9 | autoprefixer 10 | ] 11 | } 12 | 13 | module.exports = config 14 | -------------------------------------------------------------------------------- /sample.env: -------------------------------------------------------------------------------- 1 | PUBLIC_GRAPHQL_API= 2 | -------------------------------------------------------------------------------- /src/app.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://kit.svelte.dev/docs/types#app 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface Platform {} 9 | } 10 | } 11 | 12 | export {} 13 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %sveltekit.head% 8 | 9 | 10 |
%sveltekit.body%
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/lib/components/facebook-icon.svelte: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/lib/components/footer.svelte: -------------------------------------------------------------------------------- 1 | 9 | 10 | 38 | -------------------------------------------------------------------------------- /src/lib/components/navbar.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 47 | -------------------------------------------------------------------------------- /src/lib/components/project-card.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 |
9 | {name} 10 | 11 |
14 |

{name}

15 |

16 | {description.slice(0, 80)}... 17 |

18 |
19 |
20 |
21 | -------------------------------------------------------------------------------- /src/lib/components/theme-select.svelte: -------------------------------------------------------------------------------- 1 |
2 | 31 |
32 | -------------------------------------------------------------------------------- /src/lib/components/twitter-icon.svelte: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/lib/components/you-tube-icon.svelte: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/lib/graphql-client.js: -------------------------------------------------------------------------------- 1 | import { PUBLIC_GRAPHQL_API } from '$env/static/public' 2 | import { GraphQLClient } from 'graphql-request' 3 | 4 | export const client = new GraphQLClient(PUBLIC_GRAPHQL_API) 5 | -------------------------------------------------------------------------------- /src/lib/graphql-queries.js: -------------------------------------------------------------------------------- 1 | import { gql } from 'graphql-request' 2 | 3 | export const authorsQuery = gql` 4 | query GetAuthors { 5 | authors { 6 | name 7 | intro 8 | bio 9 | slug 10 | picture { 11 | url 12 | } 13 | } 14 | } 15 | ` 16 | 17 | const PROJECT_FRAGMENT = gql` 18 | fragment ProjectDetails on Project { 19 | name 20 | slug 21 | description 22 | tags 23 | demo 24 | sourceCode 25 | image { 26 | url 27 | } 28 | } 29 | ` 30 | 31 | export const projectsQuery = gql` 32 | ${PROJECT_FRAGMENT} 33 | query GetProjects { 34 | projects { 35 | ...ProjectDetails 36 | } 37 | } 38 | ` 39 | 40 | export const projectQuery = gql` 41 | ${PROJECT_FRAGMENT} 42 | query GetProject($slug: String!) { 43 | project(where: { slug: $slug }) { 44 | ...ProjectDetails 45 | } 46 | } 47 | ` 48 | 49 | const POST_FRAGMENT = gql` 50 | fragment PostDetails on Post { 51 | title 52 | slug 53 | date 54 | content 55 | tags 56 | coverImage { 57 | url 58 | } 59 | authors { 60 | name 61 | } 62 | } 63 | ` 64 | 65 | export const postsQuery = gql` 66 | ${POST_FRAGMENT} 67 | query GetPosts { 68 | posts { 69 | ...PostDetails 70 | } 71 | } 72 | ` 73 | 74 | export const postQuery = gql` 75 | ${POST_FRAGMENT} 76 | query GetPost($slug: String!) { 77 | post(where: { slug: $slug }) { 78 | ...PostDetails 79 | } 80 | } 81 | ` 82 | 83 | export const socialsQuery = gql` 84 | query GetSocials { 85 | socials { 86 | twitterUrl 87 | youTubeUrl 88 | facebookUrl 89 | } 90 | } 91 | ` 92 | 93 | export const siteMetadataQuery = gql` 94 | query GetProjectMetadatas { 95 | projectMetadatas { 96 | name 97 | siteUrl 98 | description 99 | openGraphDefaultImage { 100 | url( 101 | transformation: { 102 | image: { resize: { width: 1200, height: 630, fit: clip } } 103 | } 104 | ) 105 | } 106 | } 107 | } 108 | ` 109 | -------------------------------------------------------------------------------- /src/routes/+layout.js: -------------------------------------------------------------------------------- 1 | import { client } from '$lib/graphql-client' 2 | import { 3 | authorsQuery, 4 | siteMetadataQuery, 5 | socialsQuery 6 | } from '$lib/graphql-queries' 7 | 8 | /** @type {import('./$types').LayoutLoad} */ 9 | export const load = async () => { 10 | const fetchMetaData = async () => { 11 | const { projectMetadatas } = await client.request( 12 | siteMetadataQuery 13 | ) 14 | return projectMetadatas[0] 15 | } 16 | 17 | const fetchSocials = async () => { 18 | const { socials } = await client.request(socialsQuery) 19 | return socials[0] 20 | } 21 | 22 | const fetchAuthors = async () => { 23 | const { authors } = await client.request(authorsQuery) 24 | return authors[0] 25 | } 26 | 27 | return { 28 | metadata: fetchMetaData(), 29 | socials: fetchSocials(), 30 | authors: fetchAuthors() 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/routes/+layout.svelte: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 |
18 | 19 |
20 |