Skip to content

Commit 2324c6a

Browse files
committed
add security property to index
Refs: nodejs/Release#437 Refs: nodejs/node#27612
1 parent 2f69e9c commit 2324c6a

1 file changed

Lines changed: 35 additions & 2 deletions

File tree

dist-indexer.js

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const fs = require('fs')
3939
, `${githubContentUrl}/src/node.h`
4040
]
4141
, ltsVersionUrl = `${githubContentUrl}/src/node_version.h`
42+
, isSecurityUrl = `${githubContentUrl}/src/node_version.h`
4243
, githubOptions = { headers: {
4344
'accept': 'text/plain,application/vnd.github.v3.raw'
4445
} }
@@ -338,6 +339,26 @@ function fetchLtsVersion (gitref, callback) {
338339
})
339340
}
340341

342+
function fetchIsSecurity (gitref, callback) {
343+
var security = cacheGet(gitref, 'security')
344+
345+
if (security || security === false)
346+
return setImmediate(callback.bind(null, null, security))
347+
348+
fetch(isSecurityUrl, gitref, function (err, rawData) {
349+
if (err)
350+
return callback(err)
351+
352+
var m = rawData.match(/^#define NODE_VERSION_IS_SECURITY_RELEASE 1$/m)
353+
if (m) {
354+
security = true
355+
} else
356+
security = false
357+
358+
cachePut(gitref, 'security', security)
359+
callback(null, security)
360+
})
361+
}
341362

342363
function dirDate (dir, callback) {
343364
fs.readdir(path.join(argv.dist, dir), function (err, files) {
@@ -392,6 +413,7 @@ function inspectDir (dir, callback) {
392413
, zlibVersion
393414
, modVersion
394415
, ltsVersion
416+
, isSecurity
395417
, date
396418

397419
if (!gitref) {
@@ -412,7 +434,7 @@ function inspectDir (dir, callback) {
412434

413435
files = _files
414436

415-
var done = after(8, afterAll)
437+
var done = after(9, afterAll)
416438

417439
dirDate(dir, function (err, _date) {
418440
if (err)
@@ -484,6 +506,15 @@ function inspectDir (dir, callback) {
484506
ltsVersion = version
485507
done()
486508
})
509+
510+
fetchIsSecurity (gitref, function (err, security) {
511+
if (err) {
512+
console.error(err)
513+
console.error('(ignoring error fetching security for %s)', gitref)
514+
}
515+
isSecurity = security
516+
done()
517+
})
487518
})
488519

489520
function afterAll (err) {
@@ -504,6 +535,7 @@ function inspectDir (dir, callback) {
504535
, openssl : sslVersion
505536
, modules : modVersion
506537
, lts : ltsVersion
538+
, security : isSecurity
507539
})
508540
}
509541
}
@@ -533,7 +565,7 @@ function afterMap (err, dirs) {
533565
}
534566

535567
jsonOut.write('[\n')
536-
tabWrite('version', 'date', 'files', 'npm', 'v8', 'uv', 'zlib', 'openssl', 'modules', 'lts')
568+
tabWrite('version', 'date', 'files', 'npm', 'v8', 'uv', 'zlib', 'openssl', 'modules', 'lts', 'security')
537569

538570
dirs.forEach(function (dir, i) {
539571
jsonOut.write(JSON.stringify(dir) + (i != dirs.length - 1 ? ',\n' : '\n'))
@@ -548,6 +580,7 @@ function afterMap (err, dirs) {
548580
, dir.openssl
549581
, dir.modules
550582
, dir.lts
583+
, dir.security
551584
)
552585
})
553586

0 commit comments

Comments
 (0)