Home / Function/ run() — react Function Reference

run() — react Function Reference

Architecture documentation for the run() function in confirm-stable-version-numbers.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  47a978ee_0070_2641_cae3_70c9d08e1e95["run()"]
  67f1dc15_c969_e21d_1091_73f13bf6d0da["confirm-stable-version-numbers.js"]
  47a978ee_0070_2641_cae3_70c9d08e1e95 -->|defined in| 67f1dc15_c969_e21d_1091_73f13bf6d0da
  style 47a978ee_0070_2641_cae3_70c9d08e1e95 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

scripts/release/prepare-release-from-npm-commands/confirm-stable-version-numbers.js lines 10–67

const run = async ({ci, skipPackages}, versionsMap) => {
  const groupedVersionsMap = new Map();

  // Group packages with the same source versions.
  // We want these to stay lock-synced anyway.
  // This will require less redundant input from the user later,
  // and reduce the likelihood of human error (entering the wrong version).
  versionsMap.forEach((version, packageName) => {
    if (!groupedVersionsMap.has(version)) {
      groupedVersionsMap.set(version, [packageName]);
    } else {
      groupedVersionsMap.get(version).push(packageName);
    }
  });

  if (ci !== true) {
    // Prompt user to confirm or override each version group if not running in CI.
    const entries = [...groupedVersionsMap.entries()];
    for (let i = 0; i < entries.length; i++) {
      const [bestGuessVersion, packages] = entries[i];
      const packageNames = packages.map(name => theme.package(name)).join(', ');

      let version = bestGuessVersion;
      if (
        skipPackages.some(skipPackageName => packages.includes(skipPackageName))
      ) {
        await confirm(
          theme`{spinnerSuccess ✓} Version for ${packageNames} will remain {version ${bestGuessVersion}}`
        );
      } else {
        const defaultVersion = bestGuessVersion
          ? theme.version(` (default ${bestGuessVersion})`)
          : '';
        version =
          (await prompt(
            theme`{spinnerSuccess ✓} Version for ${packageNames}${defaultVersion}: `
          )) || bestGuessVersion;
        prompt.done();
      }

      // Verify a valid version has been supplied.
      try {
        semver(version);

        packages.forEach(packageName => {
          versionsMap.set(packageName, version);
        });
      } catch (error) {
        console.log(
          theme`{spinnerError ✘} Version {version ${version}} is invalid.`
        );

        // Prompt again
        i--;
      }
    }
  }
};

Domain

Subdomains

Frequently Asked Questions

What does run() do?
run() is a function in the react codebase, defined in scripts/release/prepare-release-from-npm-commands/confirm-stable-version-numbers.js.
Where is run() defined?
run() is defined in scripts/release/prepare-release-from-npm-commands/confirm-stable-version-numbers.js at line 10.

Analyze Your Own Codebase

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

Try Supermodel Free