Skip to content

fix(ci): regenerate lockfile with cross-platform native binaries#71

Merged
khaliqgant merged 1 commit intomainfrom
fix/lockfile-cross-platform
Mar 17, 2026
Merged

fix(ci): regenerate lockfile with cross-platform native binaries#71
khaliqgant merged 1 commit intomainfrom
fix/lockfile-cross-platform

Conversation

@khaliqgant
Copy link
Copy Markdown
Member

@khaliqgant khaliqgant commented Mar 17, 2026

Summary

  • Regenerated package-lock.json from scratch to include resolved entries for all platform-specific optional dependencies
  • Fixes CI build failure where lightningcss-linux-x64-gnu.node and @tailwindcss/oxide linux binaries were missing
  • The previous lockfile was generated on macOS and only contained darwin-arm64 entries; npm ci on the ubuntu CI runner couldn't find the linux native modules

Test plan

  • CI build passes on this PR (the main validation)
  • Local typecheck passes

🤖 Generated with Claude Code


Open with Devin

…ries

The lockfile was generated on macOS and only contained darwin-arm64
resolved entries for lightningcss and @tailwindcss/oxide. CI runs on
ubuntu-latest (linux-x64) and npm ci strictly follows the lockfile,
causing the build to fail with missing lightningcss-linux-x64-gnu.node.

Regenerated from scratch so all platform-specific optional deps are
resolved.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

🐛 1 issue in files not directly in the diff

🐛 safeUsername() in channels.ts loses project directory name used as projectName (packages/dashboard-server/src/routes/channels.ts:22)

In packages/dashboard-server/src/routes/channels.ts:22, the old code set projectName to path.basename(path.resolve(ctx.dataDir, '..')) (the project directory name) with 'Dashboard' as a fallback. The new code calls safeUsername() with no argument, which returns the OS username (e.g. ubuntu) instead of the project directory name, falling back to 'Dashboard' only if os.userInfo() throws.

Notably, the other two call sites in this PR (packages/dashboard-server/src/proxy-server.ts:213 and packages/dashboard-server/src/relaycast-provider.ts:91) correctly pass path.basename(path.resolve(dataDir, '..')) as the fallback to safeUsername(), preserving the project-directory semantics. The channels.ts call site appears to have accidentally dropped this fallback, changing the identity used for channel operations from the project name to the OS username.

View 5 additional findings in Devin Review.

Open in Devin Review

@khaliqgant khaliqgant merged commit e9e7a8a into main Mar 17, 2026
1 check passed
@khaliqgant khaliqgant deleted the fix/lockfile-cross-platform branch March 17, 2026 11:29
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.

1 participant