環境変数ファイルとJSONを行き来します。コメント・引用符・重複キーも解釈します。
行頭がシャープ記号の行はコメントとして読み飛ばします。値がクォートで囲まれていない場合は、値の途中にあるシャープ記号以降も行内コメントとして切り落とします。クォートで囲まれた値の中のシャープ記号は値の一部として残ります。行頭の export は接頭辞として無視し、キー名には含めません。
二重引用符で囲まれた値は、バックスラッシュのエスケープを解釈します。改行、タブ、復帰、バックスラッシュ自身、二重引用符を戻します。単一引用符で囲まれた値はエスケープを解釈せず、中身をそのまま使います。囲まれていない値は前後の空白を取り除きます。
環境変数の値は常に文字列なので、JSONに変換した値もすべて文字列にします。数値に見える値を数値型にはしません。逆方向でJSONに数値・真偽値・nullが入っていた場合は、文字列へ直してから書き出します。オブジェクトや配列が入っていた場合はJSON文字列へ直して1行に収め、値をクォートで囲みます。
このツールは通信を行わず、変換はブラウザの中だけで完結します。ただし .env には本番の認証情報が入っていることが多いので、必要のない場所へ貼り付けない運用そのものを見直すほうが安全です。共有が目的なら、値を伏せた雛形だけを変換して受け渡す方法もあります。
値に空白・引用符・改行・シャープ記号が含まれるときです。囲まないと、空白以降が別のものとして扱われたり、シャープ以降が行内コメントとして落ちたりします。このツールはJSONから.envへ変換するとき、こうした文字を含む値だけを自動で二重引用符で囲み、内部の引用符とバックスラッシュをエスケープします。
このツールは後に書かれたほうの値を採用し、重複したキーを警告として一覧に出します。JSONのオブジェクトはキーが一意なので、重複をそのまま持ち込むことはできません。どちらを使うつもりだったのかを確認できるよう、黙って捨てずに表示します。
いいえ。解析も変換もすべてお使いのブラウザ内のJavaScriptで完結します。入力した内容がサーバーへ送信・保存されることはありません。とはいえ本番のAPIキーや認証情報を、必要のない場所に貼り付けない運用のほうが安全です。