"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_fs_1 = __importDefault(require("node:fs")); const node_path_1 = __importDefault(require("node:path")); /** * Mescla objetos recursivamente. * - Adiciona chaves novas * - Sobrescreve valores primitivos * - Mescla objetos aninhados */ const mesclar = (entrada, novo) => { const saida = { ...(entrada || {}) }; for (const [k, v] of Object.entries(novo)) { if (v && typeof v === "object" && !Array.isArray(v)) { saida[k] = mesclar(saida[k], v); } else { saida[k] = v; } } return saida; }; /** Lê JSON ou retorna objeto vazio */ const abrirJson = (caminho) => { try { return JSON.parse(node_fs_1.default.readFileSync(caminho, "utf-8")); } catch { return {}; } }; const settings_json = { "editor.defaultFormatter": "biomejs.biome", "[javascript]": { "editor.defaultFormatter": "biomejs.biome" }, "[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, "[typescript]": { "editor.defaultFormatter": "biomejs.biome" }, "[typescriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, "[json]": { "editor.defaultFormatter": "biomejs.biome" }, "[jsonc]": { "editor.defaultFormatter": "biomejs.biome" }, "[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "editor.codeActionsOnSave": { "source.organizeImports.biome": "always", "source.fixAll.biome": "always", }, }; const caminhoSeting = node_path_1.default.join(process.cwd(), ".vscode/settings.json"); // Garante a pasta .vscode node_fs_1.default.mkdirSync(node_path_1.default.dirname(caminhoSeting), { recursive: true }); // Mescla e grava const atual = abrirJson(caminhoSeting); const final = mesclar(atual, settings_json); node_fs_1.default.writeFileSync(caminhoSeting, JSON.stringify(final, null, 2), "utf8"); console.log(`✅ Configurações salvas em ${caminhoSeting}`);