typescript-tooling-migration

Migrate and upgrade TypeScript tooling across the Phoenix pnpm monorepo.

11.3k|1.1k|Updated Nov 9, 2022
One-click install
npx skills add https://github.com/Arize-ai/phoenix --skill typescript-tooling-migration
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: typescript-tooling-migration
Source: https://github.com/Arize-ai/phoenix/tree/main/.agents/skills/typescript-tooling-migration
Command: npx skills add https://github.com/Arize-ai/phoenix --skill typescript-tooling-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Upgrading TypeScript versions, replacing linters or formatters, and bumping core dependencies in a pnpm monorepo involves coordinated changes across configs, scripts, pre-commit hooks, and CI, and missing a step causes version drift and broken builds.

Core Features & Use Cases

  • Tool Replacement Workflows: Step-by-step phases for swapping tools like ESLint to oxlint or Prettier to oxfmt, including config inheritance patterns and old-tool removal.
  • Major Version Upgrades: Guidance for upgrading TypeScript, React, Vite, or esbuild with breaking-change remediation and compatibility checks.
  • Verification and Rollout: Checklists covering typecheck, lint, format, unit tests, E2E tests, pre-commit hooks, and documentation updates.
  • Use Case: When upgrading TypeScript from version 5 to 6 in the Phoenix repo, follow the phased workflow to update both js/app and the js workspace root, fix stricter type errors, align shared devDependencies, and validate with the full test suite.

Quick Start

Use the typescript-tooling-migration skill to upgrade TypeScript to the latest major version across js/app and the js workspace root.

Frequently Asked Questions about typescript-tooling-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate from ESLint to oxlint in a monorepo?

Install oxlint alongside ESLint, create a new .oxlintrc.json config using nested inheritance, update package scripts and pre-commit hooks, verify linting passes, then remove ESLint and its plugins. Keep the old tool installed until the migration is verified.

How to upgrade TypeScript major version in a pnpm workspace?

Read the release notes for breaking changes, upgrade the typescript devDependency in both js/app and the js workspace root, fix stricter type errors, and run typecheck, lint, build, and tests. Keep shared tool versions aligned since the single lockfile makes drift visible.

Does this migration workflow cover React upgrades?

Yes, dependency upgrades like React 18 to 19 follow a dedicated workflow: check the compatibility matrix for React, React DOM, and types, upgrade dependencies together, fix breaking changes in application code, and run E2E tests to verify functionality.

Why does my build fail after a TypeScript tooling upgrade?

Build failures after upgrades usually come from stale caches or mismatched dependencies. Clear node_modules/.cache and dist directories, reinstall with pnpm install, and rebuild. Also verify the Node version matches .nvmrc and the lockfile is committed.

Which directories are excluded from TypeScript tooling migrations?

The scripts/docker/devops/oidc-server, scripts/mock-llm-server, and internal_docs directories maintain their own tooling and should not be included in migrations. Only js/app and the js workspace packages are in scope.