Skip to content

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 <[email protected]>
@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 17, 2025

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 <[email protected]>
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