Hello.Does the server-side code in Monday hosting supports typescript? We’re trying to deploy a simple ExpressJS application that is written in typescript but can’t pass the deployment stage. This error always appears.
In order for the deployment to be successful, the container should be up and listen on port 8080.***
Here’s the full log:
Build asset to deploy
Preparing environment
Asset uploaded successfully
There was an error deploying the application.
========== Logs ==========
Internal Monday Code API runs at http://localhost:59999
mondaycom-server@1.0.0 start
npm run build && npm run server
mondaycom-server@1.0.0 build
npx tsc
src/app.ts(1,21): error TS7016: Could not find a declaration file for
module ‘express’. ‘/workspace/node_modules/express/index.js’
implicitly has an ‘any’ type.
Trynpm i --save-dev @types/expressif it exists or add a new
declaration (.d.ts) file containingdeclare module 'express';
src/app.ts(2,24): error TS7016: Could not find a declaration file for
module ‘body-parser’. ‘/workspace/node_modules/body-parser/index.js’
implicitly has an ‘any’ type.
Trynpm i --save-dev @types/body-parserif it exists or add a new
declaration (.d.ts) file containingdeclare module 'body-parser';
src/app.ts(16,24): error TS7006: Parameter ‘’ implicitly has an ‘any’
type.
src/app.ts(16,27): error TS7006: Parameter ‘res’ implicitly has an
‘any’ type.
src/app.ts(20,21): error TS7006: Parameter '’ implicitly has an ‘any’
type.
src/app.ts(20,24): error TS7006: Parameter ‘res’ implicitly has an
‘any’ type.
npm notice
npm notice New major version of npm available! 10.8.2 → 11.6.3
npm notice Changelog: Release v11.6.3 · npm/cli · GitHub
npm notice To update run: npm install -g npm@11.6.3
npm notice
In order for the deployment to be successful, the container should be
up and listen on port 8080.
Then here’s on our app:import express from “express”;
import bodyParser from “body-parser”;
function getHealth() {
return {
ok: true,
message: “Healthy test”,
};
}
const app = express();
const port = 8080;
app.use(bodyParser.json());
app.get(“/”, function (_, res) {
res.json(getHealth());
});
app.get(“/health”, (_, res) => {
res.json(getHealth());
res.end();
});
app.listen(port, () =>
console.log(App listening at ``http://localhost``:${port})
);
export default app;
Then here is our package.json:
{
“name”: “mondaycom-server”,
“version”: “1.0.0”,
“description”: “”,
“license”: “ISC”,
“author”: “”,
“type”: “module”,
“main”: “build/app.js”,
“scripts”: {
"dev": "npm run stop && concurrently \\"npm run dev-server\\" \\"npm run expose\\"",
"dev-server": "npx ts-node --watch ./src/app.ts",
"start": "npm run build && npm run server",
"build": "npx tsc",
"server": "node build/app.js",
"expose": "mapps tunnel:create -p 8080",
"stop": "kill-port 8080 && kill-port 4049 && kill-port 4040",
"deploy": "npx mapps code:push"
},
“dependencies”: {
"@mondaycom/apps-sdk": "^3.2.1",
"body-parser": "^2.2.1",
"dotenv": "^17.2.3",
"express": "^5.1.0",
"typescript": "^5.9.3"
},
“devDependencies”: {
"@types/express": "^5.0.5",
"concurrently": "^9.2.1",
"cross-port-killer": "^1.4.0",
"ts-node": "^10.9.2",
"ts-node-dev": "^2.0.0"
}
}
We’ve tried to research this the whole day but can’t seem to find any documentation on how to resolve this. Even in monday apps framework documentation.
Would appreciate any response for this. Thank you.