HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/node_modules/npm/node_modules/@npmcli/run-script/lib/package-envs.js
const packageEnvs = (vals, prefix, env = {}) => {
  for (const [key, val] of Object.entries(vals)) {
    if (val === undefined) {
      continue
    } else if (val === null || val === false) {
      env[`${prefix}${key}`] = ''
    } else if (Array.isArray(val)) {
      val.forEach((item, index) => {
        packageEnvs({ [`${key}_${index}`]: item }, `${prefix}`, env)
      })
    } else if (typeof val === 'object') {
      packageEnvs(val, `${prefix}${key}_`, env)
    } else {
      env[`${prefix}${key}`] = String(val)
    }
  }
  return env
}

// https://github.com/npm/rfcs/pull/183 defines which fields we put into the environment
module.exports = pkg => {
  return packageEnvs({
    name: pkg.name,
    version: pkg.version,
    config: pkg.config,
    engines: pkg.engines,
    bin: pkg.bin,
  }, 'npm_package_')
}