Skip to content
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

build(deps): ensure “Gallium” runtime & toolchain #64

Merged
merged 4 commits into from
Aug 23, 2022

Conversation

DerekNonGeneric
Copy link
Member

@DerekNonGeneric DerekNonGeneric commented Aug 23, 2022

Signed-off-by: Derek Lewis DerekNonGeneric@inf.is

/cc @septs

Footnotes

  1. https://www.wolframalpha.com/input?i2d=true&i=third+Tuesday+in+October+of+year+2022

  2. https://www.wolframalpha.com/input?i2d=true&i=third+Tuesday+in+April+of+year+2024

* Begin specifying the Last Known Good Release of Node.js toolchain,
  which is the 1ˢᵗ version of the “Gallium” LTS release line.

Refs: nodejs/node#40536 (review)

> This release marks the transition of Node.js 16.x into Long Term
> Support (LTS) with the codename “Gallium”. The 16.x release line
> now moves into “Active LTS” and will remain so until October 2022.
> After that time, it will move into “Maintenance” until end-of-life
> in April 2024.

Refs: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16.13.0

* Begin specifying that we would like to use globally-installed npm.

> While `npm` is a valid option in the “packageManager” property, the
> lack of shim will cause the global npm to be used.

Refs: https://nodejs.org/docs/v16.13.0/api/corepack.html#corepack_how_does_corepack_interact_with_npm

> If the value corresponds to a supported package manager, Corepack
> will make sure that all calls to the relevant binaries are run
> against the requested version, downloading it on demand if needed,
> and aborting if it cannot be successfully retrieved.

Refs: https://nodejs.org/docs/v16.13.0/api/corepack.html#configuring-a-package

Signed-off-by: Derek Lewis <DerekNonGeneric@inf.is>
package.json Outdated Show resolved Hide resolved
@DerekNonGeneric DerekNonGeneric merged commit b806407 into main Aug 23, 2022
@DerekNonGeneric DerekNonGeneric deleted the deps-prod/ensure-gallium branch August 23, 2022 21:52
@DerekNonGeneric
Copy link
Member Author

I will have to rebase this commit because nodejs/Release#752 states that the EOL date was changed to be sooner-than-anticipated.

@DerekNonGeneric
Copy link
Member Author

Here is the updated image w/ all information corrected:

DerekNonGeneric added a commit to DerekNonGeneric/openinf-util-md-table that referenced this pull request Aug 25, 2022
> If you want to prevent contributors of your project from adding new
> incompatible dependencies, use `node-version` and `engine-strict` in
> a `.npmrc` file at the root of the project.

Refs: https://pnpm.io/npmrc#node-version

This way, even if someone is using Node.js v18 runtime & toolchain,
they will not be able to install a new dependency that doesn't support
our Node.js v16.13.0 (“Gallium” runtime & toolchain).

Refs: OpenINF#64
DerekNonGeneric added a commit that referenced this pull request Aug 27, 2022
* feat(infra): inform pnpm users “Gallium” runtime

> If you want to prevent contributors of your project from adding new
> incompatible dependencies, use `node-version` and `engine-strict` in
> a `.npmrc` file at the root of the project.

Refs: https://pnpm.io/npmrc#node-version

This way, even if someone is using Node.js v18 runtime & toolchain,
they will not be able to install a new dependency that doesn't support
our Node.js v16.13.0 (“Gallium” runtime & toolchain).

Refs: #64

* build(deps-dev): set min “Gallium” LTS in `/.npmrc`

Refs: https://docs.npmjs.com/cli/v8/using-npm/config#engine-strict
Refs: https://docs.npmjs.com/cli/v8/using-npm/config#node-version
Refs: https://docs.npmjs.com/cli/v8/using-npm/config#npm-version

Signed-off-by: Derek Lewis <DerekNonGeneric@inf.is>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants