fix: normalize generated VS Code configuration

This commit is contained in:
2026-07-13 15:02:19 +05:30
parent cff420a29e
commit cf4c3723c5
54 changed files with 142 additions and 99 deletions
+32
View File
@@ -84,6 +84,9 @@ test("0.2.19 migration adds VS Code formatting defaults without overwriting sett
expect(readFileSync(join(root, ".vscode", "extensions.json"), "utf8")).toContain(
"wrnexus.wrnexus",
);
expect(readFileSync(join(root, ".vscode", "extensions.json"), "utf8")).toBe(
'{\n "recommendations": ["wrnexus.wrnexus", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]\n}\n',
);
expect(readFileSync(join(root, ".prettierignore"), "utf8")).toBe("node_modules/\nCLAUDE.md\n");
const gitignore = readFileSync(join(root, ".gitignore"), "utf8");
expect(gitignore).not.toContain(".vscode/\n");
@@ -93,3 +96,32 @@ test("0.2.19 migration adds VS Code formatting defaults without overwriting sett
rmSync(root, { recursive: true, force: true });
}
});
test("0.2.20 migration repairs only the legacy generated recommendations layout", () => {
const root = mkdtempSync(join(tmpdir(), "wrnexus-update-"));
mkdirSync(join(root, "app", "pages"), { recursive: true });
mkdirSync(join(root, ".vscode"), { recursive: true });
writeFileSync(
join(root, "package.json"),
JSON.stringify({ name: "editor-app", wrnexus: { version: "0.2.19" } }),
);
writeFileSync(
join(root, ".vscode", "extensions.json"),
JSON.stringify(
{
recommendations: ["wrnexus.wrnexus", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint"],
},
null,
2,
) + "\n",
);
try {
updateApp(root, "0.2.20", false);
expect(readFileSync(join(root, ".vscode", "extensions.json"), "utf8")).toBe(
'{\n "recommendations": ["wrnexus.wrnexus", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]\n}\n',
);
} finally {
rmSync(root, { recursive: true, force: true });
}
});