X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs19/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs19
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
commands
/
ðŸ“
..
📄
access.js
(6.08 KB)
📄
adduser.js
(1.32 KB)
📄
audit.js
(13.86 KB)
📄
bugs.js
(815 B)
📄
cache.js
(7.07 KB)
📄
ci.js
(3.51 KB)
📄
completion.js
(8.73 KB)
📄
config.js
(10.04 KB)
📄
dedupe.js
(1.4 KB)
📄
deprecate.js
(2.03 KB)
📄
diff.js
(8.12 KB)
📄
dist-tag.js
(5.45 KB)
📄
docs.js
(447 B)
📄
doctor.js
(11.51 KB)
📄
edit.js
(2 KB)
📄
exec.js
(2.54 KB)
📄
explain.js
(3.55 KB)
📄
explore.js
(2.3 KB)
📄
find-dupes.js
(622 B)
📄
fund.js
(6.51 KB)
📄
get.js
(524 B)
📄
help-search.js
(5.49 KB)
📄
help.js
(3.54 KB)
📄
hook.js
(3.77 KB)
📄
init.js
(6.9 KB)
📄
install-ci-test.js
(373 B)
📄
install-test.js
(370 B)
📄
install.js
(5.11 KB)
📄
link.js
(5.15 KB)
📄
ll.js
(234 B)
📄
login.js
(1.32 KB)
📄
logout.js
(1.3 KB)
📄
ls.js
(16.73 KB)
📄
org.js
(4.14 KB)
📄
outdated.js
(8.76 KB)
📄
owner.js
(5.91 KB)
📄
pack.js
(2.37 KB)
📄
ping.js
(917 B)
📄
pkg.js
(3.5 KB)
📄
prefix.js
(303 B)
📄
profile.js
(11.19 KB)
📄
prune.js
(779 B)
📄
publish.js
(6.5 KB)
📄
query.js
(2.9 KB)
📄
rebuild.js
(2.14 KB)
📄
repo.js
(1.24 KB)
📄
restart.js
(310 B)
📄
root.js
(258 B)
📄
run-script.js
(6.81 KB)
📄
search.js
(2.68 KB)
📄
set.js
(572 B)
📄
shrinkwrap.js
(2.64 KB)
📄
star.js
(1.87 KB)
📄
stars.js
(1.03 KB)
📄
start.js
(300 B)
📄
stop.js
(295 B)
📄
team.js
(4.44 KB)
📄
test.js
(295 B)
📄
token.js
(6.64 KB)
📄
uninstall.js
(1.51 KB)
📄
unpublish.js
(4.54 KB)
📄
unstar.js
(182 B)
📄
update.js
(1.71 KB)
📄
version.js
(3.58 KB)
📄
view.js
(14.38 KB)
📄
whoami.js
(474 B)
Editing: init.js
const fs = require('fs') const { relative, resolve } = require('path') const { mkdir } = require('fs/promises') const initJson = require('init-package-json') const npa = require('npm-package-arg') const rpj = require('read-package-json-fast') const libexec = require('libnpmexec') const mapWorkspaces = require('@npmcli/map-workspaces') const PackageJson = require('@npmcli/package-json') const log = require('../utils/log-shim.js') const updateWorkspaces = require('../workspaces/update-workspaces.js') const posixPath = p => p.split('\\').join('/') const BaseCommand = require('../base-command.js') class Init extends BaseCommand { static description = 'Create a package.json file' static params = [ 'yes', 'force', 'scope', 'workspace', 'workspaces', 'workspaces-update', 'include-workspace-root', ] static name = 'init' static usage = [ '<package-spec> (same as `npx <package-spec>`)', '<@scope> (same as `npx <@scope>/create`)', ] static workspaces = true static ignoreImplicitWorkspace = false async exec (args) { // npm exec style if (args.length) { return await this.execCreate(args) } // no args, uses classic init-package-json boilerplate await this.template() } async execWorkspaces (args) { // if the root package is uninitiated, take care of it first if (this.npm.flatOptions.includeWorkspaceRoot) { await this.exec(args) } // reads package.json for the top-level folder first, by doing this we // ensure the command throw if no package.json is found before trying // to create a workspace package.json file or its folders const pkg = await rpj(resolve(this.npm.localPrefix, 'package.json')).catch((err) => { if (err.code === 'ENOENT') { log.warn('Missing package.json. Try with `--include-workspace-root`.') } throw err }) // these are workspaces that are being created, so we cant use // this.setWorkspaces() const filters = this.npm.config.get('workspace') const wPath = filterArg => resolve(this.npm.localPrefix, filterArg) const workspacesPaths = [] // npm-exec style, runs in the context of each workspace filter if (args.length) { for (const filterArg of filters) { const path = wPath(filterArg) await mkdir(path, { recursive: true }) workspacesPaths.push(path) await this.execCreate(args, path) await this.setWorkspace(pkg, path) } return } // no args, uses classic init-package-json boilerplate for (const filterArg of filters) { const path = wPath(filterArg) await mkdir(path, { recursive: true }) workspacesPaths.push(path) await this.template(path) await this.setWorkspace(pkg, path) } // reify packages once all workspaces have been initialized await this.update(workspacesPaths) } async execCreate (args, path = process.cwd()) { const [initerName, ...otherArgs] = args let packageName = initerName // Only a scope, possibly with a version if (/^@[^/]+$/.test(initerName)) { const [, scope, version] = initerName.split('@') packageName = `@${scope}/create` if (version) { packageName = `${packageName}@${version}` } } else { const req = npa(initerName) if (req.type === 'git' && req.hosted) { const { user, project } = req.hosted packageName = initerName.replace(`${user}/${project}`, `${user}/create-${project}`) } else if (req.registry) { packageName = `${req.name.replace(/^(@[^/]+\/)?/, '$1create-')}@${req.rawSpec}` } else { throw Object.assign(new Error( 'Unrecognized initializer: ' + initerName + '\nFor more package binary executing power check out `npx`:' + '\nhttps://docs.npmjs.com/cli/commands/npx' ), { code: 'EUNSUPPORTED' }) } } const newArgs = [packageName, ...otherArgs] const { color } = this.npm.flatOptions const { flatOptions, localBin, globalBin, } = this.npm const output = this.npm.output.bind(this.npm) const runPath = path const scriptShell = this.npm.config.get('script-shell') || undefined const yes = this.npm.config.get('yes') await libexec({ ...flatOptions, args: newArgs, color, localBin, globalBin, output, path, runPath, scriptShell, yes, }) } async template (path = process.cwd()) { log.pause() log.disableProgress() const initFile = this.npm.config.get('init-module') if (!this.npm.config.get('yes') && !this.npm.config.get('force')) { this.npm.output([ 'This utility will walk you through creating a package.json file.', 'It only covers the most common items, and tries to guess sensible defaults.', '', 'See `npm help init` for definitive documentation on these fields', 'and exactly what they do.', '', 'Use `npm install <pkg>` afterwards to install a package and', 'save it as a dependency in the package.json file.', '', 'Press ^C at any time to quit.', ].join('\n')) } try { const data = await initJson(path, initFile, this.npm.config) log.silly('package data', data) return data } catch (er) { if (er.message === 'canceled') { log.warn('init', 'canceled') } else { throw er } } finally { log.resume() log.enableProgress() } } async setWorkspace (pkg, workspacePath) { const workspaces = await mapWorkspaces({ cwd: this.npm.localPrefix, pkg }) // skip setting workspace if current package.json glob already satisfies it for (const wPath of workspaces.values()) { if (wPath === workspacePath) { return } } // if a create-pkg didn't generate a package.json at the workspace // folder level, it might not be recognized as a workspace by // mapWorkspaces, so we're just going to avoid touching the // top-level package.json try { fs.statSync(resolve(workspacePath, 'package.json')) } catch (err) { return } const pkgJson = await PackageJson.load(this.npm.localPrefix) pkgJson.update({ workspaces: [ ...(pkgJson.content.workspaces || []), posixPath(relative(this.npm.localPrefix, workspacePath)), ], }) await pkgJson.save() } async update (workspacesPaths) { // translate workspaces paths into an array containing workspaces names const workspaces = [] for (const path of workspacesPaths) { const { name } = await rpj(resolve(path, 'package.json')).catch(() => ({})) if (name) { workspaces.push(name) } } const { config, flatOptions, localPrefix, } = this.npm await updateWorkspaces({ config, flatOptions, localPrefix, npm: this.npm, workspaces, }) } } module.exports = Init
Upload File
Create Folder