X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs22/root/usr/lib/node_modules/npm/lib/utils
opt
/
alt
/
alt-nodejs22
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
utils
/
ðŸ“
..
📄
audit-error.js
(1.02 KB)
📄
auth.js
(3.21 KB)
📄
cmd-list.js
(2.89 KB)
📄
completion.fish
(1.56 KB)
📄
completion.sh
(1.85 KB)
📄
did-you-mean.js
(1.16 KB)
📄
display.js
(15.38 KB)
📄
error-message.js
(14.79 KB)
📄
explain-dep.js
(3.03 KB)
📄
explain-eresolve.js
(2.56 KB)
📄
format-bytes.js
(629 B)
📄
format-search-stream.js
(4.7 KB)
📄
format.js
(1.91 KB)
📄
get-identity.js
(802 B)
📄
get-workspaces.js
(1.71 KB)
📄
installed-deep.js
(1.1 KB)
📄
installed-shallow.js
(583 B)
📄
is-windows.js
(177 B)
📄
log-file.js
(7.78 KB)
📄
npm-usage.js
(2.02 KB)
📄
open-url.js
(2.36 KB)
📄
output-error.js
(767 B)
📄
ping.js
(262 B)
📄
queryable.js
(9.56 KB)
📄
read-user-info.js
(1.91 KB)
📄
reify-finish.js
(886 B)
📄
reify-output.js
(5.65 KB)
📄
sbom-cyclonedx.js
(5.21 KB)
📄
sbom-spdx.js
(4.59 KB)
📄
tar.js
(3.47 KB)
📄
timers.js
(2.07 KB)
📄
update-workspaces.js
(1013 B)
📄
validate-lockfile.js
(1023 B)
📄
verify-signatures.js
(11.92 KB)
Editing: open-url.js
const { open } = require('@npmcli/promise-spawn') const { output, input } = require('proc-log') const { URL } = require('node:url') const readline = require('node:readline/promises') const { once } = require('node:events') const assertValidUrl = (url) => { try { if (!/^https?:$/.test(new URL(url).protocol)) { throw new Error() } } catch { throw new Error('Invalid URL: ' + url) } } const outputMsg = (json, title, url) => { if (json) { output.buffer({ title, url }) } else { output.standard(`${title}:\n${url}`) } } // attempt to open URL in web-browser, print address otherwise: const openUrl = async (npm, url, title, isFile) => { url = encodeURI(url) const browser = npm.config.get('browser') const json = npm.config.get('json') if (browser === false) { outputMsg(json, title, url) return } // We pass this in as true from the help command so we know we don't have to // check the protocol if (!isFile) { assertValidUrl(url) } try { await input.start(() => open(url, { command: browser === true ? null : browser, })) } catch (err) { if (err.code !== 127) { throw err } outputMsg(json, title, url) } } // Prompt to open URL in browser if possible const openUrlPrompt = async (npm, url, title, prompt, { signal }) => { const browser = npm.config.get('browser') const json = npm.config.get('json') assertValidUrl(url) outputMsg(json, title, url) if (browser === false || !process.stdin.isTTY || !process.stdout.isTTY) { return } const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }) try { await input.read(() => Promise.race([ rl.question(prompt, { signal }), once(rl, 'error'), once(rl, 'SIGINT').then(() => { throw new Error('canceled') }), ])) rl.close() await openUrl(npm, url, 'Browser unavailable. Please open the URL manually') } catch (err) { rl.close() if (err.name !== 'AbortError') { throw err } } } // Rearrange arguments and return a function that takes the two arguments // returned from the npm-profile methods that take an opener const createOpener = (npm, title, prompt = 'Press ENTER to open in the browser...') => (url, opts) => openUrlPrompt(npm, url, title, prompt, opts) module.exports = { openUrl, openUrlPrompt, createOpener, }
Upload File
Create Folder