Skip to content

feat: scaffold Electron + React + TypeScript project - #5

Closed
johnnyhuy wants to merge 2 commits into
mainfrom
feat/scaffold-electron
Closed

feat: scaffold Electron + React + TypeScript project#5
johnnyhuy wants to merge 2 commits into
mainfrom
feat/scaffold-electron

Conversation

@johnnyhuy

Copy link
Copy Markdown
Contributor

Summary

Initial scaffolding for the weldable desktop app.

  • Electron shell with security defaults (context isolation, no node integration)
  • React renderer with Vite and a 4-step setup wizard UI (harnesses, SSO, gateway, done)
  • TypeScript throughout — main process (CommonJS) and renderer (Vite/bundler)
  • Shared types for ToolInstallSpec, GatewayConfig, SSOConfig
  • electron-builder config for cross-platform packaging (.dmg, .exe, .AppImage)
  • Dark theme with CSS custom properties
  • npm run dev, npm run build, npm run typecheck all passing

Electron shell with 4-step setup wizard (harnesses, SSO, gateway, done).
Shared types for tool install specs, gateway config, and SSO config.
Vite-powered renderer with dark theme. electron-builder packaging.
* chore: rename weldable to hoist
Rename the app across package.json, electron-builder (appId app.hoist,
productName Hoist), main window title, preload/renderer bridge
(HoistAPI exposed as window.hoist), and UI logo text.
Co-authored-by: opencode <opencode@anthropic.com>
* docs: add BYOK brief and architecture decision records
Rewrite BRIEF.md for hoist with additive BYOK/key-vault scope alongside
the existing harness install / SSO / gateway work. Add four ADRs:
0001 secret-storage backend abstraction, 0002 provider registry
catalog, 0003 key validity and expiry probing, 0004 bundled external
binaries.
Co-authored-by: opencode <opencode@anthropic.com>
* chore: add vault/provider/probe type skeleton
Lay down compiling type stubs for the Phase 1+ work: SecretBackend
interface and availability types (ADR-0001), ProviderEntry catalog
shape (ADR-0002), and ProbeResult/ProbeKind/BudgetProbeKind
(ADR-0003). gitignore .opencode/.
Co-authored-by: opencode <opencode@anthropic.com>
---------
Co-authored-by: opencode <opencode@anthropic.com>
@socket-security

Copy link
Copy Markdown

@socket-security

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

ActionSeverityAlert (click "▶" to expand/collapse)
WarnCritical
Critical CVE: npm shell-quote quote() does not escape newlines in object .op values

CVE:GHSA-w7jw-789q-3m8p shell-quote quote() does not escape newlines in object .op values (CRITICAL)

Affected versions: >= 1.1.0 < 1.8.4

Patched version: 1.8.4

From:package-lock.jsonnpm/concurrently@9.2.1npm/shell-quote@1.8.3

ℹ Read more on: This package | This alert | What is a critical CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known critical CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/shell-quote@1.8.3. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

WarnHigh
Obfuscated code: npm brace-expansion is 90.0% likely obfuscated

Confidence: 0.90

Location:Package overview

From:package-lock.jsonnpm/electron-builder@25.1.8npm/brace-expansion@5.0.5

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/brace-expansion@5.0.5. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

WarnHigh
Obfuscated code: npm caniuse-lite is 90.0% likely obfuscated

Confidence: 0.90

Location:Package overview

From:package-lock.jsonnpm/@vitejs/plugin-react@4.7.0npm/caniuse-lite@1.0.30001791

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/caniuse-lite@1.0.30001791. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

WarnHigh
Obfuscated code: npm caniuse-lite is 90.0% likely obfuscated

Confidence: 0.90

Location:Package overview

From:package-lock.jsonnpm/@vitejs/plugin-react@4.7.0npm/caniuse-lite@1.0.30001791

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/caniuse-lite@1.0.30001791. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

WarnHigh
Obfuscated code: npm caniuse-lite is 90.0% likely obfuscated

Confidence: 0.90

Location:Package overview

From:package-lock.jsonnpm/@vitejs/plugin-react@4.7.0npm/caniuse-lite@1.0.30001791

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/caniuse-lite@1.0.30001791. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

WarnHigh
Obfuscated code: npm caniuse-lite is 90.0% likely obfuscated

Confidence: 0.90

Location:Package overview

From:package-lock.jsonnpm/@vitejs/plugin-react@4.7.0npm/caniuse-lite@1.0.30001791

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/caniuse-lite@1.0.30001791. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@johnnyhuy

Copy link
Copy Markdown
ContributorAuthor

Closing in favour of a fresh PR against main from chore/rename-to-hoist (which contains this scaffold + the rename + ADRs already). The stacked-PR flow went stale when #6 landed back into this branch instead of main.

@johnnyhuy
johnnyhuy deleted the feat/scaffold-electron branch July 19, 2026 02:57
Sign up for freeto 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

@johnnyhuy