Skip to content

Remove Electron container support (deprecation) - #868

Open
bingenito wants to merge 4 commits into
morganstanley:mainfrom
bingenito:security/remove-electron
Open

Remove Electron container support (deprecation)#868
bingenito wants to merge 4 commits into
morganstanley:mainfrom
bingenito:security/remove-electron

Conversation

@bingenito

@bingenito bingenito commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • desktopJS is deprecating Electron support. Removes the desktopjs-electron package, its example app, and every build/lint/docs/IDE reference to Electron from the monorepo.

bingenito and others added 2 commits July 31, 2026 12:55
desktopjs-electron is being deprecated. Removes the package, its example
app, and every build/lint/docs/IDE reference so the monorepo no longer
ships or exercises Electron-specific code.

This also closes the Electron-only security findings (F#07, F#09, F#11,
F#12) and the RCE chains that terminated in its executeJavaScript/ipcMain
sinks, since those sinks no longer exist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.46%. Comparing base (16dcf71) to head (9bbbd1f).

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #868       +/-   ##
===========================================
+ Coverage   74.03%   90.46%   +16.42%     
===========================================
  Files          16       15        -1     
  Lines        1510     1122      -388     
  Branches      318      234       -84     
===========================================
- Hits         1118     1015      -103     
+ Misses        386      102      -284     
+ Partials        6        5        -1     
Flag Coverage Δ
unittests 90.46% <ø> (+16.42%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/desktopjs/src/registry.ts 100.00% <ø> (ø)
packages/desktopjs/src/shortcut.ts 100.00% <ø> (ø)
packages/desktopjs/src/window.ts 78.94% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

Pull request overview

This PR completes the Electron deprecation by removing the desktopjs-electron workspace/package and the Electron example app, and scrubbing Electron-specific references from build, docs, examples, and IDE configuration across the monorepo.

Changes:

  • Removed the packages/desktopjs-electron workspace (source, tests, configs, README) and the examples/electron demo.
  • Removed Electron references from monorepo tooling/configuration (workspaces, TypeDoc, ESLint overrides, VS Code launch configs, web example HTML/assets).
  • Updated remaining docs/comments/tests in desktopjs to be container-agnostic (e.g., wndproc hooking wording, shortcut docs).

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vite.config.ts Drops Electron Rollup externalization now that Electron support is removed.
typedoc.json Removes Electron package entry point from generated API docs.
packages/desktopjs/tests/unit/window.spec.ts Renames SnapAssist test wording to remove Electron-specific reference.
packages/desktopjs/src/window.ts Updates comment to describe container/native wndproc hook behavior generically.
packages/desktopjs/src/shortcut.ts Removes Electron “Accelerator” doc link; replaces with generic accelerator-string description.
packages/desktopjs/src/registry.ts Updates container registry doc example away from Electron.
packages/desktopjs/package.json Removes “electron” keyword from package metadata.
packages/desktopjs-electron/vite.config.ts Deleted (Electron package removal).
packages/desktopjs-electron/tsconfig.json Deleted (Electron package removal).
packages/desktopjs-electron/tests/setup.ts Deleted (Electron package removal).
packages/desktopjs-electron/tests/electron.spec.ts Deleted (Electron package removal).
packages/desktopjs-electron/src/electron.ts Deleted (Electron package removal).
packages/desktopjs-electron/README.md Deleted (Electron package removal).
packages/desktopjs-electron/package.json Deleted (Electron package removal).
packages/desktopjs-electron/jest.config.js Deleted (Electron package removal).
package.json Removes Electron workspace(s) from npm workspaces list.
package-lock.json Updates workspace list, but still retains stale entries for removed Electron workspace/example.
examples/web/index.html Removes loading of Electron UMD bundle from the web example.
examples/web/assets/js/app.js Removes Electron-notification polyfill example snippet.
examples/README.md Removes Electron example link from examples index.
examples/electron/README.md Deleted (Electron example removal).
examples/electron/package.json Deleted (Electron example removal).
examples/electron/electron.js Deleted (Electron example removal).
eslint.config.mjs Removes Electron-source-file-specific lint override.
.vscode/launch.json Removes Electron debug launch configurations.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@bingenito
bingenito marked this pull request as ready for review August 3, 2026 17:58
@bingenito
bingenito requested a review from a team as a code owner August 3, 2026 17:58
@bingenito
bingenito enabled auto-merge August 3, 2026 17:58
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