Skip to content

build(deps-dev): dev-dependencies group (16 updates, typescript excluded) - #8078

Merged
SamTV12345 merged 3 commits into
developfrom
deps/dev-dependencies-ts7
Jul 27, 2026
Merged

build(deps-dev): dev-dependencies group (16 updates, typescript excluded)#8078
SamTV12345 merged 3 commits into
developfrom
deps/dev-dependencies-ts7

Conversation

@SamTV12345

@SamTV12345 SamTV12345 commented Jul 27, 2026

Copy link
Copy Markdown
Member

The remaining part of dependabot's dev-dependencies group PR (#8069, now closed), rebased onto develop.

#8069 was red because the group bumped typescript to ^7.0.2 in all four workspace packages. That part is handled separately:

  • src and bin moved to TypeScript 7 in Migrate server to TypeScript 7 (tsgo) #8039 (by @zi-gae), including the real type fixes tsgo demanded.
  • admin and ui stay on typescript 6: their build runs openapi-typescript, which drives the JS compiler API (ts.factory.*) that tsgo does not expose — TS7 there fails the vite build with TypeError: Cannot read properties of undefined (reading 'createKeywordTypeNode').

So this PR carries the other 16 updates only, with no typescript change in any package:

  • admin: @radix-ui/react-dialog, react-toast, react-visually-hidden, @typescript-eslint/{eslint-plugin,parser}, @vitejs/plugin-react, eslint, lucide-react, react, react-dom, react-hook-form, react-i18next, vite
  • src: @types/supertest, eslint, set-cookie-parser, sinon
  • doc: oxc-minify
  • ui: vite

Verification (local, Node 26)

  • pnpm install --frozen-lockfile clean
  • pnpm run build:ui (admin + ui) builds
  • full backend suite: 1610 passing, 22 pending, 0 failing

Filed on its own branch rather than pushed onto the dependabot branch, because dependabot force-pushes over hand edits on its own branches.

dependabot Bot and others added 2 commits July 27, 2026 20:44
…ith 18 updates

Bumps the dev-dependencies group with 18 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/supertest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest) | `7.2.0` | `7.2.1` |
| [eslint](https://github.com/eslint/eslint) | `10.6.0` | `10.7.0` |
| [set-cookie-parser](https://github.com/nfriedly/set-cookie-parser) | `3.1.1` | `3.1.2` |
| [sinon](https://github.com/sinonjs/sinon) | `22.0.0` | `22.1.0` |
| [typescript](https://github.com/microsoft/TypeScript) | `6.0.3` | `7.0.2` |
| [@radix-ui/react-dialog](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dialog) | `1.1.19` | `1.1.23` |
| [@radix-ui/react-toast](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toast) | `1.2.19` | `1.2.23` |
| [@radix-ui/react-visually-hidden](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/visually-hidden) | `1.2.7` | `1.2.11` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.63.0` | `8.65.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.63.0` | `8.65.0` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.3` | `6.0.4` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.23.0` | `1.26.0` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.7` | `19.2.8` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.7` | `19.2.8` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.81.0` | `7.82.0` |
| [react-i18next](https://github.com/i18next/react-i18next) | `17.0.9` | `17.0.11` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.1.4` | `8.1.5` |
| [oxc-minify](https://github.com/oxc-project/oxc/tree/HEAD/napi/minify) | `0.139.0` | `0.141.0` |

Updates `@types/supertest` from 7.2.0 to 7.2.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/supertest)

Updates `eslint` from 10.6.0 to 10.7.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.6.0...v10.7.0)

Updates `set-cookie-parser` from 3.1.1 to 3.1.2
- [Changelog](https://github.com/nfriedly/set-cookie-parser/blob/master/CHANGELOG.md)
- [Commits](nfriedly/set-cookie-parser@v3.1.1...v3.1.2)

Updates `sinon` from 22.0.0 to 22.1.0
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/CHANGES.md)
- [Commits](sinonjs/sinon@v22.0.0...v22.1.0)

Updates `typescript` from 6.0.3 to 7.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)

Updates `@radix-ui/react-dialog` from 1.1.19 to 1.1.23
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/dialog/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/dialog)

Updates `@radix-ui/react-toast` from 1.2.19 to 1.2.23
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/toast/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/toast)

Updates `@radix-ui/react-visually-hidden` from 1.2.7 to 1.2.11
- [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/visually-hidden/CHANGELOG.md)
- [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/visually-hidden)

Updates `@typescript-eslint/eslint-plugin` from 8.63.0 to 8.65.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.63.0 to 8.65.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/parser)

