Develop Node.js based applications in TypeScript. Includes Node.js, eslint, nvm, yarn, and the TypeScript compiler.
| Metadata | Value |
|---|---|
| Categories | Core, Languages |
| Image type | Dockerfile |
| Published image | mcr.microsoft.com/devcontainers/typescript-node |
| Available image variants | 24 /24-trixie, 22 / 22-trixie, 20 / 20-trixie, 24-bookworm, 22-bookworm, 20-bookworm, 24-bullseye, 22-bullseye, 20-bullseye (full list) |
| Published image architecture(s) | x86-64, arm64/aarch64 for bookworm, and bullseye variants |
| Container host OS support | Linux, macOS, Windows |
| Container OS | Debian |
| Languages, platforms | Node.js, TypeScript |
You can directly reference pre-built versions of Dockerfile by using the image property in .devcontainer/devcontainer.json or updating the FROM statement in your own Dockerfile to one of the following. An example Dockerfile is included in this repository.
mcr.microsoft.com/devcontainers/typescript-node(latest)mcr.microsoft.com/devcontainers/typescript-node:24(or24-trixie,24-bookworm,24-bullseyeto pin to an OS version)mcr.microsoft.com/devcontainers/typescript-node:22(or22-trixie,22-bookworm,22-bullseyeto pin to an OS version)mcr.microsoft.com/devcontainers/typescript-node:20(or20-trixie,20-bookworm,20-bullseyeto pin to an OS version)
Refer to this guide for more details.
You can decide how often you want updates by referencing a semantic version of each image. For example:
mcr.microsoft.com/devcontainers/typescript-node:4-24(or4-24-trixie,4-24-bookworm,4-24-bullseye)mcr.microsoft.com/devcontainers/typescript-node:4.0-24(or4.0-24-trixie,4.0-24-bookworm,4.0-24-bullseye)mcr.microsoft.com/devcontainers/typescript-node:4.0.6-24(or4.0.6-24-trixie,4.0.6-24-bookworm,4.0.6-24-bullseye)
However, we only do security patching on the latest non-breaking, in support versions of images (e.g. 3-24). You may want to run apt-get update && apt-get upgrade in your Dockerfile if you lock to a more specific version to at least pick up OS security updates.
Beyond TypeScript, Node.js, and git, this image / Dockerfile includes eslint, zsh, Oh My Zsh!, a non-root node user with sudo access, and a set of common dependencies for development. Since tslint is now fully deprecated, the image includes tslint-to-eslint-config globally to help you migrate.
Note that, while eslintand typescript are installed globally for convenience, as of ESLint 6, you will need to install the following packages locally to lint TypeScript code: @typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint, typescript.
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See LICENSE