X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs24/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs24
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
commands
/
??
..
??
access.js
(6.17 KB)
??
adduser.js
(1.29 KB)
??
audit.js
(3.17 KB)
??
bugs.js
(847 B)
??
cache.js
(11.48 KB)
??
ci.js
(4.24 KB)
??
completion.js
(10.83 KB)
??
config.js
(11.48 KB)
??
dedupe.js
(1.42 KB)
??
deprecate.js
(2.43 KB)
??
diff.js
(7.92 KB)
??
dist-tag.js
(5.5 KB)
??
docs.js
(449 B)
??
doctor.js
(9.99 KB)
??
edit.js
(1.72 KB)
??
exec.js
(3.39 KB)
??
explain.js
(3.55 KB)
??
explore.js
(2.11 KB)
??
find-dupes.js
(578 B)
??
fund.js
(6.38 KB)
??
get.js
(538 B)
??
help-search.js
(5.53 KB)
??
help.js
(3.64 KB)
??
init.js
(7.02 KB)
??
install-ci-test.js
(308 B)
??
install-test.js
(303 B)
??
install.js
(5.1 KB)
??
link.js
(5.24 KB)
??
ll.js
(234 B)
??
login.js
(1.29 KB)
??
logout.js
(1.42 KB)
??
ls.js
(18.03 KB)
??
org.js
(3.96 KB)
??
outdated.js
(7.92 KB)
??
owner.js
(5.95 KB)
??
pack.js
(2.77 KB)
??
ping.js
(873 B)
??
pkg.js
(3.58 KB)
??
prefix.js
(309 B)
??
profile.js
(10.3 KB)
??
prune.js
(770 B)
??
publish.js
(9.47 KB)
??
query.js
(3.75 KB)
??
rebuild.js
(2.15 KB)
??
repo.js
(1.24 KB)
??
restart.js
(303 B)
??
root.js
(295 B)
??
run.js
(6.27 KB)
??
sbom.js
(4.47 KB)
??
search.js
(1.83 KB)
??
set.js
(632 B)
??
shrinkwrap.js
(2.63 KB)
??
star.js
(1.88 KB)
??
stars.js
(1.03 KB)
??
start.js
(293 B)
??
stop.js
(288 B)
??
team.js
(4.33 KB)
??
test.js
(288 B)
??
token.js
(7.96 KB)
??
trust
??
undeprecate.js
(302 B)
??
uninstall.js
(1.49 KB)
??
unpublish.js
(5.24 KB)
??
unstar.js
(183 B)
??
update.js
(1.69 KB)
??
version.js
(3.54 KB)
??
view.js
(13.48 KB)
??
whoami.js
(527 B)
Editing: ci.js
const reifyFinish = require('../utils/reify-finish.js') const runScript = require('@npmcli/run-script') const fs = require('node:fs/promises') const path = require('node:path') const { log, time } = require('proc-log') const validateLockfile = require('../utils/validate-lockfile.js') const ArboristWorkspaceCmd = require('../arborist-cmd.js') const getWorkspaces = require('../utils/get-workspaces.js') class CI extends ArboristWorkspaceCmd { static description = 'Clean install a project' static name = 'ci' // These are in the order they will show up in when running "-h" static params = [ 'install-strategy', 'legacy-bundling', 'global-style', 'omit', 'include', 'strict-peer-deps', 'foreground-scripts', 'ignore-scripts', 'allow-git', 'audit', 'bin-links', 'fund', 'dry-run', ...super.params, ] async exec () { if (this.npm.global) { throw Object.assign(new Error('`npm ci` does not work for global packages'), { code: 'ECIGLOBAL', }) } const dryRun = this.npm.config.get('dry-run') const ignoreScripts = this.npm.config.get('ignore-scripts') const where = this.npm.prefix const Arborist = require('@npmcli/arborist') const opts = { ...this.npm.flatOptions, packageLock: true, // npm ci should never skip lock files path: where, save: false, // npm ci should never modify the lockfile or package.json workspaces: this.workspaceNames, } // generate an inventory from the virtual tree in the lockfile const virtualArb = new Arborist(opts) try { await virtualArb.loadVirtual() } catch (err) { log.verbose('loadVirtual', err.stack) const msg = 'The `npm ci` command can only install with an existing package-lock.json or\n' + 'npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or\n' + 'later to generate a package-lock.json file, then try again.' throw this.usageError(msg) } const virtualInventory = new Map(virtualArb.virtualTree.inventory) // Now we make our real Arborist. // We need a new one because the virtual tree fromt the lockfile can have extraneous dependencies in it that won't install on this platform const arb = new Arborist(opts) await arb.buildIdealTree() // Verifies that the packages from the ideal tree will match the same versions that are present in the virtual tree (lock file). const errors = validateLockfile(virtualInventory, arb.idealTree.inventory) if (errors.length) { throw this.usageError( '`npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. ' + 'Please update your lock file with `npm install` before continuing.\n\n' + errors.join('\n') ) } if (!dryRun) { const workspacePaths = await getWorkspaces([], { path: this.npm.localPrefix, includeWorkspaceRoot: true, }) // Only remove node_modules after we've successfully loaded the virtual tree and validated the lockfile await time.start('npm-ci:rm', async () => { return await Promise.all([...workspacePaths.values()].map(async modulePath => { const fullPath = path.join(modulePath, 'node_modules') // get the list of entries so we can skip the glob for performance const entries = await fs.readdir(fullPath, null).catch(() => []) return Promise.all(entries.map(folder => { return fs.rm(path.join(fullPath, folder), { force: true, recursive: true }) })) })) }) } await arb.reify(opts) // run the same set of scripts that `npm install` runs. if (!ignoreScripts) { const scripts = [ 'preinstall', 'install', 'postinstall', 'prepublish', // XXX should we remove this finally?? 'preprepare', 'prepare', 'postprepare', ] const scriptShell = this.npm.config.get('script-shell') || undefined for (const event of scripts) { await runScript({ path: where, args: [], scriptShell, stdio: 'inherit', event, }) } } await reifyFinish(this.npm, arb) } } module.exports = CI
Upload File
Create Folder