Commit bca96ff
authored
fix(deps): resolve postcss + tar audit findings via overrides (#8612)
* fix(deps): resolve postcss + tar audit findings via overrides
npm audit flagged postcss <=8.5.17 (path traversal in previous-sourcemap
auto-loading, GHSA-r28c-9q8g-f849, high) and tar <=7.5.20 (uncontrolled
recursion DoS via crafted long-path tar, GHSA-r292-9mhp-454m, moderate),
both transitive. Pin both via overrides, matching this file's existing
pattern for other transitive-dep security fixes: bump the existing tar
override past its first-patched version (7.5.19 -> 7.5.21) and add a new
postcss override (8.5.18, first patched version).
Closes task 1 of #8588's checklist. The remaining findings in that issue
(eslint v10 bump for the brace-expansion/minimatch chain, the
@esbuild-kit->tsx trace, and the recharts v3 migration) are unrelated,
each need their own scoping, and are now tracked as sub-issues #8608,
#8609, #8610.
* build: add the missing ui-kit build step to the local test:ci gate
Discovered incidentally while running the full local gate for #8588:
test/unit/check-ui-kit-package.test.ts's own regression guard needs
packages/loopover-ui-kit/dist/ to exist, but the root test:ci script
never built that workspace before test:coverage -- unlike the real CI
validate-tests job, which already builds it via `npx turbo run build
--filter=@loopover/ui-kit` right before its own coverage step (added in
#8592 to close this exact gap, but only in the CI workflow, not the
local script this repo's own contributing guide points everyone at).
Anyone running `npm run test:ci` from a clean checkout hit a spurious
failure that real CI never showed.
Adds `npm run build --workspace @loopover/ui-kit` alongside the other
per-package builds already in the chain (engine, discovery-index, mcp,
miner), so the local script matches CI again.
* fix(mcp): stop CLI stdout truncation on >64KB piped output
Discovered incidentally while running the full local gate for #8588:
test/unit/mcp-cli-profiles.test.ts's changelog test started failing with
a JSON parse error once packages/loopover-mcp/CHANGELOG.md grew past the
OS pipe buffer size (verified: `loopover-mcp changelog --json | wc -c`
returned exactly 65536 bytes instead of the real 65603+ -- the classic
64KB pipe-buffer boundary).
Root cause: process.stdout/stderr writes to a POSIX pipe are
asynchronous, but the CLI entrypoint called process.exit() immediately
after the command's async work resolved, cutting off any pending write
larger than one pipe buffer's worth before it finished flushing. This
silently truncates any command's output over ~64KB for any real
consumer piping the CLI (not just this test) -- e.g. `loopover-mcp
changelog --json | jq` would get invalid JSON.
Fix: drain both streams (wait for their internal buffer to empty) right
before calling process.exit(), instead of changing when/whether
process.exit() itself is called -- keeps the existing fast-exit behavior
for everything else (no risk of hanging on a lingering fetch keep-alive
socket) while fixing the truncation at its actual source.
* test(miner): raise timeout for build:verify syntax-check regression guard
Discovered incidentally while running the full local gate for #8588:
this test spawns a real subprocess (node --check over every
dist/bin+dist/lib file in packages/loopover-miner) -- 5.5s in isolation,
but it exceeded the default 15s testTimeout once under the full suite's
parallel load. Genuinely necessary real subprocess work with no
redundancy to cut, matching this repo's established real-subprocess
timeout-flake pattern (agent-sdk-driver.test.ts, miner-attempt-worktree
.test.ts, miner-repo-clone.test.ts, #6869/#6871): raise to the same
evidence-based 60000ms ceiling already used for that class of test,
rather than reflexively widening without a reason.1 parent a9056ae commit bca96ff
4 files changed
Lines changed: 46 additions & 24 deletions
File tree
- packages/loopover-mcp/bin
- test/unit
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 111 | + | |
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
177 | | - | |
| 177 | + | |
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| 183 | + | |
183 | 184 | | |
184 | 185 | | |
185 | 186 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1673 | 1673 | | |
1674 | 1674 | | |
1675 | 1675 | | |
1676 | | - | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
1677 | 1686 | | |
1678 | 1687 | | |
1679 | 1688 | | |
1680 | 1689 | | |
| 1690 | + | |
1681 | 1691 | | |
1682 | 1692 | | |
1683 | | - | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
1684 | 1696 | | |
1685 | 1697 | | |
1686 | 1698 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
65 | 74 | | |
66 | 75 | | |
67 | 76 | | |
| |||
0 commit comments