code: function generatePrerelease(prereleaseId) {
      ReleaseOps.generateRelease(prereleaseId);
      const releaseInfo = JSON.parse(cat(".eslint-release-info.json"));
      const nextMajor = semver.inc(releaseInfo.version, "major");
  
      echo("Generating site");
  
      // always write docs into the next major directory (so 2.0.0-alpha.0 writes to 2.0.0)
      target.gensite(nextMajor);
  
      /*
       * Premajor release should have identical "next major version".
       * Preminor and prepatch release will not.
       * 5.0.0-alpha.0 --> next major = 5, current major = 5
       * 4.4.0-alpha.0 --> next major = 5, current major = 4
       * 4.0.1-alpha.0 --> next major = 5, current major = 4
       */
      if (semver.major(releaseInfo.version) === semver.major(nextMajor)) {
  
          /*
           * This prerelease is for a major release (not preminor/prepatch).
           * Blog post generation logic needs to be aware of this (as well as
           * know what the next major version is actually supposed to be).
           */
          generateBlogPost(releaseInfo, nextMajor);
      } else {
          generateBlogPost(releaseInfo);
      }
  
      commitSiteToGit(`v${releaseInfo.version}`);
  }
docs: Updates the changelog, bumps the version number in package.json, creates a local git commit and tag,
  and generates the site in an adjacent `eslint.github.io` folder.
  @param {string} prereleaseId The prerelease identifier (alpha, beta, etc.)
  @returns {void}