Updates `@vitejs/plugin-react` from 6.0.3 to 6.0.4
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.4/packages/plugin-react)

Updates `lucide-react` from 1.23.0 to 1.26.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.26.0/packages/lucide-react)

Updates `react` from 19.2.7 to 19.2.8
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react)

Updates `react-dom` from 19.2.7 to 19.2.8
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react-dom)

Updates `react-hook-form` from 7.81.0 to 7.82.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](react-hook-form/react-hook-form@v7.81.0...v7.82.0)

Updates `react-i18next` from 17.0.9 to 17.0.11
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](i18next/react-i18next@v17.0.9...v17.0.11)

Updates `vite` from 8.1.4 to 8.1.5
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.1.5/packages/vite)

Updates `oxc-minify` from 0.139.0 to 0.141.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/napi/minify/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/crates_v0.141.0/napi/minify)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-dialog"
  dependency-version: 1.1.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@radix-ui/react-toast"
  dependency-version: 1.2.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@radix-ui/react-visually-hidden"
  dependency-version: 1.2.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/supertest"
  dependency-version: 7.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: eslint
  dependency-version: 10.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 1.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: oxc-minify
  dependency-version: 0.140.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react
  dependency-version: 19.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-dom
  dependency-version: 19.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.82.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 17.0.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: set-cookie-parser
  dependency-version: 3.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: sinon
  dependency-version: 22.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: vite
  dependency-version: 8.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
… TypeScript 7

The dev-dependency bump takes typescript to 7 (tsgo), which reports two
diagnostics the old compiler let through:

- TextLinesMutator: `_curSplice` was declared `[number, number?]` although it
  holds `[start, deleteCount, ...lines]` — that mismatch is why nearly every
  access to it carries a `@ts-ignore`. Declare the documented tuple, destructure
  it for the `splice()` call instead of spreading an optional element, and treat
  `splitTextLines()`'s String.match() result as possibly-null (it cannot be null
  here: L > 0 means the text contains a newline).
- hooks spec: the `concat()` of the async cases onto the sync ones no longer
  type-checks element-wise against the inferred literal type. Give both arrays an
  explicit `HookFnTestCase` type — the cases vary in arity and return type by
  design, so `fn` keeps loose parameters and an `unknown` result.

`admin` and `ui` stay on typescript 6: their build runs `openapi-typescript`,
which drives the JS compiler API (`ts.factory.*`) that tsgo does not expose, so
TS7 there fails the vite build with "Cannot read properties of undefined
(reading 'createKeywordTypeNode')".

Type fixes taken over from #8039 by @zi-gae, without the `@ts-ignore` / `as any[]`
suppressions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 27, 2026 18:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Jul 27, 2026

Copy link
Copy Markdown

PR Summary by Qodo

Dev dependency group bump with split TypeScript versions (TS7 for src/bin)

⚙️ Configuration changes 🐞 Bug fix ✨ Enhancement 🕐 40+ Minutes

Grey Divider

AI Description

• Bump dev-dependencies group and regenerate pnpm lockfile.
• Adopt TypeScript 7 for src/bin while keeping admin/ui on TypeScript 6.
• Fix TS7 type-check failures in TextLinesMutator and hooks test typing.
Diagram

