testTcmEnvIsAsYouWouldRunTcm

tcmts.studio.test.testTcmEnvIsAsYouWouldRunTcm · #clguc4ci · term

import { tcmEnv } from "#codebase/tcmts/studio";
import assert from "node:assert/strict";

export const testTcmEnvIsAsYouWouldRunTcm = () => {
  const was = { NODE_ENV: process.env.NODE_ENV, TCM_SHARE_TOKEN: process.env.TCM_SHARE_TOKEN };
  process.env.NODE_ENV = "production";
  process.env.TCM_SHARE_TOKEN = "secret";
  try {
    const env = tcmEnv();
    assert.equal(env.NODE_ENV, undefined);
    assert.equal(env.TCM_SHARE_TOKEN, undefined);
    assert.equal(env.PATH, process.env.PATH);
  } finally {
    for (const [k, v] of Object.entries(was))
      if (v === undefined) delete process.env[k];
      else process.env[k] = v;
  }
}

uses