Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
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 /
commands /
Delete
Unzip
Name
Size
Permission
Date
Action
access.js
6.04
KB
-rw-r--r--
2024-07-09 00:04
adduser.js
1.29
KB
-rw-r--r--
2024-05-09 19:00
audit.js
3.15
KB
-rw-r--r--
2024-07-09 00:04
bugs.js
847
B
-rw-r--r--
2023-10-14 15:00
cache.js
7.12
KB
-rw-r--r--
2025-03-27 09:29
ci.js
4.22
KB
-rw-r--r--
2024-07-09 00:04
completion.js
8.9
KB
-rw-r--r--
2024-07-09 00:04
config.js
11.18
KB
-rw-r--r--
2025-03-27 09:29
dedupe.js
1.41
KB
-rw-r--r--
2024-05-09 19:00
deprecate.js
2.13
KB
-rw-r--r--
2025-03-27 09:29
diff.js
8.14
KB
-rw-r--r--
2025-03-27 09:29
dist-tag.js
5.52
KB
-rw-r--r--
2025-03-27 09:29
docs.js
449
B
-rw-r--r--
2024-05-09 19:00
doctor.js
10.1
KB
-rw-r--r--
2025-03-27 09:29
edit.js
1.76
KB
-rw-r--r--
2024-07-09 00:04
exec.js
3.42
KB
-rw-r--r--
2024-07-09 00:04
explain.js
3.58
KB
-rw-r--r--
2025-03-27 09:29
explore.js
2.16
KB
-rw-r--r--
2024-07-09 00:04
find-dupes.js
634
B
-rw-r--r--
2024-05-09 19:00
fund.js
6.46
KB
-rw-r--r--
2024-07-09 00:04
get.js
577
B
-rw-r--r--
2024-05-09 19:00
help-search.js
5.52
KB
-rw-r--r--
2024-05-09 19:00
help.js
3.66
KB
-rw-r--r--
2024-07-09 00:04
hook.js
3.37
KB
-rw-r--r--
2025-03-27 09:29
init.js
6.85
KB
-rw-r--r--
2025-03-27 09:29
install-ci-test.js
373
B
-rw-r--r--
2024-05-09 19:00
install-test.js
370
B
-rw-r--r--
2024-05-09 19:00
install.js
5.15
KB
-rw-r--r--
2025-03-27 09:29
link.js
5.3
KB
-rw-r--r--
2025-03-27 09:29
ll.js
234
B
-rw-r--r--
2022-10-11 19:59
login.js
1.29
KB
-rw-r--r--
2024-05-09 19:00
logout.js
1.42
KB
-rw-r--r--
2024-05-09 19:00
ls.js
16.81
KB
-rw-r--r--
2025-03-27 09:29
org.js
4.02
KB
-rw-r--r--
2025-03-27 09:29
outdated.js
7.7
KB
-rw-r--r--
2024-07-13 15:00
owner.js
5.85
KB
-rw-r--r--
2024-07-09 00:04
pack.js
2.6
KB
-rw-r--r--
2025-03-27 09:29
ping.js
873
B
-rw-r--r--
2024-07-09 00:04
pkg.js
3.56
KB
-rw-r--r--
2025-03-27 09:29
prefix.js
335
B
-rw-r--r--
2025-03-27 09:29
profile.js
10.57
KB
-rw-r--r--
2024-07-09 00:04
prune.js
799
B
-rw-r--r--
2024-05-09 19:00
publish.js
7.19
KB
-rw-r--r--
2025-03-27 09:29
query.js
3.51
KB
-rw-r--r--
2024-07-09 00:04
rebuild.js
2.19
KB
-rw-r--r--
2024-07-09 00:04
repo.js
1.25
KB
-rw-r--r--
2025-03-27 09:29
restart.js
310
B
-rw-r--r--
2023-01-17 19:00
root.js
295
B
-rw-r--r--
2024-05-09 19:00
run-script.js
6.04
KB
-rw-r--r--
2025-03-27 09:29
sbom.js
4.51
KB
-rw-r--r--
2025-03-27 09:29
search.js
1.83
KB
-rw-r--r--
2024-05-09 19:00
set.js
671
B
-rw-r--r--
2024-05-09 19:00
shrinkwrap.js
2.65
KB
-rw-r--r--
2024-07-09 00:04
star.js
1.87
KB
-rw-r--r--
2025-03-27 09:29
stars.js
1.03
KB
-rw-r--r--
2025-03-27 09:29
start.js
300
B
-rw-r--r--
2023-01-17 19:00
stop.js
295
B
-rw-r--r--
2023-01-17 19:00
team.js
4.36
KB
-rw-r--r--
2024-07-09 00:04
test.js
295
B
-rw-r--r--
2023-01-17 19:00
token.js
6.02
KB
-rw-r--r--
2025-03-27 09:29
uninstall.js
1.52
KB
-rw-r--r--
2024-07-09 00:04
unpublish.js
5.27
KB
-rw-r--r--
2025-03-27 09:29
unstar.js
183
B
-rw-r--r--
2024-05-09 19:00
update.js
1.72
KB
-rw-r--r--
2024-07-09 00:04
version.js
3.54
KB
-rw-r--r--
2025-03-27 09:29
view.js
12.8
KB
-rw-r--r--
2025-03-27 09:29
whoami.js
527
B
-rw-r--r--
2024-07-09 00:04
Save
Rename
const { readdir } = require('node:fs/promises') const { resolve } = require('node:path') const npa = require('npm-package-arg') const pkgJson = require('@npmcli/package-json') const semver = require('semver') const reifyFinish = require('../utils/reify-finish.js') const ArboristWorkspaceCmd = require('../arborist-cmd.js') class Link extends ArboristWorkspaceCmd { static description = 'Symlink a package folder' static name = 'link' static usage = [ '[<package-spec>]', ] static params = [ 'save', 'save-exact', 'global', 'install-strategy', 'legacy-bundling', 'global-style', 'strict-peer-deps', 'package-lock', 'omit', 'include', 'ignore-scripts', 'audit', 'bin-links', 'fund', 'dry-run', ...super.params, ] static async completion (opts, npm) { const dir = npm.globalDir const files = await readdir(dir) return files.filter(f => !/^[._-]/.test(f)) } async exec (args) { if (this.npm.global) { throw Object.assign( new Error( 'link should never be --global.\n' + 'Please re-run this command with --local' ), { code: 'ELINKGLOBAL' } ) } // install-links is implicitly false when running `npm link` this.npm.config.set('install-links', false) // link with no args: symlink the folder to the global location // link with package arg: symlink the global to the local args = args.filter(a => resolve(a) !== this.npm.prefix) return args.length ? this.linkInstall(args) : this.linkPkg() } async linkInstall (args) { // load current packages from the global space, // and then add symlinks installs locally const globalTop = resolve(this.npm.globalDir, '..') const Arborist = require('@npmcli/arborist') const globalOpts = { ...this.npm.flatOptions, Arborist, path: globalTop, global: true, prune: false, } const globalArb = new Arborist(globalOpts) // get only current top-level packages from the global space const globals = await globalArb.loadActual({ filter: (node, kid) => !node.isRoot || args.some(a => npa(a).name === kid), }) // any extra arg that is missing from the current // global space should be reified there first const missing = this.missingArgsFromTree(globals, args) if (missing.length) { await globalArb.reify({ ...globalOpts, add: missing, }) } // get a list of module names that should be linked in the local prefix const names = [] for (const a of args) { const arg = npa(a) if (arg.type === 'directory') { const { content } = await pkgJson.normalize(arg.fetchSpec) names.push(content.name) } else { names.push(arg.name) } } // npm link should not save=true by default unless you're // using any of --save-dev or other types const save = Boolean( (this.npm.config.find('save') !== 'default' && this.npm.config.get('save')) || this.npm.config.get('save-optional') || this.npm.config.get('save-peer') || this.npm.config.get('save-dev') || this.npm.config.get('save-prod') ) // create a new arborist instance for the local prefix and // reify all the pending names as symlinks there const localArb = new Arborist({ ...this.npm.flatOptions, prune: false, path: this.npm.prefix, save, }) await localArb.reify({ ...this.npm.flatOptions, prune: false, path: this.npm.prefix, add: names.map(l => `file:${resolve(globalTop, 'node_modules', l).replace(/#/g, '%23')}`), save, workspaces: this.workspaceNames, }) await reifyFinish(this.npm, localArb) } async linkPkg () { const wsp = this.workspacePaths const paths = wsp && wsp.length ? wsp : [this.npm.prefix] const add = paths.map(path => `file:${path.replace(/#/g, '%23')}`) const globalTop = resolve(this.npm.globalDir, '..') const Arborist = require('@npmcli/arborist') const arb = new Arborist({ ...this.npm.flatOptions, Arborist, path: globalTop, global: true, }) await arb.reify({ add, }) await reifyFinish(this.npm, arb) } // Returns a list of items that can't be fulfilled by // things found in the current arborist inventory missingArgsFromTree (tree, args) { if (tree.isLink) { return this.missingArgsFromTree(tree.target, args) } const foundNodes = [] const missing = args.filter(a => { const arg = npa(a) const nodes = tree.children.values() const argFound = [...nodes].every(node => { // TODO: write tests for unmatching version specs, this is hard to test // atm but should be simple once we have a mocked registry again if (arg.name !== node.name /* istanbul ignore next */ || ( arg.version && /* istanbul ignore next */ !semver.satisfies(node.version, arg.version) )) { foundNodes.push(node) return true } }) return argFound }) // remote nodes from the loaded tree in order // to avoid dropping them later when reifying for (const node of foundNodes) { node.parent = null } return missing } } module.exports = Link