{"version":3,"file":"migrate.cjs","sources":["../../../src/cli/commands/migrate.ts"],"sourcesContent":["import * as fs from \"fs/promises\";\nimport * as path from \"path\";\nimport { compoundComponentsTransformer } from \"../transformers/compound-components\";\nimport { findFiles } from \"../utils/find-files\";\n\nexport interface TransformResult {\n  content: string;\n  changed: boolean;\n}\n\nexport interface Transformer {\n  name: string;\n  transform: (content: string) => TransformResult;\n}\n\nconst transformers: Transformer[] = [\n  compoundComponentsTransformer,\n  // Add more transformers as needed\n];\n\nexport async function migrate(): Promise<void> {\n  console.log(\"🔄 Running code transformations...\");\n\n  try {\n    const files = await findFiles({\n      patterns: [\"**/*.tsx\", \"**/*.jsx\", \"**/*.ts\", \"**/*.js\"],\n      excludeDirs: [\"node_modules\", \"dist\"],\n    });\n\n    let totalUpdatedFiles = 0;\n    let totalSkippedFiles = 0;\n\n    for (const transformer of transformers) {\n      console.log(`\\n📝 Running ${transformer.name} transformer...`);\n      let updatedFiles = 0;\n      let skippedFiles = 0;\n      let processedFiles = 0;\n      const totalFiles = files.length;\n\n      for (const file of files) {\n        processedFiles++;\n        if (processedFiles % 50 === 0 || processedFiles === totalFiles) {\n          process.stdout.write(\n            `\\rProcessing: ${processedFiles}/${totalFiles} files (${Math.round((processedFiles / totalFiles) * 100)}%)`,\n          );\n        }\n        try {\n          const content = await fs.readFile(file, \"utf-8\");\n          const result = transformer.transform(content);\n\n          if (result.changed) {\n            await fs.writeFile(file, result.content, \"utf-8\");\n            console.log(`✓ Updated ${path.relative(process.cwd(), file)}`);\n            updatedFiles++;\n          }\n        } catch (_error) {\n          skippedFiles++;\n          console.error(`Could not process ${path.relative(process.cwd(), file)}`);\n        }\n      }\n\n      if (skippedFiles > 0) {\n        console.log(`\\nℹ️  Skipped ${skippedFiles} file${skippedFiles === 1 ? \"\" : \"s\"} due to parsing errors`);\n      }\n\n      if (updatedFiles > 0) {\n        console.log(\n          `\\n✨ Successfully transformed ${updatedFiles} file${updatedFiles === 1 ? \"\" : \"s\"} with ${transformer.name}`,\n        );\n      } else if (skippedFiles === 0) {\n        console.log(`\\n✨ No files needed transformation with ${transformer.name}`);\n      }\n\n      totalUpdatedFiles += updatedFiles;\n      totalSkippedFiles += skippedFiles;\n    }\n\n    console.log(\"\\n📊 Migration Summary:\");\n    console.log(`Total files updated: ${totalUpdatedFiles}`);\n    console.log(`Total files skipped: ${totalSkippedFiles}`);\n  } catch (error) {\n    console.error(\"Error during migration:\", error);\n    process.exit(1);\n  }\n}\n"],"names":["compoundComponentsTransformer","findFiles","fs","path"],"mappings":"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"}