Skip to content

Commit

Permalink
fix: electronでプロセスの環境変数がない場合に落ちないように (#2461)
Browse files Browse the repository at this point in the history
Co-authored-by: Nanashi. <[email protected]>
  • Loading branch information
Hiroshiba and sevenc-nanashi authored Jan 3, 2025
1 parent 4954e9a commit f94463c
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions src/domain/defaultEngine/envEngineInfo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,28 @@ const envEngineInfoSchema = z
);
type EnvEngineInfoType = z.infer<typeof envEngineInfoSchema>;

/**
* デフォルトエンジン情報の環境変数を取得する
* electronのときはプロセスの環境変数を優先する。
* NOTE: electronテスト環境を切り替えるため。テスト環境が1本化されればimport.meta.envを使う。
*/
function getDefaultEngineInfosEnv(): string {
let engineInfos;
if (isElectron) {
engineInfos = process?.env?.VITE_DEFAULT_ENGINE_INFOS;
}
if (engineInfos == undefined) {
engineInfos = import.meta.env.VITE_DEFAULT_ENGINE_INFOS;
}
if (engineInfos == undefined) {
engineInfos = "[]";
}
return engineInfos;
}

/** .envからデフォルトエンジン情報を読み込む */
export function loadEnvEngineInfos(): EnvEngineInfoType[] {
// electronのときはプロセスの環境変数を参照する。
// NOTE: electronテスト環境を切り替えるため。テスト環境が1本化されればimport.meta.envを使う。
const defaultEngineInfosEnv =
(isElectron
? process.env.VITE_DEFAULT_ENGINE_INFOS
: import.meta.env.VITE_DEFAULT_ENGINE_INFOS) ?? "[]";
const defaultEngineInfosEnv = getDefaultEngineInfosEnv();

// FIXME: 「.envを書き換えてください」というログを出したい
// NOTE: domainディレクトリなのでログを出す方法がなく、Errorオプションのcauseを用いてもelectron-logがcauseのログを出してくれない
Expand Down

0 comments on commit f94463c

Please sign in to comment.