fix: unblock quality lanes blocked by dependency resolution and Windows spawn - #482
Open
ilijachrchev wants to merge 5 commits into
Open
fix: unblock quality lanes blocked by dependency resolution and Windows spawn#482ilijachrchev wants to merge 5 commits into
ilijachrchev wants to merge 5 commits into
Conversation
…-Authored-By: Pane <runpane@users.noreply.github.com>
…thored-By: Pane <runpane@users.noreply.github.com>
…n Windows\n\nCo-Authored-By: Pane <runpane@users.noreply.github.com>
parsakhaz
force-pushed
the
fix/469-unblock-quality-lanes
branch
from
August 23, 2026 19:19
bee089d to
9afb5a4
Compare
parsakhaz
approved these changes
Aug 23, 2026
parsakhaz
left a comment
Member
There was a problem hiding this comment.
Verdict: Approve — the three tooling fixes match the PR intent, preserve application behavior, and introduce no correctness or security defect.
Counts: Must Fix: 0 (security: 0) · Should Fix: 0 · pass 1/3
Must Fix
None.
Should Fix
None.
Praise
.npmrc:10keepsglob@11resolved to its compatibleminimatch@10.0.3; a fresh frozen install plus an ESMglobimport passed.package.json:28deduplicatesd3-arrayat 3.2.4; the only formerly-v2 consumer,d3-sankey, calls only the unchangedmin,max, andsumAPIs.scripts/check-boundary-decoder-conformance.mjs:13-16,23,41resolves Oxlint from its package manifest and launches it throughprocess.execPathwith argument arrays, avoiding both Windows.cmdspawning and shell injection/path quoting risks.- The rebased head passed GitHub checks on Windows, macOS, and Linux, including Quality Checks + Smoke, main-process tests, React Doctor, and Socket security.
Checks run
pnpm install --frozen-lockfile --ignore-scriptsnode scripts/check-boundary-decoder-conformance.mjs- Fresh dependency-resolution inspection for
glob,minimatch,d3-array, andd3-sankey git diff --check origin/main...HEAD
Member
Review, simplify, and refactor completeREVIEW
SIMPLIFYCommit:
REFACTORCommit:
VerificationBefore simplification:
After simplification and final refactor:
Follow-upsNo code follow-ups remain from the deep refactor pass. Parsa only needs to let the final-head GitHub checks finish, review the two added commits, and merge when satisfied. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes three independent environment blockers that prevented the quality baseline from being measured for #469. All three are dependency/tooling issues — no application behavior changes.
1. d3-array version skew (blocked
pnpm build)d3-contour@4importsblur2fromd3-array, butd3-sankey@0.12.3declared"1 - 2"for d3-array, causing pnpm to hoistd3-array@2.12.1which doesn't exportblur2. Added a pnpm override"d3-array": "^3.2.0"to deduplicate the tree. d3-sankey only usesmin,max,sum— all unchanged between v2 and v3.2. minimatch hoisting (blocked unit tests + a11y)
The repo's
public-hoist-pattern[]=*causedminimatch@3.1.2(CJS-only, no named ESM exports) to be hoisted to top-levelnode_modules.glob@11imports{ GLOBSTAR }fromminimatch, which resolved to the hoisted 3.x instead of its own nestedminimatch@10.x. Addedpublic-hoist-pattern[]=!minimatchto.npmrcso each consumer keeps its correctly versioned copy.3. Boundary conformance
.cmdspawn on Windows (blockedlint:ox:boundary-conformance)scripts/check-boundary-decoder-conformance.mjsspawnedoxlint.cmdviaspawnSyncwithoutshell: true, which throwsEINVALon Node 24 + Windows. Instead of addingshell: true(which triggers DEP0190 and breaks on paths with spaces), resolved oxlint's actual JS entry point viarequire.resolveand spawned it withnodedirectly. Cross-platform safe.Verification (Windows, Node 24.14.0, pnpm 10.19.0):
pnpm lint(oxlint + eslint + anti-slop + boundary-conformance + knip)pnpm typecheckpnpm build(frontend + main + electron)Type of Change
Checklist
pnpm typecheckandpnpm lintlocallyCritical Areas Modified
None.
Additional Notes
This is the first PR toward the zero-findings quality campaign (#469). It unblocks the baseline measurement so the remaining React Doctor, test, and a11y work can proceed with accurate numbers.