Skip to content

Run npm verbosely when debug mode is enabled - #340

Open
ekamran wants to merge 1 commit into
WordPress:masterfrom
ekamran:shifteq/221-npm-debug-verbosity
Open

Run npm verbosely when debug mode is enabled#340
ekamran wants to merge 1 commit into
WordPress:masterfrom
ekamran:shifteq/221-npm-debug-verbosity

Conversation

@ekamran

@ekamran ekamran commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

When an npm command hangs or misbehaves during preparation, the runner shows nothing about where it is stuck. The original hang report (#222) was resolved by a Node version bump in #225, but that fixed only that incident. A future npm hang still produces no output to diagnose.

This adds npm verbosity behind the existing debug mode, as suggested in the #221 discussion: when WPT_DEBUG is set, the npm install and npm run build commands in prepare.php run with --loglevel=silly, which is npm's maximum logging level and the long form of the -ddd flag from #221. Default behavior is unchanged. The gate mirrors how debug mode already adds verbosity to the rsync operations in the same file.

README.md and .env.default are updated in the places that document WPT_DEBUG, so the sample env file and the docs match the behavior.

This supersedes #221 by @rollecode, whose PR established the idea. It was based on an older prepare.php from before the runner_vars refactor, so this is a fresh commit on current master with the WPT_DEBUG gate the reviewers asked for.

Verification:

  • With WPT_DEBUG unset, the generated command is byte identical to master.
  • With WPT_DEBUG set, both npm commands get --loglevel=silly. Verified locally on npm 11 that npm consumes the flag itself, including after the script name in npm run build, and emits silly level output.
  • php -l and phpcs pass on the touched files.

Use of AI

AI assistance: Yes
Tool(s): Claude Code and Codex
Used for: Investigation, implementation review, edge-case testing, and PR wording. I reviewed the reasoning and test results, and I take responsibility for the contribution.

When an npm command hangs or misbehaves during preparation, the runner
shows nothing that explains where it is stuck. Append --loglevel=silly
to the npm install and build commands when WPT_DEBUG is set, matching
how debug mode already adds verbosity to the rsync operations. Default
behavior is unchanged.

Based on the approach in WordPress#221 by @rollecode, updated to gate the
verbosity behind WPT_DEBUG as suggested in the review discussion.
@github-actions

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: ekamran <ekamran@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

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