Update the oxc toolchain (oxlint, oxfmt, oxlint-tsgolint)
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 108
- Avg merge
- 6d 8h
- Merged PRs (30d)
- 5
Description
Three oxc tools were held back from the latest dependency sweep because each newer version reports
violations that need source changes.
## Bumps
- `oxlint` 1.62.0 → 1.82.0 (root `devDependencies`)
- `oxfmt` 0.55.0 → 0.67.0 (root `devDependencies`)
- `oxlint-tsgolint` 0.23.0 → 7.0.2001 (root `devDependencies`)
## Work
**oxlint 1.82** turns on rules the codebase currently violates — 30 errors:
- 25 × `vitest(require-to-throw-message)` — `toThrow()`/`toThrowError()` calls with no expected
message, in `connector/sparql/parseAndMapQuads.test.ts` (11),
`connector/sparql/fetchNeighbors/index.test.ts` (4), `connector/queries/edgeConnectionsQuery.test.ts` (3),
and one each in `connector/queries/schemaSyncQuery.test.ts`, `connector/sparql/neighborCounts.test.ts`,
`connector/sparql/rawQuery.test.ts`, `connector/fetchDatabaseRequest.test.ts`,
`core/StateProvider/localDb.test.ts`, `modules/GraphViewer/exportedGraph.test.ts`, and
`graph-explorer-proxy-server/src/server.test.ts`
Note the `.not.toThrow()` calls in `connector/LoggerConnector.test.ts` (5) and
`connector/queryValueError.test.ts` (1) are correctly argument-less and the rule does not flag them.
A bare `grep` for `.toThrow()` finds 31 sites; only these 25 need a message.
- 4 × `vitest(expect-expect)` — tests with no assertions in `connector/gremlin/fragments.test.ts` (3)
and `connector/sparql/fragments.test.ts` (1)
- 1 × `react(set-state-in-effect)`
Adding real messages to `toThrow` is a genuine test-quality improvement, not busywork — worth doing
rather than suppressing the rule.
**oxfmt 0.67** — note the specifier was changed from `^0.55.0` to an exact `0.55.0` pin, since oxfmt
is pre-1.0 and a caret let a lockfile refresh shift formatting output with no commit behind it. Bumping
it means editing that exact pin. It reformats one file: `packages/graph-explorer/src/core/styling/stylingParser.ts`,
collapsing the arrow chain in a `zod` `.transform()` call. Run `pnpm format` and commit the result.
**oxlint-tsgolint 7.0.2001** reports 3 × `typescript-eslint(no-unnecessary-type-assertion)`, all in
`packages/graph-explorer/src/core/StateProvider/vertexStylesTransform.test.ts` (lines 137, 145, 181) —
`"round-tag" as ShapeStyle` style assertions where the receiver already accepts the literal type.
## Acceptance
`pnpm checks` and `pnpm test` pass with all three tools at the new versions.
> [!IMPORTANT]
> Internal only — this issue is maintained by the core team and is not accepting external contributions.
Contributor guide
Research direction
Review the listed test files and packages/graph-explorer/src/core/styling/stylingParser.ts, plus the root devDependencies. Run pnpm format, then pnpm checks and pnpm test; done means the three specified tool versions are updated, reported violations are resolved, formatting is committed, and both commands pass. The issue is marked internal-only and closed, so external contributors should not start it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system, testing, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 15/100