Skip to content

Commit

Permalink
[compiler] Clean up publish script
Browse files Browse the repository at this point in the history
Few small tweaks to make it easier to run adhoc publishes
  • Loading branch information
poteto committed Oct 17, 2024
1 parent bf7e210 commit 4ddc27f
Showing 1 changed file with 30 additions and 25 deletions.
55 changes: 30 additions & 25 deletions compiler/scripts/release/publish.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,19 @@ async function main() {
type: 'boolean',
default: false,
})
.option('tags', {
description: 'Tags to publish to npm',
type: 'string',
.option('tag', {
description: 'Tag to publish to npm',
type: 'choices',
choices: ['experimental', 'beta'],
default: 'experimental',
})
.option('version-name', {
description: 'Version name',
type: 'string',
default: '0.0.0',
})
.help('help')
.strict()
.parseSync();

if (argv.debug === false) {
Expand Down Expand Up @@ -125,7 +132,7 @@ async function main() {
files: {exclude: ['.DS_Store']},
});
const truncatedHash = hash.slice(0, 7);
const newVersion = `0.0.0-experimental-${truncatedHash}-${dateString}`;
const newVersion = `${argv.versionName}-${argv.tag}-${truncatedHash}-${dateString}`;

for (const pkgName of pkgNames) {
const pkgDir = path.resolve(__dirname, `../../packages/${pkgName}`);
Expand Down Expand Up @@ -179,29 +186,27 @@ async function main() {
spinner.succeed(`Successfully published ${pkgName} to npm`);

spinner.start('Pushing tags to npm');
if (typeof argv.tags === 'string') {
for (const tag of argv.tags.split(',')) {
try {
let opts = ['dist-tag', 'add', `${pkgName}@${newVersion}`, tag];
if (otp != null) {
opts.push(`--otp=${otp}`);
}
if (argv.debug === true) {
spinner.info(`dry-run: npm ${opts.join(' ')}`);
} else {
await spawnHelper('npm', opts, {
cwd: pkgDir,
stdio: 'inherit',
});
}
} catch (e) {
spinner.fail(e.toString());
throw e;
if (typeof argv.tag === 'string') {
try {
let opts = ['dist-tag', 'add', `${pkgName}@${newVersion}`, tag];
if (otp != null) {
opts.push(`--otp=${otp}`);
}
spinner.succeed(
`Successfully pushed dist-tag ${tag} for ${pkgName} to npm`
);
if (argv.debug === true) {
spinner.info(`dry-run: npm ${opts.join(' ')}`);
} else {
await spawnHelper('npm', opts, {
cwd: pkgDir,
stdio: 'inherit',
});
}
} catch (e) {
spinner.fail(e.toString());
throw e;
}
spinner.succeed(
`Successfully pushed dist-tag ${tag} for ${pkgName} to npm`
);
}
}

Expand Down

0 comments on commit 4ddc27f

Please sign in to comment.