$28 GRAYBYTE WORDPRESS FILE MANAGER $91

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/lib/node_modules/npm/lib/

HOME
Current File : /lib/node_modules/npm/lib//doctor.js
'use strict'

const ansiTrim = require('./utils/ansi-trim')
const chain = require('slide').chain
const color = require('ansicolors')
const defaultRegistry = require('./config/defaults').defaults.registry
const log = require('npmlog')
const npm = require('./npm')
const output = require('./utils/output')
const path = require('path')
const semver = require('semver')
const styles = require('ansistyles')
const table = require('text-table')

// steps
const checkFilesPermission = require('./doctor/check-files-permission')
const checkPing = require('./doctor/check-ping')
const getGitPath = require('./doctor/get-git-path')
const getLatestNodejsVersion = require('./doctor/get-latest-nodejs-version')
const getLatestNpmVersion = require('./doctor/get-latest-npm-version')
const verifyCachedFiles = require('./doctor/verify-cached-files')

const globalNodeModules = path.join(npm.config.globalPrefix, 'lib', 'node_modules')
const localNodeModules = path.join(npm.config.localPrefix, 'node_modules')

module.exports = doctor

doctor.usage = 'npm doctor'

function doctor (args, silent, cb) {
  args = args || {}
  if (typeof cb !== 'function') {
    cb = silent
    silent = false
  }

  const actionsToRun = [
    [checkPing],
    [getLatestNpmVersion],
    [getLatestNodejsVersion, args['node-url']],
    [getGitPath],
    [checkFilesPermission, npm.cache, 4, 6],
    [checkFilesPermission, globalNodeModules, 4, 4],
    [checkFilesPermission, localNodeModules, 6, 6],
    [verifyCachedFiles, path.join(npm.cache, '_cacache')]
  ]

  log.info('doctor', 'Running checkup')
  chain(actionsToRun, function (stderr, stdout) {
    if (stderr && stderr.message !== 'not found: git') return cb(stderr)
    const list = makePretty(stdout)
    let outHead = ['Check', 'Value', 'Recommendation']
    let outBody = list

    if (npm.color) {
      outHead = outHead.map(function (item) {
        return styles.underline(item)
      })
      outBody = outBody.map(function (item) {
        if (item[2]) {
          item[0] = color.red(item[0])
          item[2] = color.magenta(item[2])
        }
        return item
      })
    }

    const outTable = [outHead].concat(outBody)
    const tableOpts = {
      stringLength: function (s) { return ansiTrim(s).length }
    }

    if (!silent) output(table(outTable, tableOpts))

    cb(null, list)
  })
}

