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
const EE = require('events') const fs = require('fs') const log = require('./log-shim') // This is an event emiiter but on/off // only listen on a single internal event that gets // emitted whenever a timer ends class Timers extends EE { file = null #unfinished = new Map() #finished = {} #onTimeEnd = Symbol('onTimeEnd') #initialListener = null #initialTimer = null constructor ({ listener = null, start = 'npm' } = {}) { super() this.#initialListener = listener this.#initialTimer = start this.#init() } get unfinished () { return this.#unfinished } get finished () { return this.#finished } #init () { this.on() if (this.#initialListener) { this.on(this.#initialListener) } process.emit('time', this.#initialTimer) this.started = this.#unfinished.get(this.#initialTimer) } on (listener) { if (listener) { super.on(this.#onTimeEnd, listener) } else { process.on('time', this.#timeListener) process.on('timeEnd', this.#timeEndListener) } } off (listener) { if (listener) { super.off(this.#onTimeEnd, listener) } else { this.removeAllListeners(this.#onTimeEnd) process.off('time', this.#timeListener) process.off('timeEnd', this.#timeEndListener) } } time (name, fn) { process.emit('time', name) const end = () => process.emit('timeEnd', name) if (typeof fn === 'function') { const res = fn() return res && res.finally ? res.finally(end) : (end(), res) } return end } load ({ path } = {}) { if (path) { this.file = `${path}timing.json` } } writeFile (metadata) { if (!this.file) { return } try { const globalStart = this.started const globalEnd = this.#finished.npm || Date.now() const content = { metadata, timers: this.#finished, // add any unfinished timers with their relative start/end unfinishedTimers: [...this.#unfinished.entries()].reduce((acc, [name, start]) => { acc[name] = [start - globalStart, globalEnd - globalStart] return acc }, {}), } fs.writeFileSync(this.file, JSON.stringify(content) + '\n') } catch (e) { this.file = null log.warn('timing', `could not write timing file: ${e}`) } } #timeListener = (name) => { this.#unfinished.set(name, Date.now()) } #timeEndListener = (name) => { if (this.#unfinished.has(name)) { const ms = Date.now() - this.#unfinished.get(name) this.#finished[name] = ms this.#unfinished.delete(name) this.emit(this.#onTimeEnd, name, ms) } else { log.silly('timing', "Tried to end timer that doesn't exist:", name) } } } module.exports = Timers