fix(validation): restore npm ci for esbuild platform packages#569
Closed
JustYannicc wants to merge 72 commits into
Closed
fix(validation): restore npm ci for esbuild platform packages#569JustYannicc wants to merge 72 commits into
JustYannicc wants to merge 72 commits into
Conversation
(cherry picked from commit fb7405f)
(cherry picked from commit 290a0f5)
(cherry picked from commit 3739cb0)
(cherry picked from commit c78d0b9)
…ated-integration-stack
…ated-integration-stack # Conflicts: # src/renderer/src/raycast-api/hooks/use-cached-promise.ts
…ated-integration-stack
…ated-integration-stack # Conflicts: # src/renderer/src/raycast-api/list-runtime-renderers.tsx # src/renderer/src/raycast-api/list-runtime.tsx
…ated-integration-stack # Conflicts: # src/renderer/src/CameraExtension.tsx
…ated-integration-stack
…ated-integration-stack # Conflicts: # src/renderer/src/raycast-api/list-runtime.tsx
…ated-integration-stack
…ated-integration-stack
… into codex/perf-consolidated-integration-stack
JustYannicc
marked this pull request as ready for review
July 4, 2026 10:50
Collaborator
Author
|
Superseded by the consolidated validation PR: #578 |
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.
What changed
package.jsonin the existing PR work.npm ci --ignore-scriptswithout--force.electron-liquid-glassfromdependenciestooptionalDependenciesand syncedpackage-lock.jsonso npm treats the Darwin-only runtime package as optional on unsupported platforms.scripts/ensure-macos-runtime-deps.mjsto the normal postinstall path so macOS installs still fail if the required runtime package cannot be loaded.Why
Direct dependencies with
osorcpurestrictions are hard install requirements in npm. After the esbuild direct deps were fixed, Ubuntu Project Checks still failed becauseelectron-liquid-glass@1.1.1declaresos: ["darwin"]while being listed as a hard root dependency. Making it an optional dependency is the npm-correct platform contract for this macOS-only runtime package, and the Darwin postinstall guard keeps real macOS install errors visible.Compatibility impact
No runtime behavior change is intended. SuperCmd already gates
electron-liquid-glassloading behindprocess.platform === "darwin"and uses the existing fallback path if runtime calls fail. Linux installs can now skip the Darwin-only package, while normal macOS installs still install and load-check it before native app dependency rebuilds. The existingasarUnpackentry fornode_modules/electron-liquid-glass/**is unchanged.How tested
28699040467, job85113818669, failed on Ubuntu with Node 22.23.1 and npm 10.9.8 atnpm ci --ignore-scripts:EBADPLATFORM Unsupported platform for electron-liquid-glass@1.1.1: wanted {"os":"darwin"} (current: {"os":"linux"}).connect: no such file or directory.env PATH=/opt/homebrew/opt/node@22/bin:$PATH ELECTRON_SKIP_BINARY_DOWNLOAD=1 SUPERCMD_SKIP_ELECTRON_TESTS=1 CI=true /opt/homebrew/opt/node@22/bin/npm ci --ignore-scriptspassed in 5.1s without--force.env PATH=/opt/homebrew/opt/node@22/bin:$PATH SUPERCMD_SKIP_ELECTRON_TESTS=1 /opt/homebrew/opt/node@22/bin/npm cipassed in 10.3s and ranensure-macos-runtime-deps,ensure-cross-arch-esbuild, andelectron-builder install-app-deps.env PATH=/opt/homebrew/opt/node@22/bin:$PATH ELECTRON_SKIP_BINARY_DOWNLOAD=1 SUPERCMD_SKIP_ELECTRON_TESTS=1 CI=true /opt/homebrew/opt/node@22/bin/npm ci --ignore-scripts --omit=optionalpassed in 4.8s.env PATH=/opt/homebrew/opt/node@22/bin:$PATH node_modules/.bin/tsc -p tsconfig.main.json --noEmitpassed in 1.6s.env PATH=/opt/homebrew/opt/node@22/bin:$PATH node_modules/.bin/tsc -p tsconfig.renderer.json --noEmitpassed in 4.1s.env PATH=/opt/homebrew/opt/node@22/bin:$PATH CI=true SUPERCMD_SKIP_ELECTRON_TESTS=1 node --test 'scripts/test-*.mjs'passed in 28.4s: 236 tests, 235 pass, 1 skip, 0 fail.env PATH=/opt/homebrew/opt/node@22/bin:$PATH npm run build:rendererpassed in 5.0s.env PATH=/opt/homebrew/opt/node@22/bin:$PATH npm run check:i18npassed in 0.24s.Performance evidence
Install now reaches the real script-enabled macOS setup path in 10.3s, including the new runtime dependency guard and existing native dependency rebuild. Renderer production build completed in 4.97s. The dependency metadata change only affects install resolution for unsupported platforms and does not add a runtime code path.
Stack validation
dependenciesanddevDependenciesreturned[]after the fix.package-lock.jsonroot metadata is synced topackage.jsonversion1.0.26;electron-liquid-glassand its transitive lock entries are marked optional.pnpm-lock.yamlwas not generated.git diff --checkpassed.scripts/ensure-macos-runtime-deps.mjsreported no errors. Package JSON diagnostics are limited because the configured Biome LSP is not installed locally.Replaces
Replaces the remaining hard direct macOS platform dependency and the need for install-force workarounds in validation setup.