graph TD
  Root["pnpm workspace"] --> Lock["pnpm-lock.yaml"] --> Pkgs["Workspace pkgs"]
  Pkgs --> TS6["TypeScript 6"] --> AdminUI["admin + ui"]
  Pkgs --> TS7["TypeScript 7"] --> SrcBin["src + bin"] --> Mutator["TextLinesMutator"] --> Hooks["hooks spec tests"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep TypeScript 6 everywhere (defer TS7 upgrade)
  • ➕ Avoids toolchain split complexity across workspaces
  • ➕ Minimizes lockfile and CI variability across packages
  • ➖ Blocks adoption of TS7 improvements for src/bin
  • ➖ Defers addressing real type mismatches surfaced by TS7
2. Upgrade admin/ui tooling to be TS7-compatible
  • ➕ Single TypeScript version across the monorepo
  • ➕ Reduces long-term maintenance of split toolchains
  • ➖ Requires upstream fixes/changes (e.g., openapi-typescript/tsgo compatibility)
  • ➖ Potentially larger PR with higher risk and longer stabilization
3. Use pnpm overrides/resolutions for admin/ui TypeScript constraints
  • ➕ Centralizes TS pinning logic at the workspace root
  • ➕ Can reduce per-package version drift
  • ➖ Overrides can be less explicit/obvious than per-package pins
  • ➖ May introduce subtle dependency graph surprises if not scoped carefully

Recommendation: The PR’s approach (pin TS6 for admin/ui while moving src/bin to TS7) is the most pragmatic path: it unblocks TS7 adoption where it works and avoids known admin/ui build blockers. Consider a follow-up effort to eliminate the split by upgrading or replacing the admin/ui generator/tooling once TS7 support is confirmed upstream.

Files changed (8) +850 / -715

Bug fix (1) +17 / -13
TextLinesMutator.tsFix splice tuple typing and newline insertion logic for TS7 +17/-13

Fix splice tuple typing and newline insertion logic for TS7

• Corrects the internal _curSplice tuple type to match its runtime shape ([start, deleteCount, ...lines]) and removes reliance on @ts-ignore patterns. Refactors splice application to use destructuring and guards splitTextLines() nullability to satisfy TS7 without loosening types.

src/static/js/TextLinesMutator.ts

Tests (1) +14 / -3
hooks.tsAdd explicit HookFnTestCase typing for hook-style test matrices +14/-3

Add explicit HookFnTestCase typing for hook-style test matrices

• Introduces a HookFnTestCase type and applies it to the sync/async hook function test case arrays. Removes a @ts-ignore by making the concat result explicitly typed while preserving intentionally varying arity/return behaviors.

src/tests/backend/specs/hooks.ts

Other (6) +819 / -699
package.jsonUpdate admin devDependencies while keeping TypeScript pinned to v6 +13/-13

Update admin devDependencies while keeping TypeScript pinned to v6

• Bumps UI/admin-related devDependencies (Radix UI, eslint, Vite, React ecosystem). Leaves TypeScript at ^6.0.3 to avoid the known openapi-typescript/tsgo compiler API incompatibility.

admin/package.json

package.jsonUpgrade bin workspace to TypeScript 7 +1/-1

Upgrade bin workspace to TypeScript 7

• Updates the bin package devDependency on TypeScript from ^6.0.3 to ^7.0.2 to enable TS7 type-checking for CLI tooling.

bin/package.json

package.jsonBump doc toolchain minifier dependency +1/-1

Bump doc toolchain minifier dependency

• Upgrades oxc-minify from ^0.139.0 to ^0.141.0 for the documentation workspace.

doc/package.json

pnpm-lock.yamlRegenerate lockfile for grouped dev dependency updates and TS split +798/-678

Regenerate lockfile for grouped dev dependency updates and TS split

• Updates the resolved dependency graph to match the dev-dependencies group bumps and workspace-specific TypeScript versions (TS6 in admin/ui, TS7 in src/bin). Includes transitive changes for eslint/vite/react-related packages and the new TypeScript 7 platform packages.

pnpm-lock.yaml

package.jsonUpgrade src workspace to TypeScript 7 and refresh test/tool deps +5/-5

Upgrade src workspace to TypeScript 7 and refresh test/tool deps

• Bumps TypeScript to ^7.0.2 for the src workspace and updates related dev tooling versions (eslint, sinon, set-cookie-parser, @types/supertest). Aligns src with the intended TS7 toolchain while other workspaces remain constrained.

src/package.json

package.jsonBump ui Vite dependency while keeping TypeScript pinned to v6 +1/-1

Bump ui Vite dependency while keeping TypeScript pinned to v6

• Updates Vite to ^8.1.5 for the ui workspace while retaining TypeScript at ^6.0.3 to stay compatible with the current admin/ui build pipeline.

ui/package.json

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

1 similar comment
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

# Conflicts:
#	bin/package.json
#	pnpm-lock.yaml
#	src/package.json
#	src/static/js/TextLinesMutator.ts
#	src/tests/backend/specs/hooks.ts
Copilot AI review requested due to automatic review settings July 27, 2026 19:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@SamTV12345 SamTV12345 changed the title build(deps-dev): dev-dependencies group (18 updates) + TypeScript 7 for src/bin build(deps-dev): dev-dependencies group (16 updates, typescript excluded) Jul 27, 2026
@SamTV12345
SamTV12345 merged commit e829ca7 into develop Jul 27, 2026
43 checks passed
@SamTV12345
SamTV12345 deleted the deps/dev-dependencies-ts7 branch July 27, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants