Skip to main content

typescript

Use when configuring dev containers for TypeScript or Node.js projects. Covers the Node feature, package managers, ESLint/Prettier extensions, and frontend dev server setup. USE FOR: TypeScript/Node.js dev container setup, Node feature, npm/pnpm/yarn configuration, ESLint/Prettier extensions, frontend dev servers DO NOT USE FOR: Python dev containers (use python), .NET dev containers (use dotnet), general devcontainer.json (use devcontainer)

Quellinformationen

Repository
Tyler-R-Kendrick/agent-skills
Letzte Quellaktivität
11. Februar 2026 um 05:14
Erkannte Sprache von SKILL.md
Englisch
Sterne
12
Forks
4

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
13 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
typescript
description
Use when configuring dev containers for TypeScript or Node.js projects. Covers the Node feature, package managers, ESLint/Prettier extensions, and frontend dev server setup. USE FOR: TypeScript/Node.js dev container setup, Node feature, npm/pnpm/yarn configuration, ESLint/Prettier extensions, frontend dev servers DO NOT USE FOR: Python dev containers (use python), .NET dev containers (use dotnet), general devcontainer.json (use devcontainer)
license
MIT
metadata
{"displayName":"Dev Container — TypeScript","author":"Tyler-R-Kendrick"}
compatibility
claude, copilot, cursor
references
[{"title":"Dev Containers Specification","url":"https://containers.dev/"},{"title":"TypeScript Official Documentation","url":"https://www.typescriptlang.org/docs/"},{"title":"Node.js Official Documentation","url":"https://nodejs.org/docs/latest/api/"}]
# Dev Container — TypeScript ## Overview Configure a dev container for TypeScript and Node.js development using the official Node feature or base image. Supports version selection, package manager configuration (npm, pnpm, yarn), and frontend tooling. ## Node Feature ```jsonc { "features": { "ghcr.io/devcontainers/features/node:1": { "version": "22" } } } ``` ### Feature Options | Option | Default | Description | |--------|---------|-------------| | `version` | `lts` | Node.js version (`22`, `20`, `lts`, `latest`, `none`) | | `nodeGypDependencies` | `true` | Install native build dependencies for node-gyp | | `pnpmVersion` | `none` | Install pnpm (`latest`, `9`, specific version, `none`) | | `nvmVersion` | `latest` | nvm version | ## Full Example ```jsonc { "name": "TypeScript Development", "image": "mcr.microsoft.com/devcontainers/javascript-node:22", "forwardPorts": [3000, 5173], "portsAttributes": { "3000": { "label": "API", "onAutoForward": "notify" }, "5173": { "label": "Vite Dev Server", "onAutoForward": "openBrowser" } }, "postCreateCommand": "npm ci", "postStartCommand": "npm run dev", "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "bradlc.vscode-tailwindcss" ], "settings": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "typescript.tsdk": "node_modules/typescript/lib" } } } } ``` ## Using the Base Image vs Feature | Approach | When to Use | |----------|-------------| | `"image": "mcr.microsoft.com/devcontainers/javascript-node:22"` | Node/TS-only projects | | `"image": "mcr.microsoft.com/devcontainers/typescript-node:22"` | TypeScript-specific image | | Base image + `ghcr.io/devcontainers/features/node:1` | Multi-language projects | ## Package Managers ### pnpm ```jsonc { "features": { "ghcr.io/devcontainers/features/node:1": { "version": "22", "pnpmVersion": "latest" } }, "postCreateCommand": "pnpm install --frozen-lockfile" } ``` ### Yarn ```jsonc { "postCreateCommand": "corepack enable && yarn install --immutable" } ``` ## Monorepo Setup (Turborepo / Nx) ```jsonc { "name": "Monorepo", "image": "mcr.microsoft.com/devcontainers/javascript-node:22", "features": { "ghcr.io/devcontainers/features/node:1": { "pnpmVersion": "latest" } }, "postCreateCommand": "pnpm install --frozen-lockfile", "postStartCommand": "pnpm dev", "forwardPorts": [3000, 3001, 5173] } ``` ## Frontend Framework Ports | Framework | Default Port | |-----------|-------------| | Vite | 5173 | | Next.js | 3000 | | Angular | 4200 | | Create React App | 3000 | | Remix | 5173 | | Astro | 4321 | ## Best Practices - Use `npm ci` or `pnpm install --frozen-lockfile` in `postCreateCommand` for deterministic installs. - Use `postStartCommand` for dev servers so they restart on Codespace resume. - Forward the dev server port and set `"onAutoForward": "openBrowser"` for quick feedback. - Set `typescript.tsdk` to the workspace TypeScript for consistent version behavior. - Add both ESLint and Prettier extensions and configure `formatOnSave` for consistent code style. - Pin Node.js to a major version (`22`, `20`) rather than `lts` for reproducibility. - Use `corepack enable` for Yarn v2+ to use the project-local version.
Auf GitHub ansehen