# Upgrade Emitter Version

> Use when upgrading Go emitter package and TypeSpec packages in eng/emitter-package.json to their latest versions.

- Skill: `tomevault-io/upgrade-emitter-version` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/upgrade-emitter-version`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/upgrade-emitter-version/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/upgrade-emitter-version

---


# Upgrade Emitter and TypeSpec Versions

Upgrade packages in `eng/emitter-package.json` to their latest versions.

## Prerequisites

- Node.js LTS installed
- [npm-check-updates](https://www.npmjs.com/package/npm-check-updates) installed globally (`npm install -g npm-check-updates`)
- [tsp-client](https://www.npmjs.com/package/@azure-tools/typespec-client-generator-cli) installed globally (`npm install -g @azure-tools/typespec-client-generator-cli`)

## Steps

### Step 1: Change to the eng directory

Change the working directory to the `eng/` folder at the repository root.

### Step 2: Rename emitter-package.json to package.json

Rename `emitter-package.json` to `package.json` so that `ncu` can process it.

### Step 3: Run ncu to upgrade packages

Run `ncu -u` to upgrade all packages in `package.json` to their latest versions.

### Step 4: Ensure versions are absolute

Verify that all versions in `package.json` are absolute (no `~` or `^` prefixes). If any version has a `~` or `^` prefix, remove the prefix so only the version number remains.

### Step 5: Rename package.json back to emitter-package.json

Rename `package.json` back to `emitter-package.json`.

### Step 6: Generate the lock file

Run `tsp-client generate-lock-file` to update `emitter-package-lock.json`.

### Step 7: Commit the changes

Commit both `emitter-package.json` and `emitter-package-lock.json`. Do **not** commit `node_modules` or `package.json`.

---
> Source: [Azure/azure-sdk-for-go](https://github.com/Azure/azure-sdk-for-go) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-28 -->

