Skip to content
Advertisement

Heroku deployment of Node application returns node-waf: not found

I am attempting to deploy my Node.js application to Heroku by connecting Heroku to my Github repository and deploying the master branch.

I have tried a number of different approaches to deploy my application but all of them return the same error.

The exact build log can be found below:

JavaScript

My package.json file can be found below:

JavaScript
  • I have tried adding the exact engine versions to the package.json.
  • I have tried removing yarn.lock.
  • I have tried installing typescript as a dependency instead as a global package.
  • I don’t know how I can manually install the node-base64/node-waf dependency.

Thank you for all your potential solutions.

Advertisement

Answer

TL;DR. Remove jwt and use jsonwebtoken.

Details: jwt has node-base64 as a dependency. Both jwt and node-base64 are no longer maintained. Under the hood, node-base64 uses node-waf which is already deprecated. So, this loop of calls to deprecated packages resulted to the failure you encountered. Replacing jwt with jsonwebtoken will solve this issue.

It’s also possible to encounter issues with node-waf without using jwt. See this Stackoverflow question Node-waf: not found to help you with that.

Advertisement