Skip to content

Commit 846337e

Browse files
committed
normalise versions for target == this comparison
PR-URL: #716
1 parent 31a2acb commit 846337e

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

lib/process-release.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ var semver = require('semver')
1111
// `process.version` and `process.release` where it exists.
1212
function processRelease (argv, gyp, defaultVersion, defaultRelease) {
1313
var version = argv[0] || gyp.opts.target || defaultVersion
14-
, isDefaultVersion = version === defaultVersion
1514
, versionSemver = semver.parse(version)
1615
, overrideDistUrl = gyp.opts['dist-url'] || gyp.opts.disturl
16+
, isDefaultVersion
1717
, isIojs
1818
, name
1919
, distBaseUrl
@@ -28,6 +28,9 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
2828
// flatten version into String
2929
version = versionSemver.version
3030

31+
// defaultVersion should come from process.version so ought to be valid semver
32+
isDefaultVersion = version === semver.parse(defaultVersion).version
33+
3134
// can't use process.release if we're using --target=x.y.z
3235
if (!isDefaultVersion)
3336
defaultRelease = null

test/test-process-release.js

+53
Original file line numberDiff line numberDiff line change
@@ -368,3 +368,56 @@ test('test process release - process.release ~ [email protected] --dist-url=ht
368368
})
369369
})
370370

371+
test('test process release - process.release ~ [email protected]', function (t) {
372+
t.plan(2)
373+
374+
var release = processRelease([], { opts: {} }, 'v4.0.0-rc.4', {
375+
name: 'node',
376+
headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
377+
})
378+
379+
t.equal(release.semver.version, '4.0.0-rc.4')
380+
delete release.semver
381+
382+
t.deepEqual(release, {
383+
version: '4.0.0-rc.4',
384+
name: 'node',
385+
baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
386+
tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
387+
shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
388+
versionDir: '4.0.0-rc.4',
389+
libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
390+
libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
391+
libPath32: 'win-x86/node.lib',
392+
libPath64: 'win-x64/node.lib'
393+
})
394+
})
395+
396+
397+
test('test process release - process.release ~ [email protected] passed as argv[0]', function (t) {
398+
t.plan(2)
399+
400+
// note the missing 'v' on the arg, it should normalise when checking
401+
// whether we're on the default or not
402+
var release = processRelease([ '4.0.0-rc.4' ], { opts: {} }, 'v4.0.0-rc.4', {
403+
name: 'node',
404+
headersUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz'
405+
})
406+
407+
t.equal(release.semver.version, '4.0.0-rc.4')
408+
delete release.semver
409+
410+
t.deepEqual(release, {
411+
version: '4.0.0-rc.4',
412+
name: 'node',
413+
baseUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/',
414+
tarballUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/node-v4.0.0-rc.4-headers.tar.gz',
415+
shasumsUrl: 'https://nodejs.org/download/rc/v4.0.0-rc.4/SHASUMS256.txt',
416+
versionDir: '4.0.0-rc.4',
417+
libUrl32: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x86/node.lib',
418+
libUrl64: 'https://nodejs.org/download/rc/v4.0.0-rc.4/win-x64/node.lib',
419+
libPath32: 'win-x86/node.lib',
420+
libPath64: 'win-x64/node.lib'
421+
})
422+
})
423+

0 commit comments

Comments
 (0)