diff --git a/lib/version.js b/lib/version.js index a96f5d6051faf..3a46efae19bf3 100644 --- a/lib/version.js +++ b/lib/version.js @@ -37,15 +37,21 @@ const version = async args => { case 0: return list() case 1: - return output(await libversion(args[0], { - ...npm.flatOptions, - path: npm.prefix, - })) + return version_(args) default: throw usage } } +const version_ = async (args) => { + const prefix = npm.flatOptions.tagVersionPrefix + const version = await libversion(args[0], { + ...npm.flatOptions, + path: npm.prefix, + }) + return output(`${prefix}${version}`) +} + const list = async () => { const results = {} const { promisify } = require('util') diff --git a/test/lib/version.js b/test/lib/version.js index f36132253fa32..943e1437027c7 100644 --- a/test/lib/version.js +++ b/test/lib/version.js @@ -6,6 +6,7 @@ let result = [] const noop = () => null const npm = { flatOptions: { + tagVersionPrefix: 'v', json: false, }, prefix: '', @@ -144,17 +145,20 @@ t.test('with one arg', t => { t.deepEqual( opts, { + tagVersionPrefix: 'v', json: false, path: '', }, 'should forward expected options' ) - t.end() + return '4.0.0' }, }) version(['major'], err => { if (err) throw err + t.same(result, ['v4.0.0'], 'outputs the new version prefixed by the tagVersionPrefix') + t.end() }) })