api/env: add subscribe() for dynamic reloads

This commit is contained in:
jj
2025-07-19 15:21:57 +00:00
parent c8b2fe44c8
commit 5908e9da15
2 changed files with 35 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
import { getVersion } from "@imput/version-info";
import { loadEnvs, validateEnvs } from "./core/env.js";
import { loadEnvs, validateEnvs, onEnvChanged } from "./core/env.js";
const version = await getVersion();
@@ -18,12 +18,20 @@ export const updateEnv = (newEnv) => {
newEnv.tunnelPort = env.tunnelPort;
for (const key in env) {
if (key === 'subscribe') {
continue;
}
if (String(env[key]) !== String(newEnv[key])) {
changes.push(key);
}
env[key] = newEnv[key];
}
if (changes.length) {
onEnvChanged(changes);
}
return changes;
}