compare_npm_versions
Checks a current npm package version against the latest release, showing whether an update is needed and providing version details for dependency upgrades.
Instructions
Compare a current package version with the latest available version on npm. Shows if an update is needed and provides version details to help with dependency upgrades.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| packageName | Yes | Name of the npm package (e.g., 'ember-source', '@glimmer/component') | |
| currentVersion | Yes | Current version being used (e.g., '4.12.0', '1.1.2') |
Implementation Reference
- lib/npm-service.js:116-135 (helper)The getVersionComparison() helper method on NpmService that performs the actual npm registry lookup and comparison logic, returning packageName, currentVersion, latestVersion, isLatest, distTags, needsUpdate, availableVersionsCount, releaseDate, and currentVersionReleaseDate.
async getVersionComparison(packageName, currentVersion) { const packageInfo = await this.getPackageInfo(packageName); const latestVersion = packageInfo['dist-tags']?.latest; const distTags = packageInfo['dist-tags'] || {}; const isLatest = currentVersion === latestVersion; const availableVersions = Object.keys(packageInfo.versions || {}); return { packageName, currentVersion, latestVersion, isLatest, distTags, needsUpdate: !isLatest, availableVersionsCount: availableVersions.length, releaseDate: packageInfo.time?.[latestVersion] || null, currentVersionReleaseDate: packageInfo.time?.[currentVersion] || null, }; }