From 24db804c7fb204d93cfbb4dcad1608a2f2b8d88f Mon Sep 17 00:00:00 2001 From: ChatonDeAru <823314+chatondearu@users.noreply.github.com> Date: Sun, 24 Mar 2024 00:01:09 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20use=20.env=20instead=20of=20json?= =?UTF-8?q?=20config=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 18 ++++++++++ .eslintrc.js | 1 + jest/config.js | 1 + package.json | 11 +++--- src/app/index.tsx | 20 ++++++++--- src/config/default.ts | 20 ----------- src/config/index.ts | 4 --- src/config/prod.ts | 14 -------- src/server/discordBot.ts | 61 ++++++++------------------------- src/server/gsheets/accessors.ts | 52 +++++++++------------------- src/server/index.ts | 30 ++++++++-------- src/server/secure.ts | 4 +-- src/services/accessors.ts | 35 +++++++++---------- src/types/index.d.ts | 9 +++++ webpack/base.config.ts | 2 ++ yarn.lock | 5 +++ 16 files changed, 121 insertions(+), 166 deletions(-) create mode 100644 .env.example delete mode 100755 src/config/default.ts delete mode 100755 src/config/index.ts delete mode 100755 src/config/prod.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..0565f37 --- /dev/null +++ b/.env.example @@ -0,0 +1,18 @@ +## Google Cloud Platform Service Account +GCP_SERVICE_ACCOUNT_PRIVATE_KEY= +GCP_SERVICE_ACCOUNT_CLIENT_ID= +GCP_SERVICE_ACCOUNT_CLIENT_EMAIL= +GSHEET_ID= + +## Discord +DISCORD_TOKEN= +DISCORD_CLIENTID= +DISCORD_GUILDID= + +## Notifications +FORCE_ORANGE_PUBLIC_VAPID_KEY= +FORCE_ORANGE_PRIVATE_VAPID_KEY= + +## Environment +PORT=8080 +API_URL=http://fo.parisestludique.fr/api diff --git a/.eslintrc.js b/.eslintrc.js index 88bb4b1..e9a7d11 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -60,5 +60,6 @@ module.exports = { __LOCAL__: false, __REGISTER_DISCORD_COMMANDS__: false, __TEST__: false, + API_URL: false, }, } diff --git a/jest/config.js b/jest/config.js index 23e308f..5d25004 100644 --- a/jest/config.js +++ b/jest/config.js @@ -24,6 +24,7 @@ module.exports = { __LOCAL__: false, __REGISTER_DISCORD_COMMANDS__: false, __TEST__: true, + API_URL: "http://localhost:3000", }, maxConcurrency: 50, maxWorkers: 1, diff --git a/package.json b/package.json index d455f63..38ca4bb 100644 --- a/package.json +++ b/package.json @@ -39,12 +39,12 @@ "npm": ">=6" }, "scripts": { - "dev": "yarn dev:build && nodemon ./public/server", - "ser": "yarn dev:build && node ./public/server", + "dev": "yarn dev:build && nodemon -r dotenv/config ./public/server", + "ser": "yarn dev:build && node -r dotenv/config ./public/server", "dev:build": "cross-env NODE_ENV=development webpack --config ./webpack/server.config.ts", - "local-start": "cross-env LOCAL=true yarn build && node ./public/server", - "discord-register": "cross-env REGISTER_DISCORD_COMMANDS=true yarn build && node ./public/server", - "start": "node ./public/server", + "local-start": "cross-env LOCAL=true yarn build && node -r dotenv/config ./public/server", + "discord-register": "cross-env REGISTER_DISCORD_COMMANDS=true yarn build && node -r dotenv/config ./public/server", + "start": "node -r dotenv/config ./public/server", "build": "run-s build:*", "build:server": "cross-env NODE_ENV=production webpack --config ./webpack/server.config.ts", "build:client": "cross-env NODE_ENV=production webpack --config ./webpack/client.config.ts", @@ -174,6 +174,7 @@ "compression-webpack-plugin": "^8.0.1", "css-loader": "^5.2.6", "css-minimizer-webpack-plugin": "^3.0.2", + "dotenv": "^16.4.5", "eslint": "^7.14.0", "eslint-config-airbnb": "^18.2.1", "eslint-config-prettier": "^8.3.0", diff --git a/src/app/index.tsx b/src/app/index.tsx index f5a25bc..c2a0687 100755 --- a/src/app/index.tsx +++ b/src/app/index.tsx @@ -2,7 +2,6 @@ import { RouteConfig, renderRoutes } from "react-router-config" import { Helmet } from "react-helmet" import { ToastContainer } from "react-toastify" -import config from "../config" // Import your global styles here import "normalize.css/normalize.css" import "react-toastify/dist/ReactToastify.css" @@ -24,9 +23,22 @@ const App = ({ route, location }: Route): JSX.Element => { } // else + const appInfo = { + htmlAttributes: { lang: "en" }, + title: "Force Orange", + description: "Le site des bénévoles", + titleTemplate: "Force Orange - %s", + meta: [ + { + name: "description", + content: "The best react universal starter boilerplate in the world.", + }, + ], + } + return (