Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat: add preflight check for package installation compatibility #177

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
ochafik wants to merge 2 commits into main
base: main
Choose a base branch
Loading
from ochafik/preflight-check

Conversation

@ochafik
Copy link
Collaborator

@ochafik ochafik commented Dec 17, 2025

Summary

Adds a fast preflight check that verifies package-lock.json can be installed in the current environment. This helps contributors catch dependency issues before submitting PRs.

Motivation

Addresses the issue fixed in #176 — contributors with different npm registry configurations may encounter install failures when the lockfile contains package versions not yet available in their registry. This script provides tooling to detect and fix such issues proactively.

Usage

npm run preflight # Check if lockfile is installable (~2 sec)
npm run preflight:fix # Regenerate lockfile via Docker (public registry)

Additional options:

node scripts/preflight.mjs --local # Regenerate from your configured registry
node scripts/preflight.mjs --verbose # Show detailed progress
node scripts/preflight.mjs --help # Show help

How it works

  1. Runs npm install --dry-run to quickly validate all packages (~2 seconds)
  2. Parses any 404 errors to identify missing packages
  3. Provides context-aware recommendations based on the environment

Test plan

  • Verified npm run preflight passes on current lockfile
  • Verified --help shows usage information
  • Build completes successfully

🤖 Generated with Claude Code

Adds a fast preflight check that verifies package-lock.json can be
installed in the current environment. This helps contributors catch
issues before submitting PRs when their npm registry configuration
differs from the public registry.
Motivation: #176 addressed compatibility issues with @oven/bun-*
packages by widening version ranges. This script provides tooling
to detect and fix such issues proactively.
Usage:
 npm run preflight # Check if lockfile is installable (~2 sec)
 npm run preflight:fix # Regenerate lockfile via Docker
The script uses `npm install --dry-run` for fast detection and
provides context-aware recommendations based on the environment.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Copy link

pkg-pr-new bot commented Dec 17, 2025
edited
Loading

Open in StackBlitz

npm i https://pkg.pr.new/modelcontextprotocol/ext-apps/@modelcontextprotocol/ext-apps@177

commit: a47ab00

- Use proper URL parsing to check registry hostname (prevents spoofing
 via subdomains or paths containing "registry.npmjs.org")
- Validate projectRoot path before using in shell command to prevent
 command injection via malicious path characters
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

2 participants

AltStyle によって変換されたページ (->オリジナル) /