import fs from "fs/promises";
import dotenv from "dotenv-flow";

dotenv.config();

const workerName = process.argv[2];

if (!workerName) {
  console.error("Please specify a worker name.");
  process.exit(1);
}

const templatePath = `workers/${workerName}/wrangler.template.toml`;
const outputPath = `workers/${workerName}/wrangler.toml`;

async function generateToml() {
  try {
    const template = await fs.readFile(templatePath, "utf8");
    const output = template
      .replace(/\${CF_ACCOUNT_ID}/g, process.env.CF_ACCOUNT_ID)
      .replace(/\${CF_ZONE_ID}/g, process.env.CF_ZONE_ID)
      .replace(
        /\${RSS_TO_MASTODON_KV_NAMESPACE_ID}/g,
        process.env.RSS_TO_MASTODON_KV_NAMESPACE_ID
      );

    await fs.writeFile(outputPath, output);

    console.log(`Generated wrangler.toml for ${workerName}`);
  } catch (error) {
    console.error("Error generating wrangler.toml:", error);
    process.exit(1);
  }
}

generateToml();