Trying to deploy Node.js app (with TypeScript) with App Platform
I am getting tsc: command not found
when trying to run build.
This is part of my package.json
"scripts": {
"build": "tsc",
"start": "node dist/index.js",
"watch": "tsc -w",
"dev": "nodemon dist/index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
Tried to run npm install --only=dev && npm run build && npm prune --production
as was suggested in the threads below, but got:
Your build job failed because it was terminated. This often happens due to resource exhaustion. Error code: BuildJobTerminated
How do I build this sucker?
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Did "build": "npm install --only=dev && tsc"
and it looks like its working.
When you push/publish your project, the Node environment changes from development to production… and in production mode, the
tsc
doesn’t work since typescript is added as a devDependency…I solved this problem by adding typescript and @types/node to my regular dependencies by running
npm install typescript @types/node
it works like a charm!
This is likely due to the fact that “typescript” package is a development dependency. You should move it to production dependency since the env is production.
Thanks @madrianhorning 🙏 npm install --only=dev fixed it for me.
If you have environment variable set
NODE_ENV=production
then remove it as it interfares with thenpm install
(inproduction
mode it doesn’t install the dev dependencies). Instead you can inline the env var like so:The
--only=dev
did not work for me with NPM v7. Resolved by runningnpm install --production=false
.