File Explorer

/proc/self/root/proc/1/task/1/root/node24/lib/node_modules/npm/node_modules/@npmcli/agent/lib

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

dns.js1.2 KB · 54 lines
'use strict' const { LRUCache } = require('lru-cache')const dns = require('dns') // this is a factory so that each request can have its own opts (i.e. ttl)// while still sharing the cache across all requestsconst cache = new LRUCache({ max: 50 }) const getOptions = ({  family = 0,  hints = dns.ADDRCONFIG,  all = false,  verbatim = undefined,  ttl = 5 * 60 * 1000,  lookup = dns.lookup,}) => ({  // hints and lookup are returned since both are top level properties to (net|tls).connect  hints,  lookup: (hostname, ...args) => {    const callback = args.pop() // callback is always last arg    const lookupOptions = args[0] ?? {}     const options = {      family,      hints,      all,      verbatim,      ...(typeof lookupOptions === 'number' ? { family: lookupOptions } : lookupOptions),    }     const key = JSON.stringify({ hostname, ...options })     if (cache.has(key)) {      const cached = cache.get(key)      return process.nextTick(callback, null, ...cached)    }     lookup(hostname, options, (err, ...result) => {      if (err) {        return callback(err)      }       cache.set(key, result, { ttl })      return callback(null, ...result)    })  },}) module.exports = {  cache,  getOptions,}