Home / Function/ run() — react Function Reference

run() — react Function Reference

Architecture documentation for the run() function in check-npm-permissions.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  36d63bd0_1ef2_f488_3818_5d9ac9052549["run()"]
  b0d4f8ba_3737_8130_452a_505717b08325["check-npm-permissions.js"]
  36d63bd0_1ef2_f488_3818_5d9ac9052549 -->|defined in| b0d4f8ba_3737_8130_452a_505717b08325
  style 36d63bd0_1ef2_f488_3818_5d9ac9052549 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

scripts/release/publish-commands/check-npm-permissions.js lines 8–42

const run = async ({cwd, packages, version}) => {
  const currentUser = await execRead('npm whoami');
  const failedProjects = [];

  const checkProject = async project => {
    const owners = (await execRead(`npm owner ls ${project}`))
      .split('\n')
      .filter(owner => owner)
      .map(owner => owner.split(' ')[0]);

    if (!owners.includes(currentUser)) {
      failedProjects.push(project);
    }
  };

  await logPromise(
    Promise.all(packages.map(checkProject)),
    theme`Checking NPM permissions for {underline ${currentUser}}.`
  );

  if (failedProjects.length) {
    console.error(
      theme`
      {error Insufficient NPM permissions}
      \nNPM user {underline ${currentUser}} is not an owner for: ${failedProjects
        .map(name => theme.package(name))
        .join(', ')}
      \nPlease contact a React team member to be added to the above project(s).
      `
        .replace(/\n +/g, '\n')
        .trim()
    );
    process.exit(1);
  }
};

Domain

Subdomains

Frequently Asked Questions

What does run() do?
run() is a function in the react codebase, defined in scripts/release/publish-commands/check-npm-permissions.js.
Where is run() defined?
run() is defined in scripts/release/publish-commands/check-npm-permissions.js at line 8.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free