跳到正文
cccskills
免费在 GitHub 公开

updating-npm-package

Safely update an npm package by checking npmjs.com for the latest version, reading release notes, and handling minor vs major upgrades differently. For minor updates, just do it. For major updates, find the upgrade guide, validate breaking changes, and produce a detailed migration report.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Updating an npm Package

Use this skill when the user asks to update, upgrade, or bump a specific npm dependency.

Steps

  1. Check the current version — read package.json to find the installed version:

    npm ls <package-name>
    
  2. Find the latest version on npm — fetch the package info:

    npm view <package-name> versions --json
    npm view <package-name> dist-tags --json
    

    This gives you the latest tag and all published versions.

  3. Determine the update type — compare current version to latest:

    • Patch (1.2.3 → 1.2.4): bug fixes only
    • Minor (1.2.3 → 1.3.0): new features, backwards compatible
    • Major (1.2.3 → 2.0.0): breaking changes
  4. For patch or minor updates — just do it:

    npm install <package-name>@latest
    

    Run the build and tests to make sure nothing broke:

    npm run build && npm test
    

    If everything passes, commit and report what changed.

  5. For major updates — do a thorough investigation first:

    a. Fetch the changelog and release notes — check the package's GitHub repo for CHANGELOG.md, MIGRATION.md, or release notes. Use the web to find the official upgrade guide:

    Search: "<package-name> v<major> migration guide" OR "<package-name> v<major> upgrade guide"
    

    b. Read the breaking changes — identify every breaking change between the current and target version. Common things to check:

    • Removed or renamed APIs
    • Changed function signatures or return types
    • Dropped Node.js version support
    • New peer dependency requirements
    • Changed default behavior
    • Config file format changes

    c. Scan the codebase for impact — search for every usage of the package:

    # Find all imports
    grep -r "from ['\"]<package-name>" src/
    grep -r "require(['\"]<package-name>" src/
    

    For each usage, check if it's affected by a breaking change.

    d. Apply the update:

    npm install <package-name>@latest
    

    e. Fix breaking changes — update each affected usage based on the migration guide. Apply changes file by file.

    f. Verify — run the full suite:

    npm run lint && npx tsc --noEmit && npm test && npm run build
    

    g. Produce a migration report — summarize:

    ## Package Update: <package-name> v<old> → v<new> (Major)
    
    ### Breaking Changes Applied
    - `oldFunction()` renamed to `newFunction()` — updated in 3 files
    - Config format changed from `.js` to `.config.ts` — migrated
    - Dropped support for Node 16 — verified we're on Node 20
    
    ### Files Modified
    - src/lib/client.ts — updated import and function call
    - src/config/settings.ts — migrated config format
    - package.json — bumped version
    
    ### Validation
    - ✅ Lint passes
    - ✅ TypeScript compiles
    - ✅ All 47 tests pass
    - ✅ Build succeeds
    

Notes

  • Always check peer dependency compatibility before updating — npm install will warn about mismatches.
  • For monorepos, check if the package is used in multiple workspaces and update them all together.
  • If the package has a codemod tool (e.g. npx @next/codemod), use it instead of manual migration.
  • Lock file (package-lock.json) changes are expected — commit them with the update.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.

中文简介正在准备中。当前显示原文说明。

0xAidan/polymarket-bot-test42026年9月4日 更新

Add PostHog analytics to a web application, including event tracking, page views, feature flags, and session replay.

中文简介正在准备中。当前显示原文说明。

0xAidan/polymarket-bot-test42026年9月4日 更新

Generate OpenAPI/Swagger documentation for an API, including endpoint schemas, request/response types, and interactive docs UI.

中文简介正在准备中。当前显示原文说明。

0xAidan/polymarket-bot-test42026年9月4日 更新

Add authentication to a web application using NextAuth.js (Auth.js), including OAuth providers, session management, and protected routes.

中文简介正在准备中。当前显示原文说明。

0xAidan/polymarket-bot-test42026年9月4日 更新

Dockerize an application with a production-ready Dockerfile, docker-compose setup, and .dockerignore.

中文简介正在准备中。当前显示原文说明。

0xAidan/polymarket-bot-test42026年9月4日 更新

Set up Playwright end-to-end testing in a project, including test configuration, example tests, and CI integration.

中文简介正在准备中。当前显示原文说明。

0xAidan/polymarket-bot-test42026年9月4日 更新

查看 0xAidan 的全部技能

报告此技能的问题