diff --git a/scripts/cli/tasks/grafanaui.build.ts b/scripts/cli/tasks/grafanaui.build.ts index 6fce809bef9..1a48bb1a724 100644 --- a/scripts/cli/tasks/grafanaui.build.ts +++ b/scripts/cli/tasks/grafanaui.build.ts @@ -7,7 +7,7 @@ import { Task, TaskRunner } from './task'; let distDir, cwd; -const clean = useSpinner('Cleaning', async () => await execa('npm', ['run', 'clean'])); +export const clean = useSpinner('Cleaning', async () => await execa('npm', ['run', 'clean'])); const compile = useSpinner('Compiling sources', () => execa('tsc', ['-p', './tsconfig.build.json'])); diff --git a/scripts/cli/tasks/grafanaui.release.ts b/scripts/cli/tasks/grafanaui.release.ts index f0e53a4e7ba..03bcdd0219e 100644 --- a/scripts/cli/tasks/grafanaui.release.ts +++ b/scripts/cli/tasks/grafanaui.release.ts @@ -1,11 +1,11 @@ import execa from 'execa'; import { execTask } from '../utils/execTask'; -import { changeCwdToGrafanaUiDist, changeCwdToGrafanaUi } from '../utils/cwd'; +import { changeCwdToGrafanaUiDist, changeCwdToGrafanaUi, restoreCwd } from '../utils/cwd'; import semver from 'semver'; import inquirer from 'inquirer'; import chalk from 'chalk'; import { useSpinner } from '../utils/useSpinner'; -import { savePackage, buildTask } from './grafanaui.build'; +import { savePackage, buildTask, clean } from './grafanaui.build'; import { TaskRunner, Task } from './task'; type VersionBumpType = 'prerelease' | 'patch' | 'minor' | 'major'; @@ -81,12 +81,6 @@ const bumpVersion = (version: string) => const publishPackage = (name: string, version: string) => useSpinner(`Publishing ${name} @ ${version} to npm registry...`, async () => { changeCwdToGrafanaUiDist(); - console.log(chalk.yellowBright.bold(`\nReview dist package.json before proceeding!\n`)); - const { confirmed } = await promptConfirm('Are you ready to publish to npm?'); - - if (!confirmed) { - process.exit(); - } await execa('npm', ['publish', '--access', 'public']); })(); @@ -111,13 +105,18 @@ const releaseTaskRunner: TaskRunner = async ({ usePackageJsonVersion, createVersionCommit, }) => { - await runChecksAndTests(); + changeCwdToGrafanaUi(); + await clean(); // Clean previous build if exists + restoreCwd(); + if (publishToNpm) { // TODO: Ensure release branch // When need to update this when we star keeping @grafana/ui releases in sync with core await ensureMasterBranch(); } + runChecksAndTests(); + await execTask(buildTask)(); let releaseConfirmed = false; @@ -169,6 +168,13 @@ const releaseTaskRunner: TaskRunner = async ({ } if (publishToNpm) { + console.log(chalk.yellowBright.bold(`\nReview dist package.json before proceeding!\n`)); + const { confirmed } = await promptConfirm('Are you ready to publish to npm?'); + + if (!confirmed) { + process.exit(); + } + await publishPackage(pkg.name, nextVersion); console.log(chalk.green(`\nVersion ${nextVersion} of ${pkg.name} succesfully released!`)); console.log(chalk.yellow(`\nUpdated @grafana/ui/package.json with version bump created.`));