Expand my Community achievements bar.

Announcement: Adobe I/O Runtime: Node 14 Support Added

Avatar

Employee

On 10th May, 2021, Adobe I/O Runtime has added support for Node 14 for JavaScript actions. Node 14 will be made default after June 10, 2021. For the next 90 days we will have pre-warm containers for both Node 14 and 12.

After 90 days, we will have pre-warm container only for Node 14. 

 

Action: Please update your actions if you are using this kind. If you do not update your actions after 90 days from today, your actions will not use the default version and If you do not update your actions within 90 days, your actions will not have access to pre-warm containers.

 

You can check the version running this command: 

aio runtime action get <ACTION NAME>
or
wsk action get <ACTION NAME>

If  you don’t see “kind”: “nodejs:14”, then you have to update your action.

 

Resources for Reference: 

Check this: https://git.corp.adobe.com/bladerunner/openwhisk-runtime-nodejs/ 

Public docs: https://github.com/AdobeDocs/adobeio-runtime/blob/master/resources/faq.md#supported-programming-lang...

 

Please feel free to reach out to us for any questions.

7 Replies

Avatar

Community Advisor

Hey @KanikaGera  

Could you also mention the steps to update the version, I tried updating the manifest.yml from 12 to 

runtime: 'nodejs:14' , but go an error on deploy 
 
Deploying actions
Error: Unsupported node version in action digi****/aaTrigger. Supported versions are ^10 || ^12
 
This is an existing app, wondering what's the right way to update. 
Also any new app will be 14 by default henceforth? 
Thank you! 

Avatar

Employee

@Anil_Umachigi - thanks for trying out the nodejs 14 runtime.

You should have this combination: aio-cli@7.0.0, node 14, supported version ^14 in package.json (try removing package-lock.json and node-modules to purge all existing dependencies).

And you are right - new apps will be node 14 by default (supposing your local machine has the above setup)

Avatar

Community Advisor

@duypnguyen Thank you! I think the trick was to ensure the node14 and the cli existed. 

For other landing here with same/similar issue, Here are the steps that worked 

  • Use NVM to switch to nodejs:14
  • Ensure adobe/aio-cli exists (npm list @adobe/aio-cli -g) 
  • Update Package.json and manifest.yml
  • aio app:run and deploy! 

 

Avatar

Employee

I've just changed package.json and manifest.yml and seems to be working fine.

Avatar

Employee

Here is a video that you can watch where I update an existing Firefly project to node 14.

https://www.youtube.com/watch?v=F-SKT9PxUNw

 

 

Avatar

Employee

If you get this error:

UI will throw an error now:
SyntaxError: Support for the experimental syntax 'jsx' isn't currently enabled

To fix this, add to your .babelrc file:

"plugins": ["@babel/plugin-transform-react-jsx"]

Then run:

npm install --save-dev @babel/plugin-transform-react-jsx

Avatar

Employee
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ],
  "plugins": ["@babel/plugin-transform-react-jsx"]
}

If stock .babelrc then after adding the file contents would look like this ^