From 95e6842995964395a1a76c069996e16031d6432d Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Sat, 26 Oct 2024 14:56:43 +0800 Subject: [PATCH] update build script to select release type --- packages/ui/package.json | 3 +- packages/ui/scripts/release-new-version.mjs | 25 +- .../steps/increase-package-version.mjs | 2 +- pnpm-lock.yaml | 263 ++++++++++++++++-- 4 files changed, 267 insertions(+), 26 deletions(-) diff --git a/packages/ui/package.json b/packages/ui/package.json index c556474..0b057dc 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -48,6 +48,8 @@ "@electron-toolkit/eslint-config": "^1.0.2", "@electron-toolkit/eslint-config-ts": "^1.0.1", "@electron-toolkit/tsconfig": "^1.0.1", + "@inquirer/prompts": "^7.0.1", + "@inquirer/select": "^4.0.1", "@puppeteer/browsers": "^2.0.0", "@rushstack/eslint-patch": "^1.7.1", "@types/node": "^18.19.9", @@ -70,7 +72,6 @@ "lodash-es": "^4.17.21", "normalize.css": "^8.0.1", "prettier": "^3.2.4", - "prompt-sync": "^4.2.0", "sass": "^1.70.0", "typescript": "^5.3.3", "unocss": "^0.58.5", diff --git a/packages/ui/scripts/release-new-version.mjs b/packages/ui/scripts/release-new-version.mjs index 7f74b7b..f31ab84 100644 --- a/packages/ui/scripts/release-new-version.mjs +++ b/packages/ui/scripts/release-new-version.mjs @@ -1,10 +1,25 @@ import increasePackageVersion from './steps/increase-package-version.mjs' import releaseVersion from './steps/release-version.mjs' -import prompt from 'prompt-sync' +import { select } from '@inquirer/prompts' + +const releaseTypeList = [ + 'prerelease', + 'prepatch', + 'patch', + 'preminor', + 'minor', + 'premajor', + 'major' +] ;(async () => { - const releaseType = prompt()( - 'Enter the release type (default: prerelease, available: prerelease / prepatch / patch / preminor / minor / premajor / major): ' - ) - await increasePackageVersion(releaseType || 'prerelease') + const releaseType = await select({ + message: 'Select the release type', + default: releaseTypeList[0], + choices: releaseTypeList.map((value) => ({ + name: value, + value + })) + }) + await increasePackageVersion(releaseType || releaseTypeList[0]) await releaseVersion() })() diff --git a/packages/ui/scripts/steps/increase-package-version.mjs b/packages/ui/scripts/steps/increase-package-version.mjs index 5341177..723de32 100644 --- a/packages/ui/scripts/steps/increase-package-version.mjs +++ b/packages/ui/scripts/steps/increase-package-version.mjs @@ -15,7 +15,7 @@ export const getRuntimeConfig = () => fs.readFileSync(PATH_TO_BUILD_INFO_JSON) /** * @param {semver.ReleaseType} releaseType */ -export default async function increasePackageVersion(releaseType = 'patch') { +export default async function increasePackageVersion(releaseType = 'prerelease') { const runtimeConfig = JSON.parse(getRuntimeConfig().toString('utf-8')) const packageInfo = JSON.parse(getPackageInfo().toString('utf-8')) packageInfo.version = semver.inc(packageInfo.version, releaseType) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1bff1df..19b0c16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -151,6 +151,12 @@ importers: '@electron-toolkit/tsconfig': specifier: ^1.0.1 version: 1.0.1(@types/node@18.19.9) + '@inquirer/prompts': + specifier: ^7.0.1 + version: 7.0.1(@types/node@18.19.9) + '@inquirer/select': + specifier: ^4.0.1 + version: 4.0.1(@types/node@18.19.9) '@puppeteer/browsers': specifier: ^2.0.0 version: 2.0.0 @@ -217,9 +223,6 @@ importers: prettier: specifier: ^3.2.4 version: 3.2.4 - prompt-sync: - specifier: ^4.2.0 - version: 4.2.0 sass: specifier: ^1.70.0 version: 1.70.0 @@ -1058,6 +1061,178 @@ packages: - supports-color dev: true + /@inquirer/checkbox@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-ehJjmNPdguajc1hStvjN7DJNVjwG5LC1mgGMGFjCmdkn2fxB2GtULftMnlaqNmvMdPpqdaSoOFpl86VkLtG4pQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/figures': 1.0.7 + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + dev: true + + /@inquirer/confirm@5.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + dev: true + + /@inquirer/core@10.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==} + engines: {node: '>=18'} + dependencies: + '@inquirer/figures': 1.0.7 + '@inquirer/type': 3.0.0(@types/node@18.19.9) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@inquirer/editor@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-qAHHJ6hs343eNtCKgV2wV5CImFxYG8J1pl/YCeI5w9VoW7QpulRUU26+4NsMhjR6zDRjKBsH/rRjCIcaAOHsrg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + external-editor: 3.1.0 + dev: true + + /@inquirer/expand@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-9anjpdc802YInXekwePsa5LWySzVMHbhVS6v6n5IJxrl8w09mODOeP69wZ1d0WrOvot2buQSmYp4lW/pq8y+zQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + yoctocolors-cjs: 2.1.2 + dev: true + + /@inquirer/figures@1.0.7: + resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} + engines: {node: '>=18'} + dev: true + + /@inquirer/input@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-m+SliZ2m43cDRIpAdQxfv5QOeAQCuhS8TGLvtzEP1An4IH1kBES4RLMRgE/fC+z29aN8qYG8Tq/eXQQKTYwqAg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + dev: true + + /@inquirer/number@3.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-gF3erqfm0snpwBjbyKXUUe17QJ7ebm49btXApajrM0rgCCoYX0o9W5NCuYNae87iPxaIJVjtuoQ42DX32IdbMA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + dev: true + + /@inquirer/password@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-D7zUuX4l4ZpL3D7/SWu9ibijP09jigwHi/gfUHLx5GMS5oXzuMfPV2xPMG1tskco4enTx70HA0VtMXecerpvbg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + ansi-escapes: 4.3.2 + dev: true + + /@inquirer/prompts@7.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-cu2CpGC2hz7WTt2VBvdkzahDvYice6vYA/8Dm7Fy3tRNzKuQTF2EY3CV4H2GamveWE6tA2XzyXtbWX8+t4WMQg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/checkbox': 4.0.1(@types/node@18.19.9) + '@inquirer/confirm': 5.0.1(@types/node@18.19.9) + '@inquirer/editor': 4.0.1(@types/node@18.19.9) + '@inquirer/expand': 4.0.1(@types/node@18.19.9) + '@inquirer/input': 4.0.1(@types/node@18.19.9) + '@inquirer/number': 3.0.1(@types/node@18.19.9) + '@inquirer/password': 4.0.1(@types/node@18.19.9) + '@inquirer/rawlist': 4.0.1(@types/node@18.19.9) + '@inquirer/search': 3.0.1(@types/node@18.19.9) + '@inquirer/select': 4.0.1(@types/node@18.19.9) + '@types/node': 18.19.9 + dev: true + + /@inquirer/rawlist@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-0LuMOgaWs7W8JNcbiKkoFwyWFDEeCmLqDCygF0hidQUVa6J5grFVRZxrpompiWDFM49Km2rf7WoZwRo1uf1yWQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + yoctocolors-cjs: 2.1.2 + dev: true + + /@inquirer/search@3.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-ehMqjiO0pAf+KtdONKeCLVy4i3fy3feyRRhDrvzWhiwB8JccgKn7eHFr39l+Nx/FaZAhr0YxIJvkK5NuNvG+Ww==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/figures': 1.0.7 + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + yoctocolors-cjs: 2.1.2 + dev: true + + /@inquirer/select@4.0.1(@types/node@18.19.9): + resolution: {integrity: sha512-tVRatFRGU49bxFCKi/3P+C0E13KZduNFbWuHWRx0L2+jbiyKRpXgHp9qiRHWRk/KarhYBXzH/di6w3VQ5aJd5w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@inquirer/core': 10.0.1(@types/node@18.19.9) + '@inquirer/figures': 1.0.7 + '@inquirer/type': 3.0.0(@types/node@18.19.9) + '@types/node': 18.19.9 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + dev: true + + /@inquirer/type@3.0.0(@types/node@18.19.9): + resolution: {integrity: sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + dependencies: + '@types/node': 18.19.9 + dev: true + /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2180,9 +2355,11 @@ packages: resolution: {integrity: sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==} dev: true - /ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 dev: true /ansi-regex@5.0.1: @@ -2556,6 +2733,10 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + /chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -2627,6 +2808,11 @@ packages: dev: true optional: true + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + dev: true + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -3404,6 +3590,15 @@ packages: strip-final-newline: 2.0.0 dev: true + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + /extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -3948,6 +4143,13 @@ packages: dev: true optional: true + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -4571,6 +4773,11 @@ packages: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} dev: true + /mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + dev: true + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -4773,6 +4980,11 @@ packages: type-check: 0.4.0 dev: true + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} @@ -4983,12 +5195,6 @@ packages: err-code: 2.0.3 retry: 0.12.0 - /prompt-sync@4.2.0: - resolution: {integrity: sha512-BuEzzc5zptP5LsgV5MZETjDaKSWfchl5U9Luiu8SKp7iZWD5tZalOxvNcZRwv+d2phNFr8xlbxmFNcRKfJOzJw==} - dependencies: - strip-ansi: 5.2.0 - dev: true - /proxy-agent@6.3.1: resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} engines: {node: '>= 14'} @@ -5550,13 +5756,6 @@ packages: safe-buffer: 5.2.1 dev: false - /strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - dependencies: - ansi-regex: 4.1.1 - dev: true - /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -5708,6 +5907,13 @@ packages: tmp: 0.2.1 dev: true + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + /tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} @@ -5802,6 +6008,11 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + /typeorm@0.3.11(sqlite3@5.1.6)(ts-node@10.9.2): resolution: {integrity: sha512-pzdOyWbVuz/z8Ww6gqvBW4nylsM0KLdUCDExr2gR20/x1khGSVxQkjNV/3YqliG90jrWzrknYbYscpk8yxFJVg==} engines: {node: '>= 12.9.0'} @@ -6279,6 +6490,15 @@ packages: string-width: 4.2.3 dev: false + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -6408,3 +6628,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + dev: true