fixed localhost polling
This commit is contained in:
parent
e597f1caa6
commit
bebc92395a
1 changed files with 59 additions and 20 deletions
|
|
@ -1,19 +1,62 @@
|
|||
import { defineConfig } from 'vite';
|
||||
import { defineConfig, loadEnv } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
import path from 'path';
|
||||
import dotenv from 'dotenv';
|
||||
import fs from 'fs';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig(({ mode }) => {
|
||||
dotenv.config();
|
||||
// Load env variables
|
||||
// Load env files
|
||||
const env = loadEnv(mode, process.cwd(), '');
|
||||
|
||||
// Explicitly check for ENVIRONMENT in all possible places
|
||||
// 1. Check env loaded by Vite
|
||||
// 2. Check process.env (for Node.js environment)
|
||||
// 3. Try to read from .env file directly as fallback
|
||||
let environment = env.ENVIRONMENT;
|
||||
|
||||
if (!environment && process.env.ENVIRONMENT) {
|
||||
environment = process.env.ENVIRONMENT;
|
||||
}
|
||||
|
||||
if (!environment) {
|
||||
try {
|
||||
const envContent = fs.readFileSync('.env', 'utf8');
|
||||
const envMatch = envContent.match(/ENVIRONMENT\s*=\s*(\w+)/);
|
||||
if (envMatch && envMatch[1]) {
|
||||
environment = envMatch[1];
|
||||
}
|
||||
} catch (error) {
|
||||
// Fallback if file can't be read
|
||||
console.warn('Could not read .env file directly:', error.message);
|
||||
}
|
||||
}
|
||||
|
||||
// Default to 'beta' if still not found
|
||||
if (!environment) {
|
||||
environment = 'beta';
|
||||
}
|
||||
|
||||
console.log(`Vite environment detected: ${environment}`);
|
||||
|
||||
const isProduction = environment === 'prod';
|
||||
|
||||
// Configure HMR based on environment
|
||||
let hmrConfig;
|
||||
|
||||
if (isProduction) {
|
||||
// Production: use the domain name without clientPort
|
||||
hmrConfig = {
|
||||
host: 'rocks.2many.ca',
|
||||
protocol: 'https'
|
||||
};
|
||||
} else {
|
||||
// Development: use localhost with explicit port
|
||||
hmrConfig = {
|
||||
host: 'localhost',
|
||||
clientPort: 3000
|
||||
};
|
||||
}
|
||||
|
||||
// Determine HMR host based on environment
|
||||
const isProduction = process.env.ENVIRONMENT === "prod";
|
||||
const hmrHost = isProduction ? 'rocks.2many.ca' : 'localhost';
|
||||
const hmrConfig = isProduction
|
||||
? { host: hmrHost }
|
||||
: { host: hmrHost, clientPort: 3000 };
|
||||
return {
|
||||
plugins: [react()],
|
||||
resolve: {
|
||||
|
|
@ -32,14 +75,6 @@ export default defineConfig(({mode}) => {
|
|||
}
|
||||
},
|
||||
server: {
|
||||
// port: 3000,
|
||||
// proxy: {
|
||||
// '/api': {
|
||||
// target: 'http://localhost:4000',
|
||||
// changeOrigin: true,
|
||||
// secure: false
|
||||
// }
|
||||
// },
|
||||
allowedHosts: ['localhost', 'rocks.2many.ca'],
|
||||
host: '0.0.0.0',
|
||||
port: 3000,
|
||||
|
|
@ -53,6 +88,10 @@ export default defineConfig(({mode}) => {
|
|||
assetsDir: 'assets',
|
||||
emptyOutDir: true,
|
||||
sourcemap: process.env.NODE_ENV !== 'production'
|
||||
},
|
||||
// Make environment variables available to the client code
|
||||
define: {
|
||||
'import.meta.env.ENVIRONMENT': JSON.stringify(environment)
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
Loading…
Reference in a new issue