From a80f26577284baa6e19d86252ed7b5a24b0571f1 Mon Sep 17 00:00:00 2001 From: Felipe Torres Date: Fri, 24 Nov 2023 20:59:18 -0800 Subject: [PATCH] Adding prettier/eslint/tsc action --- .github/workflows/lint_and_typecheck.yml | 58 +++++++++++++ package-lock.json | 97 ++++------------------ package.json | 7 +- src/components/Navbar/MainNav.tsx | 3 +- src/components/Navbar/MobileLink.tsx | 1 - src/components/Navbar/MobileNav.tsx | 6 +- src/components/Navbar/MobileNavbarItem.tsx | 15 +++- src/components/Navbar/NavbarItem.tsx | 27 ++++-- src/components/Navbar/ThemeSwitcher.tsx | 58 +++++++------ src/components/Navbar/types.d.ts | 18 ++-- src/components/PageTransition.tsx | 4 +- src/components/providers.tsx | 16 ++-- src/components/ui/button.tsx | 26 +++--- src/components/ui/dropdown-menu.tsx | 82 +++++++++--------- src/components/ui/scroll-area.tsx | 20 ++--- src/components/ui/sheet.tsx | 58 ++++++------- src/lib/utils.ts | 2 +- 17 files changed, 261 insertions(+), 237 deletions(-) create mode 100644 .github/workflows/lint_and_typecheck.yml diff --git a/.github/workflows/lint_and_typecheck.yml b/.github/workflows/lint_and_typecheck.yml new file mode 100644 index 0000000..806d65c --- /dev/null +++ b/.github/workflows/lint_and_typecheck.yml @@ -0,0 +1,58 @@ +name: Lint and Typecheck + +on: + push: + branches: + - main + pull_request: + +jobs: + linting-and-typechecking: + runs-on: ubuntu-latest + name: Linting and Typechecking + + # Considerar Mover clone/setup/caches a un composite action 🙏 + steps: + - name: ⏳ Cloning repo + uses: actions/checkout@v3 + + - name: ⬢ Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: 📦 Download Cached Package Dependencies + uses: actions/cache@v3 + env: + cache-name: NPM + with: + path: ~/.npm + key: CACHE-${{ env.cache-name }}-${{ hashFiles('package-lock.json') }} + + - name: 📦 Download Cached Eslint output + uses: actions/cache@v3 + env: + cache-name: ESLINT + with: + path: .eslintcache + key: CACHE-${{ env.cache-name }}-${{ hashFiles('.eslintcache') }} + + - name: 📦 Download Cached Typescript output + uses: actions/cache@v3 + env: + cache-name: TYPESCRIPT + with: + path: tsconfig.tsbuildinfo + key: CACHE-${{ env.cache-name }}-${{ hashFiles('tsconfig.tsbuildinfo') }} + + - name: 📥 Install dependencies + run: npm ci --prefer-offline --no-audit --legacy-peer-deps --cache ~/.npm + + - name: Run Linter + run: npm run lint + + - name: Run Typecheck + run: npm run typecheck + + - name: Run Prettier + run: npm run prettier:ci diff --git a/package-lock.json b/package-lock.json index 4827cde..5560459 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,6 +29,7 @@ "framer-motion": "^10.12.18", "graphiql": "^3.0.6", "graphql": "^16.8.1", + "graphql-config": "^5.0.3", "graphql-request": "^6.1.0", "lucide-react": "^0.265.0", "next": "^14.0.3", @@ -289,7 +290,6 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz", "integrity": "sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==", - "dev": true, "dependencies": { "node-fetch": "^2.6.1" }, @@ -323,7 +323,6 @@ "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.10.tgz", "integrity": "sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==", - "dev": true, "dependencies": { "@babel/highlight": "^7.22.10", "chalk": "^2.4.2" @@ -336,7 +335,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -348,7 +346,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -362,7 +359,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -370,14 +366,12 @@ "node_modules/@babel/code-frame/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -386,7 +380,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -395,7 +388,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -672,7 +664,6 @@ "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -704,7 +695,6 @@ "version": "7.22.10", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.10.tgz", "integrity": "sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", @@ -718,7 +708,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -730,7 +719,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -744,7 +732,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -752,14 +739,12 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -768,7 +753,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -777,7 +761,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -2783,7 +2766,6 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.0.tgz", "integrity": "sha512-lT9/1XmPSYzBcEybXPLsuA6C5E0t8438PVUELABcqdvwHgZ3VOOx29MLBEqhr2oewOlDChH6PXNkfxoOoAuzRg==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.0", "dataloader": "^2.2.2", @@ -2841,7 +2823,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.0.1.tgz", "integrity": "sha512-WaubawRuK8pAOskUnkXJ9yA06SXODcSsBAeqXVxGuXoo2CXvj8JJRq9+TOj5Lm/MOm6CSVdsYfEDmvogMg9kgw==", - "dev": true, "dependencies": { "@graphql-tools/batch-execute": "^9.0.0", "@graphql-tools/executor": "^1.0.0", @@ -2878,7 +2859,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.1.0.tgz", "integrity": "sha512-+1wmnaUHETSYxiK/ELsT60x584Rw3QKBB7F/7fJ83HKPnLifmE2Dm/K9Eyt6L0Ppekf1jNUbWBpmBGb8P5hAeg==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.0", "@graphql-typed-document-node/core": "3.2.0", @@ -2897,7 +2877,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-1.1.0.tgz", "integrity": "sha512-yM67SzwE8rYRpm4z4AuGtABlOp9mXXVy6sxXnTJRoYIdZrmDbKVfIY+CpZUJCqS0FX3xf2+GoHlsj7Qswaxgcg==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.2", "@types/ws": "^8.0.0", @@ -2917,7 +2896,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.0.2.tgz", "integrity": "sha512-JKTB4E3kdQM2/1NEcyrVPyQ8057ZVthCV5dFJiKktqY9IdmF00M8gupFcW3jlbM/Udn78ickeUBsUzA3EouqpA==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.2", "@repeaterjs/repeater": "^3.0.4", @@ -2938,7 +2916,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.1.1.tgz", "integrity": "sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==", - "dev": true, "engines": { "node": ">=16.0.0" } @@ -2947,7 +2924,6 @@ "version": "0.9.9", "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.9.9.tgz", "integrity": "sha512-OTVoDm039CNyAWSRc2WBimMl/N9J4Fk2le21Xzcf+3OiWPNNSIbMnpWKBUyraPh2d9SAEgoBdQxTfVNihXgiUw==", - "dev": true, "dependencies": { "@whatwg-node/node-fetch": "^0.4.8", "urlpattern-polyfill": "^9.0.0" @@ -2960,7 +2936,6 @@ "version": "0.4.12", "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.4.12.tgz", "integrity": "sha512-QpWoupgFXtQQ6nFhWcQHfLCT8ZMay8AV20iFBnc4MBWgPopR1AylbPuF+XYGGffcIADwF0byCH6a4p1CjvGhlQ==", - "dev": true, "dependencies": { "@whatwg-node/events": "^0.1.0", "busboy": "^1.6.0", @@ -2975,14 +2950,12 @@ "node_modules/@graphql-tools/executor-http/node_modules/urlpattern-polyfill": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", - "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", - "dev": true + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==" }, "node_modules/@graphql-tools/executor-legacy-ws": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.0.1.tgz", "integrity": "sha512-PQrTJ+ncHMEQspBARc2lhwiQFfRAX/z/CsOdZTFjIljOHgRWGAA1DAx7pEN0j6PflbLCfZ3NensNq2jCBwF46w==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.0", "@types/ws": "^8.0.0", @@ -3128,7 +3101,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.0.0.tgz", "integrity": "sha512-wRXj9Z1IFL3+zJG1HWEY0S4TXal7+s1vVhbZva96MSp0kbb/3JBF7j0cnJ44Eq0ClccMgGCDFqPFXty4JlpaPg==", - "dev": true, "dependencies": { "@graphql-tools/import": "7.0.0", "@graphql-tools/utils": "^10.0.0", @@ -3177,7 +3149,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.0.0.tgz", "integrity": "sha512-NVZiTO8o1GZs6OXzNfjB+5CtQtqsZZpQOq+Uu0w57kdUkT4RlQKlwhT8T81arEsbV55KpzkpFsOZP7J1wdmhBw==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.0", "resolve-from": "5.0.0", @@ -3194,7 +3165,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.0.tgz", "integrity": "sha512-ki6EF/mobBWJjAAC84xNrFMhNfnUFD6Y0rQMGXekrUgY0NdeYXHU0ZUgHzC9O5+55FslqUmAUHABePDHTyZsLg==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.0", "globby": "^11.0.3", @@ -3212,7 +3182,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.0.0.tgz", "integrity": "sha512-Cy874bQJH0FP2Az7ELPM49iDzOljQmK1PPH6IuxsWzLSTxwTqd8dXA09dcVZrI7/LsN26heTY2R8q2aiiv0GxQ==", - "dev": true, "dependencies": { "@graphql-tools/schema": "^10.0.0", "@graphql-tools/utils": "^10.0.0", @@ -3230,7 +3199,6 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.0.tgz", "integrity": "sha512-J7/xqjkGTTwOJmaJQJ2C+VDBDOWJL3lKrHJN4yMaRLAJH3PosB7GiPRaSDZdErs0+F77sH2MKs2haMMkywzx7Q==", - "dev": true, "dependencies": { "@graphql-tools/utils": "^10.0.0", "tslib": "^2.4.0" @@ -3354,7 +3322,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.0.tgz", "integrity": "sha512-kf3qOXMFcMs2f/S8Y3A8fm/2w+GaHAkfr3Gnhh2LOug/JgpY/ywgFVxO3jOeSpSEdoYcDKLcXVjMigNbY4AdQg==", - "dev": true, "dependencies": { "@graphql-tools/merge": "^9.0.0", "@graphql-tools/utils": "^10.0.0", @@ -3372,7 +3339,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.0.tgz", "integrity": "sha512-rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA==", - "dev": true, "dependencies": { "@ardatan/sync-fetch": "^0.0.1", "@graphql-tools/delegate": "^10.0.0", @@ -3399,7 +3365,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.1.1.tgz", "integrity": "sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==", - "dev": true, "engines": { "node": ">=16.0.0" } @@ -3408,7 +3373,6 @@ "version": "0.9.9", "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.9.9.tgz", "integrity": "sha512-OTVoDm039CNyAWSRc2WBimMl/N9J4Fk2le21Xzcf+3OiWPNNSIbMnpWKBUyraPh2d9SAEgoBdQxTfVNihXgiUw==", - "dev": true, "dependencies": { "@whatwg-node/node-fetch": "^0.4.8", "urlpattern-polyfill": "^9.0.0" @@ -3421,7 +3385,6 @@ "version": "0.4.12", "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.4.12.tgz", "integrity": "sha512-QpWoupgFXtQQ6nFhWcQHfLCT8ZMay8AV20iFBnc4MBWgPopR1AylbPuF+XYGGffcIADwF0byCH6a4p1CjvGhlQ==", - "dev": true, "dependencies": { "@whatwg-node/events": "^0.1.0", "busboy": "^1.6.0", @@ -3436,14 +3399,12 @@ "node_modules/@graphql-tools/url-loader/node_modules/urlpattern-polyfill": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", - "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", - "dev": true + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==" }, "node_modules/@graphql-tools/utils": { "version": "10.0.4", "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.4.tgz", "integrity": "sha512-MF+nZgGROSnFgyOYWhrl2PuJMlIBvaCH48vtnlnDQKSeDc2fUfOzUVloBAQvnYmK9JBmHHks4Pxv25Ybg3r45Q==", - "dev": true, "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", "dset": "^3.1.2", @@ -3460,7 +3421,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.0.0.tgz", "integrity": "sha512-HDOeUUh6UhpiH0WPJUQl44ODt1x5pnMUbOJZ7GjTdGQ7LK0AgVt3ftaAQ9duxLkiAtYJmu5YkULirfZGj4HzDg==", - "dev": true, "dependencies": { "@graphql-tools/delegate": "^10.0.0", "@graphql-tools/schema": "^10.0.0", @@ -4927,8 +4887,7 @@ "node_modules/@repeaterjs/repeater": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz", - "integrity": "sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==", - "dev": true + "integrity": "sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==" }, "node_modules/@rushstack/eslint-patch": { "version": "1.3.3", @@ -5077,7 +5036,6 @@ "version": "8.5.5", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -6458,7 +6416,6 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", - "dev": true, "dependencies": { "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -6523,8 +6480,7 @@ "node_modules/dataloader": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz", - "integrity": "sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==", - "dev": true + "integrity": "sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==" }, "node_modules/debounce": { "version": "1.2.1", @@ -6750,7 +6706,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz", "integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==", - "dev": true, "engines": { "node": ">=4" } @@ -6801,7 +6756,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -7468,7 +7422,6 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz", "integrity": "sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==", - "dev": true, "engines": { "node": "^12.20 || >= 14.13" }, @@ -7479,8 +7432,7 @@ "node_modules/fast-decode-uri-component": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", - "dev": true + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" }, "node_modules/fast-deep-equal": { "version": "3.1.3", @@ -7527,7 +7479,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", - "dev": true, "dependencies": { "fast-decode-uri-component": "^1.0.1" } @@ -7536,7 +7487,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dev": true, "dependencies": { "punycode": "^1.3.2" } @@ -7956,10 +7906,9 @@ } }, "node_modules/graphql-config": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.0.2.tgz", - "integrity": "sha512-7TPxOrlbiG0JplSZYCyxn2XQtqVhXomEjXUmWJVSS5ET1nPhOJSsIb/WTwqWhcYX6G0RlHXSj9PLtGTKmxLNGg==", - "dev": true, + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.0.3.tgz", + "integrity": "sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==", "dependencies": { "@graphql-tools/graphql-file-loader": "^8.0.0", "@graphql-tools/json-file-loader": "^8.0.0", @@ -7990,7 +7939,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.3.tgz", "integrity": "sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -8058,7 +8006,6 @@ "version": "5.14.0", "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.14.0.tgz", "integrity": "sha512-itrUTQZP/TgswR4GSSYuwWUzrE/w5GhbwM2GX3ic2U7aw33jgEsayfIlvaj7/GcIvZgNMzsPTrE5hqPuFUiE5g==", - "devOptional": true, "engines": { "node": ">=10" }, @@ -8403,8 +8350,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -8818,7 +8764,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", - "dev": true, "peerDependencies": { "ws": "*" } @@ -8890,8 +8835,7 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -9867,7 +9811,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -10253,8 +10196,7 @@ "node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, "node_modules/pvtsutils": { "version": "1.3.3", @@ -10482,8 +10424,7 @@ "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" }, "node_modules/remove-trailing-spaces": { "version": "1.0.8", @@ -10526,7 +10467,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, "engines": { "node": ">=8" } @@ -10960,8 +10900,7 @@ "node_modules/string-env-interpolation": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", - "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==", - "dev": true + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==" }, "node_modules/string-width": { "version": "4.2.3", @@ -11667,7 +11606,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", - "dev": true, "dependencies": { "normalize-path": "^2.1.1" }, @@ -11679,7 +11617,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, @@ -11833,7 +11770,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==", - "dev": true, "engines": { "node": ">=12" } @@ -11982,7 +11918,6 @@ "version": "8.13.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "dev": true, "engines": { "node": ">=10.0.0" }, diff --git a/package.json b/package.json index dba2ff3..928a97d 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,10 @@ "generate": "graphql-codegen", "prestart": "npm run generate", "predev": "npm run generate", - "lint": "next lint", - "prettier": "prettier ./src --write" + "typecheck": "tsc", + "lint": "eslint ./src --cache", + "prettier:ci": "prettier ./src --cache --check", + "prettier:fix": "prettier ./src --cache --write" }, "dependencies": { "@apollo/client": "^3.9.0-alpha.4", @@ -59,6 +61,7 @@ "eslint": "^8.44.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-tailwindcss": "^3.13.0", + "graphql-config": "^5.0.3", "prettier": "^3.0.0", "prettier-plugin-tailwindcss": "^0.3.0", "ts-node": "^10.9.1", diff --git a/src/components/Navbar/MainNav.tsx b/src/components/Navbar/MainNav.tsx index 92c2ce8..9db06cf 100644 --- a/src/components/Navbar/MainNav.tsx +++ b/src/components/Navbar/MainNav.tsx @@ -3,8 +3,7 @@ import { NavbarItem } from "./NavbarItem"; export function MainNav({ items }: NavBarProps) { return ( -