From 98b966768929f41fabff9cf03419a07230810c4e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 19:16:40 +0000 Subject: [PATCH 01/72] chore(deps): update dependency eslint to v8.50.0 --- package-lock.json | 22 +++++++++++----------- package.json | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e095640..3d68c17d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,7 +88,7 @@ "autoprefixer": "^10.4.15", "babel-plugin-styled-components": "^2.1.4", "cross-env": "^7.0.3", - "eslint": "8.49.0", + "eslint": "8.50.0", "eslint-config-next": "^13.4.13", "eslint-config-prettier": "^9.0.0", "eslint-config-react-app": "^7.0.1", @@ -2780,9 +2780,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -9910,15 +9910,15 @@ } }, "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.50.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -10919,9 +10919,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", "dev": true, "dependencies": { "type-fest": "^0.20.2" diff --git a/package.json b/package.json index 09d84aec..7c34c521 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "autoprefixer": "^10.4.15", "babel-plugin-styled-components": "^2.1.4", "cross-env": "^7.0.3", - "eslint": "8.49.0", + "eslint": "8.50.0", "eslint-config-next": "^13.4.13", "eslint-config-prettier": "^9.0.0", "eslint-config-react-app": "^7.0.1", From cae5f9cb29d63f93cd4082232296ba0c6b177d61 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 19:16:46 +0000 Subject: [PATCH 02/72] chore(deps): update actions/checkout action to v4 --- .github/workflows/nextjs_bundle_analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nextjs_bundle_analysis.yml b/.github/workflows/nextjs_bundle_analysis.yml index b1a54ad7..e4bf2002 100644 --- a/.github/workflows/nextjs_bundle_analysis.yml +++ b/.github/workflows/nextjs_bundle_analysis.yml @@ -24,7 +24,7 @@ jobs: analyze: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v3 From 502fb37af6d988e2fa457021d48fe102a3408d91 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 19:16:50 +0000 Subject: [PATCH 03/72] chore(deps): update peter-evans/create-or-update-comment action to v3 --- .github/workflows/nextjs_bundle_analysis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nextjs_bundle_analysis.yml b/.github/workflows/nextjs_bundle_analysis.yml index b1a54ad7..8995916e 100644 --- a/.github/workflows/nextjs_bundle_analysis.yml +++ b/.github/workflows/nextjs_bundle_analysis.yml @@ -118,14 +118,14 @@ jobs: body-includes: "" - name: Create Comment - uses: peter-evans/create-or-update-comment@v2 + uses: peter-evans/create-or-update-comment@v3 if: success() && github.event.number && steps.fc.outputs.comment-id == 0 with: issue-number: ${{ github.event.number }} body: ${{ steps.get-comment-body.outputs.body }} - name: Update Comment - uses: peter-evans/create-or-update-comment@v2 + uses: peter-evans/create-or-update-comment@v3 if: success() && github.event.number && steps.fc.outputs.comment-id != 0 with: issue-number: ${{ github.event.number }} From df0220d93f6f1a5056ba7283c7c386cf3adc00a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Sep 2023 19:29:59 +0000 Subject: [PATCH 04/72] fix(deps): update dependency @radix-ui/react-select to v2 --- package-lock.json | 296 +++------------------------------------------- package.json | 2 +- 2 files changed, 17 insertions(+), 281 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e095640..e94d859b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-dropdown-menu": "^2.0.5", "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-tooltip": "^1.0.6", "@semantic-release/changelog": "^6.0.3", @@ -4399,81 +4399,6 @@ } } }, - "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", - "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-portal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", - "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-direction": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", @@ -4492,9 +4417,9 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", - "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.1", @@ -4565,9 +4490,9 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", - "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-compose-refs": "1.0.1", @@ -4670,59 +4595,7 @@ } } }, - "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", - "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-popper": { + "node_modules/@radix-ui/react-popper": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", @@ -4754,7 +4627,7 @@ } } }, - "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-portal": { + "node_modules/@radix-ui/react-portal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", @@ -4777,61 +4650,6 @@ } } }, - "node_modules/@radix-ui/react-popper": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", - "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-portal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", - "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-presence": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", @@ -4911,9 +4729,9 @@ } }, "node_modules/@radix-ui/react-select": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", - "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.0.0.tgz", + "integrity": "sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==", "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/number": "1.0.1", @@ -4922,12 +4740,12 @@ "@radix-ui/react-compose-refs": "1.0.1", "@radix-ui/react-context": "1.0.1", "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-dismissable-layer": "1.0.5", "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-focus-scope": "1.0.4", "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.2", - "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", "@radix-ui/react-primitive": "1.0.3", "@radix-ui/react-slot": "1.0.2", "@radix-ui/react-use-callback-ref": "1.0.1", @@ -5005,88 +4823,6 @@ } } }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", - "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", - "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", diff --git a/package.json b/package.json index 09d84aec..a7eefae9 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-dropdown-menu": "^2.0.5", "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-tooltip": "^1.0.6", "@semantic-release/changelog": "^6.0.3", From fe3ead35071447a94a9a0323c45f3530febda8ed Mon Sep 17 00:00:00 2001 From: rharkor Date: Tue, 26 Sep 2023 21:48:57 +0200 Subject: [PATCH 05/72] refactor: package lock --- package-lock.json | 67 ++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e095640..5d586e4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16169,6 +16169,18 @@ "node": ">= 8.0.0" } }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", "inBundle": true, @@ -16259,6 +16271,14 @@ "node": ">=8" } }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/npm/node_modules/buffer": { "version": "6.0.3", "funding": [ @@ -16356,6 +16376,14 @@ "node": ">=10" } }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", "inBundle": true, @@ -16648,18 +16676,18 @@ } }, "node_modules/npm/node_modules/glob": { - "version": "10.3.9", + "version": "10.3.3", "inBundle": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.0.3", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/esm/bin.mjs" + "glob": "dist/cjs/src/bin.js" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -17139,14 +17167,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "inBundle": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/npm/node_modules/minipass": { "version": "7.0.3", "inBundle": true, @@ -17784,26 +17804,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm/node_modules/p-map/node_modules/aggregate-error": { - "version": "3.1.0", - "inBundle": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm/node_modules/p-map/node_modules/aggregate-error/node_modules/clean-stack": { - "version": "2.2.0", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/npm/node_modules/pacote": { "version": "17.0.4", "inBundle": true, @@ -18128,11 +18128,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/semver/node_modules/lru-cache/node_modules/yallist": { - "version": "4.0.0", - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", "inBundle": true, From dda46f554285bdcb0174d03710dd3e3ca843d6aa Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 27 Sep 2023 08:26:37 +0200 Subject: [PATCH 06/72] refactor: move inquirer deps --- scripts/package-lock.json | 9 ++------- scripts/package.json | 4 +--- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/scripts/package-lock.json b/scripts/package-lock.json index cc22772d..ee609499 100644 --- a/scripts/package-lock.json +++ b/scripts/package-lock.json @@ -9,12 +9,10 @@ "version": "1.0.0", "hasInstallScript": true, "dependencies": { + "@types/inquirer": "^9.0.3", "chalk": "^5.3.0", "depcheck": "^1.4.6", "inquirer": "^9.2.11" - }, - "devDependencies": { - "@types/inquirer": "^9.0.3" } }, "node_modules/@babel/code-frame": { @@ -311,7 +309,6 @@ "version": "9.0.3", "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.3.tgz", "integrity": "sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==", - "dev": true, "dependencies": { "@types/through": "*", "rxjs": "^7.2.0" @@ -325,8 +322,7 @@ "node_modules/@types/node": { "version": "20.7.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.0.tgz", - "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==", - "dev": true + "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -337,7 +333,6 @@ "version": "0.0.31", "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.31.tgz", "integrity": "sha512-LpKpmb7FGevYgXnBXYs6HWnmiFyVG07Pt1cnbgM1IhEacITTiUaBXXvOR3Y50ksaJWGSfhbEvQFivQEFGCC55w==", - "dev": true, "dependencies": { "@types/node": "*" } diff --git a/scripts/package.json b/scripts/package.json index 9396536b..427e8aed 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -11,11 +11,9 @@ }, "type": "module", "dependencies": { + "@types/inquirer": "^9.0.3", "chalk": "^5.3.0", "depcheck": "^1.4.6", "inquirer": "^9.2.11" - }, - "devDependencies": { - "@types/inquirer": "^9.0.3" } } From 670c3abc9c09d7f6e793ce8cc9257b8495e5f454 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Sep 2023 10:08:51 +0000 Subject: [PATCH 07/72] chore(deps): update dependency @types/react-dom to v18.2.8 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7009f364..8aa25dd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6213,9 +6213,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "version": "18.2.8", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz", + "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==", "devOptional": true, "dependencies": { "@types/react": "*" From ddc49f907993966243bffb79f3fc59aa37eafcf0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 02:00:03 +0000 Subject: [PATCH 08/72] chore(deps): update dependency @types/node to v20.7.1 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8aa25dd8..5835d076 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6170,9 +6170,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.7.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.0.tgz", - "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==", + "version": "20.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.1.tgz", + "integrity": "sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==", "devOptional": true }, "node_modules/@types/nodemailer": { From 56103818c177c84b02ee8b516862572dc968d647 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 03:58:30 +0000 Subject: [PATCH 09/72] fix(deps): update dependency superjson to v1.13.3 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5835d076..cd4a4ede 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21488,9 +21488,9 @@ } }, "node_modules/superjson": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.1.tgz", - "integrity": "sha512-AVH2eknm9DEd3qvxM4Sq+LTCkSXE2ssfh1t11MHMXyYXFQyQ1HLgVvV+guLTsaQnJU3gnaVo34TohHPulY/wLg==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz", + "integrity": "sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==", "dependencies": { "copy-anything": "^3.0.2" }, From 46fd80ac015c59125df6ff7fbdca21a39c7524ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 07:54:02 +0000 Subject: [PATCH 10/72] fix(deps): update trpc monorepo to v10.38.5 --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index cd4a4ede..1db00bb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5906,35 +5906,35 @@ "dev": true }, "node_modules/@trpc/client": { - "version": "10.38.4", - "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.38.4.tgz", - "integrity": "sha512-svpZ9Iq9cnn+XfXQZF8PMt1YxAtNYeGiKZ/pGpcume7RqJrra/kWwU41gbax8d/cAg3YKUgNft9dZFKMYtXuYw==", + "version": "10.38.5", + "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.38.5.tgz", + "integrity": "sha512-tpGUsoAP+3CD/1KRqMdWZ+zebvB68/86SaVPAYHaEDozTFLQdNqTe98DS/T0S4hfh7WCKbMSObj40SCzE8amKQ==", "funding": [ "https://trpc.io/sponsor" ], "peerDependencies": { - "@trpc/server": "10.38.4" + "@trpc/server": "10.38.5" } }, "node_modules/@trpc/react-query": { - "version": "10.38.4", - "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.38.4.tgz", - "integrity": "sha512-wEreUn9E+ZMKn/oRWlhHzmSgG5SG9WpmE1F27PPjn3I0S92aYRQvVsmV43v2OAL1VUYP2aHLk7gXx2luKLLRyw==", + "version": "10.38.5", + "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.38.5.tgz", + "integrity": "sha512-cGpKfiQen3ba3lTII3+Y6Hm3KnC60AS9n2AYt07I7LZx/GknsGHq4h570imdIxr6Qb5LtYe3DFV13kzbm+yGeA==", "funding": [ "https://trpc.io/sponsor" ], "peerDependencies": { "@tanstack/react-query": "^4.18.0", - "@trpc/client": "10.38.4", - "@trpc/server": "10.38.4", + "@trpc/client": "10.38.5", + "@trpc/server": "10.38.5", "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "node_modules/@trpc/server": { - "version": "10.38.4", - "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.38.4.tgz", - "integrity": "sha512-xSMTwnKA/Unxu5fbAkQ7cApHeWj1rTEA3XgrGDcPHn03fmeIidIKxronM46N46ZF4CCexey4JWzu89XxA16uIA==", + "version": "10.38.5", + "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.38.5.tgz", + "integrity": "sha512-J0d2Y3Gpt2bMohOshPBfuzDqVrPaE3OKEDtJYgTmLk5t1pZy3kXHQep4rP2LEIr+ELbmkelhcrSvvFLA+4/w/Q==", "funding": [ "https://trpc.io/sponsor" ] From b91cc8a934c853f915a9d234f4bf8f7f261e6482 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 09:22:50 +0000 Subject: [PATCH 11/72] fix(deps): update dependency @semantic-release/github to v9.2.1 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1db00bb0..38c59fc8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5050,9 +5050,9 @@ } }, "node_modules/@semantic-release/github": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.1.0.tgz", - "integrity": "sha512-RKhS43OpNnQr9rA9Z72EbG8wM/UmWoCpop2z6G++ulRu7t8MuYS2v6TR2SoOFhcDPa2wY91v5VPouCWtDjz4+Q==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.1.tgz", + "integrity": "sha512-fEn9uOe6jwWR6ro2Wh6YNBCBuZ5lRi8Myz+1j3KDTSt8OuUGlpVM4lFac/0bDrql2NOKrIEAMGCfWb9WMIdzIg==", "dependencies": { "@octokit/core": "^5.0.0", "@octokit/plugin-paginate-rest": "^9.0.0", From 2c89b5cc1118f6e5b7c49d507daacaceb5fa6015 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 12:26:24 +0000 Subject: [PATCH 12/72] chore(deps): update dependency @types/request-ip to ^0.0.39 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 38c59fc8..843a4d7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "@types/nodemailer": "^6.4.10", "@types/react": "^18.2.19", "@types/react-dom": "^18.2.7", - "@types/request-ip": "^0.0.38", + "@types/request-ip": "^0.0.39", "@types/ua-parser-js": "^0.7.36", "@typescript-eslint/eslint-plugin": "^6.3.0", "@typescript-eslint/parser": "^6.3.0", @@ -6222,9 +6222,9 @@ } }, "node_modules/@types/request-ip": { - "version": "0.0.38", - "resolved": "https://registry.npmjs.org/@types/request-ip/-/request-ip-0.0.38.tgz", - "integrity": "sha512-1yeq8UuK/tUBqLXRY24gjeFvrSNaGNcOcZLQjHlnuw8iu+qE/vTQ64TUcLWorr607NKLfFakdoYEXXHXrLLKCw==", + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/request-ip/-/request-ip-0.0.39.tgz", + "integrity": "sha512-2vZI+q4ToHvm6Qspi6G+S1f8+dWL23ZnCaauSS4i6LPxR4V//+O44l472aCG5rZtuAQfODihIWWN8z1UK2bOIA==", "dev": true, "dependencies": { "@types/node": "*" diff --git a/package.json b/package.json index 91d4a2ea..260aa4b5 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "@types/nodemailer": "^6.4.10", "@types/react": "^18.2.19", "@types/react-dom": "^18.2.7", - "@types/request-ip": "^0.0.38", + "@types/request-ip": "^0.0.39", "@types/ua-parser-js": "^0.7.36", "@typescript-eslint/eslint-plugin": "^6.3.0", "@typescript-eslint/parser": "^6.3.0", From 0097e824b2fa08e528cc15aa6ec9f98e77a8bbbd Mon Sep 17 00:00:00 2001 From: rharkor Date: Thu, 28 Sep 2023 14:30:10 +0200 Subject: [PATCH 13/72] fix: bun, --- bun.lockb | Bin 591022 -> 0 bytes package-lock.json | 12 ++++++------ package.json | 6 +++--- scripts/bun.lockb | Bin 66112 -> 0 bytes src/middleware.ts | 1 - 5 files changed, 9 insertions(+), 10 deletions(-) delete mode 100755 bun.lockb delete mode 100755 scripts/bun.lockb diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 3ba0889470c4ef3081057b8a395265c86f936862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591022 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%0D;;iYf@Lq4 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 A(f|Me diff --git a/package-lock.json b/package-lock.json index 38c59fc8..21391e0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,9 +31,9 @@ "@t3-oss/env-nextjs": "^0.6.0", "@tanstack/react-query": "^4.32.6", "@testing-library/user-event": "^14.4.3", - "@trpc/client": "^10.38.2", - "@trpc/react-query": "^10.38.2", - "@trpc/server": "^10.38.2", + "@trpc/client": "^10.38.5", + "@trpc/react-query": "^10.38.5", + "@trpc/server": "^10.38.5", "bcryptjs": "^2.4.3", "class-variance-authority": "^0.7.0", "cli-spinner": "^0.2.10", @@ -11193,9 +11193,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" diff --git a/package.json b/package.json index 91d4a2ea..6158cefc 100644 --- a/package.json +++ b/package.json @@ -48,9 +48,9 @@ "@t3-oss/env-nextjs": "^0.6.0", "@tanstack/react-query": "^4.32.6", "@testing-library/user-event": "^14.4.3", - "@trpc/client": "^10.38.2", - "@trpc/react-query": "^10.38.2", - "@trpc/server": "^10.38.2", + "@trpc/client": "^10.38.5", + "@trpc/react-query": "^10.38.5", + "@trpc/server": "^10.38.5", "bcryptjs": "^2.4.3", "class-variance-authority": "^0.7.0", "cli-spinner": "^0.2.10", diff --git a/scripts/bun.lockb b/scripts/bun.lockb deleted file mode 100755 index 74cea1d4d5b8c0ee229f3c093f01fc68b943e6ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66112 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 RdM6^EIf?JS{Qvv=e*q+A1iJtL diff --git a/src/middleware.ts b/src/middleware.ts index b05014c9..827b4e1b 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -70,7 +70,6 @@ export function middleware(request: NextRequest) { // The new URL is now /en-US/products const params = new URLSearchParams(request.nextUrl.search) const redirectUrl = new URL(`/${locale}${pathname.startsWith("/") ? "" : "/"}${pathname}?${params}`, request.url) - logger.debug(`redirecting to ${redirectUrl}`) return NextResponse.redirect(redirectUrl) } } From 09b326ded373b4afbe7ecb04caa08a3f2daac13b Mon Sep 17 00:00:00 2001 From: rharkor Date: Thu, 28 Sep 2023 14:33:51 +0200 Subject: [PATCH 14/72] refactor: runtime switch delete node moduel --- scripts/runtime.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/runtime.ts b/scripts/runtime.ts index f7ec4285..5ea484b7 100644 --- a/scripts/runtime.ts +++ b/scripts/runtime.ts @@ -176,6 +176,10 @@ export const runtime = async () => { const newRuntime = res.runtime === "node (npm)" ? { npm: "npm", npx: "npx" } : { npm: "bun", npx: "bunx" } await processBasicFiles(currentRuntime, newRuntime) + //? Delete old node_modules + console.log(chalk.blue(`Deleting old node_modules`)) + await fs.rm(path.join(root, "node_modules"), { recursive: true, force: true }) + //? Save the new runtime projectInfoJson.runtime = newRuntime await fs.writeFile(path.join(root, "scripts", ".pinfo.json"), JSON.stringify(projectInfoJson, null, 2) + "\n", "utf8") From 4e2bd74e86899a75a4802f16ef8f424cba6583a6 Mon Sep 17 00:00:00 2001 From: rharkor Date: Thu, 28 Sep 2023 14:45:50 +0200 Subject: [PATCH 15/72] style: fixes --- docker/docker-compose.yml | 4 ++++ src/app/[lang]/(protected)/profile/page.tsx | 2 +- src/components/locale-switcher.tsx | 2 +- src/components/need-save-popup.tsx | 4 ++-- src/components/profile/update-account.tsx | 6 +----- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 459e4325..f455a5c1 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -3,6 +3,7 @@ version: "3.8" services: app: image: #{DOCKER_DEPLOY_APP_IMAGE}# + container_name: #{APP_NAME}#_app restart: unless-stopped logging: driver: "json-file" @@ -15,6 +16,7 @@ services: crons: image: #{DOCKER_DEPLOY_CRONS_IMAGE}# + container_name: #{APP_NAME}#_crons restart: unless-stopped logging: driver: "json-file" @@ -25,6 +27,7 @@ services: db: image: postgres:latest + container_name: #{APP_NAME}#_db restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data @@ -42,6 +45,7 @@ services: redis: restart: unless-stopped + container_name: #{APP_NAME}#_redis image: redis:latest command: /bin/sh -c "redis-server --requirepass ${REDIS_PASSWORD}" logging: diff --git a/src/app/[lang]/(protected)/profile/page.tsx b/src/app/[lang]/(protected)/profile/page.tsx index 17b4d962..de13481d 100644 --- a/src/app/[lang]/(protected)/profile/page.tsx +++ b/src/app/[lang]/(protected)/profile/page.tsx @@ -19,7 +19,7 @@ export default async function Profile({ const session = await getServerSession(nextAuthOptions) return ( -
+
diff --git a/src/components/locale-switcher.tsx b/src/components/locale-switcher.tsx index 7f5515ec..80a1582a 100644 --- a/src/components/locale-switcher.tsx +++ b/src/components/locale-switcher.tsx @@ -32,7 +32,7 @@ export default function LocaleSwitcher({ lang }: { lang: Locale }) { setDynamicLocale(value) }} > - + diff --git a/src/components/need-save-popup.tsx b/src/components/need-save-popup.tsx index d0abd0ed..eee3d6b3 100644 --- a/src/components/need-save-popup.tsx +++ b/src/components/need-save-popup.tsx @@ -16,13 +16,13 @@ export type INeedSavePopupProps = { export default function NeedSavePopup({ show, onReset, onSave, text, isSubmitting, dictionary }: INeedSavePopupProps) { return (
{ - resetForm() - }, [resetForm]) - if (form.formState.isDirty && !isNotSensibleInformationsUpdated) { setIsNotSensibleInformationsUpdated(true) } else if (!form.formState.isDirty && isNotSensibleInformationsUpdated) { From 1fcb2ae13668fac9a74154146f57d93c7c02a152 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 22:37:13 +0000 Subject: [PATCH 16/72] chore(deps): update dependency postcss to v8.4.31 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c340dd64..954feac9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19106,9 +19106,9 @@ } }, "node_modules/postcss": { - "version": "8.4.30", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", - "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", From 693fad6e163e5a99baa1264c0cacb57ed3f87327 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 15:13:14 +0000 Subject: [PATCH 17/72] chore(deps): update dependency vitest to v0.34.6 --- package-lock.json | 89 ++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index 954feac9..6b42bcbd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6785,26 +6785,26 @@ } }, "node_modules/@vitest/expect": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.5.tgz", - "integrity": "sha512-/3RBIV9XEH+nRpRMqDJBufKIOQaYUH2X6bt0rKSCW0MfKhXFLYsR5ivHifeajRSTsln0FwJbitxLKHSQz/Xwkw==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.6.tgz", + "integrity": "sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==", "dev": true, "dependencies": { - "@vitest/spy": "0.34.5", - "@vitest/utils": "0.34.5", - "chai": "^4.3.7" + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "chai": "^4.3.10" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.5.tgz", - "integrity": "sha512-RDEE3ViVvl7jFSCbnBRyYuu23XxmvRTSZWW6W4M7eC5dOsK75d5LIf6uhE5Fqf809DQ1+9ICZZNxhIolWHU4og==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.6.tgz", + "integrity": "sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==", "dev": true, "dependencies": { - "@vitest/utils": "0.34.5", + "@vitest/utils": "0.34.6", "p-limit": "^4.0.0", "pathe": "^1.1.1" }, @@ -6840,9 +6840,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.5.tgz", - "integrity": "sha512-+ikwSbhu6z2yOdtKmk/aeoDZ9QPm2g/ZO5rXT58RR9Vmu/kB2MamyDSx77dctqdZfP3Diqv4mbc/yw2kPT8rmA==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.6.tgz", + "integrity": "sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==", "dev": true, "dependencies": { "magic-string": "^0.30.1", @@ -6886,9 +6886,9 @@ "dev": true }, "node_modules/@vitest/spy": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.5.tgz", - "integrity": "sha512-epsicsfhvBjRjCMOC/3k00mP/TBGQy8/P0DxOFiWyLt55gnZ99dqCfCiAsKO17BWVjn4eZRIjKvcqNmSz8gvmg==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.6.tgz", + "integrity": "sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==", "dev": true, "dependencies": { "tinyspy": "^2.1.1" @@ -6898,9 +6898,9 @@ } }, "node_modules/@vitest/utils": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.5.tgz", - "integrity": "sha512-ur6CmmYQoeHMwmGb0v+qwkwN3yopZuZyf4xt1DBBSGBed8Hf9Gmbm/5dEWqgpLPdRx6Av6jcWXrjcKfkTzg/pw==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", + "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", "dev": true, "dependencies": { "diff-sequences": "^29.4.3", @@ -7944,18 +7944,18 @@ } }, "node_modules/chai": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.8.tgz", - "integrity": "sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==", + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -7981,10 +7981,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -22543,9 +22546,9 @@ } }, "node_modules/vite-node": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.5.tgz", - "integrity": "sha512-RNZ+DwbCvDoI5CbCSQSyRyzDTfFvFauvMs6Yq4ObJROKlIKuat1KgSX/Ako5rlDMfVCyMcpMRMTkJBxd6z8YRA==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz", + "integrity": "sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -22566,23 +22569,23 @@ } }, "node_modules/vitest": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.5.tgz", - "integrity": "sha512-CPI68mmnr2DThSB3frSuE5RLm9wo5wU4fbDrDwWQQB1CWgq9jQVoQwnQSzYAjdoBOPoH2UtXpOgHVge/uScfZg==", + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", + "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", "dev": true, "dependencies": { "@types/chai": "^4.3.5", "@types/chai-subset": "^1.3.3", "@types/node": "*", - "@vitest/expect": "0.34.5", - "@vitest/runner": "0.34.5", - "@vitest/snapshot": "0.34.5", - "@vitest/spy": "0.34.5", - "@vitest/utils": "0.34.5", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", "acorn": "^8.9.0", "acorn-walk": "^8.2.0", "cac": "^6.7.14", - "chai": "^4.3.7", + "chai": "^4.3.10", "debug": "^4.3.4", "local-pkg": "^0.4.3", "magic-string": "^0.30.1", @@ -22593,7 +22596,7 @@ "tinybench": "^2.5.0", "tinypool": "^0.7.0", "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", - "vite-node": "0.34.5", + "vite-node": "0.34.6", "why-is-node-running": "^2.2.2" }, "bin": { From bc70906de9c0521513af461c649d7cb2aeef4e93 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 19:58:33 +0000 Subject: [PATCH 18/72] chore(deps): update dependency @types/node to v20.7.2 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6b42bcbd..85046a81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6170,9 +6170,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.1.tgz", - "integrity": "sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==", + "version": "20.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.2.tgz", + "integrity": "sha512-RcdC3hOBOauLP+r/kRt27NrByYtDjsXyAuSbR87O6xpsvi763WI+5fbSIvYJrXnt9w4RuxhV6eAXfIs7aaf/FQ==", "devOptional": true }, "node_modules/@types/nodemailer": { From 12d4cbf78c95dbbd15d8acb42fa0d76360254c87 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 10:46:00 +0000 Subject: [PATCH 19/72] chore(deps): update dependency @types/node to v20.8.0 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 85046a81..40409461 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6170,9 +6170,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.7.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.2.tgz", - "integrity": "sha512-RcdC3hOBOauLP+r/kRt27NrByYtDjsXyAuSbR87O6xpsvi763WI+5fbSIvYJrXnt9w4RuxhV6eAXfIs7aaf/FQ==", + "version": "20.8.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.0.tgz", + "integrity": "sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==", "devOptional": true }, "node_modules/@types/nodemailer": { From 055b08ac71fe6d0216329598209988d92622480d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 13:23:18 +0000 Subject: [PATCH 20/72] chore(deps): update dependency @types/react to v18.2.24 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 40409461..1bed9db7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6202,9 +6202,9 @@ "devOptional": true }, "node_modules/@types/react": { - "version": "18.2.23", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.23.tgz", - "integrity": "sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA==", + "version": "18.2.24", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz", + "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==", "devOptional": true, "dependencies": { "@types/prop-types": "*", From 2b5724b72bfa5d4556d8e5701383ad8df65907c9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 15:54:12 +0000 Subject: [PATCH 21/72] fix(deps): update dependency @tanstack/react-query to v4.35.7 --- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1bed9db7..1f97f48f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5670,20 +5670,20 @@ } }, "node_modules/@tanstack/query-core": { - "version": "4.35.3", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.3.tgz", - "integrity": "sha512-PS+WEjd9wzKTyNjjQymvcOe1yg8f3wYc6mD+vb6CKyZAKvu4sIJwryfqfBULITKCla7P9C4l5e9RXePHvZOZeQ==", + "version": "4.35.7", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.7.tgz", + "integrity": "sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "4.35.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.3.tgz", - "integrity": "sha512-UgTPioip/rGG3EQilXfA2j4BJkhEQsR+KAbF+KIuvQ7j4MkgnTCJF01SfRpIRNtQTlEfz/+IL7+jP8WA8bFbsw==", + "version": "4.35.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.7.tgz", + "integrity": "sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==", "dependencies": { - "@tanstack/query-core": "4.35.3", + "@tanstack/query-core": "4.35.7", "use-sync-external-store": "^1.2.0" }, "funding": { From 352f332892b16cdefbe7e27014ba146a53029a18 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 07:24:59 +0000 Subject: [PATCH 22/72] fix(deps): update dependency react-hook-form to v7.47.0 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1f97f48f..d75406f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19637,9 +19637,9 @@ } }, "node_modules/react-hook-form": { - "version": "7.46.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.46.2.tgz", - "integrity": "sha512-x1DWmHQchV7x2Rq9l99M/cQHC8JGchAnw9Z0uTz5KrPa0bTl/Inm1NR7ceOARfIrkNuQNAhuSuZPYa6k7QYn3Q==", + "version": "7.47.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.47.0.tgz", + "integrity": "sha512-F/TroLjTICipmHeFlMrLtNLceO2xr1jU3CyiNla5zdwsGUGu2UOxxR4UyJgLlhMwLW/Wzp4cpJ7CPfgJIeKdSg==", "engines": { "node": ">=12.22.0" }, From 7234f751d59faefdd128b65ecd22461f7c7414be Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 12:31:19 +0000 Subject: [PATCH 23/72] fix(deps): update dependency next-auth to v4.23.2 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d75406f0..36a4f151 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15049,9 +15049,9 @@ } }, "node_modules/next-auth": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.23.1.tgz", - "integrity": "sha512-mL083z8KgRtlrIV6CDca2H1kduWJuK/3pTS0Fe2og15KOm4v2kkLGdSDfc2g+019aEBrJUT0pPW2Xx42ImN1WA==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.23.2.tgz", + "integrity": "sha512-VRmInu0r/yZNFQheDFeOKtiugu3bt90Po3owAQDnFQ3YLQFmUKgFjcE2+3L0ny5jsJpBXaKbm7j7W2QTc6Ye2A==", "dependencies": { "@babel/runtime": "^7.20.13", "@panva/hkdf": "^1.0.2", From d4e9d95e79cd2a28708ba794f3acf3de8e663e82 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:53:25 +0000 Subject: [PATCH 24/72] chore(deps): update typescript-eslint monorepo to v6.7.4 --- package-lock.json | 84 +++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36a4f151..c268648a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6283,16 +6283,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.3.tgz", - "integrity": "sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz", + "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.3", - "@typescript-eslint/type-utils": "6.7.3", - "@typescript-eslint/utils": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/type-utils": "6.7.4", + "@typescript-eslint/utils": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -6545,15 +6545,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.3.tgz", - "integrity": "sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz", + "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.3", - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/typescript-estree": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", "debug": "^4.3.4" }, "engines": { @@ -6573,13 +6573,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.3.tgz", - "integrity": "sha512-wOlo0QnEou9cHO2TdkJmzF7DFGvAKEnB82PuPNHpT8ZKKaZu6Bm63ugOTn9fXNJtvuDPanBc78lGUGGytJoVzQ==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz", + "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3" + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6590,13 +6590,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.3.tgz", - "integrity": "sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz", + "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.3", - "@typescript-eslint/utils": "6.7.3", + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/utils": "6.7.4", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -6617,9 +6617,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.3.tgz", - "integrity": "sha512-4g+de6roB2NFcfkZb439tigpAMnvEIg3rIjWQ+EM7IBaYt/CdJt6em9BJ4h4UpdgaBWdmx2iWsafHTrqmgIPNw==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz", + "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6630,13 +6630,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.3.tgz", - "integrity": "sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz", + "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6710,17 +6710,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.3.tgz", - "integrity": "sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz", + "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.3", - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/typescript-estree": "6.7.3", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", "semver": "^7.5.4" }, "engines": { @@ -6768,12 +6768,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.3.tgz", - "integrity": "sha512-HEVXkU9IB+nk9o63CeICMHxFWbHWr3E1mpilIQBe9+7L/lH97rleFLVtYsfnWB+JVMaiFnEaxvknvmIzX+CqVg==", + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz", + "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.3", + "@typescript-eslint/types": "6.7.4", "eslint-visitor-keys": "^3.4.1" }, "engines": { From 79cc6515afaea07a2b9f94cfffdd872b84c19571 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 23:20:50 +0000 Subject: [PATCH 25/72] chore(deps): update dependency @types/node to v20.8.2 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c268648a..0bd68c4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6170,9 +6170,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.0.tgz", - "integrity": "sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==", + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", "devOptional": true }, "node_modules/@types/nodemailer": { From bfdd968e8d8f0000cafbf047281a76938c9d509a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 00:39:54 +0000 Subject: [PATCH 26/72] fix(deps): update dependency lucide-react to ^0.282.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0bd68c4b..36e884be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.279.0", + "lucide-react": "^0.282.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", @@ -14656,9 +14656,9 @@ } }, "node_modules/lucide-react": { - "version": "0.279.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.279.0.tgz", - "integrity": "sha512-LJ8g66+Bxc3t3x9vKTeK3wn3xucrOQGfJ9ou9GsBwCt2offsrT2BB90XrTrIzE1noYYDe2O8jZaRHi6sAHXNxw==", + "version": "0.282.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.282.0.tgz", + "integrity": "sha512-rN5U7DnX73M8LLZ/n37ZWcwow4vGJ94KKlJrdjzXjkiSRVymzCDaJJJh+38KqRiiRHopJ9+l4rRgd1p3OK+hig==", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } diff --git a/package.json b/package.json index 15fc8d6f..cf62c602 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.279.0", + "lucide-react": "^0.282.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", From 663b73472110b70e672922f32850ec532cdca3ca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 04:25:36 +0000 Subject: [PATCH 27/72] fix(deps): update nextjs monorepo to v13.5.4 --- package-lock.json | 142 ++++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 87 deletions(-) diff --git a/package-lock.json b/package-lock.json index 36e884be..1e727968 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3636,22 +3636,22 @@ } }, "node_modules/@next/bundle-analyzer": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/bundle-analyzer/-/bundle-analyzer-13.5.3.tgz", - "integrity": "sha512-AUHl9hu/0SNo2TCu9awOGY5hJdQHTPThYbjKk3rmjL04GfYAotn5i5pFQGqe209mbCxtu+QnvMEHLXU4GdFi1Q==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/bundle-analyzer/-/bundle-analyzer-13.5.4.tgz", + "integrity": "sha512-2vgmkuSKyTiyI7NorL+zYerxQRvzmSGbCDr2/kVrbKX28a4UNhbYn8/cQW8z6pvx0EncEFpd0GCUA5r9aRLhJg==", "dependencies": { "webpack-bundle-analyzer": "4.7.0" } }, "node_modules/@next/env": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.3.tgz", - "integrity": "sha512-X4te86vsbjsB7iO4usY9jLPtZ827Mbx+WcwNBGUOIuswuTAKQtzsuoxc/6KLxCMvogKG795MhrR1LDhYgDvasg==" + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz", + "integrity": "sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==" }, "node_modules/@next/eslint-plugin-next": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.3.tgz", - "integrity": "sha512-lbZOoEjzSuTtpk9UgV9rOmxYw+PsSfNR+00mZcInqooiDMZ1u+RqT1YQYLsEZPW1kumZoQe5+exkCBtZ2xn0uw==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.4.tgz", + "integrity": "sha512-vI94U+D7RNgX6XypSyjeFrOzxGlZyxOplU0dVE5norIfZGn/LDjJYPHdvdsR5vN1eRtl6PDAsOHmycFEOljK5A==", "dev": true, "dependencies": { "glob": "7.1.7" @@ -3678,9 +3678,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.3.tgz", - "integrity": "sha512-6hiYNJxJmyYvvKGrVThzo4nTcqvqUTA/JvKim7Auaj33NexDqSNwN5YrrQu+QhZJCIpv2tULSHt+lf+rUflLSw==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz", + "integrity": "sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==", "cpu": [ "arm64" ], @@ -3693,9 +3693,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.3.tgz", - "integrity": "sha512-UpBKxu2ob9scbpJyEq/xPgpdrgBgN3aLYlxyGqlYX5/KnwpJpFuIHU2lx8upQQ7L+MEmz+fA1XSgesoK92ppwQ==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz", + "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==", "cpu": [ "x64" ], @@ -3708,9 +3708,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.3.tgz", - "integrity": "sha512-5AzM7Yx1Ky+oLY6pHs7tjONTF22JirDPd5Jw/3/NazJ73uGB05NqhGhB4SbeCchg7SlVYVBeRMrMSZwJwq/xoA==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz", + "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==", "cpu": [ "arm64" ], @@ -3723,9 +3723,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.3.tgz", - "integrity": "sha512-A/C1shbyUhj7wRtokmn73eBksjTM7fFQoY2v/0rTM5wehpkjQRLOXI8WJsag2uLhnZ4ii5OzR1rFPwoD9cvOgA==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz", + "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==", "cpu": [ "arm64" ], @@ -3738,9 +3738,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.3.tgz", - "integrity": "sha512-FubPuw/Boz8tKkk+5eOuDHOpk36F80rbgxlx4+xty/U71e3wZZxVYHfZXmf0IRToBn1Crb8WvLM9OYj/Ur815g==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz", + "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==", "cpu": [ "x64" ], @@ -3753,9 +3753,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.3.tgz", - "integrity": "sha512-DPw8nFuM1uEpbX47tM3wiXIR0Qa+atSzs9Q3peY1urkhofx44o7E1svnq+a5Q0r8lAcssLrwiM+OyJJgV/oj7g==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz", + "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==", "cpu": [ "x64" ], @@ -3768,9 +3768,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.3.tgz", - "integrity": "sha512-zBPSP8cHL51Gub/YV8UUePW7AVGukp2D8JU93IHbVDu2qmhFAn9LWXiOOLKplZQKxnIPUkJTQAJDCWBWU4UWUA==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz", + "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==", "cpu": [ "arm64" ], @@ -3783,9 +3783,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.3.tgz", - "integrity": "sha512-ONcL/lYyGUj4W37D4I2I450SZtSenmFAvapkJQNIJhrPMhzDU/AdfLkW98NvH1D2+7FXwe7yclf3+B7v28uzBQ==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz", + "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==", "cpu": [ "ia32" ], @@ -3798,9 +3798,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.3.tgz", - "integrity": "sha512-2Vz2tYWaLqJvLcWbbTlJ5k9AN6JD7a5CN2pAeIzpbecK8ZF/yobA39cXtv6e+Z8c5UJuVOmaTldEAIxvsIux/Q==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz", + "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==", "cpu": [ "x64" ], @@ -9703,12 +9703,12 @@ } }, "node_modules/eslint-config-next": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.3.tgz", - "integrity": "sha512-VN2qbCpq2DMWgs7SVF8KTmc8bVaWz3s4nmcFqRLs7PNBt5AXejOhJuZ4zg2sCEHOvz5RvqdwLeI++NSCV6qHVg==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.4.tgz", + "integrity": "sha512-FzQGIj4UEszRX7fcRSJK6L1LrDiVZvDFW320VVntVKh3BSU8Fb9kpaoxQx0cdFgf3MQXdeSbrCXJ/5Z/NndDkQ==", "dev": true, "dependencies": { - "@next/eslint-plugin-next": "13.5.3", + "@next/eslint-plugin-next": "13.5.4", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", @@ -15003,18 +15003,17 @@ "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==" }, "node_modules/next": { - "version": "13.5.3", - "resolved": "https://registry.npmjs.org/next/-/next-13.5.3.tgz", - "integrity": "sha512-4Nt4HRLYDW/yRpJ/QR2t1v63UOMS55A38dnWv3UDOWGezuY0ZyFO1ABNbD7mulVzs9qVhgy2+ppjdsANpKP1mg==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/next/-/next-13.5.4.tgz", + "integrity": "sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==", "dependencies": { - "@next/env": "13.5.3", + "@next/env": "13.5.4", "@swc/helpers": "0.5.2", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", + "postcss": "8.4.31", "styled-jsx": "5.1.1", - "watchpack": "2.4.0", - "zod": "3.21.4" + "watchpack": "2.4.0" }, "bin": { "next": "dist/bin/next" @@ -15023,15 +15022,15 @@ "node": ">=16.14.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "13.5.3", - "@next/swc-darwin-x64": "13.5.3", - "@next/swc-linux-arm64-gnu": "13.5.3", - "@next/swc-linux-arm64-musl": "13.5.3", - "@next/swc-linux-x64-gnu": "13.5.3", - "@next/swc-linux-x64-musl": "13.5.3", - "@next/swc-win32-arm64-msvc": "13.5.3", - "@next/swc-win32-ia32-msvc": "13.5.3", - "@next/swc-win32-x64-msvc": "13.5.3" + "@next/swc-darwin-arm64": "13.5.4", + "@next/swc-darwin-x64": "13.5.4", + "@next/swc-linux-arm64-gnu": "13.5.4", + "@next/swc-linux-arm64-musl": "13.5.4", + "@next/swc-linux-x64-gnu": "13.5.4", + "@next/swc-linux-x64-musl": "13.5.4", + "@next/swc-win32-arm64-msvc": "13.5.4", + "@next/swc-win32-ia32-msvc": "13.5.4", + "@next/swc-win32-x64-msvc": "13.5.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -15090,37 +15089,6 @@ "react-dom": "*" } }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/next/node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, "node_modules/node-abi": { "version": "3.47.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz", From 39431f8e19a2e252acbe9d0dd7090d1ef2056a14 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 10:17:37 +0000 Subject: [PATCH 28/72] fix(deps): update dependency lucide-react to ^0.284.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e727968..24e920a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.282.0", + "lucide-react": "^0.284.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", @@ -14656,9 +14656,9 @@ } }, "node_modules/lucide-react": { - "version": "0.282.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.282.0.tgz", - "integrity": "sha512-rN5U7DnX73M8LLZ/n37ZWcwow4vGJ94KKlJrdjzXjkiSRVymzCDaJJJh+38KqRiiRHopJ9+l4rRgd1p3OK+hig==", + "version": "0.284.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.284.0.tgz", + "integrity": "sha512-dVSMHYAya/TeY3+vsk+VQJEKNQN2AhIo0+Dp09B2qpzvcBuu93H98YZykFcjIAfmanFiDd8nqfXFR38L757cyQ==", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } diff --git a/package.json b/package.json index cf62c602..d1a6efe8 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.282.0", + "lucide-react": "^0.284.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", From c97c696248ace653d0f840a310f169e82a0180d3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 19:30:20 +0000 Subject: [PATCH 29/72] chore(deps): update dependency prettier-plugin-tailwindcss to v0.5.5 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 24e920a0..57bb988a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19329,9 +19329,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.4.tgz", - "integrity": "sha512-QZzzB1bID6qPsKHTeA9qPo1APmmxfFrA5DD3LQ+vbTmAnY40eJI7t9Q1ocqel2EKMWNPLJqdTDWZj1hKYgqSgg==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.5.tgz", + "integrity": "sha512-voy0CjWv/CM8yeaduv5ZwovovpTGMR5LbzlhGF+LtEvMJt9wBeVTVnW781hL38R/RcDXCJwN2rolsgr94B/n0Q==", "dev": true, "engines": { "node": ">=14.21.3" From db3dad6af59c71dc5de575c9600f7c998013f031 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 21:45:51 +0000 Subject: [PATCH 30/72] fix(deps): update dependency zod to v3.22.3 [security] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 57bb988a..93bec2cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23049,9 +23049,9 @@ } }, "node_modules/zod": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.2.tgz", - "integrity": "sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz", + "integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==", "funding": { "url": "https://github.com/sponsors/colinhacks" } From e68963ee0135fa5baa8060f26ccd0f169e7104ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:21:43 +0000 Subject: [PATCH 31/72] chore(deps): update dependency @types/react-dom to v18.2.9 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 93bec2cc..5769d7ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6213,9 +6213,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.8", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz", - "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==", + "version": "18.2.9", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.9.tgz", + "integrity": "sha512-6nNhVzZ9joQ6F7lozrASuQKC0Kf6ArYMU+DqA2ZrUbB+d+9lC6ZLn1GxiEBI1edmAwvTULtuJ6uPZpv3XudwUg==", "devOptional": true, "dependencies": { "@types/react": "*" From befaf2a7d6f993bcd73fe7f6aa282cfdbe10cad9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 23:19:30 +0000 Subject: [PATCH 32/72] chore(deps): update react monorepo --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5769d7ff..909719b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6202,9 +6202,9 @@ "devOptional": true }, "node_modules/@types/react": { - "version": "18.2.24", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz", - "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==", + "version": "18.2.25", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", + "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", "devOptional": true, "dependencies": { "@types/prop-types": "*", @@ -6213,9 +6213,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.9.tgz", - "integrity": "sha512-6nNhVzZ9joQ6F7lozrASuQKC0Kf6ArYMU+DqA2ZrUbB+d+9lC6ZLn1GxiEBI1edmAwvTULtuJ6uPZpv3XudwUg==", + "version": "18.2.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.10.tgz", + "integrity": "sha512-5VEC5RgXIk1HHdyN1pHlg0cOqnxHzvPGpMMyGAP5qSaDRmyZNDaQ0kkVAkK6NYlDhP6YBID3llaXlmAS/mdgCA==", "devOptional": true, "dependencies": { "@types/react": "*" From b0949cabb10a0532aa699e20f1feee9cb8236f1c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 01:31:32 +0000 Subject: [PATCH 33/72] fix(deps): update dependency zod to v3.22.4 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 909719b3..80e9a9cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23049,9 +23049,9 @@ } }, "node_modules/zod": { - "version": "3.22.3", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz", - "integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==", + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", "funding": { "url": "https://github.com/sponsors/colinhacks" } From bc9e4de9808c2693eeba632f7c9d3cf495d5212f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 03:27:48 +0000 Subject: [PATCH 34/72] fix(deps): update prisma monorepo to v5.4.1 --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80e9a9cb..4d42cc0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4145,12 +4145,12 @@ "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" }, "node_modules/@prisma/client": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.3.1.tgz", - "integrity": "sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.4.1.tgz", + "integrity": "sha512-xyD0DJ3gRNfLbPsC+YfMBBuLJtZKQfy1OD2qU/PZg+HKrr7SO+09174LMeTlWP0YF2wca9LxtVd4HnAiB5ketQ==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" + "@prisma/engines-version": "5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f" }, "engines": { "node": ">=16.13" @@ -4165,15 +4165,15 @@ } }, "node_modules/@prisma/engines": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.3.1.tgz", - "integrity": "sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.4.1.tgz", + "integrity": "sha512-vJTdY4la/5V3N7SFvWRmSMUh4mIQnyb/MNoDjzVbh9iLmEC+uEykj/1GPviVsorvfz7DbYSQC4RiwmlEpTEvGA==", "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59.tgz", - "integrity": "sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w==" + "version": "5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f.tgz", + "integrity": "sha512-+nUQM/y8C+1GG5Ioeqcu6itFslCfxvQSAUVSMC9XM2G2Fcq0F4Afnp6m0pXF6X6iUBWen7jZBPmM9Qlq4Nr3/A==" }, "node_modules/@radix-ui/number": { "version": "1.0.1", @@ -19425,12 +19425,12 @@ } }, "node_modules/prisma": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.3.1.tgz", - "integrity": "sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.4.1.tgz", + "integrity": "sha512-op9PmU8Bcw5dNAas82wBYTG0yHnpq9/O3bhxbDBrNzwZTwBqsVCxxYRLf6wHNh9HVaDGhgjjHlu1+BcW8qdnBg==", "hasInstallScript": true, "dependencies": { - "@prisma/engines": "5.3.1" + "@prisma/engines": "5.4.1" }, "bin": { "prisma": "build/index.js" From 8dc57973468ea3dff470cab42a6efad26ed3673a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 09:25:42 +0000 Subject: [PATCH 35/72] fix(deps): update dependency @t3-oss/env-nextjs to ^0.7.0 --- package-lock.json | 27 +++++++++++++++++++-------- package.json | 2 +- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4d42cc0f..f93ae9da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "@semantic-release/github": "^9.0.4", "@semantic-release/npm": "^11.0.0", "@semantic-release/release-notes-generator": "^12.0.0", - "@t3-oss/env-nextjs": "^0.6.0", + "@t3-oss/env-nextjs": "^0.7.0", "@tanstack/react-query": "^4.32.6", "@testing-library/user-event": "^14.4.3", "@trpc/client": "^10.38.5", @@ -5649,24 +5649,34 @@ } }, "node_modules/@t3-oss/env-core": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@t3-oss/env-core/-/env-core-0.6.1.tgz", - "integrity": "sha512-KQD7qEDJtkWIWWmTVjNvk0wnHpkvAQ6CRbUxbWMFNG/fiosBQDQvtRpBNu6USxBscJCoC4z6y7P9MN52/mLOzw==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@t3-oss/env-core/-/env-core-0.7.0.tgz", + "integrity": "sha512-cgunN82CqgQOOyuMOK/bGtujX5/ooXQTwGMJVWI6mCowq6WE5EgRLOqF/DRcrElI0gSFGA9i9GrxzCnk73HZLQ==", "peerDependencies": { "typescript": ">=4.7.2", "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@t3-oss/env-nextjs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@t3-oss/env-nextjs/-/env-nextjs-0.6.1.tgz", - "integrity": "sha512-z1dIC++Vxj9kmzX5nSPfcrCSkszy3dTEPC4Ssx7Ap5AqR3c2Qa7S0xf8axn6coy7D/vCXDAAnHYnCMDhtcY3SQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@t3-oss/env-nextjs/-/env-nextjs-0.7.0.tgz", + "integrity": "sha512-rjQIt6P3tac2eRx4BNQLNaJ+AIb2P8wXw4uFvYbEekqMGShikkUALnX3hUn1twYiGVGHXRm6UbU+LqtjIktuGg==", "dependencies": { - "@t3-oss/env-core": "0.6.1" + "@t3-oss/env-core": "0.7.0" }, "peerDependencies": { "typescript": ">=4.7.2", "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@tanstack/query-core": { @@ -22163,6 +22173,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index d1a6efe8..8a5796c0 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@semantic-release/github": "^9.0.4", "@semantic-release/npm": "^11.0.0", "@semantic-release/release-notes-generator": "^12.0.0", - "@t3-oss/env-nextjs": "^0.6.0", + "@t3-oss/env-nextjs": "^0.7.0", "@tanstack/react-query": "^4.32.6", "@testing-library/user-event": "^14.4.3", "@trpc/client": "^10.38.5", From 4b44aa1d643461f9a25b0b02af45aa18ad549b94 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:37:42 +0000 Subject: [PATCH 36/72] fix(deps): update trpc monorepo to v10.40.0 --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index f93ae9da..0439e23a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5916,35 +5916,35 @@ "dev": true }, "node_modules/@trpc/client": { - "version": "10.38.5", - "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.38.5.tgz", - "integrity": "sha512-tpGUsoAP+3CD/1KRqMdWZ+zebvB68/86SaVPAYHaEDozTFLQdNqTe98DS/T0S4hfh7WCKbMSObj40SCzE8amKQ==", + "version": "10.40.0", + "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.40.0.tgz", + "integrity": "sha512-bT6BcdWjj0KzGQiimE6rB2tIaRYX0Ear4Gthb5szN/c01wrP0yC1Fbz2uCcm/QTVAwu4Lve5M+YjPoEaTHG6lg==", "funding": [ "https://trpc.io/sponsor" ], "peerDependencies": { - "@trpc/server": "10.38.5" + "@trpc/server": "10.40.0" } }, "node_modules/@trpc/react-query": { - "version": "10.38.5", - "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.38.5.tgz", - "integrity": "sha512-cGpKfiQen3ba3lTII3+Y6Hm3KnC60AS9n2AYt07I7LZx/GknsGHq4h570imdIxr6Qb5LtYe3DFV13kzbm+yGeA==", + "version": "10.40.0", + "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.40.0.tgz", + "integrity": "sha512-DpJrV3lmYNo9xtPtcg49lfh9CUFap3ZivjhlSmfe4QPf7H6xBjAE+ml4OdJ0RmKvSTFvbLSOiNdB1k5O8zIdzQ==", "funding": [ "https://trpc.io/sponsor" ], "peerDependencies": { "@tanstack/react-query": "^4.18.0", - "@trpc/client": "10.38.5", - "@trpc/server": "10.38.5", + "@trpc/client": "10.40.0", + "@trpc/server": "10.40.0", "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "node_modules/@trpc/server": { - "version": "10.38.5", - "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.38.5.tgz", - "integrity": "sha512-J0d2Y3Gpt2bMohOshPBfuzDqVrPaE3OKEDtJYgTmLk5t1pZy3kXHQep4rP2LEIr+ELbmkelhcrSvvFLA+4/w/Q==", + "version": "10.40.0", + "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.40.0.tgz", + "integrity": "sha512-49SUOMWzSZtu5+OdrADmJD+u+sjSE0qj1cWgYk2FY4jLkPJunLuNRuhzM7aOeBhiUjyfhg2YTfur8FN1WBmvEw==", "funding": [ "https://trpc.io/sponsor" ] From 3319bc8e8e4689c920f14e703c81962f26a78041 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 21:15:54 +0000 Subject: [PATCH 37/72] chore(deps): update dependency eslint to v8.51.0 --- package-lock.json | 22 +++++++++++----------- package.json | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0439e23a..19213e81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,7 +88,7 @@ "autoprefixer": "^10.4.15", "babel-plugin-styled-components": "^2.1.4", "cross-env": "^7.0.3", - "eslint": "8.50.0", + "eslint": "8.51.0", "eslint-config-next": "^13.4.13", "eslint-config-prettier": "^9.0.0", "eslint-config-react-app": "^7.0.1", @@ -2780,9 +2780,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", - "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", + "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -9659,15 +9659,15 @@ } }, "node_modules/eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", - "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", + "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.50.0", + "@eslint/js": "8.51.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -10668,9 +10668,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.22.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", - "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" diff --git a/package.json b/package.json index 8a5796c0..347026b9 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "autoprefixer": "^10.4.15", "babel-plugin-styled-components": "^2.1.4", "cross-env": "^7.0.3", - "eslint": "8.50.0", + "eslint": "8.51.0", "eslint-config-next": "^13.4.13", "eslint-config-prettier": "^9.0.0", "eslint-config-react-app": "^7.0.1", From 3d2ef7f16f8298eef402c177cf242f7a7fb2e058 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Oct 2023 00:32:43 +0000 Subject: [PATCH 38/72] chore(deps): update dependency @types/node to v20.8.3 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 19213e81..9374ad59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6180,9 +6180,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", - "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", + "version": "20.8.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.3.tgz", + "integrity": "sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==", "devOptional": true }, "node_modules/@types/nodemailer": { From 980e9e99cd2191b0bf7e1618658bce1ad2cdbb6d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Oct 2023 02:09:21 +0000 Subject: [PATCH 39/72] chore(deps): update dependency @types/react-dom to v18.2.11 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9374ad59..87ae02b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6223,9 +6223,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.10.tgz", - "integrity": "sha512-5VEC5RgXIk1HHdyN1pHlg0cOqnxHzvPGpMMyGAP5qSaDRmyZNDaQ0kkVAkK6NYlDhP6YBID3llaXlmAS/mdgCA==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.11.tgz", + "integrity": "sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg==", "devOptional": true, "dependencies": { "@types/react": "*" From ecf215059fa172aa0cf4d08f5668ca04428e3b48 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 7 Oct 2023 09:54:35 +0000 Subject: [PATCH 40/72] fix(deps): update dependency @tanstack/react-query to v4.36.1 --- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 87ae02b2..14302982 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5680,20 +5680,20 @@ } }, "node_modules/@tanstack/query-core": { - "version": "4.35.7", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.7.tgz", - "integrity": "sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==", + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "4.35.7", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.35.7.tgz", - "integrity": "sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==", + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", "dependencies": { - "@tanstack/query-core": "4.35.7", + "@tanstack/query-core": "4.36.1", "use-sync-external-store": "^1.2.0" }, "funding": { From f0c7ed2aefa875c334973476835cf3e8ed811958 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 00:41:54 +0000 Subject: [PATCH 41/72] fix(deps): update dependency @types/inquirer to v9.0.4 --- scripts/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/package-lock.json b/scripts/package-lock.json index ee609499..c0302b52 100644 --- a/scripts/package-lock.json +++ b/scripts/package-lock.json @@ -306,9 +306,9 @@ } }, "node_modules/@types/inquirer": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.3.tgz", - "integrity": "sha512-CzNkWqQftcmk2jaCWdBTf9Sm7xSw4rkI1zpU/Udw3HX5//adEZUIm9STtoRP1qgWj0CWQtJ9UTvqmO2NNjhMJw==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.4.tgz", + "integrity": "sha512-x8UgutCLm5tsp995aeYB8dlT+sGBCtv0zE43tHvo7OljtlA2Rn4+COyLKe9+YjB20uy0G14y0C9vCD2KtNtyGA==", "dependencies": { "@types/through": "*", "rxjs": "^7.2.0" From 3dcf9968e20cbc0dc5d5f266d52ccaa81262976a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 13:49:38 +0000 Subject: [PATCH 42/72] fix(deps): update dependency nodemailer to v6.9.6 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14302982..4f2f3e64 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15211,9 +15211,9 @@ "dev": true }, "node_modules/nodemailer": { - "version": "6.9.5", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.5.tgz", - "integrity": "sha512-/dmdWo62XjumuLc5+AYQZeiRj+PRR8y8qKtFCOyuOl1k/hckZd8durUUHs/ucKx6/8kN+wFxqKJlQ/LK/qR5FA==", + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.6.tgz", + "integrity": "sha512-s7pDtWwe5fLMkQUhw8TkWB/wnZ7SRdd9HRZslq/s24hlZvBP3j32N/ETLmnqTpmj4xoBZL9fOWyCIZ7r2HORHg==", "engines": { "node": ">=6.0.0" } From f7f8c767c0149cb17c13f68dd74bc13b9d788f95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 20:16:11 +0000 Subject: [PATCH 43/72] chore(deps): update dependency @types/node to v20.8.4 --- package-lock.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4f2f3e64..40834cde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6180,10 +6180,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.3.tgz", - "integrity": "sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==", - "devOptional": true + "version": "20.8.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", + "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "devOptional": true, + "dependencies": { + "undici-types": "~5.25.1" + } }, "node_modules/@types/nodemailer": { "version": "6.4.11", @@ -22237,6 +22240,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "devOptional": true + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", From 3c7fa6e8f6109a1fa9b8bffbeecca9e66aec8cb7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Oct 2023 21:11:24 +0000 Subject: [PATCH 44/72] chore(deps): update react monorepo --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 40834cde..e23ebef6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6215,9 +6215,9 @@ "devOptional": true }, "node_modules/@types/react": { - "version": "18.2.25", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.25.tgz", - "integrity": "sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw==", + "version": "18.2.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", + "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", "devOptional": true, "dependencies": { "@types/prop-types": "*", @@ -6226,9 +6226,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.11.tgz", - "integrity": "sha512-zq6Dy0EiCuF9pWFW6I6k6W2LdpUixLE4P6XjXU1QHLfak3GPACQfLwEuHzY5pOYa4hzj1d0GxX/P141aFjZsyg==", + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", + "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", "devOptional": true, "dependencies": { "@types/react": "*" From 8897c23319ff02607b8958c25ca3f3adb00602d9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 01:31:39 +0000 Subject: [PATCH 45/72] chore(deps): update typescript-eslint monorepo to v6.7.5 --- package-lock.json | 84 +++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index e23ebef6..eeb0bcce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6296,16 +6296,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz", - "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", + "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.4", - "@typescript-eslint/type-utils": "6.7.4", - "@typescript-eslint/utils": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/type-utils": "6.7.5", + "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -6558,15 +6558,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz", - "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", + "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.4", - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/typescript-estree": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", "debug": "^4.3.4" }, "engines": { @@ -6586,13 +6586,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz", - "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", + "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4" + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6603,13 +6603,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz", - "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", + "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.4", - "@typescript-eslint/utils": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/utils": "6.7.5", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -6630,9 +6630,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz", - "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", + "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6643,13 +6643,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz", - "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", + "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/visitor-keys": "6.7.4", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/visitor-keys": "6.7.5", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6723,17 +6723,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz", - "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", + "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.4", - "@typescript-eslint/types": "6.7.4", - "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/scope-manager": "6.7.5", + "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/typescript-estree": "6.7.5", "semver": "^7.5.4" }, "engines": { @@ -6781,12 +6781,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz", - "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", + "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/types": "6.7.5", "eslint-visitor-keys": "^3.4.1" }, "engines": { From 0b8ec11b89557765f2fefa432bcb5be50b431a52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 03:50:14 +0000 Subject: [PATCH 46/72] fix(deps): update prisma monorepo to v5.4.2 --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index eeb0bcce..ede606b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4145,12 +4145,12 @@ "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" }, "node_modules/@prisma/client": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.4.1.tgz", - "integrity": "sha512-xyD0DJ3gRNfLbPsC+YfMBBuLJtZKQfy1OD2qU/PZg+HKrr7SO+09174LMeTlWP0YF2wca9LxtVd4HnAiB5ketQ==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.4.2.tgz", + "integrity": "sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f" + "@prisma/engines-version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574" }, "engines": { "node": ">=16.13" @@ -4165,15 +4165,15 @@ } }, "node_modules/@prisma/engines": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.4.1.tgz", - "integrity": "sha512-vJTdY4la/5V3N7SFvWRmSMUh4mIQnyb/MNoDjzVbh9iLmEC+uEykj/1GPviVsorvfz7DbYSQC4RiwmlEpTEvGA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.4.2.tgz", + "integrity": "sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g==", "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f.tgz", - "integrity": "sha512-+nUQM/y8C+1GG5Ioeqcu6itFslCfxvQSAUVSMC9XM2G2Fcq0F4Afnp6m0pXF6X6iUBWen7jZBPmM9Qlq4Nr3/A==" + "version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574.tgz", + "integrity": "sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA==" }, "node_modules/@radix-ui/number": { "version": "1.0.1", @@ -19438,12 +19438,12 @@ } }, "node_modules/prisma": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.4.1.tgz", - "integrity": "sha512-op9PmU8Bcw5dNAas82wBYTG0yHnpq9/O3bhxbDBrNzwZTwBqsVCxxYRLf6wHNh9HVaDGhgjjHlu1+BcW8qdnBg==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.4.2.tgz", + "integrity": "sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg==", "hasInstallScript": true, "dependencies": { - "@prisma/engines": "5.4.1" + "@prisma/engines": "5.4.2" }, "bin": { "prisma": "build/index.js" From 4f131c59a4c0f121c5da644abd5f0149f46effd7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 21:30:50 +0000 Subject: [PATCH 47/72] chore(deps): update react monorepo --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index ede606b5..ca8cad76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6215,9 +6215,9 @@ "devOptional": true }, "node_modules/@types/react": { - "version": "18.2.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", - "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "devOptional": true, "dependencies": { "@types/prop-types": "*", @@ -6226,9 +6226,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", - "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", + "version": "18.2.13", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz", + "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==", "devOptional": true, "dependencies": { "@types/react": "*" From 4924eba7d2f8e681c3da93d80fb1da182066e0c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 00:50:10 +0000 Subject: [PATCH 48/72] fix(deps): update dependency cron to v3 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca8cad76..c0a986b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "client-only": "^0.0.1", "clsx": "^2.0.0", "concurrently": "^8.2.1", - "cron": "^2.4.3", + "cron": "^3.0.0", "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", @@ -8601,9 +8601,9 @@ "devOptional": true }, "node_modules/cron": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/cron/-/cron-2.4.4.tgz", - "integrity": "sha512-MHlPImXJj3K7x7lyUHjtKEOl69CSlTOWxS89jiFgNkzXfvhVjhMz/nc7/EIfN9vgooZp8XTtXJ1FREdmbyXOiQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cron/-/cron-3.1.0.tgz", + "integrity": "sha512-u6Z89TV7zhG7aW7MX7aLQhK5PYjTzFpzjFgiSX5r7qC1vjPvRt1FVfarHRaN/5IokEXM1DRJcXnwXI0e9G0awA==", "dependencies": { "@types/luxon": "~3.3.0", "luxon": "~3.3.0" diff --git a/package.json b/package.json index 347026b9..31a6bfb9 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "client-only": "^0.0.1", "clsx": "^2.0.0", "concurrently": "^8.2.1", - "cron": "^2.4.3", + "cron": "^3.0.0", "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", From ad6ff58f38607e1331f8e91343da60867f82b0b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 10:27:26 +0000 Subject: [PATCH 49/72] fix(deps): update dependency superjson to v2 --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca8cad76..2d69ee7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,7 +59,7 @@ "request-ip": "^3.3.0", "server-only": "^0.0.1", "sharp": "^0.32.5", - "superjson": "^1.13.1", + "superjson": "^2.0.0", "tailwind-merge": "^1.14.0", "tailwindcss-animate": "^1.0.6", "ua-parser-js": "^1.0.35", @@ -21472,14 +21472,14 @@ } }, "node_modules/superjson": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz", - "integrity": "sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.0.0.tgz", + "integrity": "sha512-W3n+NJ7TFjaLle8ihIIvsr/bbuKpnxeatsyjmhy7iSkom+/cshaHziCQAWXrHGWJVQSQFDOuES6C3nSEvcbrQg==", "dependencies": { "copy-anything": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/supports-color": { diff --git a/package.json b/package.json index 347026b9..96d887c7 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "request-ip": "^3.3.0", "server-only": "^0.0.1", "sharp": "^0.32.5", - "superjson": "^1.13.1", + "superjson": "^2.0.0", "tailwind-merge": "^1.14.0", "tailwindcss-animate": "^1.0.6", "ua-parser-js": "^1.0.35", From 39570366d0e5cbc3c4c6a38966c3eb3639233cbd Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 16:27:01 +0200 Subject: [PATCH 50/72] refactor: init --- docker/docker-compose.yml | 12 ++--- scripts/init.ts | 16 ++++-- scripts/replace-tokens.ts | 109 +++++++++++++++++--------------------- scripts/runtime.ts | 2 - 4 files changed, 66 insertions(+), 73 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f455a5c1..91600a6c 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,8 +2,8 @@ version: "3.8" services: app: - image: #{DOCKER_DEPLOY_APP_IMAGE}# - container_name: #{APP_NAME}#_app + image: DOCKER_DEPLOY_APP_IMAGE + container_name: #{PROJECT_NAME}#_app restart: unless-stopped logging: driver: "json-file" @@ -15,8 +15,8 @@ services: - "3000:3000" crons: - image: #{DOCKER_DEPLOY_CRONS_IMAGE}# - container_name: #{APP_NAME}#_crons + image: DOCKER_DEPLOY_CRONS_IMAGE + container_name: #{PROJECT_NAME}#_crons restart: unless-stopped logging: driver: "json-file" @@ -27,7 +27,7 @@ services: db: image: postgres:latest - container_name: #{APP_NAME}#_db + container_name: #{PROJECT_NAME}#_db restart: unless-stopped volumes: - postgres-data:/var/lib/postgresql/data @@ -45,7 +45,7 @@ services: redis: restart: unless-stopped - container_name: #{APP_NAME}#_redis + container_name: #{PROJECT_NAME}#_redis image: redis:latest command: /bin/sh -c "redis-server --requirepass ${REDIS_PASSWORD}" logging: diff --git a/scripts/init.ts b/scripts/init.ts index 1254a438..c963bf84 100644 --- a/scripts/init.ts +++ b/scripts/init.ts @@ -1,13 +1,18 @@ import chalk from "chalk" +import { config } from "dotenv" import * as fs from "fs/promises" import { exit } from "node:process" import * as path from "path" import * as url from "url" +import { completeInitialisation } from "./complete-initialisation" +import { replaceTokens } from "./replace-tokens" import { runtime } from "./runtime" const __dirname = url.fileURLToPath(new URL(".", import.meta.url)) const rootPath = path.join(__dirname, "..") +config({ path: path.join(rootPath, ".env") }) + async function main() { const alreadyInitialized = await fs.access(path.join(rootPath, "scripts", ".init-todo")).catch(() => false) if (alreadyInitialized) { @@ -15,16 +20,17 @@ async function main() { exit(1) } - // console.log(chalk.green("Welcome to the init script!")) - // console.log(chalk.blue(' Starting the "replace tokens" script...')) - // await replaceTokens() - // console.log(chalk.green("Done!")) + console.log(chalk.green("Welcome to the init script!")) + console.log(chalk.blue(' Starting the "replace tokens" script...')) + await replaceTokens() + console.log(chalk.green("Done!")) console.log(chalk.blue(' Starting the "runtime" script...')) await runtime() console.log(chalk.green("Done!")) - // await completeInitialisation() + if (process.env.SKIP_INIT_CHECK !== "true") await completeInitialisation() + else console.log(chalk.yellow("Skipping completeInitialisation()")) exit(0) } diff --git a/scripts/replace-tokens.ts b/scripts/replace-tokens.ts index 8e3b4d2b..b0d71815 100644 --- a/scripts/replace-tokens.ts +++ b/scripts/replace-tokens.ts @@ -3,10 +3,8 @@ * This script is intended to run only once at the beginning of the project */ -import chalk from "chalk" +import inquirer from "inquirer" import * as fs from "fs" -import { stdin as input, stdout as output } from "node:process" -import * as readline from "node:readline/promises" import * as path from "path" import * as url from "url" @@ -15,77 +13,68 @@ const __dirname = url.fileURLToPath(new URL(".", import.meta.url)) const filesToCheck = ["docker/docker-compose.yml"] //? Find all tokens of all the files in the root directory -const findTokens = () => { - const tokens: string[] = [] +const findTokens: () => { + [filePath: string]: string[] +} = () => { + const tokens: { + [filePath: string]: string[] + } = {} filesToCheck.forEach((file) => { const filePath = path.join(__dirname, "..", file) const fileContent = fs.readFileSync(filePath, "utf8") const regex = /#{(.*?)}#/g let match while ((match = regex.exec(fileContent)) !== null) { - tokens.push(match[1]) + if (match.index === regex.lastIndex) regex.lastIndex++ + if ((tokens[filePath] as string[] | undefined) && !tokens[filePath].includes(match[1])) + tokens[filePath].push(match[1]) + else tokens[filePath] = [match[1]] } }) return tokens } -//? Function replace in file -const replace = async (options: { files: string[]; from: RegExp; to: string }) => { - const { files, from, to } = options - const promises: Promise[] = [] - files.forEach((file) => { - const promise = new Promise((resolve, reject) => { - try { - const filePath = path.join(__dirname, "..", file) - const fileContent = fs.readFileSync(filePath, "utf8") - const newFileContent = fileContent.replace(from, to) - fs.writeFileSync(filePath, newFileContent) - resolve() - } catch (error) { - reject(error) - } - }) - promises.push(promise) - }) - return Promise.all(promises).then(() => { - return files - }) -} +export const replaceTokens = async () => { + const tokens = findTokens() -//? Replace a token in files -const replaceToken = async (token: string, value: string) => { - const options = { - files: filesToCheck, - from: new RegExp(`#{${token}}#`, "g"), - to: value, - } - try { - await replace(options) - } catch (error) { - console.error("Error occurred:", error) + const allTokens = Object.values(tokens).flat() + const allTokensValues: { + [token: string]: string + } = {} + let i = 0 + for (const token of allTokens) { + const answers = await inquirer.prompt([ + { + type: "input", + name: token, + message: `What is the value of ${token}?`, + prefix: `🔑 [${i + 1}/${allTokens.length}]`, + }, + ]) + allTokensValues[token] = answers[token] + i++ } -} -export const replaceTokens = async () => { - return new Promise(async (resolve) => { - const tokens = findTokens() - console.log(chalk.blue(`Tokens found: ${tokens.join(", ")}`)) - for (let i = 0; i < tokens.length; i++) { - const token = tokens[i] - //? Ask for the value of the token - const rl = readline.createInterface({ input, output }) - const value = await rl.question(chalk.blue(`Value for the token ${token}: `)) - if (!value) { - console.log(chalk.yellowBright("No value provided, skipping...")) - // throw new Error(`No value provided for the token ${token}`) + //? Replace all tokens in the files + for (const [filePath, fileTokens] of Object.entries(tokens)) { + const fileContent = fs.readFileSync(filePath, "utf8") + let newFileContent = fileContent + for (const token of fileTokens) { + newFileContent = newFileContent.replaceAll(`#{${token}}#`, allTokensValues[token]) + if (token === "PROJECT_NAME") { + //? Replace the project name in the devcontainer.json & package.json + const nameToReplace = "next-boilerplate" + const newProjectName = allTokensValues[token] + const devContainerFile = path.join(__dirname, "..", ".devcontainer/devcontainer.json") + const pJsonFile = path.join(__dirname, "..", "package.json") + const devContainerFileContent = fs.readFileSync(devContainerFile, "utf8") + const pJsonFileContent = fs.readFileSync(pJsonFile, "utf8") + const newDevContainerFileContent = devContainerFileContent.replaceAll(nameToReplace, newProjectName) + const newPJsonFileContent = pJsonFileContent.replaceAll(nameToReplace, newProjectName) + fs.writeFileSync(devContainerFile, newDevContainerFileContent, "utf8") + fs.writeFileSync(pJsonFile, newPJsonFileContent, "utf8") } - //? Replace the token with the value - if (!value) continue - await replaceToken(token, value) - console.log(chalk.green(`Token ${token} replaced with ${value}`)) - rl.close() } - - resolve() - }) + fs.writeFileSync(filePath, newFileContent, "utf8") + } } diff --git a/scripts/runtime.ts b/scripts/runtime.ts index 5ea484b7..5bbee8ca 100644 --- a/scripts/runtime.ts +++ b/scripts/runtime.ts @@ -1,8 +1,6 @@ import chalk from "chalk" import inquirer from "inquirer" import * as fs from "fs/promises" -// import { stdin as input, stdout as output } from "node:process" -// import * as readline from "node:readline/promises" import * as path from "path" import * as url from "url" From 6f8c8c4005cdda67a2dfa0cb9d58a884e1b74e0c Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 16:34:26 +0200 Subject: [PATCH 51/72] fix: runtime --- package.json | 2 +- scripts/package.json | 2 +- scripts/runtime.ts | 24 ++++++++++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index b3f52304..5d5ba0f9 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "test": "cross-env FORCE_COLOR=1 jest --passWithNoTests", "format": "prettier --write \"**/*.{ts,tsx,md}\"", "postinstall": "npx patch-package && prisma generate", - "preinstall": "npx only-allow npm", + "preinstall": "npx only-allow-many npm", "seed": "NODE_ENV=development prisma db seed", "depcheck": "cd scripts && npm i && npm run depcheck", "full-sub-package-setup": "npm run sub-package:scripts", diff --git a/scripts/package.json b/scripts/package.json index 427e8aed..180684a4 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -7,7 +7,7 @@ "depcheck": "npx tsx depcheck.ts", "is-initialized": "npx tsx is-initialized.ts", "postinstall": "npx patch-package", - "preinstall": "npx only-allow npm" + "preinstall": "npx only-allow-many npm" }, "type": "module", "dependencies": { diff --git a/scripts/runtime.ts b/scripts/runtime.ts index 5bbee8ca..6e3368c3 100644 --- a/scripts/runtime.ts +++ b/scripts/runtime.ts @@ -16,17 +16,29 @@ const basicFiles = [ { path: "package.json", replace: (oldRuntime: IRuntime, newRuntime: IRuntime, content: string) => { - content = content.replaceAll(`${oldRuntime.npx} `, `${newRuntime.npx} `) - content = content.replaceAll(`only-allow ${oldRuntime.npm}`, `only-allow ${newRuntime.npm}`) - return content.replaceAll(`${oldRuntime.npm} `, `${newRuntime.npm} `) + if (oldRuntime.npm === "npm" && newRuntime.npm !== "npm") { + content = content.replaceAll( + `only-allow-many ${oldRuntime.npm}`, + `only-allow-many ${newRuntime.npm} ${oldRuntime.npm}` + ) + } else { + content = content.replaceAll(`only-allow-many ${oldRuntime.npm} npm`, `only-allow-many ${newRuntime.npm}`) + } + return content }, }, { path: "scripts/package.json", replace: (oldRuntime: IRuntime, newRuntime: IRuntime, content: string) => { - content = content.replaceAll(`${oldRuntime.npx} `, `${newRuntime.npx} `) - content = content.replaceAll(`only-allow ${oldRuntime.npm}`, `only-allow ${newRuntime.npm}`) - return content.replaceAll(`${oldRuntime.npm} `, `${newRuntime.npm} `) + if (oldRuntime.npm === "npm" && newRuntime.npm !== "npm") { + content = content.replaceAll( + `only-allow-many ${oldRuntime.npm}`, + `only-allow-many ${newRuntime.npm} ${oldRuntime.npm}` + ) + } else { + content = content.replaceAll(`only-allow-many ${oldRuntime.npm} npm`, `only-allow-many ${newRuntime.npm}`) + } + return content }, }, { From 994c173ffc3888b3f63a68e3c448deffa4db768d Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 16:37:28 +0200 Subject: [PATCH 52/72] refactor: replace token log --- scripts/replace-tokens.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/replace-tokens.ts b/scripts/replace-tokens.ts index b0d71815..f195ede4 100644 --- a/scripts/replace-tokens.ts +++ b/scripts/replace-tokens.ts @@ -60,7 +60,9 @@ export const replaceTokens = async () => { const fileContent = fs.readFileSync(filePath, "utf8") let newFileContent = fileContent for (const token of fileTokens) { + if (!allTokensValues[token]) continue newFileContent = newFileContent.replaceAll(`#{${token}}#`, allTokensValues[token]) + console.log(`Done for ${filePath}`) if (token === "PROJECT_NAME") { //? Replace the project name in the devcontainer.json & package.json const nameToReplace = "next-boilerplate" @@ -72,7 +74,9 @@ export const replaceTokens = async () => { const newDevContainerFileContent = devContainerFileContent.replaceAll(nameToReplace, newProjectName) const newPJsonFileContent = pJsonFileContent.replaceAll(nameToReplace, newProjectName) fs.writeFileSync(devContainerFile, newDevContainerFileContent, "utf8") + console.log(`Done for ${devContainerFile}`) fs.writeFileSync(pJsonFile, newPJsonFileContent, "utf8") + console.log(`Done for ${pJsonFile}`) } } fs.writeFileSync(filePath, newFileContent, "utf8") From 66a639b636a5da0485d4d36568f772bbf7b68489 Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 16:40:48 +0200 Subject: [PATCH 53/72] chore: prisma version --- package-lock.json | 34 ++++++++++++++++++---------------- package.json | 4 ++-- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index f01fb572..f59a3e8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@hookform/resolvers": "^3.2.0", "@next-auth/prisma-adapter": "^1.0.7", "@next/bundle-analyzer": "^13.4.13", - "@prisma/client": "^5.1.1", + "@prisma/client": "^5.3.1", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-collapsible": "^1.0.3", @@ -51,7 +51,6 @@ "next-compose-plugins": "^2.2.1", "next-themes": "^0.2.1", "nodemailer": "^6.9.5", - "prisma": "^5.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.45.4", @@ -105,6 +104,7 @@ "postinstall-postinstall": "^2.1.0", "prettier": "3.0.3", "prettier-plugin-tailwindcss": "^0.5.4", + "prisma": "^5.3.1", "semantic-release": "^22.0.0", "tailwindcss": "^3.3.3", "ts-jest": "^29.1.1", @@ -4145,12 +4145,12 @@ "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" }, "node_modules/@prisma/client": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.4.2.tgz", - "integrity": "sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.3.1.tgz", + "integrity": "sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574" + "@prisma/engines-version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" }, "engines": { "node": ">=16.13" @@ -4165,15 +4165,16 @@ } }, "node_modules/@prisma/engines": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.4.2.tgz", - "integrity": "sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.3.1.tgz", + "integrity": "sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==", + "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574.tgz", - "integrity": "sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA==" + "version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59.tgz", + "integrity": "sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w==" }, "node_modules/@radix-ui/number": { "version": "1.0.1", @@ -19438,12 +19439,13 @@ } }, "node_modules/prisma": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.4.2.tgz", - "integrity": "sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.3.1.tgz", + "integrity": "sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==", + "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "5.4.2" + "@prisma/engines": "5.3.1" }, "bin": { "prisma": "build/index.js" diff --git a/package.json b/package.json index 5d5ba0f9..92b8bddd 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@hookform/resolvers": "^3.2.0", "@next-auth/prisma-adapter": "^1.0.7", "@next/bundle-analyzer": "^13.4.13", - "@prisma/client": "^5.1.1", + "@prisma/client": "^5.3.1", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-collapsible": "^1.0.3", @@ -68,7 +68,6 @@ "next-compose-plugins": "^2.2.1", "next-themes": "^0.2.1", "nodemailer": "^6.9.5", - "prisma": "^5.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.45.4", @@ -122,6 +121,7 @@ "postinstall-postinstall": "^2.1.0", "prettier": "3.0.3", "prettier-plugin-tailwindcss": "^0.5.4", + "prisma": "^5.3.1", "semantic-release": "^22.0.0", "tailwindcss": "^3.3.3", "ts-jest": "^29.1.1", From 47034a23171b0befc789f0c3a3e8477740584abb Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 17:32:00 +0200 Subject: [PATCH 54/72] refactor: uninstall homebrew --- .devcontainer/Dockerfile | 2 -- .devcontainer/devcontainer.json | 4 ++-- .git-hooks/commit-msg | 6 ++++++ README.md | 7 ------- package-lock.json | 23 +++++++++++++++++++++++ package.json | 1 + scripts/git-hooks.sh | 4 ++++ scripts/install-brew.sh | 10 ---------- 8 files changed, 36 insertions(+), 21 deletions(-) create mode 100755 .git-hooks/commit-msg create mode 100644 scripts/git-hooks.sh delete mode 100755 scripts/install-brew.sh diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 9a82d553..f48b8325 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -12,7 +12,5 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ RUN su node -c "npm install -g npm@latest" RUN su node -c "npm install -g prisma" -RUN /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - # Install bun RUN /bin/bash -c "curl -fsSL https://bun.sh/install | bash" \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5040dfe1..7d58b2cf 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -33,11 +33,11 @@ }, // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "./scripts/install-zsh10k.sh && ./scripts/install-bun.sh && ./scripts/install-brew.sh && npm install", + "postCreateCommand": "./scripts/install-zsh10k.sh && ./scripts/install-bun.sh && ./scripts/git-hooks.sh && npm install", // Configure tool-specific properties. "customizations": { - "postCreateCommand": "./scripts/install-zsh10k.sh && ./scripts/install-bun.sh && ./scripts/install-brew.sh && npm install", + "postCreateCommand": "./scripts/install-zsh10k.sh && ./scripts/install-bun.sh && ./scripts/git-hooks.sh && npm install", "vscode": { "extensions": [ "formulahendry.auto-rename-tag", diff --git a/.git-hooks/commit-msg b/.git-hooks/commit-msg new file mode 100755 index 00000000..08c090bd --- /dev/null +++ b/.git-hooks/commit-msg @@ -0,0 +1,6 @@ +#!/bin/sh + +# fix for windows systems +PATH="/c/Program Files/nodejs:$HOME/AppData/Roaming/npm/:$PATH" + +npx git-conventional-commits commit-msg-hook "$1" \ No newline at end of file diff --git a/README.md b/README.md index 0bd5982a..95a0665a 100644 --- a/README.md +++ b/README.md @@ -105,13 +105,6 @@ npm run dev 6. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. -7. This project uses a git hook to enforce [conventional commits](https://github.com/qoomon/git-conventional-commits). To install the git hook, run the following command in the root directory of the project: - -```sh -brew install pre-commit -pre-commit install -t commit-msg -``` - ## 🚀 Deployment Easily deploy your Next.js app with [Vercel](https://vercel.com/new) by clicking the button below: diff --git a/package-lock.json b/package-lock.json index f59a3e8d..4c45a287 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,6 +96,7 @@ "eslint-plugin-tailwindcss": "^3.13.0", "eslint-plugin-unused-imports": "^3.0.0", "fetch-mock": "^9.11.0", + "git-conventional-commits": "^2.6.5", "isomorphic-fetch": "^3.0.0", "jest": "^29.6.2", "jest-environment-jsdom": "^29.7.0", @@ -11288,6 +11289,28 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/git-conventional-commits": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/git-conventional-commits/-/git-conventional-commits-2.6.5.tgz", + "integrity": "sha512-HbtKUnZ3CciI8CVUcnGOXb/bKN0cuXZLjHie/JxlIaCkHr0l38kUtfewoRACp+SJirOzjBtejAwoaQ4hStHfLg==", + "dev": true, + "dependencies": { + "yaml": "^2.1.3", + "yargs": "^17.6.2" + }, + "bin": { + "git-conventional-commits": "cli.js" + } + }, + "node_modules/git-conventional-commits/node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", diff --git a/package.json b/package.json index 92b8bddd..07d8474c 100644 --- a/package.json +++ b/package.json @@ -113,6 +113,7 @@ "eslint-plugin-tailwindcss": "^3.13.0", "eslint-plugin-unused-imports": "^3.0.0", "fetch-mock": "^9.11.0", + "git-conventional-commits": "^2.6.5", "isomorphic-fetch": "^3.0.0", "jest": "^29.6.2", "jest-environment-jsdom": "^29.7.0", diff --git a/scripts/git-hooks.sh b/scripts/git-hooks.sh new file mode 100644 index 00000000..f141d3b6 --- /dev/null +++ b/scripts/git-hooks.sh @@ -0,0 +1,4 @@ +#! /bin/sh +echo "Installing git hooks... 🚀" +npm install --global git-conventional-commits +git config core.hooksPath .git-hooks \ No newline at end of file diff --git a/scripts/install-brew.sh b/scripts/install-brew.sh deleted file mode 100755 index d4a94f88..00000000 --- a/scripts/install-brew.sh +++ /dev/null @@ -1,10 +0,0 @@ -#! /bin/sh -echo "Installing brew... 🚀" -sudo chown -R $(whoami) /home/linuxbrew/.linuxbrew -(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/$USER/.bashrc -eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" -brew install gcc - -echo "Installing pre-commit... 🚀" -brew install pre-commit -pre-commit install -t commit-msg \ No newline at end of file From 993ccda2601093809ba88328293bc85d80f655d4 Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 17:37:10 +0200 Subject: [PATCH 55/72] fix: git hook --- scripts/git-hooks.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/git-hooks.sh diff --git a/scripts/git-hooks.sh b/scripts/git-hooks.sh old mode 100644 new mode 100755 From 958e0ec9f347cf56338f83b00997ce639099ee20 Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 17:40:22 +0200 Subject: [PATCH 56/72] refactor: current runtime init --- scripts/is-initialized.ts | 6 +++++- scripts/runtime.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/is-initialized.ts b/scripts/is-initialized.ts index 334d40c1..0fa4dd3a 100644 --- a/scripts/is-initialized.ts +++ b/scripts/is-initialized.ts @@ -3,6 +3,7 @@ import { config } from "dotenv" import * as fs from "fs/promises" import * as path from "path" import * as url from "url" +import { IRuntime } from "./runtime" const __dirname = url.fileURLToPath(new URL(".", import.meta.url)) const rootPath = path.join(__dirname, "..") @@ -11,9 +12,12 @@ config({ path: path.join(rootPath, ".env") }) if (process.env.SKIP_INIT_CHECK === "true") process.exit(0) try { + const projectInfo = await fs.readFile(path.join(rootPath, "scripts", ".pinfo.json"), "utf8") + const projectInfoJson = JSON.parse(projectInfo) as { runtime: IRuntime } + const currentRuntime = projectInfoJson.runtime await fs.access(path.join(rootPath, "scripts", ".init-todo")) console.log(chalk.red("Project not initialized!")) - console.log(chalk.yellow("Run `npm run init` to initialize the project")) + console.log(chalk.yellow(`Run \`${currentRuntime.npm} run init\` to initialize the project`)) process.exit(1) } catch { // Do nothing diff --git a/scripts/runtime.ts b/scripts/runtime.ts index 6e3368c3..88a1f847 100644 --- a/scripts/runtime.ts +++ b/scripts/runtime.ts @@ -7,7 +7,7 @@ import * as url from "url" const __dirname = url.fileURLToPath(new URL(".", import.meta.url)) const root = path.join(__dirname, "..") -type IRuntime = { +export type IRuntime = { npm: string npx: string } From cb2ad2e95ad41538dd1aafe61045931170e67a74 Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 17:42:06 +0200 Subject: [PATCH 57/72] feat: public folder --- public/.gitignore | 0 src/assets/.gitkeep | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/.gitignore create mode 100644 src/assets/.gitkeep diff --git a/public/.gitignore b/public/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b From 6dc8ea3ee05e3472e9f28d031b78e386624c6eff Mon Sep 17 00:00:00 2001 From: rharkor Date: Wed, 11 Oct 2023 18:01:41 +0200 Subject: [PATCH 58/72] fix: send email on oauth login --- .../migrations/20230926113456_sp/migration.sql | 16 ---------------- .../migration.sql | 0 prisma/seed.ts | 1 + src/lib/auth/index.ts | 5 +++++ 4 files changed, 6 insertions(+), 16 deletions(-) delete mode 100644 prisma/migrations/20230926113456_sp/migration.sql rename prisma/migrations/{20230926113455_init => 20231011155324_init}/migration.sql (100%) diff --git a/prisma/migrations/20230926113456_sp/migration.sql b/prisma/migrations/20230926113456_sp/migration.sql deleted file mode 100644 index 9133ba09..00000000 --- a/prisma/migrations/20230926113456_sp/migration.sql +++ /dev/null @@ -1,16 +0,0 @@ -create function user_has_password_auto_update() returns trigger -language plpgsql as $$ -begin - if new."password" is not null then - new."hasPassword" := true; - end if; - - return new; -end; -$$; - -create trigger "user_has_password_autoupdate" -before insert or update -on "User" -for each row -execute procedure user_has_password_auto_update(); \ No newline at end of file diff --git a/prisma/migrations/20230926113455_init/migration.sql b/prisma/migrations/20231011155324_init/migration.sql similarity index 100% rename from prisma/migrations/20230926113455_init/migration.sql rename to prisma/migrations/20231011155324_init/migration.sql diff --git a/prisma/seed.ts b/prisma/seed.ts index 6064203f..9ac8256c 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -53,6 +53,7 @@ async function main() { email: env.AUTH_ADMIN_EMAIL as string, password: await hash(env.AUTH_ADMIN_PASSWORD ?? "", 12), role: rolesAsObject.admin, + username: "admin", emailVerified: new Date(), }, }) diff --git a/src/lib/auth/index.ts b/src/lib/auth/index.ts index 07917387..02abea8b 100644 --- a/src/lib/auth/index.ts +++ b/src/lib/auth/index.ts @@ -143,6 +143,11 @@ export const nextAuthOptions: NextAuthOptions & { if ("role" in user) token.role = user.role as string if ("uuid" in user) token.uuid = user.uuid as string if ("emailVerified" in user) token.emailVerified = user.emailVerified as Date + + //* Send verification email if needed + if (user.email && "emailVerified" in user && !user.emailVerified) { + await sendVerificationEmail({ input: { email: user.email, silent: true }, ctx: {} as ITrpcContext }) + } } return token From 0c597fde680cf17b2247350bc7a67d4c927159b3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:57:31 +0000 Subject: [PATCH 59/72] fix(deps): update dependency lucide-react to ^0.285.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4c45a287..01e77027 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.284.0", + "lucide-react": "^0.285.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", @@ -14693,9 +14693,9 @@ } }, "node_modules/lucide-react": { - "version": "0.284.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.284.0.tgz", - "integrity": "sha512-dVSMHYAya/TeY3+vsk+VQJEKNQN2AhIo0+Dp09B2qpzvcBuu93H98YZykFcjIAfmanFiDd8nqfXFR38L757cyQ==", + "version": "0.285.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.285.0.tgz", + "integrity": "sha512-TvWtS0Zc2lT0wTMyD+sEB7x9TM/38MQMJfJbQMMWJOsPx+lEaWBk1aKalqhCZj/Vbl2r00Uqln7xTTY2T7R63g==", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } diff --git a/package.json b/package.json index 07d8474c..c1cd26ac 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.284.0", + "lucide-react": "^0.285.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", From 7409caa76a66cee7b26804deb9b9f065cf37c25b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 22:12:03 +0000 Subject: [PATCH 60/72] fix(deps): update dependency @hookform/resolvers to v3.3.2 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 01e77027..17ce0a21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2832,9 +2832,9 @@ } }, "node_modules/@hookform/resolvers": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.1.tgz", - "integrity": "sha512-K7KCKRKjymxIB90nHDQ7b9nli474ru99ZbqxiqDAWYsYhOsU3/4qLxW91y+1n04ic13ajjZ66L3aXbNef8PELQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.2.tgz", + "integrity": "sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA==", "peerDependencies": { "react-hook-form": "^7.0.0" } From fb05a65d6d34b6615dd3aa74f57ea88ad5858ec2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 01:47:54 +0000 Subject: [PATCH 61/72] chore(deps): update dependency @babel/core to v7.23.2 --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 17ce0a21..e7c38843 100644 --- a/package-lock.json +++ b/package-lock.json @@ -232,9 +232,9 @@ } }, "node_modules/@babel/core": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", - "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -242,10 +242,10 @@ "@babel/generator": "^7.23.0", "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.0", + "@babel/helpers": "^7.23.2", "@babel/parser": "^7.23.0", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.0", + "@babel/traverse": "^7.23.2", "@babel/types": "^7.23.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -614,13 +614,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", - "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.0", + "@babel/traverse": "^7.23.2", "@babel/types": "^7.23.0" }, "engines": { @@ -2241,9 +2241,9 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", From 803a2dc97b4a75f72642fcf63c6fcaa6fd7d389e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 06:21:35 +0000 Subject: [PATCH 62/72] chore(deps): update dependency @testing-library/jest-dom to v6.1.4 --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index e7c38843..11cda415 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5783,12 +5783,12 @@ } }, "node_modules/@testing-library/jest-dom": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.3.tgz", - "integrity": "sha512-YzpjRHoCBWPzpPNtg6gnhasqtE/5O4qz8WCwDEaxtfnPO6gkaLrnuXusrGSPyhIGPezr1HM7ZH0CFaUTY9PJEQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.4.tgz", + "integrity": "sha512-wpoYrCYwSZ5/AxcrjLxJmCU6I5QAJXslEeSiMQqaWmP2Kzpd1LvF/qxmAIW2qposULGWq2gw30GgVNFLSc2Jnw==", "dev": true, "dependencies": { - "@adobe/css-tools": "^4.3.0", + "@adobe/css-tools": "^4.3.1", "@babel/runtime": "^7.9.2", "aria-query": "^5.0.0", "chalk": "^3.0.0", From 875e094b01205e6494052b9ae66d4c698e8e2177 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 09:42:07 +0000 Subject: [PATCH 63/72] fix(deps): update dependency lucide-react to ^0.286.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 11cda415..062633f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.285.0", + "lucide-react": "^0.286.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", @@ -14693,9 +14693,9 @@ } }, "node_modules/lucide-react": { - "version": "0.285.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.285.0.tgz", - "integrity": "sha512-TvWtS0Zc2lT0wTMyD+sEB7x9TM/38MQMJfJbQMMWJOsPx+lEaWBk1aKalqhCZj/Vbl2r00Uqln7xTTY2T7R63g==", + "version": "0.286.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.286.0.tgz", + "integrity": "sha512-0+AOFa/uiXlXJJTqcKto1gqbU9XflYgYZbS9DN2ytSIhSBQaF5xfRKAq/k0okBInpgu5P6i7dhCcgbHV4OMkHQ==", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } diff --git a/package.json b/package.json index c1cd26ac..714cc48a 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.285.0", + "lucide-react": "^0.286.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", From bb98ecc3bd465302348d5f4c896737a5112e493b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 21:56:04 +0000 Subject: [PATCH 64/72] chore(deps): update dependency @types/node to v20.8.5 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 062633f6..c17a86fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6182,9 +6182,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", - "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "version": "20.8.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.5.tgz", + "integrity": "sha512-SPlobFgbidfIeOYlzXiEjSYeIJiOCthv+9tSQVpvk4PAdIIc+2SmjNVzWXk9t0Y7dl73Zdf+OgXKHX9XtkqUpw==", "devOptional": true, "dependencies": { "undici-types": "~5.25.1" From 757920d41a19e1f12961a0414dcd8165dafff79e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 00:22:05 +0000 Subject: [PATCH 65/72] fix(deps): update dependency cron to v3.1.1 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c17a86fb..b7563f1d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8603,9 +8603,9 @@ "devOptional": true }, "node_modules/cron": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cron/-/cron-3.1.0.tgz", - "integrity": "sha512-u6Z89TV7zhG7aW7MX7aLQhK5PYjTzFpzjFgiSX5r7qC1vjPvRt1FVfarHRaN/5IokEXM1DRJcXnwXI0e9G0awA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/cron/-/cron-3.1.1.tgz", + "integrity": "sha512-P8rDShXt2IZa16KwuYpbd1w7NjU4BnXeUEfkesBXT36JXhUsQ1P6i6ctsi5H82FQmR4tn/MOz05aB/3vn6dSkA==", "dependencies": { "@types/luxon": "~3.3.0", "luxon": "~3.3.0" From 6ee61b060807633f68cd9b26800230f03fc7ecd8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 03:03:42 +0000 Subject: [PATCH 66/72] chore(deps): update dependency prettier-plugin-tailwindcss to v0.5.6 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index b7563f1d..a9adda6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19366,9 +19366,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.5.tgz", - "integrity": "sha512-voy0CjWv/CM8yeaduv5ZwovovpTGMR5LbzlhGF+LtEvMJt9wBeVTVnW781hL38R/RcDXCJwN2rolsgr94B/n0Q==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.6.tgz", + "integrity": "sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==", "dev": true, "engines": { "node": ">=14.21.3" From 1bfc45aba6add126f4cc5fced6a3dfa8bb7c6254 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 19:51:03 +0000 Subject: [PATCH 67/72] fix(deps): update dependency lucide-react to ^0.287.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9adda6e..ad5d2d59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.286.0", + "lucide-react": "^0.287.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", @@ -14693,9 +14693,9 @@ } }, "node_modules/lucide-react": { - "version": "0.286.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.286.0.tgz", - "integrity": "sha512-0+AOFa/uiXlXJJTqcKto1gqbU9XflYgYZbS9DN2ytSIhSBQaF5xfRKAq/k0okBInpgu5P6i7dhCcgbHV4OMkHQ==", + "version": "0.287.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.287.0.tgz", + "integrity": "sha512-auxP2bTGiMoELzX+6ItTeNzLmhGd/O+PHBsrXV2YwPXYCxarIFJhiMOSzFT9a1GWeYPSZtnWdLr79IVXr/5JqQ==", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } diff --git a/package.json b/package.json index 714cc48a..1fe65828 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "crypto-js": "^4.1.1", "dotenv": "^16.3.1", "ioredis": "^5.3.2", - "lucide-react": "^0.286.0", + "lucide-react": "^0.287.0", "negotiator": "^0.6.3", "next": "^13.4.19", "next-auth": "^4.23.1", From 0e3d38f2408a7411c88241200b3e643701a47b18 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Oct 2023 01:19:20 +0000 Subject: [PATCH 68/72] chore(deps): update dependency @types/node to v20.8.6 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad5d2d59..4976caa5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6182,9 +6182,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.8.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.5.tgz", - "integrity": "sha512-SPlobFgbidfIeOYlzXiEjSYeIJiOCthv+9tSQVpvk4PAdIIc+2SmjNVzWXk9t0Y7dl73Zdf+OgXKHX9XtkqUpw==", + "version": "20.8.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", + "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", "devOptional": true, "dependencies": { "undici-types": "~5.25.1" From 51abf5895a9a0c81d94ae72d890a9ecda6d3e2fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Oct 2023 04:08:30 +0000 Subject: [PATCH 69/72] fix(deps): update prisma monorepo to v5.4.2 --- package-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4976caa5..7f14ff8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4146,12 +4146,12 @@ "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" }, "node_modules/@prisma/client": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.3.1.tgz", - "integrity": "sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.4.2.tgz", + "integrity": "sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" + "@prisma/engines-version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574" }, "engines": { "node": ">=16.13" @@ -4166,16 +4166,16 @@ } }, "node_modules/@prisma/engines": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.3.1.tgz", - "integrity": "sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.4.2.tgz", + "integrity": "sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g==", "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59.tgz", - "integrity": "sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w==" + "version": "5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574.tgz", + "integrity": "sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA==" }, "node_modules/@radix-ui/number": { "version": "1.0.1", @@ -19462,13 +19462,13 @@ } }, "node_modules/prisma": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.3.1.tgz", - "integrity": "sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.4.2.tgz", + "integrity": "sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg==", "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "5.3.1" + "@prisma/engines": "5.4.2" }, "bin": { "prisma": "build/index.js" From 995bf3c36c7f7e768cc2e546a53e25d48494b946 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:19:36 +0000 Subject: [PATCH 70/72] fix(deps): update dependency @t3-oss/env-nextjs to v0.7.1 --- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4976caa5..552b2af9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5651,9 +5651,9 @@ } }, "node_modules/@t3-oss/env-core": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@t3-oss/env-core/-/env-core-0.7.0.tgz", - "integrity": "sha512-cgunN82CqgQOOyuMOK/bGtujX5/ooXQTwGMJVWI6mCowq6WE5EgRLOqF/DRcrElI0gSFGA9i9GrxzCnk73HZLQ==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@t3-oss/env-core/-/env-core-0.7.1.tgz", + "integrity": "sha512-3+SQt39OlmSaRLqYVFv8uRm1BpFepM5TIiMytRqO9cjH+wB77o6BIJdeyM5h5U4qLBMEzOJWCY4MBaU/rLwbYw==", "peerDependencies": { "typescript": ">=4.7.2", "zod": "^3.0.0" @@ -5665,11 +5665,11 @@ } }, "node_modules/@t3-oss/env-nextjs": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@t3-oss/env-nextjs/-/env-nextjs-0.7.0.tgz", - "integrity": "sha512-rjQIt6P3tac2eRx4BNQLNaJ+AIb2P8wXw4uFvYbEekqMGShikkUALnX3hUn1twYiGVGHXRm6UbU+LqtjIktuGg==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@t3-oss/env-nextjs/-/env-nextjs-0.7.1.tgz", + "integrity": "sha512-tQDbNLGCOvKGi+JoGuJ/CJInJI7/kLWJqtgGppAKS7ZFLdVOqZYR/uRjxlXOWPnxmUKF8VswOAsq7fXUpNZDhA==", "dependencies": { - "@t3-oss/env-core": "0.7.0" + "@t3-oss/env-core": "0.7.1" }, "peerDependencies": { "typescript": ">=4.7.2", From 313bc11c499500c18671d2645c6f0c1597540f50 Mon Sep 17 00:00:00 2001 From: rharkor Date: Mon, 16 Oct 2023 15:00:56 +0200 Subject: [PATCH 71/72] fix: redis --- .git-hooks/commit-msg | 2 +- .github/workflows/release.yml | 1 - src/lib/rate-limit.ts | 10 +++++++--- src/lib/redis.ts | 20 +++++++++++++++++--- src/lib/trpc/provider.tsx | 19 ++++++++++++++++++- tsconfig.json | 3 ++- 6 files changed, 45 insertions(+), 10 deletions(-) diff --git a/.git-hooks/commit-msg b/.git-hooks/commit-msg index 08c090bd..0ea01d05 100755 --- a/.git-hooks/commit-msg +++ b/.git-hooks/commit-msg @@ -3,4 +3,4 @@ # fix for windows systems PATH="/c/Program Files/nodejs:$HOME/AppData/Roaming/npm/:$PATH" -npx git-conventional-commits commit-msg-hook "$1" \ No newline at end of file +git-conventional-commits commit-msg-hook "$1" \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cbce7f8e..f20ddd7f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,5 +33,4 @@ jobs: - name: Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: npx semantic-release diff --git a/src/lib/rate-limit.ts b/src/lib/rate-limit.ts index d0d77363..6772f188 100644 --- a/src/lib/rate-limit.ts +++ b/src/lib/rate-limit.ts @@ -16,12 +16,16 @@ export const RATE_LIMIT_DURATION = 30 const rateLimiter = async (identifier: string, limit: number, duration: number): Promise => { const key = `rate_limit:${identifier}` const currentCount = await client.get(key) - const count = parseInt(currentCount as string, 10) || 0 + if (currentCount === null) { + client.setex(key, duration, "1") + return { limit, remaining: limit - 1, success: true } + } else { + client.incr(key) + } + const count = currentCount ? parseInt(currentCount, 10) : 1 if (count >= limit) { return { limit, remaining: limit - count, success: false } } - client.incr(key) - client.expire(key, duration) return { limit, remaining: limit - (count + 1), success: true } } diff --git a/src/lib/redis.ts b/src/lib/redis.ts index f20ff956..6a5e32ea 100644 --- a/src/lib/redis.ts +++ b/src/lib/redis.ts @@ -49,15 +49,29 @@ export const redisGetSert = async ( return executeCallback() } -export const redisDelete = async (groupOrKey: string | string[], pipeline?: ChainableCommander) => { +export const redisDelete = async ( + groupOrKey: string | string[], + pipeline?: ChainableCommander, + { + forceExec, + }: { + forceExec?: boolean + } = {} +) => { const redisPipeline = pipeline ?? redis.pipeline() if (Array.isArray(groupOrKey)) { - await Promise.all(groupOrKey.map(async (key) => redisDelete(key, redisPipeline))) + await Promise.all( + groupOrKey.map(async (key) => + redisDelete(key, redisPipeline, { + forceExec: true, + }) + ) + ) return } const keys = await redis.smembers("group_" + groupOrKey) redisPipeline.del(...keys) redisPipeline.del(groupOrKey) - if (!pipeline) await redisPipeline.exec() + if (forceExec || !pipeline) await redisPipeline.exec() } diff --git a/src/lib/trpc/provider.tsx b/src/lib/trpc/provider.tsx index 874701ce..9d99471f 100644 --- a/src/lib/trpc/provider.tsx +++ b/src/lib/trpc/provider.tsx @@ -1,6 +1,6 @@ "use client" import { QueryClient, QueryClientProvider } from "@tanstack/react-query" -import { httpBatchLink } from "@trpc/client" +import { httpBatchLink, loggerLink } from "@trpc/client" import React, { useState } from "react" import SuperJSON from "superjson" import { trpc } from "./client" @@ -12,6 +12,23 @@ export default function TrpcProvider({ children }: { children: React.ReactNode } trpc.createClient({ transformer: SuperJSON, links: [ + // adds pretty logs to your console in development and logs errors in production + loggerLink({ + enabled: (opts) => + (process.env.NODE_ENV === "development" && typeof window !== "undefined") || + (opts.direction === "down" && opts.result instanceof Error), + }), + // splitLink({ + // condition(op) { + // return op.type === "subscription" + // }, + // true: wsLink({ + // client: wsClient, + // }), + // false: httpBatchLink({ + // url: getUrl(), + // }), + // }), httpBatchLink({ url: getUrl(), }), diff --git a/tsconfig.json b/tsconfig.json index 7bc76667..1b516742 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -33,7 +33,8 @@ "**/*.mjs", ".next/types/**/*.ts", ".eslintrc.js", - "postcss.config.js" + "postcss.config.js", + "tailwind.config.js" ], "exclude": ["node_modules"] } From cedc3bcd370cee4c25a29191746c64acfc9853d2 Mon Sep 17 00:00:00 2001 From: rharkor Date: Mon, 16 Oct 2023 16:16:49 +0200 Subject: [PATCH 72/72] fix: container scripts --- .devcontainer/.p10k.zsh | 36 +++++++++---------- .devcontainer/.zshrc | 13 +++---- .devcontainer/devcontainer.json | 4 +-- .gitignore | 1 - package.json | 2 +- scripts/complete-initialisation.ts | 2 +- scripts/install-zsh10k.sh | 11 ------ scripts/{ => install}/install-bun.sh | 4 +-- .../install-git-hooks.sh} | 4 +-- scripts/install/install-zsh10k.sh | 18 ++++++++++ scripts/install/install.sh | 9 +++++ scripts/package.json | 2 +- 12 files changed, 60 insertions(+), 46 deletions(-) delete mode 100755 scripts/install-zsh10k.sh rename scripts/{ => install}/install-bun.sh (84%) rename scripts/{git-hooks.sh => install/install-git-hooks.sh} (59%) create mode 100755 scripts/install/install-zsh10k.sh create mode 100755 scripts/install/install.sh diff --git a/.devcontainer/.p10k.zsh b/.devcontainer/.p10k.zsh index 75f4991d..9f55f4d9 100644 --- a/.devcontainer/.p10k.zsh +++ b/.devcontainer/.p10k.zsh @@ -1,8 +1,8 @@ -# Generated by Powerlevel10k configuration wizard on 2023-09-13 at 13:25 UTC. +# Generated by Powerlevel10k configuration wizard on 2023-10-16 at 13:51 UTC. # Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 48479. # Wizard options: awesome-patched + powerline, large icons, classic, unicode, light, -# 12h time, angled separators, sharp heads, sharp tails, 2 lines, solid, no frame, -# compact, many icons, concise, transient_prompt, instant_prompt=verbose. +# 24h time, angled separators, sharp heads, sharp tails, 2 lines, disconnected, +# left frame, compact, many icons, fluent, transient_prompt, instant_prompt=verbose. # Type `p10k configure` to generate another config. # # Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate @@ -37,7 +37,7 @@ vcs # git status # =========================[ Line #2 ]========================= newline # \n - prompt_char # prompt symbol + # prompt_char # prompt symbol ) # The list of segments shown on the right. Fill it with less important segments. @@ -95,7 +95,7 @@ midnight_commander # midnight commander shell (https://midnight-commander.org/) nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) chezmoi_shell # chezmoi shell (https://www.chezmoi.io/) - # vi_mode # vi mode (you don't need this if you've enabled prompt_char) + vi_mode # vi mode (you don't need this if you've enabled prompt_char) # vpn_ip # virtual private network indicator # load # CPU load # disk_usage # disk usage @@ -141,9 +141,9 @@ # Connect left prompt lines with these symbols. You'll probably want to use the same color # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─' # Connect right prompt lines with these symbols. typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= @@ -153,7 +153,7 @@ # '─'. The last two make it easier to see the alignment between left and right prompt and to # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false # for more compact prompt if using this option. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='─' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then @@ -504,7 +504,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' # Custom prefix. - # typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon ' + typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon ' # Show status of repositories of these types. You can add svn and/or hg if you are # using them. If you do, your prompt may become slow even when your current directory @@ -524,7 +524,7 @@ # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=false + typeset -g POWERLEVEL9K_STATUS_OK=true typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' @@ -536,7 +536,7 @@ # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=false + typeset -g POWERLEVEL9K_STATUS_ERROR=true typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' @@ -565,7 +565,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' # Custom prefix. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook ' + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook ' #######################[ background_jobs: presence of background jobs ]####################### # Don't show the number of background jobs. @@ -941,7 +941,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' # Custom prefix. - # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith ' + typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith ' ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### # Python virtual environment color. @@ -1372,7 +1372,7 @@ POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' # Custom prefix. - # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat ' + typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat ' #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# # Show aws only when the command you are typing invokes one of these tools. @@ -1562,7 +1562,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' # Custom prefix. - # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin ' + typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin ' ###############################[ public_ip: public IP address ]############################### # Public IP color. @@ -1657,7 +1657,7 @@ # Current time color. typeset -g POWERLEVEL9K_TIME_FOREGROUND=66 # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%I:%M:%S %p}' + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' # If set to true, time will update when you hit enter. This way prompts for the past # commands will contain the start times of their commands as opposed to the default # behavior where they contain the end times of their preceding commands. @@ -1665,7 +1665,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' # Custom prefix. - # typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat ' + typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat ' # Example of a user-defined prompt segment. Function prompt_example will be called on every # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or diff --git a/.devcontainer/.zshrc b/.devcontainer/.zshrc index e92ae1ef..170b6cfd 100644 --- a/.devcontainer/.zshrc +++ b/.devcontainer/.zshrc @@ -77,7 +77,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k" # Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. -plugins=(git) +plugins=(git zsh-autosuggestions) source $ZSH/oh-my-zsh.sh @@ -108,11 +108,12 @@ source $ZSH/oh-my-zsh.sh # alias ohmyzsh="mate ~/.oh-my-zsh" DISABLE_AUTO_UPDATE=true DISABLE_UPDATE_PROMPT=true -ZSH_THEME="powerlevel10k/powerlevel10k" - -# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. -[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh +POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true +source /home/node/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # bun export BUN_INSTALL="$HOME/.bun" -export PATH=$BUN_INSTALL/bin:$PATH \ No newline at end of file +export PATH=$BUN_INSTALL/bin:$PATH + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7d58b2cf..a388e25a 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -33,11 +33,11 @@ }, // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "./scripts/install-zsh10k.sh && ./scripts/install-bun.sh && ./scripts/git-hooks.sh && npm install", + "postCreateCommand": "bash ./scripts/install/install.sh", // Configure tool-specific properties. "customizations": { - "postCreateCommand": "./scripts/install-zsh10k.sh && ./scripts/install-bun.sh && ./scripts/git-hooks.sh && npm install", + "postCreateCommand": "bash ./scripts/install/install.sh", "vscode": { "extensions": [ "formulahendry.auto-rename-tag", diff --git a/.gitignore b/.gitignore index e5e1ef75..35460ae5 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,6 @@ yarn-error.log* .pnpm-debug.log* # local env files -.env .env.development.local .env.test.local .env.production.local diff --git a/package.json b/package.json index 07d8474c..a4040ef7 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "test": "cross-env FORCE_COLOR=1 jest --passWithNoTests", "format": "prettier --write \"**/*.{ts,tsx,md}\"", "postinstall": "npx patch-package && prisma generate", - "preinstall": "npx only-allow-many npm", + "preinstall": "npx -y only-allow-many npm", "seed": "NODE_ENV=development prisma db seed", "depcheck": "cd scripts && npm i && npm run depcheck", "full-sub-package-setup": "npm run sub-package:scripts", diff --git a/scripts/complete-initialisation.ts b/scripts/complete-initialisation.ts index f7c8c615..e46b5bcb 100644 --- a/scripts/complete-initialisation.ts +++ b/scripts/complete-initialisation.ts @@ -7,7 +7,7 @@ const __dirname = url.fileURLToPath(new URL(".", import.meta.url)) const rootPath = path.join(__dirname, "..") export const completeInitialisation = async () => { - await fs.unlink(path.join(rootPath, "scripts", ".init-todo")) + await fs.unlink(path.join(rootPath, "scripts", ".init-todo")).catch(() => {}) console.log("\n") console.log(chalk.yellow("*".repeat(50))) console.log(chalk.green("Project initialized!")) diff --git a/scripts/install-zsh10k.sh b/scripts/install-zsh10k.sh deleted file mode 100755 index 431289a7..00000000 --- a/scripts/install-zsh10k.sh +++ /dev/null @@ -1,11 +0,0 @@ -#! /bin/sh -# ZSH powerlevel10k -echo "Installing ZSH powerlevel10k... 🚀" -git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k -sed -i 's/ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ${ZDOTDIR:-$HOME}/.zshrc -cp .devcontainer/.p10k.zsh ${ZDOTDIR:-$HOME}/.p10k.zsh -cp .devcontainer/.zshrc ${ZDOTDIR:-$HOME}/.zshrc -echo "" >> ~/.bashrc -echo "if [ -t 1 ]; then" >> ~/.bashrc -echo "exec zsh" >> ~/.bashrc -echo "fi" >> ~/.bashrc \ No newline at end of file diff --git a/scripts/install-bun.sh b/scripts/install/install-bun.sh similarity index 84% rename from scripts/install-bun.sh rename to scripts/install/install-bun.sh index 25106212..5518a3c3 100755 --- a/scripts/install-bun.sh +++ b/scripts/install/install-bun.sh @@ -1,5 +1,3 @@ -#! /bin/zsh - echo "Installing bun... 🚀" curl -fsSL https://bun.sh/install | bash @@ -7,4 +5,4 @@ echo "# bun" >> ~/.zshrc echo "export BUN_INSTALL=\"\$HOME/.bun\"" >> ~/.zshrc echo "export PATH=\$BUN_INSTALL/bin:\$PATH" >> ~/.zshrc -source /home/node/.zshrc \ No newline at end of file +echo "Done! 🎉" diff --git a/scripts/git-hooks.sh b/scripts/install/install-git-hooks.sh similarity index 59% rename from scripts/git-hooks.sh rename to scripts/install/install-git-hooks.sh index f141d3b6..2f68bea9 100755 --- a/scripts/git-hooks.sh +++ b/scripts/install/install-git-hooks.sh @@ -1,4 +1,4 @@ -#! /bin/sh echo "Installing git hooks... 🚀" npm install --global git-conventional-commits -git config core.hooksPath .git-hooks \ No newline at end of file +git config core.hooksPath .git-hooks +echo "Done! 🎉" diff --git a/scripts/install/install-zsh10k.sh b/scripts/install/install-zsh10k.sh new file mode 100755 index 00000000..ee02f3cb --- /dev/null +++ b/scripts/install/install-zsh10k.sh @@ -0,0 +1,18 @@ +# ZSH powerlevel10k +echo "Installing ZSH powerlevel10k... 🚀" +#? Install powerlevel10k +git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k +# sed -i 's/ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ${ZDOTDIR:-$HOME}/.zshrc +# echo '' >> ~/.zshrc +# echo 'POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true' >> ~/.zshrc +cp .devcontainer/.p10k.zsh ${ZDOTDIR:-$HOME}/.p10k.zsh +cp .devcontainer/.zshrc ${ZDOTDIR:-$HOME}/.zshrc + +#? Install zsh syntax highlighting +git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting +echo "source ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc + +#? Install zsh autosuggestions +git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions + +echo "Done! 🎉" \ No newline at end of file diff --git a/scripts/install/install.sh b/scripts/install/install.sh new file mode 100755 index 00000000..2a627343 --- /dev/null +++ b/scripts/install/install.sh @@ -0,0 +1,9 @@ +echo "🚀 Installing ZSH powerlevel10k..." +./scripts/install/install-zsh10k.sh 1>/dev/null 2>&1 +echo "🔥 Installing bun..." +./scripts/install/install-bun.sh 1>/dev/null 2>&1 +echo "🛠️ Installing git hooks..." +./scripts/install/install-git-hooks.sh 1>/dev/null 2>&1 +echo "📦 Installing dependencies..." +npm install 1>/dev/null 2>&1 +echo "🎉 Installing done!" \ No newline at end of file diff --git a/scripts/package.json b/scripts/package.json index 180684a4..5ffbd923 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -7,7 +7,7 @@ "depcheck": "npx tsx depcheck.ts", "is-initialized": "npx tsx is-initialized.ts", "postinstall": "npx patch-package", - "preinstall": "npx only-allow-many npm" + "preinstall": "npx -y only-allow-many npm" }, "type": "module", "dependencies": {