@spotable/attio-sdk
Version:
Client for Attio REST API
27 lines (21 loc) • 811 B
text/typescript
import * as fs from "node:fs";
import { writeGeneratedFile } from "../helpers/fs";
import logger from "../helpers/logger";
import { generateFileHeader } from "./types/fileHeader";
const FILE_NAME = "index.ts";
export function generateIndexFile(outputDirectory: string) {
logger.debug(`Generating index file in: ${outputDirectory}`);
const files = fs.readdirSync(outputDirectory);
const exportLines = files
// .filter((file) => file.endsWith(".ts"))
.filter((file) => file !== FILE_NAME) // Exclude the index.ts file itself
.map((file) => {
const baseName = file.replace(/\.ts$/, "");
return `export * from './${baseName}';`;
});
const content = `
${generateFileHeader(FILE_NAME)}
${exportLines.join("\n")}
`;
writeGeneratedFile(outputDirectory, FILE_NAME, content);
}