Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

build: runtime renderer dependencies sit in devDependencies in package.json

Open Beginner friendly
#305 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript, vite
Domain
build-system

Research direction

Start in package.json around lines 150-197 and move the renderer packages (dompurify, marked, marked-highlight, highlight.js, diff2html, @xterm/xterm, @xterm/addon-fit) from devDependencies to dependencies. Then open electron.vite.config.ts lines 19-22 and pass the exclude option to externalizeDepsPlugin for the MCP and Claude Agent SDKs. Done when npm run build succeeds and npm audit --omit=dev lists the runtime packages, while those two SDKs are still bundled into out/main.

Written by the indexing model from the issue text.

Description

enhancement priority: low severity: low

Problem

Found in the Oct 13 audit (at 704a0b7).

In package.json:150-197, several packages that run inside the application at runtime are listed under devDependencies rather than dependencies:

  • dompurify, marked, marked-highlight, highlight.js, diff2html, @xterm/xterm, @xterm/addon-fit (bundled into the renderer by Vite)
  • @modelcontextprotocol/sdk, @anthropic-ai/claude-agent-sdk (bundled into out/main because externalizeDepsPlugin() only externalizes dependencies, as noted in electron.vite.config.ts:19-22)

While the built app works because Vite bundles them, listing runtime libraries such as dompurify and marked under devDependencies means npm audit --omit=dev and production dependency scanners treat them as build-only tooling.

Fix

Move runtime dependencies to dependencies and pass { exclude: ['@modelcontextprotocol/sdk', '@anthropic-ai/claude-agent-sdk'] } to externalizeDepsPlugin() in electron.vite.config.ts so the MCP and Claude Agent SDKs are still tree-shaken into out/main without packaging their unused server dependencies.

Dominant language
TypeScript
Stars
2
Forks
2
Avg merge
8h 28m
Merged PRs (30d)
26

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PierrunoYT/patch

All issues in PierrunoYT/patch

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.