Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
node_modules /
npm /
lib /
utils /
Delete
Unzip
Name
Size
Permission
Date
Action
completion
[ DIR ]
drwxr-xr-x
2025-04-07 20:36
audit-error.js
1.02
KB
-rw-r--r--
2024-04-10 09:40
auth.js
2.8
KB
-rw-r--r--
2023-02-19 06:00
cmd-list.js
2.89
KB
-rw-r--r--
2023-10-24 06:00
completion.fish
1.56
KB
-rw-r--r--
2023-06-20 17:20
completion.sh
1.85
KB
-rwxr-xr-x
2022-10-11 10:59
did-you-mean.js
1.45
KB
-rw-r--r--
2023-08-09 13:29
display.js
6.48
KB
-rw-r--r--
2024-02-19 06:00
error-message.js
13.53
KB
-rw-r--r--
2024-04-10 09:40
exit-handler.js
6.78
KB
-rw-r--r--
2024-04-10 09:40
explain-dep.js
3.5
KB
-rw-r--r--
2023-06-20 17:20
explain-eresolve.js
2.56
KB
-rw-r--r--
2023-08-09 13:29
format-bytes.js
629
B
-rw-r--r--
2022-10-11 10:59
format-search-stream.js
3.82
KB
-rw-r--r--
2024-03-03 10:00
get-identity.js
802
B
-rw-r--r--
2022-12-07 06:00
is-windows.js
233
B
-rw-r--r--
2022-10-11 10:59
log-file.js
7.1
KB
-rw-r--r--
2024-02-19 06:00
log-shim.js
1.68
KB
-rw-r--r--
2022-10-11 10:59
npm-usage.js
2.02
KB
-rw-r--r--
2023-08-09 13:29
open-url-prompt.js
1.4
KB
-rw-r--r--
2024-02-19 06:00
open-url.js
1.08
KB
-rw-r--r--
2023-11-30 06:00
otplease.js
1.23
KB
-rw-r--r--
2022-12-07 06:00
ping.js
252
B
-rw-r--r--
2022-10-11 10:59
pulse-till-done.js
412
B
-rw-r--r--
2022-10-11 10:59
queryable.js
9.43
KB
-rw-r--r--
2023-11-05 06:00
read-user-info.js
2
KB
-rw-r--r--
2024-04-10 09:40
reify-finish.js
876
B
-rw-r--r--
2022-10-11 10:59
reify-output.js
6.02
KB
-rw-r--r--
2024-03-03 10:00
replace-info.js
807
B
-rw-r--r--
2024-04-10 09:40
sbom-cyclonedx.js
5.2
KB
-rw-r--r--
2023-11-30 06:00
sbom-spdx.js
4.58
KB
-rw-r--r--
2024-02-19 06:00
tar.js
3.9
KB
-rw-r--r--
2022-12-07 06:00
timers.js
2.73
KB
-rw-r--r--
2022-12-07 06:00
update-notifier.js
4.08
KB
-rw-r--r--
2024-03-03 10:00
validate-lockfile.js
1023
B
-rw-r--r--
2022-10-11 10:59
web-auth.js
558
B
-rw-r--r--
2022-10-11 10:59
Save
Rename
// print a banner telling the user to upgrade npm to latest // but not in CI, and not if we're doing that already. // Check daily for betas, and weekly otherwise. const ciInfo = require('ci-info') const semver = require('semver') const { stat, writeFile } = require('fs/promises') const { resolve } = require('path') // update check frequency const DAILY = 1000 * 60 * 60 * 24 const WEEKLY = DAILY * 7 // don't put it in the _cacache folder, just in npm's cache const lastCheckedFile = npm => resolve(npm.flatOptions.cache, '../_update-notifier-last-checked') // Actual check for updates. This is a separate function so that we only load // this if we are doing the actual update const updateCheck = async (npm, spec, version, current) => { const pacote = require('pacote') const mani = await pacote.manifest(`npm@${spec}`, { // always prefer latest, even if doing --tag=whatever on the cmd defaultTag: 'latest', ...npm.flatOptions, cache: false, }).catch(() => null) // if pacote failed, give up if (!mani) { return null } const latest = mani.version // if the current version is *greater* than latest, we're on a 'next' // and should get the updates from that release train. // Note that this isn't another http request over the network, because // the packument will be cached by pacote from previous request. if (semver.gt(version, latest) && spec === 'latest') { return updateNotifier(npm, `^${version}`) } // if we already have something >= the desired spec, then we're done if (semver.gte(version, latest)) { return null } const useColor = npm.logColor const chalk = npm.logChalk // ok! notify the user about this update they should get. // The message is saved for printing at process exit so it will not get // lost in any other messages being printed as part of the command. const update = semver.parse(mani.version) const type = update.major !== current.major ? 'major' : update.minor !== current.minor ? 'minor' : update.patch !== current.patch ? 'patch' : 'prerelease' const typec = type === 'major' ? chalk.red(type) : type === 'minor' ? chalk.yellow(type) : chalk.green(type) const oldc = chalk.red(current) const latestc = chalk.green(latest) const changelog = `https://github.com/npm/cli/releases/tag/v${latest}` const changelogc = !useColor ? `<${changelog}>` : chalk.cyan(changelog) const cmd = `npm install -g npm@${latest}` const cmdc = !useColor ? `\`${cmd}\`` : chalk.green(cmd) const message = `\nNew ${typec} version of npm available! ` + `${oldc} -> ${latestc}\n` + `Changelog: ${changelogc}\n` + `Run ${cmdc} to update!\n` return message } const updateNotifier = async (npm, spec = 'latest') => { // if we're on a prerelease train, then updates are coming fast // check for a new one daily. otherwise, weekly. const { version } = npm const current = semver.parse(version) // if we're on a beta train, always get the next beta if (current.prerelease.length) { spec = `^${version}` } // while on a beta train, get updates daily const duration = spec !== 'latest' ? DAILY : WEEKLY const t = new Date(Date.now() - duration) // if we don't have a file, then definitely check it. const st = await stat(lastCheckedFile(npm)).catch(() => ({ mtime: t - 1 })) // if we've already checked within the specified duration, don't check again if (!(t > st.mtime)) { return null } // intentional. do not await this. it's a best-effort update. if this // fails, it's ok. might be using /dev/null as the cache or something weird // like that. writeFile(lastCheckedFile(npm), '').catch(() => {}) return updateCheck(npm, spec, version, current) } // only update the notification timeout if we actually finished checking module.exports = npm => { if ( // opted out !npm.config.get('update-notifier') // global npm update || (npm.flatOptions.global && ['install', 'update'].includes(npm.command) && npm.argv.some(arg => /^npm(@|$)/.test(arg))) // CI || ciInfo.isCI ) { return Promise.resolve(null) } return updateNotifier(npm) }