Sync with upstream v362 - #269
Draft
SCedricThomas wants to merge 17 commits into
Draft
Conversation
Instead of yarn scalingo prune
…ku#1735) * Migrate pnpm install error handling to call-site classification The pnpm install path was the last dependency-install command still wrapped in the legacy `monitor` helper, routing all failures through the global ERR trap where pnpm output had no matcher at all. Move it onto the call-site failure-classification framework, matching the npm and yarn install paths already migrated. Classify ERR_PNPM_OUTDATED_LOCKFILE (frozen-lockfile drift) with a user-facing message and a `user` classification, gating on pnpm's stable error code rather than its version-drifting message text. The `monitor` wrapper is dropped; the install_dependencies_time metric is preserved and the peak-memory gauge retired along with the helper. W-23651645 * Drop install_dependencies_memory assertion from pnpm metadata test The memory gauge was recorded by the `monitor` wrapper, which the preceding commit removed from the pnpm install path. Mirrors the same removal already done for the npm and yarn metadata tests. W-23651645
…tion (heroku#1736) Drop the legacy `monitor` wrapper around `npm prune` in package_managers::npm::prune_devdependencies and capture the command inside `if ! { npm prune … | tee log; }`, mirroring the npm install path. Add package_managers::npm::_handle_prune_pipefail to classify a downstream pipe (tee) failure as buildpack-side (npm-prune-pipefail); real npm-prune failures bubble to the legacy trap unchanged. Preserve the prune_dev_dependencies_time metric on both branches and drop the prune_dev_dependencies_memory metric (monitor's sampling is not carried forward), removing its now-stale test/run-npm assertion.
) Move the verbose build-summary dependency listing out of the standalone lib/dependencies.sh (now deleted) into a package_manager::list_dependencies coordinator that delegates to package_managers::{yarn,npm,pnpm}::list_dependencies, mirroring package_manager::_dispatch_run_script. - pnpm now lists via `pnpm list` instead of falling back to `npm ls` - npm listing no longer trims its first line (dropped `| tail -n +2`) - blank-line framing lifted into the coordinator so all three managers are framed identically; the per-PM functions are presentation-free
…e off the monitor wrapper (heroku#1738) Moves the yarn devDependency prune off the legacy `monitor` command wrapper and onto the call-site capture idiom used by the install paths, and splits the single branchy function into per-flavor workers mirroring the existing classic/Berry install split. The public `prune_devdependencies` entry keeps the shared NODE_ENV/YARN_PRODUCTION skip gates and dispatches to `_prune_classic_devdependencies` or `_prune_berry_devdependencies`, each owning its own command, log capture, timing, and failure classifier. Both share one `_handle_prune_pipefail` wrapper, matching how the install paths share `_handle_install_pipefail`. No prune-specific failure mode is classified today -- the classifiers are scaffolding that falls through to the legacy trap, so end-user behavior is unchanged. Dropping the monitor wrapper drops the prune_dev_dependencies_memory build-data metric; the _time metric is preserved via build_data::set_duration and the run-yarn assertion is updated accordingly.
…ku#1739) Replace the two monitor-wrapped pnpm prune invocations (the workspace production reinstall and the non-workspace `pnpm prune --prod`) with the call-site failure-classification idiom, extracted into a shared `package_managers::pnpm::_run_prune` helper so the capture/classify/metric logic is not duplicated across both paths. Add `_handle_prune_pipefail` for the tee-side (buildpack) failure case, plus unit tests covering it and the strict-mode option restoration on sourcing the pnpm lib. Dropping the `monitor` wrapper also drops the `prune_dev_dependencies_memory` metric, so its assertion is removed from the pnpm metadata test; the duration metric is preserved.
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v6...v7) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Added - Node.js 26.6.0 (linux-amd64) - Node.js 24.19.0 (linux-amd64) Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
Bumps the javascript-dependencies group in /yarn2-plugins/prune-dev-dependencies with 5 updates: | Package | From | To | | --- | --- | --- | | [@yarnpkg/builder](https://github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-builder) | `4.2.3` | `4.2.4` | | [@yarnpkg/core](https://github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-core) | `4.9.0` | `4.9.1` | | [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.5.2` | `2.5.6` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.1.0` | `26.1.2` | | [fs-extra](https://github.com/jprichardson/node-fs-extra) | `11.3.6` | `11.4.0` | Updates `@yarnpkg/builder` from 4.2.3 to 4.2.4 - [Release notes](https://github.com/yarnpkg/berry/releases) - [Changelog](https://github.com/yarnpkg/berry/blob/master/CHANGELOG.md) - [Commits](https://github.com/yarnpkg/berry/commits/@yarnpkg/builder/4.2.4/packages/yarnpkg-builder) Updates `@yarnpkg/core` from 4.9.0 to 4.9.1 - [Release notes](https://github.com/yarnpkg/berry/releases) - [Changelog](https://github.com/yarnpkg/berry/blob/master/CHANGELOG.md) - [Commits](https://github.com/yarnpkg/berry/commits/@yarnpkg/core/4.9.1/packages/yarnpkg-core) Updates `@biomejs/biome` from 2.5.2 to 2.5.6 - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.6/packages/@biomejs/biome) Updates `@types/node` from 26.1.0 to 26.1.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `fs-extra` from 11.3.6 to 11.4.0 - [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md) - [Commits](jprichardson/node-fs-extra@11.3.6...11.4.0) --- updated-dependencies: - dependency-name: "@yarnpkg/builder" dependency-version: 4.2.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: javascript-dependencies - dependency-name: "@yarnpkg/core" dependency-version: 4.9.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: javascript-dependencies - dependency-name: "@biomejs/biome" dependency-version: 2.5.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: javascript-dependencies - dependency-name: "@types/node" dependency-version: 26.1.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: javascript-dependencies - dependency-name: fs-extra dependency-version: 11.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: javascript-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the rust-dependencies group in /resolve-version with 4 updates: [clap](https://github.com/clap-rs/clap), [serde](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json) and [toml](https://github.com/toml-rs/toml). Updates `clap` from 4.6.1 to 4.6.4 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](clap-rs/clap@clap_complete-v4.6.1...clap_complete-v4.6.4) Updates `serde` from 1.0.228 to 1.0.229 - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](serde-rs/serde@v1.0.228...v1.0.229) Updates `serde_json` from 1.0.150 to 1.0.151 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.150...v1.0.151) Updates `toml` from 1.1.2+spec-1.1.0 to 1.1.4+spec-1.1.0 - [Commits](toml-rs/toml@toml-v1.1.2...toml-v1.1.4) --- updated-dependencies: - dependency-name: clap dependency-version: 4.6.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies - dependency-name: serde dependency-version: 1.0.229 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies - dependency-name: serde_json dependency-version: 1.0.151 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies - dependency-name: toml dependency-version: 1.1.4+spec-1.1.0 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: rust-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [nodejs-data](https://github.com/heroku/buildpacks-nodejs) from `e0ef63d` to `808c2c4`. - [Release notes](https://github.com/heroku/buildpacks-nodejs/releases) - [Commits](heroku/buildpacks-nodejs@e0ef63d...808c2c4) --- updated-dependencies: - dependency-name: nodejs-data dependency-version: 808c2c4bf4e5fc2b1866a57afae6e8026607fddd dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [typescript](https://github.com/microsoft/TypeScript) from 6.0.3 to 7.0.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Commits](https://github.com/microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-version: 7.0.2 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
### Added - Node.js 26.7.0 (linux-amd64) Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
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.
Sync Heroku Node.js Buildpack to v362.
Security: makes the CERT-FR patched Node.js versions available (22.23.2, 24.18.1, 26.5.1 and newer).
Validation: ShellCheck and bash syntax checks passed. Full formatting/Rust validation requires shfmt and cargo.