setup-mobile.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/env node
  2. /* eslint-disable */
  3. const fs = require("fs");
  4. const path = require("path");
  5. console.log("NCore UI Kit - Mobile Kurulumu");
  6. console.log("==============================");
  7. const targetDir = process.cwd();
  8. const targetPath = path.resolve(targetDir, "metro.config.js");
  9. if (fs.existsSync(targetPath)) {
  10. let content = fs.readFileSync(targetPath, "utf-8");
  11. if (!content.includes("withNCoreUIKit")) {
  12. content = "const { withNCoreUIKit } = require(\"ncore-ui-kit/metro-config\");\n" + content;
  13. if (/module\.exports\s*=\s*\{/.test(content)) {
  14. content = content.replace(/module\.exports\s*=\s*\{/g, "const _ncoreMetroConfig = {");
  15. content += "\nmodule.exports = withNCoreUIKit(_ncoreMetroConfig);\n";
  16. fs.writeFileSync(targetPath, content);
  17. console.log("✅ metro.config.js başarıyla güncellendi.");
  18. }
  19. else if (/module\.exports\s*=\s*([^;]+);?/.test(content)) {
  20. content = content.replace(/module\.exports\s*=\s*([^;]+);?/g, "module.exports = withNCoreUIKit($1);");
  21. fs.writeFileSync(targetPath, content);
  22. console.log("✅ metro.config.js başarıyla güncellendi.");
  23. } else {
  24. console.log("⚠️ metro.config.js formatı anlaşılamadı. Lütfen config objesini withNCoreUIKit ile manuel olarak sarmalayın.");
  25. }
  26. } else {
  27. console.log("✅ metro.config.js zaten ayarlı.");
  28. }
  29. } else {
  30. console.log("⚠️ metro.config.js bulunamadı. Mobile projesi değilse bu adımı atlayabilirsiniz.");
  31. }