Skip to content

Commit

Permalink
tolerate semantic version prefixes in npm packages
Browse files Browse the repository at this point in the history
  • Loading branch information
edwmurph committed Nov 16, 2021
1 parent d9a7fdc commit 1d432f5
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 10 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ npx upgrade-deps
```
Usage: cli [options]
CLI for automating upgrading package.json dependencies
CLI for automating upgrading package.json dependencies. Semver prefixes will be stripped in favor of using exact versions.
Options:
-b, --breaking include breaking/major version upgrades
Expand Down
5 changes: 4 additions & 1 deletion bin/cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ const upgradeDeps = require('../');
program
.option('-b, --breaking', 'include breaking/major version upgrades')
.version( version, '-v, --version', 'output the version')
.description('CLI for automating upgrading package.json dependencies')
.description([
'CLI for automating upgrading package.json dependencies.',
'Semver prefixes will be stripped in favor of using exact versions.',
].join(' '))
.action( upgradeDeps );

program.parse( process.argv );
9 changes: 4 additions & 5 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const storage = '~/.upgrade-deps';
const execAsync = promisify( exec );
const writeFileAsync = promisify( fs.writeFile );
const semverRegexStr = '[0-9]+\\.[0-9]+\\.[0-9]+';
const semverRegex = new RegExp( `^${ semverRegexStr }$` );
const semverRegex = new RegExp( semverRegexStr );
const gitSemverRegex = new RegExp( `^.+#${ semverRegexStr }$` );

const getLatestNpm = async( pkgName ) => {
Expand Down Expand Up @@ -39,10 +39,10 @@ const getLatestGit = async( version ) => {
const getLatest = async([ pkgName, version ]) => {
let latest = version;

if ( semverRegex.test( version ) ) {
latest = await getLatestNpm( pkgName );
} else if ( gitSemverRegex.test( version ) ) {
if ( gitSemverRegex.test( version ) ) {
latest = await getLatestGit( version );
} else if ( semverRegex.test( version ) ) {
latest = await getLatestNpm( pkgName );
}

return [ pkgName, latest ];
Expand All @@ -66,7 +66,6 @@ const upgradeDeps = async({ breaking }) => {
const packageJSON = getPackageJSON();

await execAsync( `[ ! -d ${ storage } ]` ).catch( () => {
console.error( `${ storage } must not exist` );
process.exit( 1 );
});

Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "upgrade-deps",
"version": "0.0.4",
"version": "0.0.5",
"description": "CLI for automating updating package.json dependencies",
"main": "index.js",
"scripts": {
Expand All @@ -13,10 +13,10 @@
"upgrade-deps": "./bin/cli.js"
},
"dependencies": {
"commander": "7.0.0"
"commander": "8.3.0"
},
"devDependencies": {
"@edwmurph/eslint-config": "0.0.12"
"@edwmurph/eslint-config": "0.1.2"
},
"author": "edward",
"homepage": "https://github.com/edwmurph/upgrade-deps#readme",
Expand Down

0 comments on commit 1d432f5

Please sign in to comment.