const path = require('path'); const fs = require('fs'); const execSync = require('child_process').execSync; // Compare current HEAD to upstream main SHA. // If they are not equal - refuse to publish since // we're not tip-of-tree. const upstream_sha = execSync( `git ls-remote https://github.com/puppeteer/puppeteer --tags main | cut -f1` ).toString('utf8'); const current_sha = execSync(`git rev-parse HEAD`).toString('utf8'); if (upstream_sha.trim() !== current_sha.trim()) { console.log('REFUSING TO PUBLISH: this is not tip-of-tree!'); process.exit(1); } const package = require('../package.json'); let version = package.version; const dashIndex = version.indexOf('-'); if (dashIndex !== -1) version = version.substring(0, dashIndex); version += '-next.' + Date.now(); console.log('Setting version to ' + version); package.version = version; fs.writeFileSync( path.join(__dirname, '..', 'package.json'), JSON.stringify(package, undefined, 2) + '\n' ); console.log( 'IMPORTANT: you should update the pinned version of devtools-protocol to match the new revision.' );