Fix dev config

This commit is contained in:
C. Fuhrman 2025-01-08 01:10:06 -05:00
parent f2fe6031bb
commit 1ffd776597
7 changed files with 72 additions and 35 deletions

View file

@ -1,2 +1,2 @@
VITE_BACKEND_URL=http://localhost:4400
VITE_AZURE_BACKEND_URL=http://localhost:4400
VITE_BACKEND_SOCKET_URL=http://localhost:4400

View file

@ -2678,9 +2678,9 @@
}
},
"node_modules/@eslint/plugin-kit": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz",
"integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==",
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz",
"integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@ -5695,9 +5695,9 @@
"license": "MIT"
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -9126,9 +9126,9 @@
"license": "MIT"
},
"node_modules/nanoid": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.8.tgz",
"integrity": "sha512-TcJPw+9RV9dibz1hHUzlLVy8N4X9TnwirAjrU08Juo6BNKggzVfP2ZJ/3ZUSq15Xl5i85i+Z89XBO90pB2PghQ==",
"version": "5.0.9",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz",
"integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==",
"funding": [
{
"type": "github",
@ -9511,9 +9511,9 @@
}
},
"node_modules/postcss/node_modules/nanoid": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
"dev": true,
"funding": [
{

View file

@ -5,11 +5,11 @@ import { ENV_VARIABLES } from '../../constants';
jest.mock('socket.io-client');
// jest.mock('../../constants', () => ({
// ENV_VARIABLES: {
// VITE_BACKEND_SOCKET_URL: 'https://ets-glitch-backend.glitch.me/'
// }
// }));
jest.mock('../../constants', () => ({
ENV_VARIABLES: {
VITE_BACKEND_SOCKET_URL: 'https://ets-glitch-backend.glitch.me/'
}
}));
describe('WebSocketService', () => {
let mockSocket: Partial<Socket>;

View file

@ -1,8 +1,8 @@
// constants.tsx
const ENV_VARIABLES = {
MODE: 'production',
VITE_BACKEND_URL: process.env.VITE_BACKEND_URL || "",
VITE_BACKEND_SOCKET_URL: process.env.VITE_BACKEND_SOCKET_URL || "",
VITE_BACKEND_URL: import.meta.env.VITE_BACKEND_URL || "undefined",
VITE_BACKEND_SOCKET_URL: import.meta.env.VITE_BACKEND_SOCKET_URL || "",
};
console.log(`ENV_VARIABLES.VITE_BACKEND_URL=${ENV_VARIABLES.VITE_BACKEND_URL}`);

View file

@ -1,6 +1,7 @@
// Import API
const express = require("express");
const http = require("http");
const https = require("https");
const dotenv = require('dotenv');
// Import Sockets
@ -43,6 +44,7 @@ const imagesRouter = require('./routers/images.js');
// Setup environment
dotenv.config();
const isDev = process.env.NODE_ENV === 'development';
const errorHandler = require("./middleware/errorHandler.js");
// Start app
@ -50,7 +52,7 @@ const app = express();
const cors = require("cors");
const bodyParser = require('body-parser');
const configureServer = (httpServer, isDev) => {
const configureServer = (httpServer) => {
return new Server(httpServer, {
path: "/socket.io",
cors: {
@ -63,18 +65,29 @@ const configureServer = (httpServer, isDev) => {
};
// Start sockets (depending on the dev or prod environment)
let server = http.createServer(app);
let isDev = process.env.NODE_ENV === 'development';
const server = http.createServer(app);
console.log(`Environnement: ${process.env.NODE_ENV} (${isDev ? 'dev' : 'prod'})`);
const io = configureServer(server);
console.log(`server.io configured: ${io.secure ? 'secure' : 'not secure'}`);
console.log(`Server configured with cors.origin: ${io.opts.cors.origin} and secure: ${io.opts.secure}`);
setupWebsocket(io);
console.log(`Websocket setup with on() listeners.`);
// const io = socketIo(server, {
// cors: {
// origin: '*', //process.env.FRONTEND_URL, // will be set in .env or Dockerfile
// methods: ['GET', 'POST'],
// },
// });
app.use(cors());
app.use((req, res, next) => {
console.log(`Incoming request: ${req.method} ${req.url}`);
next();
});
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
@ -98,6 +111,23 @@ async function start() {
server.listen(port, () => {
console.log(`Serveur écoutant sur le port ${port}`);
});
// if (isDev) {
// // HTTP for development
// http.createServer(app).listen(port, () => {
// console.log(`Serveur en développement écoutant sur le port ${port} (HTTP)`);
// });
// } else {
// // HTTPS for production
// const sslOptions = {
// key: fs.readFileSync(path.resolve(__dirname, "path_to_ssl_key.pem")),
// cert: fs.readFileSync(path.resolve(__dirname, "path_to_ssl_cert.pem")),
// };
// https.createServer(sslOptions, app).listen(443, () => {
// console.log(`Serveur en production écoutant sur le port 443 (HTTPS)`);
// });
// }
}
start();

View file

@ -2122,10 +2122,11 @@
}
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@ -2515,9 +2516,10 @@
}
},
"node_modules/express": {
"version": "4.21.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
"integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
"version": "4.21.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
"integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
@ -2538,7 +2540,7 @@
"methods": "~1.1.2",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.10",
"path-to-regexp": "0.1.12",
"proxy-addr": "~2.0.7",
"qs": "6.13.0",
"range-parser": "~1.2.1",
@ -2553,6 +2555,10 @@
},
"engines": {
"node": ">= 0.10.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/fast-json-stable-stringify": {
@ -4660,9 +4666,10 @@
"dev": true
},
"node_modules/path-to-regexp": {
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w=="
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
"integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
"license": "MIT"
},
"node_modules/picocolors": {
"version": "1.0.0",

View file

@ -6,7 +6,7 @@
"scripts": {
"build": "webpack --config webpack.config.js",
"start": "node app.js",
"dev": "cross-env NODE_ENV=development nodemon app.js",
"dev": "cross-env DEBUG=socket.io:* NODE_ENV=development nodemon app.js",
"test": "jest --colors"
},
"keywords": [],