Skip to content

Conversation

@smallsaucepan
Copy link
Member

@smallsaucepan smallsaucepan commented Nov 16, 2025

NPM is recommending avoiding using NPM tokens for publishing, instead favouring trusted publishers (e.g. a particular github workflow). This change:

  • updates node versions (housekeeping)
  • adds the required configuration item to release workflow act as a trusted publisher in future
  • renames turf.yml to ci.yml to be more specific about what that workflow does

- "v*.*.*"

permissions:
id-token: write
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Were you able to configure a trusted publisher on npmjs? Otherwise I can dig into doing that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't set up that side of it yet, so be my guest!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof, I don't see a way to do it for all of the packages at once. I'll probably click through all of them one at a time later today 😩.

I'm going to configure it like this. Note that I added a permissive release environment in GitHub now, which we can configure later without having to go to all 1xx packages and reconfigure it later.

image

After that, per the docs guidance, I will then also set this:

image

strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
node-version: [20.x, 22.x, 24.x]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've seen other packages consider dropping support for old versions of nodejs as a breaking change.
We aren't technically breaking support here, just not testing it which would make it more likely for a breaking change to sneak in.

I'm happy to either merge this as a non-major change, or push it off for later if you'd prefer.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to tread cautiously. So add 18 back in and keep 24 too? Or cap it at 3 - 18, 20, 22?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think we can just add 24. Once this merges we need to make 24 required.

@smallsaucepan smallsaucepan marked this pull request as draft November 23, 2025 01:00
@smallsaucepan
Copy link
Member Author

Putting on hold until I can confirm pnpm support for trusted publishers ...

As pointed out, dropping support for a node version could be seen as a breaking change.
@smallsaucepan smallsaucepan marked this pull request as ready for review December 9, 2025 11:39
@smallsaucepan
Copy link
Member Author

@mfedderly have reinstated this, adding node 18.x back in during CI. Left it at node 20 though for building the releases. This enough to press on with a trusted publishing test?

matrix:
node:
- 18
- 20
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I think this can pretty reasonably be any version we want for the release workflow

@smallsaucepan
Copy link
Member Author

Thanks for taking a look @mfedderly

@smallsaucepan smallsaucepan merged commit 4fa5c7d into Turfjs:master Dec 9, 2025
4 checks passed
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.

2 participants