Typescript support in server-side code

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

[email protected] start
npm run build && npm run server
[email protected] 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.
Try npm i --save-dev @types/express if it exists or add a new
declaration (.d.ts) file containing declare 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.
Try npm i --save-dev @types/body-parser if it exists or add a new
declaration (.d.ts) file containing declare 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 [email protected]
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.

3 replies