-
Notifications
You must be signed in to change notification settings - Fork 18
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
Added nodejs-npm-install
Buildpack
#625
Conversation
Initial commit of `nodejs-npm-install` npm buildpack which replaces partial functionality from the existing bash-based npm buildpack. The `nodejs-npm-install` buildpack adds support for Heroku's installing and caching an applications node modules. The `nodejs-engine` buildpack has also been modified to provide npm as a default system version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good so far. Left some questions - mostly food for thought at this point.
* main: Bump chrono from 0.4.26 to 0.4.28 (#642) Bump serde from 1.0.183 to 1.0.188 (#643) Bump url from 2.4.0 to 2.4.1 (#644) Bump regex from 1.9.3 to 1.9.4 (#645) Skip `mirror-distribution` job if there are no versions (#628) Bump Swatinem/rust-cache from 2.5.1 to 2.6.2 (#640) Update to libcnb 0.14.0 (#638) Update Procfile CNB to v2.0.1 (#639) Bump buildpacks/github-actions from 5.3.0 to 5.4.0 (#636) Bump regex from 1.9.1 to 1.9.3 (#635) Bump serde_json from 1.0.104 to 1.0.105 (#634) Bump thiserror from 1.0.44 to 1.0.47 (#633) Bump toml from 0.7.5 to 0.7.6 (#632) Bump anyhow from 1.0.71 to 1.0.75 (#631) Bump tempfile from 3.7.0 to 3.7.1 (#630) Bump serde from 1.0.166 to 1.0.168 (#629) Ignore yarn 2.4.3 (#627) Fix inventory update order (#621) # Conflicts: # Cargo.lock # Cargo.toml
* main: (31 commits) Add `npm` to `nodejs-engine` build plan (#622) Remove cutlass job from CI (#675) Update Inventory for heroku/nodejs-npm-engine (#624) Remove cutlass integration tests (#674) Update Inventory for heroku/nodejs-engine (#671) Update Inventory for heroku/nodejs-yarn (#670) Prepare integration tests to run under a single builder (#663) Bump Swatinem/rust-cache from 2.6.2 to 2.7.0 (#665) Bump actions/checkout from 3 to 4 (#664) Bump regex from 1.9.5 to 1.9.6 (#666) Bump thiserror from 1.0.48 to 1.0.49 (#667) Bump ureq from 2.7.1 to 2.8.0 (#668) Bump serde_json from 1.0.105 to 1.0.107 (#669) Fix CNB builder repo URL (#672) Fix non-existent builder Docker image name (#673) Updates `libcnb` to 0.15.0 (#662) Switch tests from `heroku/buildpacks:20` to `heroku/builder:20` (#660) Prepare release v1.1.6 (#658) Bump regex from 1.9.4 to 1.9.5 (#656) Bump indoc from 2.0.3 to 2.0.4 (#657) ... # Conflicts: # Cargo.lock # Cargo.toml # meta-buildpacks/nodejs/buildpack.toml # test_support/Cargo.toml # test_support/src/lib.rs
Co-authored-by: Josh W Lewis <josh.lewis@salesforce.com>
Co-authored-by: Josh W Lewis <josh.lewis@salesforce.com>
Co-authored-by: Josh W Lewis <josh.lewis@salesforce.com>
* main: Added `nodejs-npm-engine` Buildpack (#623) # Conflicts: # Cargo.lock # Cargo.toml # README.md # meta-buildpacks/nodejs/buildpack.toml # meta-buildpacks/nodejs/package.toml
* main: Added `nodejs-npm-install` Buildpack (#625) Added `nodejs-npm-engine` Buildpack (#623) Prepare release v1.1.7 (#683) Update Inventory for heroku/nodejs-engine (#682) Update Inventory for heroku/nodejs-engine (#681) Update Inventory for heroku/nodejs-npm-engine (#678) Bump the rust-dependencies group with 2 updates (#680) Group minor/patch version Rust Dependabot updates into one PR (#679) Add `npm` to `nodejs-engine` build plan (#622) # Conflicts: # buildpacks/nodejs-engine/tests/fixtures/node-with-indexjs/package-lock.json # buildpacks/nodejs-engine/tests/fixtures/node-with-serverjs/package-lock.json # buildpacks/nodejs-engine/tests/integration_test.rs
@colincasey I happened to notice whilst looking at #686 that there are a number of CI jobs not marked as a required in the branch protection status checks list - these are the new CI jobs for the buildpack added here and in #623. |
thanks @edmorley. added the 4 new jobs to the required status checks list. |
* Added missing changelog entries for npm buildpacks The composite buildpack `heroku/nodejs` should have had entries added for the new npm buildpacks merged in PRs: - #623 - #625 - #685 * Drop extra hyphen Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com> --------- Co-authored-by: Josh W Lewis <josh.lewis@salesforce.com> Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
* Prepare release v2.0.0 ## heroku/nodejs ### Added - Added `heroku/nodejs-npm-engine` to the buildpack group for npm support ([#623](#623)) - Added `heroku/nodejs-npm-install` to the buildpack group for npm support ([#625](#625)) - Added `heroku/nodejs-corepack` to the buildpack group for npm support ([#685](#685)) ### Changed - Updated buildpack display name, description and keywords. ([#692](#692)) - Updated `heroku/nodejs-corepack` to `2.0.0`. - Updated `heroku/nodejs-engine` to `2.0.0`. - Updated `heroku/nodejs-npm-engine` to `2.0.0`. - Updated `heroku/nodejs-npm-install` to `2.0.0`. - Updated `heroku/nodejs-pnpm-install` to `2.0.0`. - Updated `heroku/nodejs-yarn` to `2.0.0`. ### Removed - Removed the deprecated `heroku/nodejs-npm` from the buildpack group for npm support ([#625](#625)) - Removed `heroku/procfile`, since it's being added directly to the Heroku builder images instead. If you override the Heroku builder images' default buildpack detection order (or use this buildpack with a non-Heroku builder image), you will need to append `heroku/procfile` to your buildpacks list. ([#696](#696)) ## heroku/nodejs-corepack ### Added - Added support for using corepack to install npm. ([#685](#685)) ### Changed - Updated buildpack description and keywords. ([#692](#692)) - Switched from supporting explicitly named stacks to supporting the wildcard stack. ([#693](#693)) ## heroku/nodejs-engine ### Added - Added Node.js version 21.0.0. ### Changed - Updated buildpack description and keywords. ([#692](#692)) ### Removed - Dropped support for the end of life `io.buildpacks.stacks.bionic` stack. ([#693](#693)) ## heroku/nodejs-function ### Added - Added `heroku/nodejs-npm-engine` ([#686](#686)) - Added `heroku/nodejs-npm-install` ([#686](#686)) ### Removed - Removed `heroku/nodejs-npm` ([#686](#686)) ### Changed - Updated buildpack display name and description. ([#692](#692)) - Updated `heroku/nodejs-engine` to `2.0.0`. - Updated `heroku/nodejs-function-invoker` to `2.0.0`. - Updated `heroku/nodejs-npm-engine` to `2.0.0`. - Updated `heroku/nodejs-npm-install` to `2.0.0`. ## heroku/nodejs-function-invoker ### Changed - Updated buildpack display name, description and keywords. ([#692](#692)) ## heroku/nodejs-npm ### Changed - Updated buildpack display name, description and keywords. ([#692](#692)) ### Removed - Removed redundant explicitly named supported stacks. ([#693](#693)) ## heroku/nodejs-npm-engine ### Added - Initial release ## heroku/nodejs-npm-install ### Added - Initial release ## heroku/nodejs-pnpm-install ### Changed - Updated buildpack description and keywords. ([#692](#692)) ### Removed - Removed redundant explicitly named supported stacks. ([#693](#693)) ## heroku/nodejs-yarn ### Changed - Updated buildpack description and keywords. ([#692](#692)) ### Removed - Removed redundant explicitly named supported stacks. ([#693](#693)) * Replace non-breaking spaces with normal spaces Yey copy-paste from GitHub PR diffs. --------- Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com> Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
let package_json_exists = context | ||
.app_dir | ||
.join(PackageManager::Npm.lockfile()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable name is package_json_exists
, however the file being checked instead seems to be the lockfile? (PackageManager::Npm.lockfile()
). I presume the latter is correct, so the variable name is what needs changing?
* Update heroku/buildpacks-nodejs to v2.0.0 ## heroku/nodejs ### Added - Added `heroku/nodejs-npm-engine` to the buildpack group for npm support ([#623](heroku/buildpacks-nodejs#623)) - Added `heroku/nodejs-npm-install` to the buildpack group for npm support ([#625](heroku/buildpacks-nodejs#625)) - Added `heroku/nodejs-corepack` to the buildpack group for npm support ([#685](heroku/buildpacks-nodejs#685)) ### Changed - Updated buildpack display name, description and keywords. ([#692](heroku/buildpacks-nodejs#692)) - Updated `heroku/nodejs-corepack` to `2.0.0`. - Updated `heroku/nodejs-engine` to `2.0.0`. - Updated `heroku/nodejs-npm-engine` to `2.0.0`. - Updated `heroku/nodejs-npm-install` to `2.0.0`. - Updated `heroku/nodejs-pnpm-install` to `2.0.0`. - Updated `heroku/nodejs-yarn` to `2.0.0`. ### Removed - Removed the deprecated `heroku/nodejs-npm` from the buildpack group for npm support ([#625](heroku/buildpacks-nodejs#625)) - Removed `heroku/procfile`, since it's being added directly to the Heroku builder images instead. If you override the Heroku builder images' default buildpack detection order (or use this buildpack with a non-Heroku builder image), you will need to append `heroku/procfile` to your buildpacks list. ([#696](heroku/buildpacks-nodejs#696)) ## heroku/nodejs-corepack ### Added - Added support for using corepack to install npm. ([#685](heroku/buildpacks-nodejs#685)) ### Changed - Updated buildpack description and keywords. ([#692](heroku/buildpacks-nodejs#692)) - Switched from supporting explicitly named stacks to supporting the wildcard stack. ([#693](heroku/buildpacks-nodejs#693)) ## heroku/nodejs-engine ### Added - Added Node.js version 21.0.0. ### Changed - Updated buildpack description and keywords. ([#692](heroku/buildpacks-nodejs#692)) ### Removed - Dropped support for the end of life `io.buildpacks.stacks.bionic` stack. ([#693](heroku/buildpacks-nodejs#693)) ## heroku/nodejs-function ### Added - Added `heroku/nodejs-npm-engine` ([#686](heroku/buildpacks-nodejs#686)) - Added `heroku/nodejs-npm-install` ([#686](heroku/buildpacks-nodejs#686)) ### Removed - Removed `heroku/nodejs-npm` ([#686](heroku/buildpacks-nodejs#686)) ### Changed - Updated buildpack display name and description. ([#692](heroku/buildpacks-nodejs#692)) - Updated `heroku/nodejs-engine` to `2.0.0`. - Updated `heroku/nodejs-function-invoker` to `2.0.0`. - Updated `heroku/nodejs-npm-engine` to `2.0.0`. - Updated `heroku/nodejs-npm-install` to `2.0.0`. ## heroku/nodejs-function-invoker ### Changed - Updated buildpack display name, description and keywords. ([#692](heroku/buildpacks-nodejs#692)) ## heroku/nodejs-npm ### Changed - Updated buildpack display name, description and keywords. ([#692](heroku/buildpacks-nodejs#692)) ### Removed - Removed redundant explicitly named supported stacks. ([#693](heroku/buildpacks-nodejs#693)) ## heroku/nodejs-npm-engine ### Added - Initial release ## heroku/nodejs-npm-install ### Added - Initial release ## heroku/nodejs-pnpm-install ### Changed - Updated buildpack description and keywords. ([#692](heroku/buildpacks-nodejs#692)) ### Removed - Removed redundant explicitly named supported stacks. ([#693](heroku/buildpacks-nodejs#693)) ## heroku/nodejs-yarn ### Changed - Updated buildpack description and keywords. ([#692](heroku/buildpacks-nodejs#692)) ### Removed - Removed redundant explicitly named supported stacks. ([#693](heroku/buildpacks-nodejs#693)) * Add `heroku/procfile` to the `heroku/nodejs` order groups Since the Procfile CNB is no longer included in the `heroku/nodejs` as of: heroku/buildpacks-nodejs#696 --------- Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com> Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
Initial commit of
nodejs-npm-install
npm buildpack which replaces partial functionality from the existing bash-based npm buildpack.The
nodejs-npm-install
buildpack adds support for Heroku's installing and caching an applications node modules. Thenodejs-engine
buildpack has also been modified to provide npm as a default system version.Example Buildpack Output