chore(deps): combine 9 dependabot npm upgrades (TS 6, Vitest 4, Storybook 10, jsdom 29, @types/node 25, unicorn 64, minor/patch)#36
Merged
Conversation
This was referenced Jun 15, 2026
cf375f8 to
0eaedd9
Compare
…4, Storybook 10, jsdom 29, @types/node 25, unicorn 64, minor/patch group) Combines dependabot PRs #34, #27, #26, #25, #24, #23, #22, #21, #19 into one verified upgrade. Excludes #28 (Vite 6→8) — see below. TypeScript 5→6 migration (#27): - Add `ignoreDeprecations: "6.0"` to the 4 tsconfigs using `moduleResolution: node` (node10 errors as deprecated in TS6). - Add explicit `types: ["node"]` to those tsconfigs — TS6 no longer auto-discovers @types/node, which otherwise breaks every `console`/`require`/`node:test` reference. - Bump the VSCode client's lib/target to ES2022 (it already uses Array.prototype.at; @types/node@20 incidentally supplied the lib, @types/node@25 does not). - Remove type assertions TS6 now proves unnecessary (eslint --fix) and the imports they orphaned. Other fixes surfaced by the bumps: - EclEditor.tsx: annotate the @monaco-editor/react OnMount params explicitly; monaco-editor 0.55 makes them resolve to `error` under typed-linting. EXCLUDED — Vite (#28), kept at ^6: Vite ≥7 writes bundle output as UTF-8, which re-encodes the lone UTF-16 surrogates in the generated ANTLR serialized-ATN string to U+FFFD and corrupts the lexer at runtime ("The specified lexer action type undefined is not valid"). This breaks every consumer of the ecl-core bundle (LSP server, slack bot, editors). Confirmed on both Vite 7.3.5 and 8.0.3; only Vite 6 emits the ATN as \uXXXX escapes. Needs dedicated investigation/upstream fix. Verified: compile clean, lint 0 errors, npm test all pass (ecl-core 1640, ecl-lsp-server 81, editor-core 74, editor-react 33, editor 34, slack-bot 226). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…NSES Two CI fixes for the combined upgrade: - @types/vscode: revert ^1.120.0 -> ^1.75.0. vsce rejects @types/vscode newer than engines.vscode (^1.75.0), and @types/vscode should track the *minimum* supported VSCode anyway — dependabot bumping it ahead of engines was wrong. - Regenerate THIRD-PARTY-LICENSES.txt for the updated dependency set so `licenses:check` passes. (The `security` job's axios advisories are pre-existing on main and unrelated to this upgrade.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Storybook 10 evaluates .storybook/main.ts as an ESM module, where __dirname is undefined — the workspace alias resolution (path.resolve(__dirname, ...)) threw "ReferenceError: __dirname is not defined", so `storybook dev` failed to start and the e2e-tests job (Playwright webServer) errored. Add an import.meta.url-based __dirname shim to both the react-vite and web-components-vite storybook configs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
After rebasing onto main (which merged #35, removing the lint-suppression block), two findings surfaced under TypeScript 6 that #35's TS5 run did not: - extension.ts: restore the inline no-unnecessary-condition disable on the `selectedItems[0]` guard (dropped during the auto-merge; the value is non-nullable by type but undefined at runtime). - concept-extractor.ts: make `visitNode` tolerate null/undefined and drop the always-truthy `if (node.expression)` guard. The field is required by type but can be absent in partial/error-recovery parse trees (kept the runtime guard via an early return — restores 3 error-recovery tests). lint 0 errors, compile clean, full test suite green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
742caec to
aac661e
Compare
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.
Summary
Combines 9 open dependabot npm PRs into one verified upgrade, with the TypeScript 6 migration they require. Excludes only the Vite bump (#28), which is a genuine runtime regression — see below.
Supersedes (close on merge): #34, #27, #26, #25, #24, #23, #22, #21, #19
TypeScript 5 → 6 (#27)
ignoreDeprecations: "6.0"on the 4 tsconfigs usingmoduleResolution: node(node10 now errors as deprecated).types: ["node"]on those tsconfigs — TS6 no longer auto-discovers@types/node, which otherwise breaks everyconsole/require/node:testreference.lib/target→ ES2022 (code already usesArray.prototype.at;@types/node@20incidentally supplied the lib,@types/node@25does not).eslint --fix) + the imports they orphaned.Also in this PR
EclEditor.tsx: explicit annotation on@monaco-editor/react'sOnMountparams (monaco-editor 0.55 makes them resolve toerrorunder typed-linting; tsc tolerates viaskipLibCheck).Excluded: Vite 6 → 8 (#28) — kept at ^6
Vite ≥7 writes bundle output as UTF-8, which re-encodes the lone UTF-16 surrogates in the generated ANTLR serialized-ATN string to U+FFFD and corrupts the lexer at runtime (
The specified lexer action type undefined is not valid). This breaks every consumer of the ecl-core bundle (LSP server, Slack bot, editors). Confirmed on both Vite 7.3.5 and 8.0.3; only Vite 6 emits the ATN as\uXXXXescapes. Standardcharset/escape fixes don't engage in Vite's lib pipeline (the corruption happens before they can act). #28 stays open pending dedicated investigation / upstream fix.Test plan
npm run compile— cleannpm run lint— 0 errors (4 pre-existingno-non-null-assertionwarnings, unrelated)npm run format:check— cleannpm test— all pass: ecl-core 1640, ecl-lsp-server 81, ecl-editor-core 74, ecl-editor-react 33, ecl-editor 34, ecl-slack-bot 226🤖 Generated with Claude Code