function makePretty (p) {
  const ping = p[1]
  const npmLTS = p[2]
  const nodeLTS = p[3].replace('v', '')
  const whichGit = p[4] || 'not installed'
  const readbleCaches = p[5] ? 'ok' : 'notOk'
  const executableGlobalModules = p[6] ? 'ok' : 'notOk'
  const executableLocalModules = p[7] ? 'ok' : 'notOk'
  const cacheStatus = p[8] ? `verified ${p[8].verifiedContent} tarballs` : 'notOk'
  const npmV = npm.version
  const nodeV = process.version.replace('v', '')
  const registry = npm.config.get('registry') || ''
  const list = [
    ['npm ping', ping],
    ['npm -v', 'v' + npmV],
    ['node -v', 'v' + nodeV],
    ['npm config get registry', registry],
    ['which git', whichGit],
    ['Perms check on cached files', readbleCaches],
    ['Perms check on global node_modules', executableGlobalModules],
    ['Perms check on local node_modules', executableLocalModules],
    ['Verify cache contents', cacheStatus]
  ]

  if (p[0] !== 200) list[0][2] = 'Check your internet connection'
  if (!semver.satisfies(npmV, '>=' + npmLTS)) list[1][2] = 'Use npm v' + npmLTS
  if (!semver.satisfies(nodeV, '>=' + nodeLTS)) list[2][2] = 'Use node v' + nodeLTS
  if (registry !== defaultRegistry) list[3][2] = 'Try `npm config set registry ' + defaultRegistry + '`'
  if (whichGit === 'not installed') list[4][2] = 'Install git and ensure it\'s in your PATH.'
  if (readbleCaches !== 'ok') list[5][2] = 'Check the permissions of your files in ' + npm.config.get('cache')
  if (executableGlobalModules !== 'ok') list[6][2] = globalNodeModules + ' must be readable and writable by the current user.'
  if (executableLocalModules !== 'ok') list[7][2] = localNodeModules + ' must be readable and writable by the current user.'

  return list
}

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
1 Jan 1970 8.00 AM
root / root
0
auth
--
31 Aug 2024 8.02 AM
root / root
0755
config
--
31 Aug 2024 8.02 AM
root / root
0755
doctor
--
31 Aug 2024 8.02 AM
root / root
0755
install
--
31 Aug 2024 8.02 AM
root / root
0755
search
--
31 Aug 2024 8.02 AM
root / root
0755
utils
--
31 Aug 2024 8.02 AM
root / root
0755
access.js
5.539 KB
10 Mar 2021 9.36 PM
root / root
0644
adduser.js
1.306 KB
10 Mar 2021 9.36 PM
root / root
0644
audit.js
10.558 KB
10 Mar 2021 9.36 PM
root / root
0644
bin.js
0.503 KB
10 Mar 2021 9.36 PM
root / root
0644
bugs.js
0.844 KB
10 Mar 2021 9.36 PM
root / root
0644
build.js
4.438 KB
10 Mar 2021 9.36 PM
root / root
0644
cache.js
4.661 KB
10 Mar 2021 9.36 PM
root / root
0644
ci.js
1.31 KB
10 Mar 2021 9.36 PM
root / root
0644
completion.js
7.107 KB
10 Mar 2021 9.36 PM
root / root
0644
config.js
7.434 KB
10 Mar 2021 9.36 PM
root / root
0644
dedupe.js
4.882 KB
10 Mar 2021 9.36 PM
root / root
0644
deprecate.js
2.106 KB
10 Mar 2021 9.36 PM
root / root
0644
dist-tag.js
4.105 KB
10 Mar 2021 9.36 PM
root / root
0644
docs.js
1.038 KB
10 Mar 2021 9.36 PM
root / root
0644
doctor.js
3.979 KB
10 Mar 2021 9.36 PM
root / root
0644
edit.js
1.374 KB
10 Mar 2021 9.36 PM
root / root
0644
explore.js
1.669 KB
10 Mar 2021 9.36 PM
root / root
0644
fetch-package-metadata.js
3.969 KB
10 Mar 2021 9.36 PM
root / root
0644
fetch-package-metadata.md
1.769 KB
10 Mar 2021 9.36 PM
root / root
0644
fund.js
4.908 KB
10 Mar 2021 9.36 PM
root / root
0644
get.js
0.229 KB
10 Mar 2021 9.36 PM
root / root
0644
help-search.js
5.642 KB
10 Mar 2021 9.36 PM
root / root
0644
help.js
6.354 KB
10 Mar 2021 9.36 PM
root / root
0644
hook.js
4.616 KB
10 Mar 2021 9.36 PM
root / root
0644
init.js
2.739 KB
10 Mar 2021 9.36 PM
root / root
0644
install-ci-test.js
0.475 KB
10 Mar 2021 9.36 PM
root / root
0644
install-test.js
0.495 KB
10 Mar 2021 9.36 PM
root / root
0644
install.js
36.47 KB
10 Mar 2021 9.36 PM
root / root
0644
link.js
5.604 KB
10 Mar 2021 9.36 PM
root / root
0644
logout.js
1.259 KB
10 Mar 2021 9.36 PM
root / root
0644
ls.js
16.094 KB
10 Mar 2021 9.36 PM
root / root
0644
npm.js
14.374 KB
10 Mar 2021 9.36 PM
root / root
0644
org.js
4.176 KB
10 Mar 2021 9.36 PM
root / root
0644
outdated.js
12.277 KB
10 Mar 2021 9.36 PM
root / root
0644
owner.js
6.596 KB
10 Mar 2021 9.36 PM
root / root
0644
pack.js
11.785 KB
10 Mar 2021 9.36 PM
root / root
0644
ping.js
1.114 KB
10 Mar 2021 9.36 PM
root / root
0644
prefix.js
0.322 KB
10 Mar 2021 9.36 PM
root / root
0644
profile.js
11.134 KB
10 Mar 2021 9.36 PM
root / root
0644
prune.js
2.228 KB
10 Mar 2021 9.36 PM
root / root
0644
publish.js
5.141 KB
10 Mar 2021 9.36 PM
root / root
0644
rebuild.js
2.093 KB
10 Mar 2021 9.36 PM
root / root
0644
repo.js
1.437 KB
10 Mar 2021 9.36 PM
root / root
0644
restart.js
0.063 KB
10 Mar 2021 9.36 PM
root / root
0644
root.js
0.313 KB
10 Mar 2021 9.36 PM
root / root
0644
run-script.js
5.41 KB
10 Mar 2021 9.36 PM
root / root
0644
search.js
3.361 KB
10 Mar 2021 9.36 PM
root / root
0644
set.js
0.27 KB
10 Mar 2021 9.36 PM
root / root
0644
shrinkwrap.js
9.82 KB
10 Mar 2021 9.36 PM
root / root
0644
star.js
2.106 KB
10 Mar 2021 9.36 PM
root / root
0644
stars.js
1.029 KB
10 Mar 2021 9.36 PM
root / root
0644
start.js
0.061 KB
10 Mar 2021 9.36 PM
root / root
0644
stop.js
0.06 KB
10 Mar 2021 9.36 PM
root / root
0644
substack.js
0.497 KB
10 Mar 2021 9.36 PM
root / root
0644
team.js
4.613 KB
10 Mar 2021 9.36 PM
root / root
0644
test.js
0.365 KB
10 Mar 2021 9.36 PM
root / root
0644
token.js
6.658 KB
10 Mar 2021 9.36 PM
root / root
0644
unbuild.js
4.271 KB
10 Mar 2021 9.36 PM
root / root
0644
uninstall.js
2.208 KB
10 Mar 2021 9.36 PM
root / root
0644
unpublish.js
3.51 KB
10 Mar 2021 9.36 PM
root / root
0644
update.js
2.161 KB
10 Mar 2021 9.36 PM
root / root
0644
version.js
9.794 KB
10 Mar 2021 9.36 PM
root / root
0644
view.js
15.11 KB
10 Mar 2021 9.36 PM
root / root
0644
visnup.js
4.008 KB
10 Mar 2021 9.36 PM
root / root
0644
whoami.js
1.767 KB
10 Mar 2021 9.36 PM
root / root
0644
xmas.js
1.624 KB
10 Mar 2021 9.36 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF