← Asztali alkalmazás fejlesztők adatlapja
Nézd meg, miben segít
Függőségi verziók feltárása
Módosítás előtt megkülönbözteti a kért verziótartományt, zárolt verziót és ténylegesen betöltött csomagot.
dependency-graph-version-discovery
Ezt a skillt használó csapattagok
Mikor hasznos?
Akkor használd, ha frissítéshez vagy verzióütközéshez biztos kiindulópont kell.
Miben segít neked?
- Azonosítja a csomagkezelőt, futtatókörnyezetet és zárolási fájlokat.
- Követi a közvetlen és közvetett függőségeket, duplikált példányokat.
- Megmagyarázza a deklaráció és tényleges futás eltérését.
Például ezt kérheted
Derítsd ki, miért töltünk be két könyvtárverziót, és jelöld meg a legkisebb kompatibilis változtatást. Vezesd vissza mindkét példányt az igénylő csomagra és peer-verziótartományára. Javasolj kompatibilis feloldást, majd ellenőrizd a build tényleges példányát.
Részletes dokumentáció
Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.
Összecsukás
Dependency Graph & Version Discovery
When to Use
Use before planning, diagnosing, or executing any package upgrade, security remediation, lockfile resolution, or runtime update. Never edit a manifest or run a package manager command until you have mapped what is declared, what is locked, and what is actually resolved at build and runtime.
Three-Layer Version Truth
Every dependency exists in three distinct states that frequently diverge:
- Declared Range (Manifest): What
package.json,composer.json,pyproject.toml, orCargo.tomlrequests (^4.18.0,~2.1,>=1.8,<2.0). - Locked Resolution (Lockfile): What
package-lock.json,pnpm-lock.yaml,yarn.lock,composer.lock,uv.lock,poetry.lock, orCargo.lockpins via exact version, registry URL, and integrity hash (sha512-...,sha256-...). - Installed / Materialized Artifact: What sits in
node_modules/,vendor/,.venv/, or Cargo cache, and which copy the module loader or bundler actually resolves when duplicates exist.
Ecosystem Discovery Checklist
1. Identify Package Manager & Exact Tooling Version
- Inspect
packageManagerin rootpackage.json(Corepack pin),.nvmrc,.node-version,.tool-versions,mise.toml,rust-toolchain.toml,.python-version,composer.jsonconfig.platform, and CI /Dockerfileruntime images. - Match the active lockfile (
package-lock.json$\rightarrow$npm,pnpm-lock.yaml$\rightarrow$pnpm,yarn.lock+.yarnrc.yml$\rightarrow$yarn,bun.lock/bun.lockb$\rightarrow$bun,composer.lock$\rightarrow$composer,uv.lock/poetry.lock/requirements*.txt$\rightarrow$uv/poetry/pip-tools,Cargo.lock$\rightarrow$cargo). Never mix package managers or create a second lockfile.
2. Map Direct vs. Transitive Dependencies & Roles
- Production (
dependencies,require,[project.dependencies]): Executed in production; breaking changes or CVEs directly affect live behavior. - Development / Build (
devDependencies,require-dev,[dependency-groups],[dev-dependencies]): Compilers, bundlers, test runners, linters, codegens. Affect production when they emit bundles, types, or schema code. - Peer Dependencies (
peerDependencies,peerDependenciesMeta): Host-provided contracts (react,vue,@angular/core,typescript,postcss,eslint). Tightened peer ranges require verifying host compatibility. - Optional & Platform-Specific (
optionalDependencies,os,cpu,libc, Cargocfg(...), Python markers): Native binaries (@rollup/rollup-*,@swc/core-*,sharp,esbuild,fsevents).
3. Trace Dependency Chains & Duplicate Resolutions
Use native read-only graph queries:
- Node:
npm explain <pkg>,npm ls <pkg> --all,pnpm why <pkg> -r,yarn why <pkg> - PHP:
composer why <vendor/pkg>andcomposer why-not <vendor/pkg> <target-version> - Python:
uv tree --package <pkg>,poetry show --tree - Rust:
cargo tree -i <crate>andcargo tree -d(duplicate crate versions)
4. Audit Overrides, Patches & Baseline Health
- Inspect
overrides(npm/pnpm),resolutions(yarn),pnpm.patchedDependencies,patch-package,composer-patches,[tool.uv.override-dependencies], and Cargo[patch.crates-io]to see if the target version upstreamed the fix. - Run baseline typecheck, build, and targeted tests before touching versions to separate pre-existing failures from upgrade regressions. Upgrade coupled package families (
@babel/*,@tanstack/*,symfony/*,@opentelemetry/*) together, and watch for dual-package hazards (ESM + CJS or two majors ofgraphql,rxjs,zod,@prisma/client).
Csomagban lévő fájlok 1
SKILL.md
