Skip to content

chore(deps-dev): bump the dev-dependencies group across 1 directory with 6 updates - #5

Closed
dependabot[bot] wants to merge 19 commits into
mainfrom
dependabot/npm_and_yarn/dev-dependencies-87442b8a67
Closed

dependabot[bot] wants to merge 19 commits into
mainfrom
dependabot/npm_and_yarn/dev-dependencies-87442b8a67

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 10, 2026

Copy link
Copy Markdown

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

Package From To
@types/node 24.13.2 26.1.1
@vitest/coverage-v8 4.1.9 4.1.10
typescript 6.0.3 7.0.2
typescript-eslint 8.62.1 8.63.0
vite 8.1.2 8.1.4

Updates @types/node from 24.13.2 to 26.1.1

Commits

Updates @vitest/coverage-v8 from 4.1.9 to 4.1.10

Release notes

Sourced from @​vitest/coverage-v8's releases.

v4.1.10

   🐞 Bug Fixes

    View changes on GitHub
Commits

Updates typescript from 6.0.3 to 7.0.2

Commits
Maintainer changes

This version was pushed to npm by microsoft1es, a new releaser for typescript since your current version.


Updates typescript-eslint from 8.62.1 to 8.63.0

Release notes

Sourced from typescript-eslint's releases.

v8.63.0

8.63.0 (2026-07-06)

