Skip to content

Commit 4cd8289

Browse files
committed
add node-specific env fetching
1 parent 8dfd37a commit 4cd8289

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

packages/common/src/ENVIRONMENT_VARS.ts

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,35 @@ const defaultEnv: Environment = {
4646
MOCK: false,
4747
};
4848

49-
// Get environment from global or default
50-
const ENV: Environment =
51-
typeof window !== 'undefined' && window.__SKUILDER_ENV__
52-
? { ...defaultEnv, ...window.__SKUILDER_ENV__ }
53-
: defaultEnv;
54-
55-
// Log the initialized environment
56-
console.log('ENV initialized:', ENV);
49+
// Determine if we're in browser or Node environment
50+
const isBrowser = typeof window !== 'undefined';
51+
52+
// Function to get environment from Node process.env
53+
function getNodeEnv(): Environment {
54+
console.log(`Process.env: ${JSON.stringify(process.env)}`);
55+
return {
56+
COUCHDB_SERVER_URL: process.env.COUCHDB_SERVER || defaultEnv.COUCHDB_SERVER_URL,
57+
COUCHDB_SERVER_PROTOCOL: (process.env.COUCHDB_PROTOCOL ||
58+
defaultEnv.COUCHDB_SERVER_PROTOCOL) as ProtocolString,
59+
EXPRESS_SERVER_URL: process.env.EXPRESS_SERVER || defaultEnv.EXPRESS_SERVER_URL,
60+
EXPRESS_SERVER_PROTOCOL: (process.env.EXPRESS_PROTOCOL ||
61+
defaultEnv.EXPRESS_SERVER_PROTOCOL) as ProtocolString,
62+
DEBUG: process.env.DEBUG === 'true' || defaultEnv.DEBUG,
63+
MOCK: process.env.MOCK === 'true' || defaultEnv.MOCK,
64+
};
65+
}
66+
67+
// Get environment based on runtime context
68+
let ENV: Environment;
69+
70+
if (isBrowser) {
71+
// Browser environment - use window.__SKUILDER_ENV__ if available
72+
ENV = window.__SKUILDER_ENV__ ? { ...defaultEnv, ...window.__SKUILDER_ENV__ } : defaultEnv;
73+
console.log('Browser ENV initialized:', ENV);
74+
} else {
75+
// Node.js environment - use process.env
76+
ENV = getNodeEnv();
77+
console.log('Node ENV initialized:', ENV);
78+
}
5779

5880
export default ENV;

0 commit comments

Comments
 (0)