|
|
@@ -9,9 +9,31 @@ import { resolve } from "node:path";
|
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
|
|
const envFiles = {
|
|
|
- dev: ".env.app.dev",
|
|
|
+ dev: ".env.app.dev",
|
|
|
staging: ".env.app.staging",
|
|
|
- prod: ".env.app.prod",
|
|
|
+ prod: ".env.app.prod",
|
|
|
+};
|
|
|
+
|
|
|
+const loadAppEnv = (ctx) => {
|
|
|
+ const appEnv = process.env.APP_ENV || (ctx.dev ? "dev" : "prod");
|
|
|
+ const envFile = envFiles[appEnv];
|
|
|
+
|
|
|
+ if (!envFile) {
|
|
|
+ throw new Error(`APP_ENV invalido: "${appEnv}". Use dev, staging ou prod.`);
|
|
|
+ }
|
|
|
+
|
|
|
+ const fileEnv = parseEnvFile(resolve(process.cwd(), envFile));
|
|
|
+
|
|
|
+ return {
|
|
|
+ APP_ENV: appEnv,
|
|
|
+ API_URL: fileEnv.API_URL,
|
|
|
+ PASSWORD: fileEnv.PASSWORD,
|
|
|
+ SENHA: fileEnv.SENHA,
|
|
|
+ WEBSOCKET_API: fileEnv.WEBSOCKET_API,
|
|
|
+ WEBSOCKET_PATH: fileEnv.WEBSOCKET_PATH,
|
|
|
+ WEBSOCKET_ROOM: fileEnv.WEBSOCKET_ROOM,
|
|
|
+ WEBSOCKET_API_KEY: fileEnv.WEBSOCKET_API_KEY,
|
|
|
+ };
|
|
|
};
|
|
|
|
|
|
const parseEnvFile = (filePath) => {
|
|
|
@@ -34,7 +56,7 @@ const parseEnvFile = (filePath) => {
|
|
|
return env;
|
|
|
}
|
|
|
|
|
|
- const key = trimmedLine.slice(0, separatorIndex).trim();
|
|
|
+ const key = trimmedLine.slice(0, separatorIndex).trim();
|
|
|
const value = trimmedLine.slice(separatorIndex + 1).trim();
|
|
|
|
|
|
env[key] = value.replace(/^["']|["']$/g, "");
|
|
|
@@ -43,34 +65,6 @@ const parseEnvFile = (filePath) => {
|
|
|
}, {});
|
|
|
};
|
|
|
|
|
|
-const loadAppEnv = (ctx) => {
|
|
|
- const appEnv = process.env.APP_ENV || (ctx.dev ? "dev" : "prod");
|
|
|
- const envFile = envFiles[appEnv];
|
|
|
-
|
|
|
- if (!envFile) {
|
|
|
- throw new Error(`APP_ENV invalido: "${appEnv}". Use dev, staging ou prod.`);
|
|
|
- }
|
|
|
-
|
|
|
- const fileEnv = parseEnvFile(resolve(process.cwd(), envFile));
|
|
|
-
|
|
|
- return {
|
|
|
- APP_ENV: appEnv,
|
|
|
- API_URL: process.env.API_URL || fileEnv.API_URL || "http://localhost:3000",
|
|
|
- PASSWORD: process.env.PASSWORD || fileEnv.PASSWORD || "",
|
|
|
- SENHA: process.env.SENHA || fileEnv.SENHA || "",
|
|
|
- WEBSOCKET_API:
|
|
|
- process.env.WEBSOCKET_API ||
|
|
|
- fileEnv.WEBSOCKET_API ||
|
|
|
- "http://localhost:4321/",
|
|
|
- WEBSOCKET_PATH:
|
|
|
- process.env.WEBSOCKET_PATH || fileEnv.WEBSOCKET_PATH || "/socket.io",
|
|
|
- WEBSOCKET_ROOM:
|
|
|
- process.env.WEBSOCKET_ROOM || fileEnv.WEBSOCKET_ROOM || "LARAVEL",
|
|
|
- WEBSOCKET_API_KEY:
|
|
|
- process.env.WEBSOCKET_API_KEY || fileEnv.WEBSOCKET_API_KEY || "",
|
|
|
- };
|
|
|
-};
|
|
|
-
|
|
|
export default defineConfig((ctx) => {
|
|
|
const appEnv = loadAppEnv(ctx);
|
|
|
|
|
|
@@ -121,7 +115,9 @@ export default defineConfig((ctx) => {
|
|
|
|
|
|
// publicPath: '/',
|
|
|
// analyze: true,
|
|
|
+
|
|
|
env: appEnv,
|
|
|
+
|
|
|
// rawDefine: {}
|
|
|
// ignorePublicFolder: true,
|
|
|
// minify: false,
|