Node 18 Is Now Available in Beta for Actions

Try Node 18 in beta with global long-term support (LTS).
Read more…

:writing_hand:t2: Brought to you by Darin LaFramboise

2 Likes

Let us know if you have any comments or thoughts!

1 Like

Hey there, this bit caught my eye

Built-in testing: Previous Node versions lacked built-in test runners. Node 18 instead allows you to create and execute tests without intervention from a third-party package.

Could you link or show what you mean, I think this could be useful for me. I’d like to be able to run tests against the actions. Sorry if I missed it in the blog post

Hey @sha256. We updated the content on the blog post to clarify your question. Just let me know any other questions or thoughts :slight_smile:

1 Like

Thanks for the follow up @robertino.calcaterra !

1 Like

Integrated global fetch In previous node versions, the fetch API had to be installed via a third-party package. In Node 18, fetch is available as a feature of Node 18

Is there something needed to make this happen? I tried to upgrade one of our actions to Node18 and it doesn’t appear to be working. We used to have a const fetch = require(‘node-fetch’) which doesn’t work now in the node 18 version. So I removed that and the editor is showing the next line (the call to fetch(url) ) is an unknown command and when I run the fetch seems to return undefined.

I tried adding node-fetch as a dependency to the action. Anything I’m missing?

1 Like

Hello @matt.howard Thanks for raising this.

The types are not yet available for the global fetch api for Node 18, we will update them when they implement them.

For now, you can use the new fetch, but you’ll only have a type error in the Actions IDE.

3 Likes

I am getting the following error from my new Node 18 action.

ReferenceError: fetch is not defined
    at /data/io/node16/825b7545-b19d-4df8-b85b-5d1fc4fec381/webtask.js:105:5

It appears to be running on node 16 still, even though I am configuring it for Node 18 via:

  - name: process-credentials-exchange
    code: dist/process-credentials-exchange.js
    deployed: true
    runtime: node18
    supported_triggers:
      - id: credentials-exchange
        version: v2

And the UI shows that its configured for Node 18 (Beta)

image

One interesting thing is in all of my tenants the Node 18 (Beta) option is missing in the UI dropdown, that this article mentions

Is there something special you have to do to activate this?

Cheers,

Justin

Hello Justin,

We have raised this issue with internal engineering team and we are fixing this behavior. Please refer to our blogpost for Node 18 regional availability

2 Likes

Any chance that Node 18 will be released for Auth0 actions anytime soon or before Node 20 becomes the active LTS?

As a developer I expect to be able to use the current LTS node release for my Auth0 actions.

https://nodejs.dev/en/about/releases/

  • Node 16 is EOL in September 2023.
  • Node 18 goes into Maintenance mode in October 2023.
  • Node 20 becomes Active in October 2023.

I have a refactor of my actions sitting on a branch that removes dependencies and uses some shared packages in my monorepo that requires node 18.

I can’t seem to find any docs or mentions of node 18, other than the one listed here.

Please refer to our blogpost for Node 18 regional availability

:point_up: I can’t seem to find this blog post.

1 Like

Hello Justin, thanks for reaching out.

We are working to bring Node 18 general availability to Actions before Node 20 becomes Active LTS, the expected date is around Q2 2023.

We continuously to maintain our Actions with the latest lTS node release and thank you for being part of our community.

3 Likes

Thanks for sharing @oliver.wang !

1 Like

Thanks for the heads up.

We’re looking to see if we can poly-fill what we need in our build process so that we can keep our monorepo node 18 but deploy node 16 compatible code to Auth0.