ignore per-process caches across repository tools

This commit is contained in:
2026-08-09 19:48:54 +05:30
parent 7d87200e31
commit 9fd80b7cef
8 changed files with 63 additions and 55 deletions
@@ -0,0 +1,40 @@
import { expect, test } from "bun:test";
import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
import { join, resolve } from "node:path";
const root = resolve(import.meta.dir, "../../..");
test("per-process dev caches are excluded from every repository-wide tool", () => {
const eslint = readFileSync(join(root, "eslint.config.js"), "utf8");
const tsconfig = JSON.parse(readFileSync(join(root, "tsconfig.json"), "utf8")) as {
exclude?: string[];
};
const prettier = readFileSync(join(root, ".prettierignore"), "utf8");
expect(eslint).toContain('"**/.wrnexus-*/**"');
expect(tsconfig.exclude).toContain("**/.wrnexus-*");
expect(prettier).toContain("**/.wrnexus-*/**");
const cache = join(root, "packages", "dev-server", "test", ".tmp-cache-ignore", ".wrnexus-123");
mkdirSync(cache, { recursive: true });
writeFileSync(join(cache, "broken.client.mjs"), "const = ;\n", "utf8");
writeFileSync(join(cache, "broken.d.ts"), "type = ;\n", "utf8");
try {
const lint = Bun.spawnSync(
[
"bunx",
"eslint",
"--no-warn-ignored",
join(cache, "broken.client.mjs"),
join(cache, "broken.d.ts"),
],
{ cwd: root },
);
expect(lint.exitCode).toBe(0);
} finally {
rmSync(join(root, "packages", "dev-server", "test", ".tmp-cache-ignore"), {
recursive: true,
force: true,
});
}
});
+1
View File
@@ -28,6 +28,7 @@ test("bundled UI assets are discoverable and readable", () => {
test("global UI CSS stays below its migration ratchet", () => {
expect(gzipSync(new TextEncoder().encode(uiCss())).length).toBeLessThanOrEqual(12_672);
expect(uiCss()).not.toContain(".wire-switch");
});
test("every bundled component carries local styles", () => {
-45
View File
@@ -609,51 +609,6 @@
background-repeat: no-repeat;
padding-right: 2rem;
}
/* --- Switch --------------------------------------------------------------- */
.wire-switch {
display: inline-flex;
align-items: center;
gap: 0.5rem;
cursor: pointer;
}
.wire-switch__input {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
.wire-switch__track {
position: relative;
width: 2.25rem;
height: 1.25rem;
border-radius: 999px;
background: var(--wire-color-border);
transition: background 0.15s ease;
flex: none;
}
.wire-switch__thumb {
position: absolute;
top: 2px;
left: 2px;
width: calc(1.25rem - 4px);
height: calc(1.25rem - 4px);
border-radius: 999px;
background: #fff;
transition: transform 0.15s ease;
}
.wire-switch__input:checked + .wire-switch__track {
background: var(--wire-color-primary);
}
.wire-switch__input:checked + .wire-switch__track .wire-switch__thumb {
transform: translateX(1rem);
}
.wire-switch__input:focus-visible + .wire-switch__track {
outline: 2px solid var(--wire-color-primary);
outline-offset: 2px;
}
.wire-switch__label {
color: var(--wire-color-text);
}
/* --- Progress ------------------------------------------------------------- */
.wire-progress {
appearance: none;