|
Server : LiteSpeed System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : elvh3918 ( 1528) PHP Version : 8.2.31 Disable Function : mail Directory : /opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/scripts/ |
#!/opt/alt/alt-nodejs11/root/usr/bin/node
var fs = require('fs')
var path = require('path')
var root = path.resolve(__dirname, '..')
var glob = require('glob')
var conversion = { 'cli': 1, 'api': 3, 'files': 5, 'misc': 7 }
glob(root + '/{README.md,doc/*/*.md}', function (er, files) {
if (er) throw er
output(files.map(function (f) {
var b = path.basename(f)
if (b === 'README.md') return [0, b]
if (b === 'index.md') return null
var s = conversion[path.basename(path.dirname(f))]
return [s, f]
}).filter(function (f) {
return f
}).sort(function (a, b) {
return (a[0] === b[0])
? (path.basename(a[1]) === 'npm.md' ? -1
: path.basename(b[1]) === 'npm.md' ? 1
: a[1] > b[1] ? 1 : -1)
: a[0] - b[0]
}))
})
function output (files) {
console.log(
'npm-index(7) -- Index of all npm documentation\n' +
'==============================================\n')
writeLines(files, 0)
writeLines(files, 1, 'Command Line Documentation', 'Using npm on the command line')
writeLines(files, 3, 'API Documentation', 'Using npm in your Node programs')
writeLines(files, 5, 'Files', 'File system structures npm uses')
writeLines(files, 7, 'Misc', 'Various other bits and bobs')
}
function writeLines (files, sxn, heading, desc) {
if (heading) {
console.log('## %s\n\n%s\n', heading, desc)
}
files.filter(function (f) {
return f[0] === sxn
}).forEach(writeLine)
}
function writeLine (sd) {
var sxn = sd[0] || 1
var doc = sd[1]
var d = path.basename(doc, '.md')
var content = fs.readFileSync(doc, 'utf8').split('\n')[0].split('-- ')[1]
console.log('### %s(%d)\n', d, sxn)
console.log(content + '\n')
}