-
Notifications
You must be signed in to change notification settings - Fork 1
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
Update heroku/buildpacks-nodejs to v2.0.0 #417
Conversation
@colincasey @joshwlewis CI is failing due to the Node.js getting started guide not passing buildpack detection: There's no log output explaining why detect failed, but I believe this is because:
Initial thoughts:
|
This is fine. We shouldn't let the guides fall too far behind with dependency updates.
Agreed. That would be a good check to have earlier in the development process.
This one is a bit tricky due to the way our buildpacks are structured into groups. Or maybe I'm misunderstanding how this will interact with detection. If you're using yarn tooling instead of npm, will the warning about missing a
It's documented in the npm install buildpack README. There is a changelog entry for the replacement of the previous npm buildpack with the new one so it's kind of implied but calling out some of these changes in behavior is probably warranted. |
Yeah I agree this is harder when using micro-buildpacks (it's one of the many reasons I chose the mono-buildpack approach for Python). However, I think we could still output some logs to stdout from each buildpack - they are only shown when using For example, it would look something like:
|
@colincasey @joshwlewis Ah so there are two other failures in CI:
For (1), that guide is really old - perhaps we should just remove it from CI for this repo? We don't test our classic buildpacks against it for example. For (2), how do you want to proceed? The template functions don't ship with lockfiles (eg: https://github.com/heroku/sf-functions-core/tree/main/tmpl/javascript). It's likely that customers will have had a lockfile be generated when they ran the function locally, and then ended up committing that file - however, I imagine there will be at least some users that haven't - and would need a warning message or something to hint at what's changed. One option would be to modify the new npm-install buildpack, so it passes detection even if there isn't a lockfile (so long as there is a |
I wasn't even aware of the Typescript getting started guide. I don't think it was even in the list when we last did a guides & docs refresh. I'm in favour of dropping that from the tests. There's no special treatment of Typescript projects beyond the standard Node.js setup that would require a separate check.
Let me add those. There's no reason they shouldn't have a lockfile.
Yes, the templates wouldn't have one but a lockfile will be generated since the customer needs to run
|
To unblock #417. There is no reason why these examples shouldn't have lockfiles in place.
Since: - This guide isn't used by any Dev Center documentation: https://devcenter.heroku.com/search?q=typescript - It's outdated (no updates for two years). - TypeScript apps use the same `heroku/nodejs` CNB as JavaScript apps, and `heroku/nodejs` is already tested via the main Node.js getting started guide. - The CI for this repo doesn't test multiple guides for any of the other supported languages. - Removing it unblocks #417 (since the TypeScript guide is missing an NPM lockfile).
## 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))
Since the Procfile CNB is no longer included in the `heroku/nodejs` as of: heroku/buildpacks-nodejs#696
8221ef6
to
789409d
Compare
heroku/nodejs
Added
heroku/nodejs-npm-engine
to the buildpack group for npm support (#623)heroku/nodejs-npm-install
to the buildpack group for npm support (#625)heroku/nodejs-corepack
to the buildpack group for npm support (#685)Changed
heroku/nodejs-corepack
to2.0.0
.heroku/nodejs-engine
to2.0.0
.heroku/nodejs-npm-engine
to2.0.0
.heroku/nodejs-npm-install
to2.0.0
.heroku/nodejs-pnpm-install
to2.0.0
.heroku/nodejs-yarn
to2.0.0
.Removed
heroku/nodejs-npm
from the buildpack group for npm support (#625)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 appendheroku/procfile
to your buildpacks list. (#696)heroku/nodejs-corepack
Added
Changed
heroku/nodejs-engine
Added
Changed
Removed
io.buildpacks.stacks.bionic
stack. (#693)heroku/nodejs-function
Added
heroku/nodejs-npm-engine
(#686)heroku/nodejs-npm-install
(#686)Removed
heroku/nodejs-npm
(#686)Changed
heroku/nodejs-engine
to2.0.0
.heroku/nodejs-function-invoker
to2.0.0
.heroku/nodejs-npm-engine
to2.0.0
.heroku/nodejs-npm-install
to2.0.0
.heroku/nodejs-function-invoker
Changed
heroku/nodejs-npm
Changed
Removed
heroku/nodejs-npm-engine
Added
heroku/nodejs-npm-install
Added
heroku/nodejs-pnpm-install
Changed
Removed
heroku/nodejs-yarn
Changed
Removed