Skip to content

Node.js (TypeScript)

You should define a main module as the entry point of your Node.js application. Your Node.js code should be linted using ESLint with the recommended configuration for Node.js and TypeScript.

Entry file

The entry file for this template must be one of the following: index.ts, server.ts, or app.ts. The first one present is used as the entry point.

Server configuration for API Tester

For API challenges, ensure your server is started from the entry file so it is running when you use the API Tester tab. The API Tester is available for Node.js templates to send requests and test your endpoints.

Example with Express:

typescript
import express from "express";
const app = express();
// Define your routes, then listen on your chosen port
app.listen(process.env.PORT || 3000, () => {
  console.log("Server running");
});

Example with the built-in HTTP server:

typescript
import http from "http";

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "application/json" });
  res.end(JSON.stringify({ message: "Hello World!" }));
});

server.listen(process.env.PORT || 3000, () => {
  console.log("Server running");
});

Version

Running on Node.js v20.0.0

Supported languages

TypeScript

Testing framework

Jest

Special reminders and implementation details

ts
import { describe, expect, it } from "@jest/globals";

import { helloWorld } from "./index";

describe("App", () => {
  it("should return 'Hello, world!'", () => {
    expect(helloWorld()).toEqual("Hello, world!");
  });
});

Included libraries

How to debug

Debugging TypeScript Node.js code is crucial for any developer. One of the simplest yet effective ways to debug is by using console.log() statements.

Steps to Debug Using Console Logs

  1. Identify the Problem Area Locate the section of your code where you suspect the problem might be.

  2. Insert console.log() Statements Add console.log() statements before and after the suspected problematic code to print out variable values and flow control.

  3. Check the Results Output of your tests

  4. Analyze the Output Look at the values printed in the console to understand what's going wrong in your code. Adjust your code based on the findings and repeat as necessary.

Here's an example of how to use console.log() for debugging in TypeScript:

typescript
function calculateSum(a: number, b: number): number {
  console.log("calculateSum called with arguments:", a, b); // Log function call
  const sum: number = a + b;
  console.log("Sum after addition:", sum); // Log sum calculation
  return sum;
}

const result: number = calculateSum(5, 10);
console.log("Result of calculateSum:", result); // Log the result