import fs from "fs"; import path from "path"; const defaultPath = "./lib/"; const componentFolderPath = process.argv[3] ? process.argv[3] : defaultPath; const componentName = process.argv[2]; if (!componentName) { console.error("Please provide a module name."); process.exit(1); } const folderPath = path.join(componentFolderPath, componentName); const componentFilePath = path.join(folderPath, `${componentName}.ts`); const testFile = path.join(folderPath, `${componentName}.test.ts`); const indexPath = path.join(folderPath, "index.ts"); if (!fs.existsSync(folderPath)) { fs.mkdirSync(folderPath, { recursive: true }); } const componentContent = `export function ${componentName}() { //your code here }; `; fs.writeFileSync(componentFilePath, componentContent); const testContent = `import { describe, it, expect } from "vitest"; import { ${componentName} } from "./${componentName}.ts"; describe("${componentName}", () => { let sortedArray = [-12, 1, 4, 6, 22]; it("${componentName}", () => { expect(${componentName}(sortedArray, 4)).toBe(2); }); it("${componentName}", () => { expect(${componentName}(sortedArray, 3)).toBe(-1); }); }); `; fs.writeFileSync(testFile, testContent); const indexContent = `import { ${componentName} } from "./${componentName}"; export default ${componentName}; `; fs.writeFileSync(indexPath, indexContent); console.log(`Component ${componentName} created successfully at ${folderPath}`);