Skip to content

chore(deps-dev): bump the console-development group across 1 directory with 14 updates - #75

Closed
dependabot[bot] wants to merge 1203 commits into
mainfrom
dependabot/npm_and_yarn/console/console-development-79e8a60002
Closed

chore(deps-dev): bump the console-development group across 1 directory with 14 updates#75
dependabot[bot] wants to merge 1203 commits into
mainfrom
dependabot/npm_and_yarn/console/console-development-79e8a60002

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 13, 2026

Copy link
Copy Markdown
Contributor

Bumps the console-development group with 14 updates in the /console directory:

Package From To
@iconify-json/lucide 1.2.109 1.2.112
@tailwindcss/typography 0.5.19 0.5.20
@types/katex 0.16.7 0.16.8
@types/node 25.9.1 25.9.3
@vue/eslint-config-typescript 14.7.0 14.8.0
@vue/test-utils 2.4.10 2.4.11
eslint 10.4.0 10.5.0
eslint-plugin-vue 10.9.1 10.9.2
knip 6.14.2 6.16.1
npm-run-all2 9.0.1 9.0.2
prettier 3.8.3 3.8.4
vite 8.0.14 8.0.16
vitest 4.1.7 4.1.8
vue-tsc 3.3.1 3.3.5

Updates @iconify-json/lucide from 1.2.109 to 1.2.112

Commits

Updates @tailwindcss/typography from 0.5.19 to 0.5.20

Release notes

Sourced from @​tailwindcss/typography's releases.

v0.5.20

