$93 GRAYBYTE WORDPRESS FILE MANAGER $69

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cpanel/ea-nodejs22/lib/node_modules/npm/lib/commands/

HOME
Current File : /opt/cpanel/ea-nodejs22/lib/node_modules/npm/lib/commands//init.js
const { statSync } = require('node:fs')
const { relative, resolve } = require('node:path')
const { mkdir } = require('node:fs/promises')
const initJson = require('init-package-json')
const npa = require('npm-package-arg')
const libexec = require('libnpmexec')
const mapWorkspaces = require('@npmcli/map-workspaces')
const PackageJson = require('@npmcli/package-json')
const { log, output, input } = require('proc-log')
const updateWorkspaces = require('../utils/update-workspaces.js')
const BaseCommand = require('../base-cmd.js')

const posixPath = p => p.split('\\').join('/')

class Init extends BaseCommand {
  static description = 'Create a package.json file'
  static params = [
    'init-author-name',
    'init-author-url',
    'init-license',
    'init-module',
    'init-version',
    'yes',
    'force',
    'scope',
    'workspace',
    'workspaces',
    'workspaces-update',
    'include-workspace-root',
  ]

  static name = 'init'
  static usage = [
    '<package-spec> (same as `npx create-<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 { content: pkg } = await PackageJson.normalize(this.npm.localPrefix).catch(err => {
      if (err.code === 'ENOENT') {
        log.warn('init', '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, runPath = 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 {
      flatOptions,
      localBin,
      globalBin,
      chalk,
    } = this.npm
    const scriptShell = this.npm.config.get('script-shell') || undefined
    const yes = this.npm.config.get('yes')

    await libexec({
      ...flatOptions,
      args: newArgs,
      localBin,
      globalBin,
      output,
      chalk,
      path: this.npm.localPrefix,
      runPath,
      scriptShell,
      yes,
    })
  }

  async template (path = process.cwd()) {
    const initFile = this.npm.config.get('init-module')
    if (!this.npm.config.get('yes') && !this.npm.config.get('force')) {
      output.standard([
        '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 input.read(() => 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
      }
    }
  }

  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 {
      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 { content: { name } } = await PackageJson.normalize(path).catch(() => ({ content: {} }))

      if (name) {
        workspaces.push(name)
      }
    }

    const {
      config,
      flatOptions,
      localPrefix,
    } = this.npm

    await updateWorkspaces({
      config,
      flatOptions,
      localPrefix,
      npm: this.npm,
      workspaces,
    })
  }
}

module.exports = Init

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
16 Mar 2026 5.04 PM
root / root
0755
access.js
6.044 KB
17 Jan 2026 1.16 AM
root / root
0644
adduser.js
1.29 KB
17 Jan 2026 1.16 AM
root / root
0644
audit.js
3.146 KB
17 Jan 2026 1.16 AM
root / root
0644
bugs.js
0.827 KB
17 Jan 2026 1.16 AM
root / root
0644
cache.js
7.121 KB
17 Jan 2026 1.16 AM
root / root
0644
ci.js
4.224 KB
17 Jan 2026 1.16 AM
root / root
0644
completion.js
8.902 KB
17 Jan 2026 1.16 AM
root / root
0644
config.js
11.176 KB
17 Jan 2026 1.16 AM
root / root
0644
dedupe.js
1.409 KB
17 Jan 2026 1.16 AM
root / root
0644
deprecate.js
2.131 KB
17 Jan 2026 1.16 AM
root / root
0644
diff.js
7.999 KB
17 Jan 2026 1.16 AM
root / root
0644
dist-tag.js
5.521 KB
17 Jan 2026 1.16 AM
root / root
0644
docs.js
0.438 KB
17 Jan 2026 1.16 AM
root / root
0644
doctor.js
10.104 KB
17 Jan 2026 1.16 AM
root / root
0644
edit.js
1.762 KB
17 Jan 2026 1.16 AM
root / root
0644
exec.js
3.418 KB
17 Jan 2026 1.16 AM
root / root
0644
explain.js
3.575 KB
17 Jan 2026 1.16 AM
root / root
0644
explore.js
2.159 KB
17 Jan 2026 1.16 AM
root / root
0644
find-dupes.js
0.619 KB
17 Jan 2026 1.16 AM
root / root
0644
fund.js
6.455 KB
17 Jan 2026 1.16 AM
root / root
0644
get.js
0.563 KB
17 Jan 2026 1.16 AM
root / root
0644
help-search.js
5.518 KB
17 Jan 2026 1.16 AM
root / root
0644
help.js
3.664 KB
17 Jan 2026 1.16 AM
root / root
0644
hook.js
3.372 KB
17 Jan 2026 1.16 AM
root / root
0644
init.js
6.854 KB
17 Jan 2026 1.16 AM
root / root
0644
install-ci-test.js
0.364 KB
17 Jan 2026 1.16 AM
root / root
0644
install-test.js
0.361 KB
17 Jan 2026 1.16 AM
root / root
0644
install.js
5.153 KB
17 Jan 2026 1.16 AM
root / root
0644
link.js
5.255 KB
17 Jan 2026 1.16 AM
root / root
0644
ll.js
0.229 KB
17 Jan 2026 1.16 AM
root / root
0644
login.js
1.287 KB
17 Jan 2026 1.16 AM
root / root
0644
logout.js
1.419 KB
17 Jan 2026 1.16 AM
root / root
0644
ls.js
16.811 KB
17 Jan 2026 1.16 AM
root / root
0644
org.js
4.024 KB
17 Jan 2026 1.16 AM
root / root
0644
outdated.js
7.695 KB
17 Jan 2026 1.16 AM
root / root
0644
owner.js
5.848 KB
17 Jan 2026 1.16 AM
root / root
0644
pack.js
2.603 KB
17 Jan 2026 1.16 AM
root / root
0644
ping.js
0.853 KB
17 Jan 2026 1.16 AM
root / root
0644
pkg.js
3.556 KB
17 Jan 2026 1.16 AM
root / root
0644
prefix.js
0.327 KB
17 Jan 2026 1.16 AM
root / root
0644
profile.js
10.565 KB
17 Jan 2026 1.16 AM
root / root
0644
prune.js
0.78 KB
17 Jan 2026 1.16 AM
root / root
0644
publish.js
7.375 KB
17 Jan 2026 1.16 AM
root / root
0644
query.js
3.511 KB
17 Jan 2026 1.16 AM
root / root
0644
rebuild.js
2.188 KB
17 Jan 2026 1.16 AM
root / root
0644
repo.js
1.248 KB
17 Jan 2026 1.16 AM
root / root
0644
restart.js
0.303 KB
17 Jan 2026 1.16 AM
root / root
0644
root.js
0.288 KB
17 Jan 2026 1.16 AM
root / root
0644
run-script.js
6.075 KB
17 Jan 2026 1.16 AM
root / root
0644
sbom.js
4.508 KB
17 Jan 2026 1.16 AM
root / root
0644
search.js
1.833 KB
17 Jan 2026 1.16 AM
root / root
0644
set.js
0.655 KB
17 Jan 2026 1.16 AM
root / root
0644
shrinkwrap.js
2.648 KB
17 Jan 2026 1.16 AM
root / root
0644
star.js
1.866 KB
17 Jan 2026 1.16 AM
root / root
0644
stars.js
1.027 KB
17 Jan 2026 1.16 AM
root / root
0644
start.js
0.293 KB
17 Jan 2026 1.16 AM
root / root
0644
stop.js
0.288 KB
17 Jan 2026 1.16 AM
root / root
0644
team.js
4.356 KB
17 Jan 2026 1.16 AM
root / root
0644
test.js
0.288 KB
17 Jan 2026 1.16 AM
root / root
0644
token.js
6.016 KB
17 Jan 2026 1.16 AM
root / root
0644
uninstall.js
1.524 KB
17 Jan 2026 1.16 AM
root / root
0644
unpublish.js
5.268 KB
17 Jan 2026 1.16 AM
root / root
0644
unstar.js
0.179 KB
17 Jan 2026 1.16 AM
root / root
0644
update.js
1.724 KB
17 Jan 2026 1.16 AM
root / root
0644
version.js
3.543 KB
17 Jan 2026 1.16 AM
root / root
0644
view.js
12.799 KB
17 Jan 2026 1.16 AM
root / root
0644
whoami.js
0.515 KB
17 Jan 2026 1.16 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF