createIndex.ts•743 B
import { readdirSync, writeFileSync, statSync } from "fs";
const ignore = ["src/index.ts"];
function checkSrcDir(path: string): string[] {
  const lines: string[] = [];
  for (const item of readdirSync(path)) {
    const itemPath = path + "/" + item;
    if (ignore.includes(itemPath)) {
      continue;
    }
    if (statSync(itemPath).isDirectory()) {
      lines.push(...checkSrcDir(itemPath));
    } else if (item.endsWith(".ts")) {
      lines.push('export * from "./' + itemPath.slice(4, -2) + 'js"');
    }
  }
  return lines;
}
const lines = checkSrcDir("src");
lines.push(
  'import { zodToJsonSchema } from "./zodToJsonSchema.js"',
  "export default zodToJsonSchema;",
);
writeFileSync("./src/index.ts", lines.join(";\n"));