Fixed

  • Support installing with stable versions of Tailwind CSS v4 (#424)
Changelog

Sourced from @​tailwindcss/typography's changelog.

[0.5.20] - 2026-06-08

Fixed

  • Support installing with stable versions of Tailwind CSS v4 (#424)
Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​tailwindcss/typography since your current version.


Updates @types/katex from 0.16.7 to 0.16.8

Commits

Updates @types/node from 25.9.1 to 25.9.3

Commits

Updates @vue/eslint-config-typescript from 14.7.0 to 14.8.0

Release notes

Sourced from @​vue/eslint-config-typescript's releases.

v14.8.0

What's Changed

New Contributors

Full Changelog: vuejs/eslint-config-typescript@v14.7.0...v14.8.0

Commits
  • e169409 14.8.0
  • ac937a3 chore: align redefine-plugin-vue fixture deps
  • d003778 docs: document includeDotFolders option
  • dd31946 chore(deps): lock file maintenance (#301)
  • 0d40d25 chore(deps): lock file maintenance (#296)
  • 08da67c chore(deps): update dependency @​quasar/extras to v2 (#299)
  • eda6e41 chore(deps): update v0.x to ^0.14.1 (#298)
  • 735c0dd chore(deps): update dependency vite to ^8.0.14 (#295)
  • c065c57 chore(deps): update all non-major dependencies (#297)
  • f3bc5ce chore(deps): update dependency npm-run-all2 to v9 (#300)
  • Additional commits viewable in compare view

Updates @vue/test-utils from 2.4.10 to 2.4.11

Release notes

Sourced from @​vue/test-utils's releases.

v2.4.11

compare changes

🩹 Fixes

  • Drop legacy Mutation Event listener entries (#2844)
  • Handle setData() correctly for components using both setup() and data() (#2846)
  • Export GlobalMountOptions type (#2851)
  • Set spec-compliant event.code on keydown/keyup (#2850)

❤️ Contributors

Commits
  • 5e48e1e v2.4.11
  • b73ee1d chore(deps): update dependency oxfmt to v0.53.0
  • 39e32ec chore(deps): update all non-major dependencies to v17.0.7 (#2881)
  • 0621772 chore(deps): update actions/checkout digest to df4cb1c (#2880)
  • 81fde07 chore(deps): update all non-major dependencies (#2879)
  • 4ad4255 chore(deps): update dependency oxfmt to v0.52.0 (#2878)
  • 8d3d26e chore(deps): update pnpm to v11.3.0 (#2877)
  • bc79eff chore(deps): update all non-major dependencies (#2876)
  • 58db8f7 chore(deps): update all non-major dependencies (#2874)
  • 9ad31cb chore: enable renovate minimum release age for npm
  • Additional commits viewable in compare view

Updates eslint from 10.4.0 to 10.5.0

Release notes

Sourced from eslint's releases.

v10.5.0

Features

  • 5ca8c52 feat: correct stack tracking in max-nested-callbacks (#20973) (Pixel998)
  • b565783 feat: report no-with violations at the with keyword (#20971) (Pixel998)
  • 2ce032f feat: report max-lines-per-function violations at function head (#20966) (Pixel998)
  • 732cb3e feat: report max-nested-callbacks violations at function head (#20967) (Pixel998)
  • f9c138a feat: report max-depth violations on keywords (#20943) (Pixel998)
  • bdb496c feat: correct max-depth handling for else-if chains (#20944) (Pixel998)
  • c296873 feat: update error loc in max-statements to function header (#20907) (Taejin Kim)

Documentation

  • 8ae1b5b docs: Update README (GitHub Actions Bot)
  • ca7eb90 docs: update Node.js prerequisites to include ICU support (#20962) (Francesco Trotta)
  • f99b47a docs: Update README (GitHub Actions Bot)
  • acf03d4 docs: clarify precedence of parserOptions over languageOptions (#20926) (sethamus)

Chores

  • b18bf58 chore: update ecosystem plugins (#20959) (ESLint Bot)
  • c2d1444 refactor: replace areAllSegmentsUnreachable with !isAnySegmentReachable (#20951) (Taejin Kim)
  • 243b8c5 chore: enhance config-rule to support oneOf, anyOf, and nested schemas (#20788) (kuldeep kumar)
  • 217b2a9 test: add unit tests for ParserService (#20949) (Taejin Kim)
  • 72003e7 test: add location information to error messages in max-statements (#20945) (lumir)
  • 7797c26 refactor: deduplicate isAnySegmentReachable across rules (#20890) (Taejin Kim)
  • 67c46fa chore: update ecosystem plugins (#20938) (ESLint Bot)
  • 95d8c7a chore: update dependency @​eslint/json to v2 (#20934) (renovate[bot])
  • cf9e496 chore: update @​arethetypeswrong/cli to 0.18.3 (#20933) (Pixel998)
  • fb6d396 test: run type tests with TypeScript 7 (#20868) (sethamus)

v10.4.1

Bug Fixes

  • e557467 fix: update @eslint/plugin-kit version to 0.7.2 (#20930) (Francesco Trotta)
  • d4ce898 fix: propagate failures from delegated commands (#20917) (Minh Vu)
  • f4f3507 fix: prefer-arrow-callback invalid autofix with newline after async (#20916) (kuldeep kumar)
  • c5bc78b fix: false positive for reference in finally block (#20655) (Tanuj Kanti)
  • 27538c0 fix: add missing CodePath and CodePathSegment types (#20853) (Pixel998)

Documentation

  • 61b0add docs: remove deprecated rule from related rules of max-params (#20921) (Tanuj Kanti)
  • 305d5b9 docs: remove deprecated rules from related rules section (#20911) (Tanuj Kanti)
  • 49b0202 docs: fix display: none of ad (#20901) (Tanuj Kanti)
  • 9067f94 docs: switch build to Node.js 24 (#20893) (Milos Djermanovic)
  • c91b041 docs: Update README (GitHub Actions Bot)
  • e349265 docs: clarify semver strings in rule deprecation objects (#20885) (Milos Djermanovic)

Chores

  • b0e466b test: add data property to invalid tests cases for rules (#20924) (Tanuj Kanti)
  • f78838b test: add CodePath type coverage (#20904) (Pixel998)
  • 1daa4bd chore: update eslint-plugin-eslint-comments test data to latest commit (#20922) (Francesco Trotta)
  • 002942c ci: declare contents:read on update-readme workflow (#20919) (Arpit Jain)
  • 64bca24 chore: update ecosystem plugins (#20912) (ESLint Bot)

... (truncated)

Commits

Updates eslint-plugin-vue from 10.9.1 to 10.9.2

Release notes

Sourced from eslint-plugin-vue's releases.

v10.9.2

Patch Changes

Changelog

Sourced from eslint-plugin-vue's changelog.

10.9.2

Patch Changes

Commits
  • 9aa463a Version Packages (#3080)
  • 517347c Add error positions (#3085)
  • b582b7e fix: false positive for returns in exhaustive switch (#3067)
  • 91a136c fix(one-component-per-file): Ignore members imported from elsewhere (#3063)
  • d37d17b fix(prefer-import-from-vue): don't report names not exported by vue (#3081)
  • 836aa95 fix(custom-event-name-casing): check segments of colon-separated names (#3079)
  • See full diff in compare view

Updates knip from 6.14.2 to 6.16.1

Release notes

Sourced from knip's releases.

Release 6.16.1

  • Resolve SvelteKit ./$types in monorepos (resolve #1778) (370ef4cefec6540ee7d58249cc402f479ec76405)

Release 6.16.0

  • Update sponsors data + fix sponsors layout on narrow screen (fadf13aad5ebc36f7bc2fbc7615bfa77681d3660)
  • Detect binaries and entry files in node:child_process calls (fc3598cfac640a2ae53b0113883574bf15bc5d47)
  • It works™ (2d9ce845121484ef3ff84e4a761cfd98891d6c09)
  • Extend known issues doc w/ workaround (close #1763) (fcd444bf4c6b2ddc5d7bb0ebfd6f3991cf5d0be2)
  • Support ignoreExportsUsedInFile per workspace (close #1495) (4b898a971105d865d86d4dc81bc694721bff8793)
  • feat(vscode): add workspaceRoot config option to enable use in a VSCode workspace that does not have package.json at the workspace root (#1667) (7c1ebef6ab6d1c5a7f2f920d4243241246b53f4b) - thanks @​anmilleriii!
  • Replace minimist with node:util.parseArgs (resolve #1492) (b360c5ce1acfbb2cbd5f4e92ecca6c9b461ae094)
  • Preserve minimist numeric coercion and --no-x negation (c12153ce0601378354421e454a6b6bbab74ae9fb)
  • Simplify parseArgs adapter (ba15e413be7515620e4224b21483a1a87659dc34)
  • Detect and credit registered custom elements (resolve #1394) (62dcda5fa46ccf6bdd94175b725fd38678049319)
  • Add Lit and FAST plugins to detect @​customElement classes (348d2c9decf09bb61ab47477bc6cc57e4b089ec3)
  • Add new testimonials (77fd7ed7dffaccfa8bc024105fe81dbe09b70671)
  • Scope custom path aliases per workspace (resolve #1775) (d908099b52e4fd93b7947bafecbabeddfc7847f3)
  • Restructure tests (ec4c77941d42aef54bed9e4dd1cae8e8784aa147)
  • Simplify boolean check in parseArgs adapter (ba6865de03785eb49b2adf833f7f769eece78d49)
  • Scope static custom-element define detection to the FAST plugin (94632cddd15f75eadd204cb480b3df6c1f2a842d)
  • Add Custom Elements feature docs page (230bd734652f3a269b70da09cd26ac7e80a210cd)
  • Update known-issues.md (f1f4c1bceef9a6575d7b31cc1340538ea894f824)
  • Fix crash on backtick string literals in plugin config (resolve #1776) (f1adc7fbd68fc52a89a4d2a4d6b17d905d051de7)
  • Format (e4720cab435be48e1a40afa8c548e21bdb74b14e)
  • Fix backtick string literals in require() and plugin-name config arrays (#1776) (d14eb053331daaaeaec89c3c8e04cfeeba7580af)
  • Credit custom elements via aliases, scoped registries, and static blocks (d7cbe12bd904f65b20016bdd2dfd4a5d7c5c1524)
  • Improve Stencil plugin: credit @​Component and recognize test files (152d73052f87f29b348abbab90e117cfb97dd69b)
  • Add Catalyst plugin to credit bare @​controller custom elements (8a37f8c25b03cd4e55bd18ba822906be35fcd97b)
  • Document Stencil, Catalyst, static-block custom el reg. (105fba3a829f1cf4cf871035dbc9c170b0de7bc1)
  • Auto-format md (f4fcf4e1c6a399d761151fc367125416e7741675)

Release 6.15.0

  • Report exported type used only in inferred-return function body (resolve #1765) (2413408753f7abc7a9dfdba520990afd18c53ee0)
  • Work that EXPORTS.md again (7e13451fab7ad85362fb63a4715ea450690aedef)
  • Update npmx ecosystem snapshot (dfc401145a880f156c66eb83ea1622a99540304a)
  • Link dependencies key with notes (closes #1764) (e3e66cea9e946558940bf8705129efea3f23b3ba)
  • Resolve tsconfig paths when loading plugin configs (#1762) (0177c7466559e2ae99b5e1cd1e3a8043ca494edc) - thanks @​jakeleventhal!
  • Avoid caching failed plugin config loads (#1768) (5e201cde9b1ba2568ead2ae790ab888c966828ae) - thanks @​jakeleventhal!
  • Resolve extensionless .sass imports in SCSS compiler (#1770) (30c22835383b2355787cc2a871b22de80ff75544) - thanks @​sebacardello!
  • fix(vite): detect inline module script entry points in index.html (#1772) (51f4eddc9e1b2fed1ba25e81fc596e9fb514ce01) - thanks @​lucas-spin!
  • Harden vite inline module script import detection (b8abcfd2f4f5486aea08a934514bc55de86be030)
  • Use RecordableHistogram for timerified function stats (d575c6905704af1b0b4620edd874fc09bc86ed28)
  • Add orval plugin (resolves #1751) (4c82aa82c2a02fbda27a316389f210d11621f8cb)
  • Add treatTagHintsAsErrors and --no-tag-hints (resolves #1767) (4b6a573e0c1e0daf65c76c32f7336ea71db6bb64)
  • Add nano-spawn plugin (resolves #1769) (b2cad06dfd9958485537c5545c6c497fc8823ac3)
  • Simplify glob cache validation and ignore-list assembly (df1a9603a5ea8ed7bad9588bf13672cedf37c90e)
  • Dedupe ignore-pattern collection and dependency fixing (d49b626ad6736d7123d44568ef8c42a3e1d28aa3)
  • Simplify installed-binaries collection in manifest metadata (55143941eebbc8dac12c79b77c1f65a8b61dfbef)
  • Flatten control flow in ConfigurationChief (010d5709b0f9a3adc5ebe6e7169b9f5c4f29abc5)
  • Inline trivial installed-binaries and types-included accessors (b5afb9f29e3474eee4bf276c1de83cb0682a5663)

... (truncated)

Commits
  • a3169ec Release knip@6.16.1
  • 370ef4c Resolve SvelteKit ./$types in monorepos (resolve #1778)
  • e9a5a64 Release knip@6.16.0
  • 8a37f8c Add Catalyst plugin to credit bare @​controller custom elements
  • 152d730 Improve Stencil plugin: credit @​Component and recognize test files
  • d7cbe12 Credit custom elements via aliases, scoped registries, and static blocks
  • d14eb05 Fix backtick string literals in require() and plugin-name config arrays (#1776)
  • f1adc7f Fix crash on backtick string literals in plugin config (resolve #1776)
  • 94632cd Scope static custom-element define detection to the FAST plugin
  • ba6865d Simplify boolean check in parseArgs adapter
  • Additional commits viewable in compare view

Updates npm-run-all2 from 9.0.1 to 9.0.2

Release notes

Sourced from npm-run-all2's releases.

v9.0.2

Merged

Changelog

Sourced from npm-run-all2's changelog.

v9.0.2

Merged

Commits

Updates prettier from 3.8.3 to 3.8.4

Release notes

Sourced from prettier's releases.

3.8.4

🔗 Changelog

Changelog

Sourced from prettier's changelog.

3.8.4

diff

Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (#17746 by @​byplayer)

Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning.

<!-- Input -->
- a


b


c

d



<!-- Prettier 3.8.3 -->

a

b


c

d



<!-- Prettier 3.8.4 -->


a

b



c

d
Commits
  • 1c6ba55 Release 3.8.4
  • 4a673dc Fix blank lines between list items and nested sub-lists being removed in Mark...
  • 074aaed Replace main branch in changelog link with tags (#19054)
  • c22a003 Bump Prettier dependency to 3.8.3
  • 07bad1f Clean changelog_unreleased
  • See full diff in compare view

Updates vite from 8.0.14 to 8.0.16

Release notes

Sourced from vite's releases.

v8.0.16

Please refer to CHANGELOG.md for details.

v8.0.15

Please refer to CHANGELOG.md for details.

Changelog

Sourced from vite's changelog.

8.0.16 (2026-06-01)

Bug Fixes

8.0.15 (2026-06-01)

Features

Bug Fixes

  • capitalize error messages and remove spurious space in parse error (#22488) (85a0eff)
  • deps: update all non-major dependencies (#22511) (2686d7d)
  • dev: fix html-proxy cache key mismatch for /@fs/ HTML paths (#21762) (47c4213)
  • glob: error on relative glob in virtual module when no files match (#22497) (5c8e98f)
  • optimizer: close the rolldown bundle when write() rejects (#22528) (e3cfb9d)
  • resolve: provide onWarn for viteResolvePlugin in JS plugin containers (#22509) (40985f1)

Miscellaneous Chores

Code Refactoring

Commits

Updates vitest from 4.1.7 to 4.1.8

Release notes

Sourced from vitest's releases.

v4.1.8

   🐞 Bug Fixes

    View changes on GitHub
Commits
  • e61f2dd chore: release v4.1.8
  • e4067b3 fix(browser): disable client cdp API when allowWrite/allowExec: false [ba...
  • See full diff in compare view

Updates vue-tsc from 3.3.1 to 3.3.5

Release notes

Sourced from vue-tsc's releases.

v3.3.5

language-core

  • fix: include event modifiers in duplicate listener checks (#6097) - Thanks to @​KazariEX!

Our Sponsors ❤️

... (truncated)

Changelog

Sourced from vue-tsc's changelog.

3.3.5 (2026-06-13)

language-core

  • fix: include event modifiers in duplicate listener checks (#6097) - Thanks to @​KazariEX!

3.3.4 (2026-06-08)

language-core

  • fix: only exclude already-set props from inherited attrs when checkRequiredFallthroughAttributes is enabled (#6088) - Thanks to @​KazariEX!
  • fix: camelize slot props regardless of htmlAttributes option (#6089) - Thanks to @​KazariEX!
  • fix: detect duplicate event listeners across name formats (#6094) - Thanks to @​whysopaul!

language-service

  • fix: respect var hoisting for destructured props hints (#6092) - Thanks to @​KazariEX!

typescript-plugin

  • fix: do not treat class and style as a boolean property (#6081) - Thanks to @​KazariEX!

3.3.3 (2026-05-30)

vscode

  • fix: prevent grammar scopes leakage in capitalized tags (#6073) - Thanks to @​KazariEX!
  • fix: preserve TS auto imports behavior in Vue files (#6072) - Thanks to @​KazariEX!

workspace

  • fix: read PR title from env in auto-version workflow to prevent injection (#6074) - Thanks to @​arpitjain099!

3.3.2 (2026-05-25)

language-core

  • feat: preserve literal types for inline v-for sources (#6067) - Thanks to @​kkesidis!
  • fix: align v-bind shorthand identifier skipping with interpolation - Thanks to @​KazariEX!

vscode

  • feat: transform tsserver content (#6062) - Thanks to @​KazariEX!
  • fix: do not mark trailing slash in capitalized self-closing tags as invalid (#6065) - Thanks to @​suisanka!
Commits

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

DavidHLP added 30 commits June 1, 2026 14:46
Replace fu-* prefixed forum user IDs with real users table IDs
(u-admin-001, user-alice-001, etc.) in seed data and add
migration to update existing references across forum tables.
Fix system module keys (backup, email, monitoring) that were silently
failing due to missing `system.` prefix. Add missing en-US/zh-CN keys
for contests, problems, solutions, users, and errors. Move error type
keys under `errors.errorType` namespace.
Add i18n keys for stats labels, page titles, status badges, and common
UI text across contests, notifications, problem lists, and moderation
modules. Includes both en-US and zh-CN locales.
Add CI job for management i18n completeness and naming convention
checks. Enhance check.ts with code-to-locale coverage scanning and
JSON output for CI consumption. Add i18n-coverage and
naming-convention test suites. Add fallback values to all dynamic
t() calls per design spec. Remove dead snake_case keys from
dashboard locale. Document conventions in docs/i18n-design.md.
Introduce SemanticBadge component and semantic-maps for consistent
terminal-style badges across console and management frontends. Replace
scattered Badge variant mappings and inline CSS with centralized
SemanticColor system. Update ContestStatusBadge, entity helpers, and
audit views to use the new unified badge API.
Replace duplicate semantic-maps.ts and semantic-types.ts definitions
in console and management frontends with re-exports from the new
shared/badge-config module. This completes Phase 0 of the badge
unification plan.
Replace hardcoded Tailwind colors with terminal CSS variables and
consolidate ProblemListVisibility color map into the shared config.
Also apply Prettier formatting to entity files.
Add MIT License and comprehensive Chinese README. Translate
all Flyway seed data (user names, comments, problem titles,
audit logs, contest descriptions) from English to Chinese.
DavidHLP and others added 25 commits June 12, 2026 18:53
Delete the admin /billing page and all its wiring:
- views/billing/BillingView.vue
- i18n modules billing.ts (en + zh)
- i18n index.ts module registrations
- nav.billing translation key (en + zh)
- router route path/name/component/meta
- NavUser dropdown menu item + IconCreditCard import

Validation:
- pnpm type-check: pass
- pnpm lint: pass (no new warnings)
- pnpm validate:i18n-keys: pass (All keys found)
- pnpm vitest run: 233 passed, 0 failed
- grep residue: 0 hits for billing|Billing
Removes the management frontend /billing view, route, i18n module, and
user-menu entry. Console subscription, backend subscription module, and
unrelated admin 'subscription' references are intentionally left intact
(see PR #N conversation for scope rationale).

Reviewed via ecc:code-review (Local Review Mode) — APPROVE, 0 findings.
…time errors

OJ submissions occasionally surfaced 'sh: 0: Cannot fork' inside the Docker
sandbox, which the previous verdict logic misclassified as 'Runtime Error'.
This made ops triage harder: a host/cgroup/seccomp pressure signal was
indistinguishable from a real user-program bug.

Changes:

- SandboxServiceImpl: split fork-failure detection into two scopes with
  distinct semantics.
  - isSandboxForkFailure(String output): detects sandbox-internal fork
    failures from merged stdout/stderr (busybox sh 'Cannot fork',
    glibc/dockerd 'Resource temporarily unavailable', kernel
    'fork: Cannot allocate memory'). Returned verdict is now 'Sandbox
    Error' with detail prefix 'Sandbox fork failed (likely
    PID/cgroup/seccomp pressure): ...'.
  - isDockerDaemonForkFailure(String msg): stricter IOException-side
    matcher that avoids false-positives on docker daemon configuration
    warnings containing 'pids'. Accepts only unambiguous fork phrases:
    'Cannot fork', 'fork: Cannot allocate memory', 'pids-limit
    reached', 'cgroup pids limit', 'RLIMIT_NPROC'. Throws
    SANDBOX_ERROR with 'Sandbox daemon-level fork failure' prefix.

- Constants extracted (SANDBOX_FORK_FAILURE_VERDICT,
  SANDBOX_FORK_FAILURE_DETAIL_PREFIX, MAX_LOG_DETAIL_BYTES) to remove
  duplicated magic strings and bound log payload size via
  truncateForLog(String).

- SandboxServiceImplTest: +16 BCDE tests covering both matchers,
  parameterized markers, and false-positive guards for docker daemon
  config warnings.

- i18n (console + management, en-US + zh-CN): added 'Sandbox Error' /
  '沙箱错误' under status.sandboxError (console) and
  statusLabels.SANDBOX_ERROR (management) so the new verdict renders
  consistently across locales.

- docs/CODEMAPS/sandbox.md: codifies resource limit matrix, both
  fork-failure classification paths, i18n key table, and the 2026-06-12
  diagnostic finding that --pids-limit=128 is empirically sufficient
  for current sandbox images (H1 of the original PRP plan refuted).

Diagnostic context: see .claude/PRPs/reports/oj-sandbox-cannot-fork-diagnose-report.md.
The accompanying plan (.claude/PRPs/plans/oj-sandbox-cannot-fork-diagnose.plan.md)
and report remain gitignored per .claude/PRPs/ tree convention.
…fication

Implements the verdict classification improvements from
.claude/PRPs/plans/oj-sandbox-cannot-fork-diagnose.plan.md after the
2026-06-12 H1 refutation (--pids-limit=128 empirically sufficient).

See commit 6f8f36b for the full diff and
.claude/PRPs/reports/oj-sandbox-cannot-fork-diagnose-report.md for
diagnostic context.
Move success feedback responsibility to UI callers in account API to
prevent duplicate notifications. Add unit tests verifying toast.success
is not invoked on updateProfile or changePassword.
…se 1)

Per the agreed sandbox refactor plan, replace the in-source 950-line String
constants in CodeExecutionHelperImpl with a real harness project that will
later be compiled into the sandbox image (Phase 2). Phase 1 is harness
code only — zero impact on backend, Dockerfile, or DB.

Java harness: 39/39 tests pass (31 HarnessTest unit + 8 MainE2ETest end-to-end).
  - JSON parser/serializer, argument adapter, ListNode/TreeNode helpers
  - Reflective Solution invocation, per-case worker thread with soft TLE
  - User System.out capture so envelope JSON is never contaminated
  - Default-package classes to match LeetCode's zero-import convention

Python harness: 7/7 pytest pass.
  - Same envelope contract; uses inspect.signature for ListNode/TreeNode hints

C/C++ harness: smoke skeleton (gcc/g++ build verified).
  - Full impl in later phase; current binary emits empty envelope JSON

Three real bugs surfaced and fixed by the test suite:
  - parseJson("{") caught StringIndexOutOfBoundsException at EOF -> rethrow as IAE
  - fromTreeNode using ArrayDeque rejected null offers -> switched to LinkedList
  - HarnessTest hit javac Unicode preprocessing on literal \\uXXXX -> built via
    char-cast + concatenation so the source contains no backslash-u sequence
…1.5)

- Strict JSON parser: reject leading zero, naked dot, empty exponent,
  Infinity/NaN literals, exponent overflow, unescaped control chars,
  bareword keys, max depth, trailing data
- Serializer cycle/depth/node-count guards via IdentityHashMap /
  id-set; reject non-finite floats in toJson
- Block System.exit AND Runtime.halt via SecurityManager
  (checkExit + checkPermission('exitVM.*'))
- Deterministic method dispatch: hint OR single public method;
  reject overloads, shadowing, missing
- Per-case jsonable try/catch so cyclic / NaN results surface as
  Runtime Error instead of harness panic
- Mirror all of the above in Python harness (os._exit / sys.exit
  blocked, type_override honored, allow_nan=False, SystemExit -> RE)
- 23 new Java + 11 new Python adversarial tests covering each fix
- Add -Djava.security.manager=allow to test ProcessBuilder so
  SecurityManager installs on JDK 18+ (the harness image pins
  JDK 17 where it is a no-op)

Java 68/68 + Python 18/18 green.
- New multi-stage Dockerfile: pre-compiled harness artifacts from
  harness-staging/ get COPYed into /opt/harness/{java,python,c,cpp}/
  in the runtime image. Base is ulticode-sandbox:latest (which already
  carries JDK 17 + python3 + gcc + g++) so no apt mirror dependency.
- harness/build.sh: host-side driver that runs mvn compile /
  py_compile / gcc / g++ and populates harness-staging/. CI calls
  this ahead of 'docker build'.
- .dockerignore: keeps target/, __pycache__/, *.pyc, harness-staging/
  out of the build context.
- application.yml: code-execution.sandbox.d-form.{enabled,harness-root}
  flags (env-overridable). enabled defaults to false until Phase 3
  wires CodeExecutionHelperImpl to the new dispatch path; Phase 5
  deletes the legacy Form A wrappers.
- harness-staging/ added to .gitignore (regenerated by build.sh).

Verified: 4-language sanity check
  - C / C++:  pre-compiled smoke binaries print valid empty envelope
  - Java:    add(2,3)=5 → 'Accepted'
  - Python:  add(2,3)=5 → 'Accepted' (SOLUTION_DIR=/job)
1. [critical] .dockerignore negated to re-include harness-staging/
   The Dockerfile COPYs harness-staging/{java,python,c,cpp} but the
   previous .dockerignore excluded both that directory and *.class
   files, so 'docker build' could not see the artifacts and failed.
   Re-included the staging dir with explicit negation rules after
   the generic artifact patterns.

2. [high] FROM a separately-pinned base image
   ulticode-sandbox:latest is the project's rolling sandbox tag and
   also the natural output name for this Dockerfile — a self-cycle
   that would silently inherit whatever the host happened to have.
   Switched FROM to ulticode-sandbox:base-17 (JDK 17 pinned). Added
   a first-time-setup hint in harness/build.sh that checks for the
   tag and tells the user to docker tag or rebuild the base.

3. [high] TreeNode cycle guard + node cap
   fromTreeNode did BFS without identity tracking, so a user result
   like root.left = root would grow the queue and output until the
   process was killed. Added IdentityHashMap-based cycle detection
   + MAX_JSONABLE_NODES cap, throws IAE so the per-case path can
   convert to Runtime Error (envelope stays well-formed).
   New tests: self-cycle, mutual cycle, node cap exceeded.

4. [medium] Output-size cap enforced incrementally
   The 8 MiB MAX_JSON_OUTPUT_BYTES check was only at writeJson entry;
   a single large String or map key bypassed it. Added post-append
   assertions in writeNumber and writeString, so the cap kicks in
   mid-serialize rather than after recursion unwinds.
   New tests: oversized string scalar, oversized map key.

Java 73/73 (was 68, +5 adversarial) and Python 18/18 both green.
Verified: clean-context docker build (no cache) succeeds with the
new FROM tag, all 4-language sanity checks still pass.
Backend now has two execution paths inside SandboxServiceImpl, gated by
code-execution.sandbox.d-form.enabled (default false until rollout):

A-path (legacy Form A): unchanged — buildWrapperScript() builds a
per-request bash wrapper string, parseBatchResults() parses its stdout.
Both kept around for Phase 5 rollback / per-language fallback.

D-path (LeetCode/HackerRank): materializeDFormJob() writes
input.json + Solution.{java,py,c,cpp} to a per-run temp dir,
buildDDockerCommand() mounts it :ro at /job, and the pre-compiled
harness in the sandbox image (Phase 2) compiles+executes the user
code. stdout JSON envelope is parsed by helper.parseDEnvelope()
into per-case RunCaseResults with the legacy verdict spellings
(Accepted / Wrong Answer / Runtime Error / Time Limit Exceeded).

New DTOs (MapStruct not used; Jackson trees):
  - EnvelopeDTO     : {harness_version, language, exit_code,
                       total_elapsed_ms, results[]}
  - PerCaseResultDTO: {case_id, label, elapsed_ms, status, result,
                       interrupted, error, user_stdout, user_stderr}
  - InputSpecDTO    : {name, value, type}  (forward-compat for
                       Phase 4 problem_method_signature.type)

Timeouts:
  - perCaseTimeoutMs (soft): forwarded in input.json; harness uses
    Thread.interrupt on the executor worker
  - dFormHardTimeoutSeconds (hard): ProcessBuilder.waitFor + destroyForcibly
    in SandboxServiceImpl
  - Currently 1s soft / 10s hard defaults; tunable in CodeExecutionHelper

CodeExecutionHelper interface gained 3 methods + DFORM_SUPPORTED_LANGUAGES.
DockerSandboxConfig record gained the nested DForm record + dFormEnabled/
dFormHarnessRoot accessors. SandboxServiceImplTest updated to pass null
for d-form (keeps the existing Form A path under test).

Verification: 36/36 sandbox tests pass (CodeExecutionHelperImpl 11,
SandboxServiceImpl 20, CodeExecutionService 5). Other 8+2 test
failures in this mvn test run are pre-existing issues in
contest/admin modules (missing ContestProblemMapper bean, SQL
'key' reserved-word syntax error) — unrelated to this change.

No production image build step run yet (Phase 2 already shipped
ulticode-sandbox:base-17; to enable D-form in a deployed env, set
SANDBOX_DFORM_ENABLED=true and rebuild the d-form image:
  ./docker/sandbox/harness/build.sh
  docker build -t ulticode-sandbox-dform:phase2 docker/sandbox/
  docker tag ulticode-sandbox-dform:phase2 ulticode-sandbox:latest
).
Three blocking defects flagged by the Phase 3 review:

1. [critical] Java compilation failed against :ro mount
   The dispatcher ran 'javac -d .' from inside the :ro /job mount,
   which made every Java D-form submission return Runtime Error.
   Moved compilation to /tmp/classes (writable) and prepended it
   on the runtime classpath. Also pass -Djava.security.manager=allow
   so the harness can install its SecurityManager on JDK 18+.

2. [critical] C and C++ D-form dispatch never reached a harness
   The C/C++ dispatchers in dFormDispatchShell() compiled user source
   and ran the binary, but the harness images at
   docker/sandbox/harness/{c,cpp}/ are still Phase 1 smoke skeletons
   that don't read input.json. Enabling D-form would silently
   break C/C++ judging for users whose Solution is the typical
   library-style code (no main()). Trimmed
   DFORM_SUPPORTED_LANGUAGES to {java, python} for now; C/C++ re-add
   with a follow-up that ships envelope-producing harnesses.

3. [high] waitFor-before-read pipe deadlock
   Both executeInSandboxD and executeBatchD called process.waitFor()
   before process.getInputStream().readAllBytes(). With merged-error
   stdout, the kernel pipe is only 64 KiB; a batch envelope with
   100 cases × (verdict + 64 KiB user_stdout) easily exceeds that,
   and the harness blocks on write() while the backend blocks on
   waitFor() — false TLE for otherwise valid runs.

   New runDProcess() helper spawns a daemon reader thread that
   drains the merged pipe into a bounded ByteArrayOutputStream
   (DFORM_OUTPUT_BUDGET_BYTES = 8 MiB + 128 KiB headroom). The
   reader closes the InputStream on budget overflow so the harness
   unblocks. waitFor joins the reader with a 2s grace window.
   BOTH single-case and batch dispatch now go through runDProcess.

Verification: 36/36 sandbox tests pass (CodeExecutionHelperImpl 11,
SandboxServiceImpl 20, CodeExecutionService 5).
Frontends now have a single source of truth for the D-form sandbox
contract. Mirrors the backend's EnvelopeDTO / PerCaseResultDTO /
InputSpecDTO records (Phase 3).

shared/sandbox-types/ exports:
  - DFormVerdict            (the full verdict set, including legacy
                             Form A spellings the backend maps to)
  - DFormHarnessVerdict     (narrow — what the D-form harness actually
                             emits; subset of DFormVerdict)
  - DFormVerdictCategory    ('success' | 'error' | 'warning' |
                             'pending' | 'system' for UI styling)
  - OJDataType              ('int' | 'long' | 'double' | 'boolean' |
                             'String' | 'int[]' | 'int[][]' |
                             'long[]' | 'String[]' | 'ListNode' |
                             'ListNode[]' | 'TreeNode' | 'TreeNode[]')
  - DFormInputSpec          ({name, value, type?}) — the per-case
                             argument shape the harness reads
  - DFormPerCaseResult      ({case_id, label, elapsed_ms, status,
                             result, interrupted?, error?, user_stdout?,
                             user_stderr?})
  - DFormEnvelope           (top-level: {harness_version, language,
                             exit_code, total_elapsed_ms, results[]})
  - verdictCategory(status)  helper
  - SUPPORTED_OJ_DATA_TYPES, isSupportedOJDataType, isDFormInputSpec

Each frontend gets a thin re-export shim:
  console/src/types/sandbox.ts
  management/src/types/sandbox.ts
so consumers can do
  import type { DFormEnvelope, DFormPerCaseResult } from '@/types/sandbox'
without caring about the symlink path.

Per CLAUDE.md: 'shared/auth-core/ 改动必须在该包内跑 pnpm test +
pnpm type-check, 并在两个前端验证.' This package has no test
suite yet (pure types); type-check is the gate.

Verification:
  shared/sandbox-types: created; tsc config in tsconfig.json
  console: pnpm type-check passes
  management: pnpm type-check passes

Cross-stack audit (manual, per cross-stack-dto-granularity-alignment
skill's checklist):
  - backend EnvelopeDTO ↔ shared DFormEnvelope
      Both carry {harness_version, language, exit_code,
      total_elapsed_ms, results[]}. Field names match the JSON
      snake_case the harness emits.
  - backend PerCaseResultDTO ↔ shared DFormPerCaseResult
      Same field set; backend maps the JSON into a Map first
      then constructs the record. Both use the same verdict
      strings; no enum mismatch.
  - backend InputSpecDTO ↔ shared DFormInputSpec + OJDataType
      Backend validates type against DFORM_TYPES at submission
      time. Shared OJDataType union is the authoritative list;
      backend's DFORM_TYPES constant is in lockstep (any new
      type must be added to both).

The fields are intentionally compatible with what the harness
emits; no transformations are needed at the cross-stack boundary
beyond the verdict spellings the backend already normalizes.
… 4.5)

Two cross-stack contract defects flagged by the Phase 4 review:

1. [high] DFormInputSpec.type never reached the harness
   The shared DTO advertised a 'type' field with a comment saying
   the harness prefers it over a Java annotation, but the
   CodeExecutionHelperImpl.buildDInputSpecs helper only serialized
   name + value, leaving the hint silently dropped. A frontend
   that populated type=ListNode for an unannotated Python user
   would have the value arrive as a raw list and crash on
   .next access at runtime.
   Fix: add 'type' field to RunInput DTO record and forward it in
   buildDInputSpecs when set and recognized by DFORM_TYPES. The
   field stays nullable for backward-compat with existing API
   callers; missing / blank / unknown types are omitted so the
   harness falls back to whatever the annotation says.

2. [medium] isDFormInputSpec accepted malformed input
   The shared type guard returned true after checking only that
   name and value were strings, accepting blank names (which the
   backend's InputSpecDTO record explicitly rejects) and arbitrary
   'type' strings (which the backend silently drops). Callers
   using the guard at a trust boundary would accept data that
   fails later in the submission flow.
   Fix: require non-blank-after-trim name; require any present
   'type' to pass isSupportedOJDataType. Added 16 negative tests
   (non-object, null, missing name, blank name, non-string
   fields, unsupported type, wrong-case type, trailing space)
   in shared/sandbox-types/src/input-spec.spec.ts.

Verification:
  shared/sandbox-types: 16/16 vitest pass; tsc clean
  backend-spring:        mvn compile clean
  console:                pnpm type-check clean
  management:             pnpm type-check clean
D-form (LeetCode/HackerRank harness) is now the default submission
dispatch path. The legacy Form A (per-request bash wrapper) remains
in CodeExecutionHelperImpl as a fallback gated by the d-form.enabled
flag for any deployment that needs to roll back.

To roll back: set SANDBOX_DFORM_ENABLED=false (or unset the env var
override in application.yml).

What D-form brings by default:
  - Per-case verdict from a single static input.json contract
    (no more 950-line Form A wrapper String templates)
  - IdentityHashMap cycle guards, NaN rejection, output-size
    caps inside the harness (Phase 1.5)
  - Pre-compiled harness in the runtime image (Phase 2)
  - Java + Python only (C/C++ D-form dispatch is gated out until
    those harnesses ship envelope-producing executors)
  - Soft TLE (Thread.interrupt) + hard TLE (ProcessBuilder
    .waitFor + destroyForcibly) with concurrent stdout drainer

Verification:
  backend-spring:  36/36 sandbox tests pass
  console:          pnpm type-check clean (lint clean)
  management:       pnpm type-check clean (27 pre-existing lint
                     errors in __tests__/error.test.ts and various
                     unused-import component files, unrelated to
                     this change)

No i18n additions required: console + management already ship
verdict labels for all DFormVerdict members (Accepted, Wrong
Answer, Runtime Error, Time Limit Exceeded, Compile Error,
Sandbox Error, System Error, ...) in both en-US and zh-CN.
These were already wired in the original StatusMeta/SubmissionStatusKey
i18n modules.
Phase 5b tears out the per-request bash wrapper generator and the
Form A path in the sandbox dispatcher. D-form (LeetCode/HackerRank
harness) is now the sole execution mode.

Code execution:
  - CodeExecutionHelper interface: 100 → 53 lines
    Removed: buildWrapperScript, buildBatchInputsJson,
    parseBatchResults, wrapJavaScript, wrapPython, wrapJava,
    buildInputsJson (10 method declarations).
    Kept: buildDInputsJson, buildDBatchInputsJson, parseDEnvelope,
    plus utility helpers (parseRuntimeMs, normalizeOutput,
    sanitizeSandboxOutput, extractFunctionName, emptyResult,
    buildCaseResult).
  - CodeExecutionHelperImpl: 893 → 236 lines (-657)
    Removed: 12 method bodies including the giant 950-line
    PYTHON_BATCH_WRAPPER / JAVA_BATCH_WRAPPER / JAVA_JSON_PARSER
    String-template constants, the 5 buildXxxBatchWrapper methods,
    the embedded Java JSON parser/serializer, parseBatchResults,
    the 3 wrapXxx methods, buildInputsJson, parseInputValue.
    Kept + restored: extractFunctionName + parseRuntimeMs (still
    used by the controller / other modules).

Sandbox dispatch:
  - SandboxService interface: 60 → 36 lines
    Removed: buildDockerCommand + buildBatchDockerCommand
    (Form A only; D-form composes its docker command internally).
  - SandboxServiceImpl: 679 → 320 lines (-360)
    Removed: useDForm gate, A-path bodies in executeInSandbox and
    executeBatch, buildDockerCommand, buildBatchDockerCommand.
    Kept: D-form executeInSandbox / executeBatch (now the only
    paths), materializeDFormJob, dFormDispatchShell,
    buildDDockerCommand, runDProcess with the concurrent stdout
    drainer (Phase 3.5 CR fix), DFormRunResult.

Test cleanup:
  - CodeExecutionHelperImplTest: 333 → 268 lines
    Removed 4 A-path test cases (buildPython/Java/C/Cpp batch
    wrapper decode / stripPublicModifier). Replaced with 12
    D-form-focused cases (buildDInputsJson for single + batch +
    type-field wiring + unsupported-type drop; parseDEnvelope for
    happy path / per-case error / harness panic / empty stdout /
    unparseable JSON / wrong answer; utility helper regressions).
  - SandboxServiceImplTest: 193 → 128 lines
    Removed 4 A-path test cases (buildBatchDockerCommand for
    python / javascript / default-seccomp / relative-seccomp).
    Kept the 16 fork-failure detection cases (isSandboxForkFailure
    + isDockerDaemonForkFailure) that exercise the still-used
    public static helpers.

Verification:
  backend-spring: mvn compile + 36/36 sandbox tests pass
                    (CodeExecutionHelperImpl 15, SandboxServiceImpl 16,
                     CodeExecutionService 5)
  d-form.enabled  : true (default since 095a01f)

Net: 6 files, +402 / -1445 lines, 1043-line legacy deletion.

No further commits planned; Phase 5 done. The D-form rollout is
the only execution path. SANDBOX_DFORM_ENABLED=false no longer
exists in code; rolling back requires reverting this commit.

Plan ref: .claude/PRPs/plans/oj-sandbox-d-form-refactor.plan.md (Phase 5)
- validate language against DFORM_SUPPORTED_LANGUAGES so callers
  can't slip past the API-advertised SUPPORTED_LANGUAGES
- reword the d-form.enabled yml comment to reflect that env var
  no longer toggles the dispatcher (D-form is always on; rollback
  is a git revert + image rebuild)
- forward item.type into RunInput inside JudgeWorkerProcessor so
  the harness adapt_arg() can materialize ListNode/TreeNode
- spawn _case_runner.py per case from main.py so a per-case
  subprocess.run(timeout=...) SIGKILLs a runaway case instead of
  poisoning the rest of the batch; the verdict is parsed from the
  child's stdout and a non-zero exit becomes a per-case Runtime
  Error verdict
- add isJavaCompileFailure() to SandboxServiceImpl so javac
  failures surfaced from the `javac && java` pipeline are
  classified as Compile Error instead of Runtime Error
…y with 14 updates

Bumps the console-development group with 14 updates in the /console directory:

| Package | From | To |
| --- | --- | --- |
| [@iconify-json/lucide](https://github.com/iconify/icon-sets) | `1.2.109` | `1.2.112` |
| [@tailwindcss/typography](https://github.com/tailwindlabs/tailwindcss-typography) | `0.5.19` | `0.5.20` |
| [@types/katex](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/katex) | `0.16.7` | `0.16.8` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.1` | `25.9.3` |
| [@vue/eslint-config-typescript](https://github.com/vuejs/eslint-config-typescript) | `14.7.0` | `14.8.0` |
| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.10` | `2.4.11` |
| [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.5.0` |
| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.9.1` | `10.9.2` |
| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.14.2` | `6.16.1` |
| [npm-run-all2](https://github.com/bcomnes/npm-run-all2) | `9.0.1` | `9.0.2` |
| [prettier](https://github.com/prettier/prettier) | `3.8.3` | `3.8.4` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.14` | `8.0.16` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.7` | `4.1.8` |
| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.1` | `3.3.5` |



Updates `@iconify-json/lucide` from 1.2.109 to 1.2.112
- [Commits](https://github.com/iconify/icon-sets/commits)

Updates `@tailwindcss/typography` from 0.5.19 to 0.5.20
- [Release notes](https://github.com/tailwindlabs/tailwindcss-typography/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-typography/blob/main/CHANGELOG.md)
- [Commits](tailwindlabs/tailwindcss-typography@v0.5.19...v0.5.20)

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

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

Updates `@vue/eslint-config-typescript` from 14.7.0 to 14.8.0
- [Release notes](https://github.com/vuejs/eslint-config-typescript/releases)
- [Commits](vuejs/eslint-config-typescript@v14.7.0...v14.8.0)

Updates `@vue/test-utils` from 2.4.10 to 2.4.11
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](vuejs/test-utils@v2.4.10...v2.4.11)

Updates `eslint` from 10.4.0 to 10.5.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.4.0...v10.5.0)

Updates `eslint-plugin-vue` from 10.9.1 to 10.9.2
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Changelog](https://github.com/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md)
- [Commits](vuejs/eslint-plugin-vue@v10.9.1...v10.9.2)

Updates `knip` from 6.14.2 to 6.16.1
- [Release notes](https://github.com/webpro-nl/knip/releases)
- [Commits](https://github.com/webpro-nl/knip/commits/knip@6.16.1/packages/knip)

Updates `npm-run-all2` from 9.0.1 to 9.0.2
- [Release notes](https://github.com/bcomnes/npm-run-all2/releases)
- [Changelog](https://github.com/bcomnes/npm-run-all2/blob/master/CHANGELOG.md)
- [Commits](bcomnes/npm-run-all2@v9.0.1...v9.0.2)

Updates `prettier` from 3.8.3 to 3.8.4
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.8.3...3.8.4)

Updates `vite` from 8.0.14 to 8.0.16
- [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.0.16/packages/vite)

Updates `vitest` from 4.1.7 to 4.1.8
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.8/packages/vitest)

Updates `vue-tsc` from 3.3.1 to 3.3.5
- [Release notes](https://github.com/vuejs/language-tools/releases)
- [Changelog](https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/language-tools/commits/v3.3.5/packages/tsc)

---
updated-dependencies:
- dependency-name: "@iconify-json/lucide"
  dependency-version: 1.2.112
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: "@tailwindcss/typography"
  dependency-version: 0.5.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: "@types/katex"
  dependency-version: 0.16.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: "@types/node"
  dependency-version: 25.9.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: "@vue/eslint-config-typescript"
  dependency-version: 14.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: console-development
- dependency-name: "@vue/test-utils"
  dependency-version: 2.4.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: eslint
  dependency-version: 10.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: console-development
- dependency-name: eslint-plugin-vue
  dependency-version: 10.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: knip
  dependency-version: 6.16.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: console-development
- dependency-name: npm-run-all2
  dependency-version: 9.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: prettier
  dependency-version: 3.8.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: vite
  dependency-version: 8.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: vitest
  dependency-version: 4.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
- dependency-name: vue-tsc
  dependency-version: 3.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: console-development
...

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

dependabot Bot commented on behalf of github Jun 13, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: automated, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot @github

dependabot Bot commented on behalf of github Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Jun 20, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/console/console-development-79e8a60002 branch June 20, 2026 08:06
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.

1 participant