🚀 Features

  • eslint-plugin: [no-misused-promises] detect async usage of a sync dispose usage (#12426)

🩹 Fixes

  • eslint-plugin: [method-signature-style] suggest converting readonly function properties instead of emitting invalid syntax (#12447, #12446)
  • eslint-plugin: [no-unnecessary-type-assertion] handle optional-chained calls to overloaded functions (#12491, #12485)
  • eslint-plugin: [no-base-to-string] don't flag a shadowed String() call (#12492)
  • scope-manager: export ClassStaticBlockScope (#12460)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Changelog

Sourced from typescript-eslint's changelog.

8.63.0 (2026-07-06)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Commits

Updates vite from 8.1.2 to 8.1.4

Release notes

Sourced from vite's releases.

v8.1.4

Please refer to CHANGELOG.md for details.

v8.1.3

Please refer to CHANGELOG.md for details.

Changelog

Sourced from vite's changelog.

8.1.4 (2026-07-09)

Features

Bug Fixes

  • build: add workaround for building on stackblitz (#22840) (575c32c)
  • build: keep import.meta.url in preload function as-is (#22839) (f1f90ed)
  • deps: update all non-major dependencies (#22865) (d4295a9)
  • deps: update rolldown-related dependencies (#22866) (7cf07e4)
  • html: avoid backtracking in import-only check (#22848) (b5868c0)
  • optimizer: avoid optimizer run for transform request before init (#22852) (72a5e21)
  • ssr: align named export function call stacktrace column with Node (#22829) (173a1b6)
  • strip pure CSS chunk imports when chunkImportMap is enabled (#22841) (648bd04)

Documentation

Miscellaneous Chores

  • deps: update dependency postcss-modules to v9 (#22867) (a9539d6)

Code Refactoring

Tests

Build System

8.1.3 (2026-07-02)

Bug Fixes

Commits

Updates vitest from 4.1.9 to 4.1.10

Release notes

Sourced from vitest's releases.

v4.1.10

   🐞 Bug Fixes

    View changes on GitHub
Commits
  • db616d2 chore: release v4.1.10 (#10718)
  • bae52b5 fix(vm): fix external module resolve error with deps optimizer query for enco...
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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

fskulimo and others added 19 commits July 2, 2026 11:16
…t Flow UI, enrichment layer, 126 tests

Pre-data-flow-pivot snapshot: tree-sitter polyglot scanner (web-tree-sitter
0.22.6), deterministic directory-clustered architecture builder, text-only
LLM enrichment with graceful fallback, SHA-cached history store, Hono API,
React Flow canvas with Mermaid/PNG export, vitest + Playwright suites.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ow graph, job API

- server/analyze/resolve.ts: path-aware import resolution (JS/TS relative+index+
  workspace packages, Python dotted/relative+submodule symbols, Go go.mod, Java
  package paths, C++ includes) — replaces basename matching (C1)
- server/analyze/kinds.ts v2: usage-based signals (calls, submodule-specific
  imports, real file-I/O evidence); urllib3.fields no longer 'external API' (C2)
- server/analyze/flow.ts: entries (strong evidence only; weak __main__ guards
  demoted) → evidence-named sink synthesis (URL-host externals, per-tech DB/
  cache/queue, Local File Storage, bundled-data cylinders) → reachability
  pruning (tooling falls away) → flow stages → aggregation → sync edges (C3)
- evidence harvest: AST string-literal URLs (docstring/comment-proof), calls,
  paths, envs, routes; carried on nodes for enrichment grounding (C4)
- enrich v2: evidence-grounded labels/roles/plain-language + group titles;
  haiku default; structure-safe by construction
- API: job model with progress polling + concurrency gate; loopback bind;
  git ref validation; --no-tags + LFS skip
- tests: 102 across resolver/kinds/languages/scan/flow/pipeline/enrich +
  golden-fixture regression net; verified archmap-faithful on psf/requests
  (certifi cylinder, Python Application) and mwaskom/seaborn
  (raw.githubusercontent.com CDN + Local File Storage), byte-identical runs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rogress, two-register panel

- ComponentNode → per-kind ArchiMate-inspired shapes (screenshot-faithful):
  cylinder (storage/db/cache, real SVG), cloud pill (external API/queue),
  device box (client), component box w/ ArchiMate glyph (service)
- FlowCanvas: hover/click focus lights the node + its connections (animated
  dashed edges, label pills) and dims the rest; edge hover; Trace mode lights
  the FULL upstream+downstream path; Esc clears
- edges: dashed = ArchiMate flow relationship, solid = sync coupling
- App: job polling with live stages (Cloning → Scanning n/N → Mapping data
  flow → Enriching labels) in the Analyze button
- ComponentPanel: ArchiMate element line, plain-language + technical roles,
  harvested evidence chips; Legend: @ref/sha pill, solid sync sample
- e2e: 6 tests incl. hover-dim focus + shape assertions; browser-walked live
  on mwaskom/seaborn — enrichment (haiku) produced 'GitHub Raw Dataset CDN'
  exactly matching the archmap reference screenshots

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- edges: interactionWidth 20→4 — focus-dim no longer fires when the cursor is
  merely NEAR an edge (with ~46 edges the default hover zone dimmed the canvas
  almost everywhere); verified: mid-canvas 0 dimmed, node hover dims, click
  persists after mouse-away
- cylinder: deep tinted top ellipse + full-opacity stroke — reads as a data
  store even at overview zoom
- client: stadium shape (fully rounded ends) per the archmap reference

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hover rearchitecture: routing focus through React state recreated every node
object per mouse event — React Flow re-synced mid-hover, dropping mouseleave
(stuck highlights), misfiring enters, and lagging. Focus is now pure DOM class
flipping over precomputed per-node neighborhoods: zero re-renders, idempotent
apply, selection falls back on leave. Edge hover removed (components only).
Probed: rapid 6-node sweeps ×3, hover handoffs, leave-clears, click-persists,
pane-clears — all exact. New e2e regression test for the handoff sequence.

Design pass (frontend-design-omega discipline):
- fonts: Space Grotesk + Inter (didn't-choose tells) → JetBrains Mono chrome +
  Switzer prose (sans+mono dev-tool idiom, closer to the archmap reference)
- tokens: custom easing curves, designed focus ring, reduced-motion support
- lit edges animate dash flow directionally; mono edge-label pills
- landing: editorial hero scale; sample-card microstates
- sidebar empty state designed as onboarding, not a stub
- canvas: subtle atmospheric depth behind the graph

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…osed export

Stress test on nexu-io/open-design (1,515 files) found and fixed:
- framework imports are a LAYER, not an entry: react/vue/express/flask imports
  no longer pin every file as a singular entry (413 nodes → 41); true entries =
  CLI parsers, entry-named files, bootstrap calls (createRoot/listen), Electron
- fetch()/axios calls only count as external APIs with real URL evidence —
  an app fetching its own /api/* is not a third-party endpoint
- external sinks capped at 6 named hosts + 'Other HTTP endpoints' merge
- two-tier clustering: depth-2 dirs (apps/web, packages/contracts), sub-scale
  dirs merge into their parent; transports stay individual only while ≤8
- reachability keeps substantial unreached product code (Next.js router-invoked
  trees have no static path from an entry) — tooling still falls away
- enrichment can no longer collide two nodes onto one label

Features: detected-in chip deep-links to the exact blob/tree on GitHub at the
analyzed SHA; ⌘K command palette jumps to + pins any component; PNG export is
now a composed, README-ready image (header + diagram + legend + overview).

102 unit + 9 e2e green; verified live on the open-design graph.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…wiring

Operator feedback pass on the circuit art direction:
- green PCB now inset on a black workbench table (black frames every edge)
- zones: dashed copper silkscreen outlines + dark label plates (no grey fill)
- vias are filled gold solder joints the copper traces terminate into
- net + zone + designator labels enlarged and brightened for legibility
- fix zoomed hover flicker: guard stale mouseleave via hoveredRef + canvas
  onMouseLeave fallback; make MiniMap display-only (was a hover dead-zone)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…itch, rename Nets→Connections

Second operator feedback round on the circuit board:
- net labels rendered in the edge-label layer (above packages) so a label in a
  tight gap is never clipped; custom NetEdge + EdgeLabelRenderer; zoom-gated
  (enriched labels appear at zoom >= 0.62, generated labels only when lit)
- fix wrong zoom/center when switching boards: remount canvas per repo (key on
  owner/repo@sha) so React Flow's initial fitView runs against the measured nodes
- elevateNodesOnSelect=false so a selected part can't rise over its own labels
- rename user-facing "Nets"/"NETS" → "Connections" (jargon); internal net/NetEdge
  naming unchanged

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…view, richer panel

Multi-round UI/UX pass on the PCB board:

Labels & connections
- intelligent per-connection label sizing + de-collision at layout time (bigger
  where there's room, never overlapping a package/zone/other label; overflow
  hidden-at-rest, revealed on hover). Toolbar "Labels" toggle: always-on vs on-focus.
- clickable connection labels open a Connection panel (from→to + enriched detail
  with concrete data examples); selected connection persists (gold-ring anchor + wire).
- double-click a part → select + zoom-center (gentle 1.2x).

Panel & learnability
- two registers per part: "In plain terms" + "In depth (technical)"; enrichment
  prompt deepened for CS-level detail and per-connection dataDetail with examples.
- purged electrical jargon (Nets→Connections, Datasheet→Component, How it works→
  In depth, BUS→two-way, XCVR→SERVICE, FIFO→QUEUE, legend U/A/J/C/M plain, zone
  codes ENTRY/NETWORK; dropped the Package row).

Archive management (scales past 50 repos)
- analyses carry user labels (persisted; PATCH /api/history/:id; carried over on
  re-analysis). Archive manager modal: search, filter-by-label chips, add/remove
  labels, open/delete. Sidebar gained a Manage button + per-row label chips.

Chrome fixes
- zones no longer overlap; legend max-width so it never grows into the toolbar;
  REV tooltip explains the analysed commit.

102 unit + 9 e2e green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…igatures

- URL bar: the input's global focus ring spilled into the Route/stage button
  (the bar clips with overflow:hidden); drop the input ring, show focus as a
  gold border on the field instead.
- bottom chrome: the "made with" badge, the br corner hole, and React Flow's
  attribution stacked in the bottom-right corner. Hide the attribution
  (xyflow is MIT) and centre the badge so it clears both corner holes.
- wordmark is now just "SCAFFLD" (dropped the "PCB" tag).
- disable ligatures globally (font-variant-ligatures: none) — the "ffl" in
  "Scaffld" was merging into one glyph; ligatures are unwanted in a mono UI.

102 unit + 9 e2e green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tages

- New logo mark: negative-space S chip (public/scaffld-mark.svg), replacing
  the old dots-on-a-wire mark. Wordmark keeps the stencil display font.
- Full-screen analysis loader (src/components/Loader.tsx): dims the app, the
  brand mark at centre with a gold "current" routing the S over a four-step
  pipeline tracker. Brightened + enlarged so it stands out; reduced-motion safe.
- De-jargon the stage labels: "Routing connections" -> "Building the board",
  "Printing silkscreen" -> "Writing labels"; stepper FETCH/SCAN/BUILD/LABEL.
- Logo/UI cleanups from prior pass carried in (de-PCB'd wordmark, ligature fix).
- Design exploration: mockups/logos.html, logos-v2.html, loaders.html.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a second visual register alongside the circuit board: a light
"reading-room" gallery (mockups/10-gallery.html) — framed + matted plate,
ink-etching node cards, Erode serif titles, crimson accent, dashed ink wires.

- ThemeToggle in the header switches the whole app; choice persists to
  localStorage and applies via .app-shell[data-theme].
- src/styles/gallery.css: theme scoped skin over the existing structure —
  header, urlbar, toolbar, legend, board frame, nodes, edges, net labels,
  zones, landing. Sidebar was already paper/ink so it carries over.
- FlowCanvas takes a theme prop to recolor the Background dots + MiniMap
  (React Flow paints those itself; CSS alone can't reach them).
- Logo and the loader overlay are deliberately untouched across themes.
- e2e: toggle switches data-theme and survives reload.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Landing headline, subtitle and the <title> used electrical jargon
("is a circuit board", "services as ICs / edge connectors / capacitors").
Replace with plain language that says what the tool does:
"See how data flows through any repo." e2e heading assertions updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tier 0 — legal
- Add MIT LICENSE; remove "private": true; add license/repository/homepage/
  bugs/keywords/engines to package.json.

Tier 1 — trust & safety
- SECURITY.md: threat model (AST-only, github.com-only clone rebuilt from a
  validated owner/name, no-shell git spawn, loopback bind) + private reporting.
- README: corrected to reflect the deterministic-first pipeline (the graph is
  built 100% deterministically; AI only rewrites labels), added Security &
  Privacy section, badges, and a hero-GIF anchor.
- Enrichment is now OPT-IN: SCAFFLD_ENRICH=on (was on-by-default). Bring your
  own Claude; nothing leaves the machine by default. .env.example documents it.

Tier 2 — CI & contributor hygiene
- .github/workflows/ci.yml: typecheck + lint + unit + e2e on push/PR.
- CONTRIBUTING.md, issue forms, PR template, Dependabot.

Made the lint suite green (CI-blocking): removed two dead vars, moved
NetEdgeContext to its own module (react-refresh), and downgraded the new
experimental react-hooks/refs rule to a warning — it flags an intentional
latest-value-ref pattern (and false-positives on ref forwarding) whose hover
correctness the e2e suite already covers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
scripts/record-demo.mjs (npm run demo) drives the real running app through a
real analysis with Playwright, records a webm, and converts it to an optimized
looping GIF via a two-pass ffmpeg palette. Committed docs/demo.gif (psf/requests,
~10s, 3 MB) and wired it into the README hero.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a CLI (bin/scaffld.mjs) that boots the bundled app + API on a single local
port and opens the browser. `npx scaffld psf/requests` lands straight in the
analysis via a new ?repo= auto-analyze on the landing page.

- bin/scaffld.mjs: parse [repo] [--port] [--no-open], auto-build if dist/ is
  missing, run the server (tsx), wait for health, open the browser. History is
  kept in ~/.scaffld, not the cwd npx ran in.
- package.json: bin + files (dist/server/shared/bin/.env.example); moved tsx and
  tree-sitter-wasms to dependencies (the server needs them at runtime);
  prepublishOnly build; `npm start` = the CLI.
- App.tsx: /?repo=<url> analyzes once on load, then strips the param (deferred so
  it doesn't setState synchronously inside the effect — keeps lint clean).
- README: Install & run section (npx + from-source).

Verified: built app is served with the API on one port; /?repo= auto-analyzes
and strips the param; npm pack ships the right files; typecheck/lint/unit/e2e green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ith 6 updates

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

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.13.2` | `26.1.1` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.9` | `4.1.10` |
| [typescript](https://github.com/microsoft/TypeScript) | `6.0.3` | `7.0.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.62.1` | `8.63.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.1.2` | `8.1.4` |



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

Updates `@vitest/coverage-v8` from 4.1.9 to 4.1.10
- [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.10/packages/coverage-v8)

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 `typescript-eslint` from 8.62.1 to 8.63.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.63.0/packages/typescript-eslint)

Updates `vite` from 8.1.2 to 8.1.4
- [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.4/packages/vite)

Updates `vitest` from 4.1.9 to 4.1.10
- [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.10/packages/vitest)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.1.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.1.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  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: typescript-eslint
  dependency-version: 8.63.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vite
  dependency-version: 8.1.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.1.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 10, 2026
@fskulimo fskulimo closed this Jul 10, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jul 10, 2026

Copy link
Copy Markdown
Author

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/dev-dependencies-87442b8a67 branch July 10, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant