Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 13.58.77.244
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/alt-nodejs18/root/lib/node_modules/npm/lib/utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/alt-nodejs18/root/lib/node_modules/npm/lib/utils/timers.js
const EE = require('node:events')
const fs = require('node:fs')
const { log, time } = require('proc-log')

const INITIAL_TIMER = 'npm'

class Timers extends EE {
  #file
  #timing

  #unfinished = new Map()
  #finished = {}

  constructor () {
    super()
    this.on()
    time.start(INITIAL_TIMER)
    this.started = this.#unfinished.get(INITIAL_TIMER)
  }

  on () {
    process.on('time', this.#timeHandler)
  }

  off () {
    process.off('time', this.#timeHandler)
  }

  load ({ path, timing } = {}) {
    this.#timing = timing
    this.#file = `${path}timing.json`
  }

  finish (metadata) {
    time.end(INITIAL_TIMER)

    for (const [name, timer] of this.#unfinished) {
      log.silly('unfinished npm timer', name, timer)
    }

    if (!this.#timing) {
      // Not in timing mode, nothing else to do here
      return
    }

    try {
      this.#writeFile(metadata)
      log.info('timing', `Timing info written to: ${this.#file}`)
    } catch (e) {
      log.warn('timing', `could not write timing file: ${e}`)
    }
  }

  #writeFile (metadata) {
    const globalStart = this.started
    const globalEnd = this.#finished[INITIAL_TIMER]
    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')
  }

  #timeHandler = (level, name) => {
    const now = Date.now()
    switch (level) {
      case time.KEYS.start:
        this.#unfinished.set(name, now)
        break
      case time.KEYS.end: {
        if (this.#unfinished.has(name)) {
          const ms = now - this.#unfinished.get(name)
          this.#finished[name] = ms
          this.#unfinished.delete(name)
          log.timing(name, `Completed in ${ms}ms`)
        } else {
          log.silly('timing', `Tried to end timer that doesn't exist: ${name}`)
        }
      }
    }
  }
}

module.exports = Timers

Youez - 2016 - github.com/yon3zu
LinuXploit