Linux server2.hpierson.com 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
Apache
: 162.0.216.123 | : 216.73.216.152
28 Domain
?7.4.33
yvffpqmy
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
lib /
node_modules /
npm /
lib /
[ HOME SHELL ]
Name
Size
Permission
Action
?;
auth
[ DIR ]
drwxr-xr-x
?;
config
[ DIR ]
drwxr-xr-x
?;
doctor
[ DIR ]
drwxr-xr-x
?;
install
[ DIR ]
drwxr-xr-x
?;
search
[ DIR ]
drwxr-xr-x
?;
utils
[ DIR ]
drwxr-xr-x
access.js
5.53
KB
-rw-r--r--
adduser.js
1.31
KB
-rw-r--r--
audit.js
10.56
KB
-rw-r--r--
bin.js
515
B
-rw-r--r--
bugs.js
864
B
-rw-r--r--
build.js
4.44
KB
-rw-r--r--
cache.js
4.66
KB
-rw-r--r--
ci.js
1.17
KB
-rw-r--r--
completion.js
7.11
KB
-rw-r--r--
config.js
7.43
KB
-rw-r--r--
dedupe.js
4.88
KB
-rw-r--r--
deprecate.js
2.11
KB
-rw-r--r--
dist-tag.js
4.11
KB
-rw-r--r--
docs.js
1.04
KB
-rw-r--r--
doctor.js
3.98
KB
-rw-r--r--
edit.js
1.37
KB
-rw-r--r--
explore.js
1.69
KB
-rw-r--r--
fetch-package-metadata.js
3.84
KB
-rw-r--r--
fetch-package-metadata.md
1.77
KB
-rw-r--r--
fund.js
5.41
KB
-rw-r--r--
get.js
235
B
-rw-r--r--
help-search.js
5.64
KB
-rw-r--r--
help.js
6.35
KB
-rw-r--r--
hook.js
4.21
KB
-rw-r--r--
init.js
2.74
KB
-rw-r--r--
install-ci-test.js
486
B
-rw-r--r--
install-test.js
507
B
-rw-r--r--
install.js
36.25
KB
-rw-r--r--
link.js
5.6
KB
-rw-r--r--
logout.js
1.26
KB
-rw-r--r--
ls.js
16.09
KB
-rw-r--r--
npm.js
13.97
KB
-rw-r--r--
org.js
4.18
KB
-rw-r--r--
outdated.js
12.28
KB
-rw-r--r--
owner.js
6.6
KB
-rw-r--r--
pack.js
11.79
KB
-rw-r--r--
ping.js
1.11
KB
-rw-r--r--
prefix.js
330
B
-rw-r--r--
profile.js
11.13
KB
-rw-r--r--
prune.js
2.23
KB
-rw-r--r--
publish.js
5.14
KB
-rw-r--r--
rebuild.js
2.09
KB
-rw-r--r--
repo.js
1.44
KB
-rw-r--r--
restart.js
64
B
-rw-r--r--
root.js
320
B
-rw-r--r--
run-script.js
5.41
KB
-rw-r--r--
search.js
3.36
KB
-rw-r--r--
set.js
276
B
-rw-r--r--
shrinkwrap.js
9.82
KB
-rw-r--r--
star.js
2.11
KB
-rw-r--r--
stars.js
1.03
KB
-rw-r--r--
start.js
62
B
-rw-r--r--
stop.js
61
B
-rw-r--r--
substack.js
509
B
-rw-r--r--
team.js
4.54
KB
-rw-r--r--
test.js
374
B
-rw-r--r--
token.js
6.66
KB
-rw-r--r--
unbuild.js
4.27
KB
-rw-r--r--
uninstall.js
2.21
KB
-rw-r--r--
unpublish.js
3.44
KB
-rw-r--r--
update.js
2.16
KB
-rw-r--r--
version.js
9.54
KB
-rw-r--r--
view.js
15.11
KB
-rw-r--r--
visnup.js
4.01
KB
-rw-r--r--
whoami.js
1.77
KB
-rw-r--r--
xmas.js
1.62
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : fund.js
'use strict' const path = require('path') const archy = require('archy') const figgyPudding = require('figgy-pudding') const readPackageTree = require('read-package-tree') const npm = require('./npm.js') const npmConfig = require('./config/figgy-config.js') const fetchPackageMetadata = require('./fetch-package-metadata.js') const computeMetadata = require('./install/deps.js').computeMetadata const readShrinkwrap = require('./install/read-shrinkwrap.js') const mutateIntoLogicalTree = require('./install/mutate-into-logical-tree.js') const output = require('./utils/output.js') const openUrl = require('./utils/open-url.js') const { getFundingInfo, retrieveFunding, validFundingUrl } = require('./utils/funding.js') const FundConfig = figgyPudding({ browser: {}, // used by ./utils/open-url global: {}, json: {}, unicode: {} }) module.exports = fundCmd const usage = require('./utils/usage') fundCmd.usage = usage( 'fund', 'npm fund [--json]', 'npm fund [--browser] [[<@scope>/]<pkg>' ) fundCmd.completion = function (opts, cb) { const argv = opts.conf.argv.remain switch (argv[2]) { case 'fund': return cb(null, []) default: return cb(new Error(argv[2] + ' not recognized')) } } function printJSON (fundingInfo) { return JSON.stringify(fundingInfo, null, 2) } // the human-printable version does some special things that turned out to // be very verbose but hopefully not hard to follow: we stack up items // that have a shared url/type and make sure they're printed at the highest // level possible, in that process they also carry their dependencies along // with them, moving those up in the visual tree function printHuman (fundingInfo, opts) { // mapping logic that keeps track of seen items in order to be able // to push all other items from the same type/url in the same place const seen = new Map() function seenKey ({ type, url } = {}) { return url ? String(type) + String(url) : null } function setStackedItem (funding, result) { const key = seenKey(funding) if (key && !seen.has(key)) seen.set(key, result) } function retrieveStackedItem (funding) { const key = seenKey(funding) if (key && seen.has(key)) return seen.get(key) } // --- const getFundingItems = (fundingItems) => Object.keys(fundingItems || {}).map((fundingItemName) => { // first-level loop, prepare the pretty-printed formatted data const fundingItem = fundingItems[fundingItemName] const { version, funding } = fundingItem const { type, url } = funding || {} const printableVersion = version ? `@${version}` : '' const printableType = type && { label: `type: ${funding.type}` } const printableUrl = url && { label: `url: ${funding.url}` } const result = { fundingItem, label: fundingItemName + printableVersion, nodes: [] } if (printableType) { result.nodes.push(printableType) } if (printableUrl) { result.nodes.push(printableUrl) } setStackedItem(funding, result) return result }).reduce((res, result) => { // recurse and exclude nodes that are going to be stacked together const { fundingItem } = result const { dependencies, funding } = fundingItem const items = getFundingItems(dependencies) const stackedResult = retrieveStackedItem(funding) items.forEach(i => result.nodes.push(i)) if (stackedResult && stackedResult !== result) { stackedResult.label += `, ${result.label}` items.forEach(i => stackedResult.nodes.push(i)) return res } res.push(result) return res }, []) const [ result ] = getFundingItems({ [fundingInfo.name]: { dependencies: fundingInfo.dependencies, funding: fundingInfo.funding, version: fundingInfo.version } }) return archy(result, '', { unicode: opts.unicode }) } function openFundingUrl (packageName, cb) { function getUrlAndOpen (packageMetadata) { const { funding } = packageMetadata const { type, url } = retrieveFunding(funding) || {} const noFundingError = new Error(`No funding method available for: ${packageName}`) noFundingError.code = 'ENOFUND' const typePrefix = type ? `${type} funding` : 'Funding' const msg = `${typePrefix} available at the following URL` if (validFundingUrl(funding)) { openUrl(url, msg, cb) } else { throw noFundingError } } fetchPackageMetadata( packageName, '.', { fullMetadata: true }, function (err, packageMetadata) { if (err) return cb(err) getUrlAndOpen(packageMetadata) } ) } function fundCmd (args, cb) { const opts = FundConfig(npmConfig()) const dir = path.resolve(npm.dir, '..') const packageName = args[0] if (opts.global) { const err = new Error('`npm fund` does not support globals') err.code = 'EFUNDGLOBAL' throw err } if (packageName) { openFundingUrl(packageName, cb) return } readPackageTree(dir, function (err, tree) { if (err) { process.exitCode = 1 return cb(err) } readShrinkwrap.andInflate(tree, function () { const fundingInfo = getFundingInfo( mutateIntoLogicalTree.asReadInstalled( computeMetadata(tree) ) ) const print = opts.json ? printJSON : printHuman output( print( fundingInfo, opts ) ) cb(err, tree) }) }) }
Close