From 0542e1fe732ced869f8a9d51c3b8bca21970d5d0 Mon Sep 17 00:00:00 2001 From: Cody Kaup Date: Fri, 4 Oct 2024 09:46:40 -0500 Subject: [PATCH 1/3] Use custom build script to temporarily bump version and build --- package.json | 2 +- scripts/versionAndBuild.mjs | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 scripts/versionAndBuild.mjs diff --git a/package.json b/package.json index 7daf4bdd7..16517b38b 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "lint": "yarn lint:js bin-src node-src test-stories ./isChromatic.js ./isChromatic.mjs", "lint:js": "cross-env NODE_ENV=production eslint --cache --cache-location=.cache/eslint --report-unused-disable-directives", "lint:package": "sort-package-json", - "release": "yarn run build && auto shipit", + "release": "./scripts/versionAndBuild.mjs && auto shipit", "prepack": "clean-package", "postpack": "clean-package restore", "publish-action": "./scripts/publish-action.mjs", diff --git a/scripts/versionAndBuild.mjs b/scripts/versionAndBuild.mjs new file mode 100755 index 000000000..e84f9ffc1 --- /dev/null +++ b/scripts/versionAndBuild.mjs @@ -0,0 +1,26 @@ +#!/usr/bin/env node + +import { $ } from 'execa'; + +async function main() { + const { stdout: status } = await $`git status --porcelain`; + if (status) { + console.error(`โ—๏ธ Working directory is not clean:\n${status}`); + return; + } + + const { stdout: nextVersion } = await $`auto shipit --dry-run --quiet`; + + console.info(`๐Ÿ“Œ Temporarily bumping version to '${nextVersion}' for build step`); + await $`npm --no-git-tag-version version ${nextVersion}`; + + console.info('๐Ÿ“ฆ Building with new version'); + await $`yarn build`; + + console.info('๐Ÿงน Resetting changes to let `auto` do its thing'); + await $`git reset --hard`; + + console.info('โœ… Build with new version completed'); +} + +main(); From dc9306b9b4715572b1b3da8209e269b87ce2f44a Mon Sep 17 00:00:00 2001 From: Cody Kaup Date: Fri, 4 Oct 2024 10:11:56 -0500 Subject: [PATCH 2/3] Don't read local package.json for --version --- node-src/lib/parseArguments.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/node-src/lib/parseArguments.ts b/node-src/lib/parseArguments.ts index 4995abcd2..092b4e8da 100644 --- a/node-src/lib/parseArguments.ts +++ b/node-src/lib/parseArguments.ts @@ -73,6 +73,7 @@ export default function parseArguments(argv: string[]) { argv, booleanDefault: undefined, description: false, + version: pkg.version, flags: { // Required options projectToken: { type: 'string', alias: 't', isMultiple: true }, From b079245619688e8e929c0d5f401aba41c47a729f Mon Sep 17 00:00:00 2001 From: Cody Kaup Date: Fri, 4 Oct 2024 10:18:24 -0500 Subject: [PATCH 3/3] Pipe build command output to terminal --- scripts/versionAndBuild.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/versionAndBuild.mjs b/scripts/versionAndBuild.mjs index e84f9ffc1..328284923 100755 --- a/scripts/versionAndBuild.mjs +++ b/scripts/versionAndBuild.mjs @@ -15,7 +15,7 @@ async function main() { await $`npm --no-git-tag-version version ${nextVersion}`; console.info('๐Ÿ“ฆ Building with new version'); - await $`yarn build`; + await $({ stdio: 'inherit' })`yarn build`; console.info('๐Ÿงน Resetting changes to let `auto` do its thing'); await $`git reset --hard`;