#!/usr/bin/env node /* eslint-disable @typescript-eslint/no-require-imports */ const fs = require("fs"); const path = require("path"); const targetDir = process.cwd(); const sourceDir = path.resolve(__dirname, ".."); console.log("NCore UI Kit Environment Setup Tool"); console.log("====================================="); console.log(`Hedef Proje Dizini: ${targetDir}`); console.log(""); // 1. .vscode/settings.json const sourceVscodeDir = path.join(sourceDir, ".vscode"); const targetVscodeDir = path.join(targetDir, ".vscode"); if (fs.existsSync(sourceVscodeDir)) { if (!fs.existsSync(targetVscodeDir)) { fs.mkdirSync(targetVscodeDir, { recursive: true }); } const sourceSettings = path.join(sourceVscodeDir, "settings.json"); const targetSettings = path.join(targetVscodeDir, "settings.json"); if (fs.existsSync(sourceSettings)) { fs.copyFileSync(sourceSettings, targetSettings); console.log("✅ .vscode/settings.json kopyalandı."); } } // 2. eslint.config.mjs const sourceEslint = path.join(sourceDir, "eslint.config.mjs"); const targetEslint = path.join(targetDir, "eslint.config.mjs"); if (fs.existsSync(sourceEslint)) { fs.copyFileSync(sourceEslint, targetEslint); console.log("✅ eslint.config.mjs kopyalandı."); } // 3. eslint-local-rules const sourceLocalRules = path.join(sourceDir, "eslint-local-rules"); const targetLocalRules = path.join(targetDir, "eslint-local-rules"); if (fs.existsSync(sourceLocalRules)) { if (!fs.existsSync(targetLocalRules)) { fs.mkdirSync(targetLocalRules, { recursive: true }); } // Copy all files in the directory const files = fs.readdirSync(sourceLocalRules); files.forEach(file => { const sourceFile = path.join(sourceLocalRules, file); const targetFile = path.join(targetLocalRules, file); if (fs.lstatSync(sourceFile).isFile()) { fs.copyFileSync(sourceFile, targetFile); } }); console.log("✅ eslint-local-rules/ kopyalandı."); } // 4. tsconfig.json const sourceTsconfig = path.join(sourceDir, "tsconfig.json"); const targetTsconfig = path.join(targetDir, "tsconfig.json"); if (fs.existsSync(sourceTsconfig)) { fs.copyFileSync(sourceTsconfig, targetTsconfig); console.log("✅ tsconfig.json kopyalandı."); } console.log(""); console.log("Kurulum tamamlandı! Lütfen package.json'ınızda aşağıdaki eklentilerin kurulu olduğundan emin olun:"); console.log("- typescript-eslint"); console.log("- eslint-plugin-local-rules"); console.log("- jsonc-eslint-parser vb."); console.log("NCore standartlarıyla iyi kodlamalar dileriz!");