module.exports = async function getPerfRegressions() {
  const browser = await require('puppeteer').launch({ headless: true });
  let page = await browser.newPage();

  // get perf numbers for existing code
  await page.goto(urlForMaster);
  const perfAveragesNow = await runAvailableScenarios(page, componentCount, iterations);
  logger.info(perfAveragesNow);

  // get perf numbers for new code
  await page.goto(urlFromDeployJob);
  const perfAveragesNew = await runAvailableScenarios(page, componentCount, iterations);
  logger.info(perfAveragesNew);

  // Clean up
  await browser.close();

  // Output comment blob and status as task variables
  const comment = createBlobFromResults({ now: perfAveragesNow, new: perfAveragesNew });

  // TODO: determine status according to perf numbers
  const status = 'success';

  logger.info(`Perf evaluation status: ${status}`);
  logger.info(`Writing comment to file:\n${comment}`);

  // Write results to file
  require('fs').writeFileSync(require('path').join('apps/perf-test/dist', 'perfCounts.txt'), comment);

  console.log(`echo ##vso[task.setvariable variable=PerfCommentFilePath;]apps/perf-test/dist/perfCounts.txt`);

  console.log(`echo ##vso[task.setvariable variable=PerfCommentStatus;]${status}`);
};
/**
 * If a file has `@codepen` at the beginning, transform it into a codepen-friendly .Codepen.txt
 * output to the project's lib folder.
 *
 * @param {string} file - Path to the file
 * @param {Function} callback - Callback when done
 */
function transformFile(file, callback) {
  if (readFileStart(file, 150).includes('@codepen')) {
    let fileSource = fs.readFileSync(file).toString();
    const exampleName = path.basename(file, '.tsx');

    // extract the name of the component (relies on component/examples/examplefile.tsx structure)
    const transformResult = transformer(fileSource);
    const dirPath = path.dirname(path.dirname(file)).replace(/((\b)src(\b))(?!.*\1)/, '$2lib/codepen$3');

    if (!fs.existsSync(dirPath)) {
      fs.mkdirpSync(dirPath);
    }

    const outPath = path.join(dirPath, exampleName + '.Codepen.txt');
    logger.info('Writing codepen: ' + outPath);
    fs.writeFileSync(outPath, transformResult);
  }

  callback();
}
 ? () => {
     logger.info(`${name} task is disabled in package.json`);
   }