From 0ecb92249cd21bcaddc437405367399ff2aba402 Mon Sep 17 00:00:00 2001
From: Patrick Kollitsch <davidsneighbourdev+gh@gmail.com>
Date: Fri, 24 Apr 2026 05:53:31 +0000
Subject: [PATCH] build: rework release configuration
---
tsconfig.json | 42 +++++++++-----------
.release-it.ts | 33 +++++++++-------
2 files changed, 38 insertions(+), 37 deletions(-)
diff --git a/.release-it.ts b/.release-it.ts
index 0eb8572..befe35f 100644
--- a/.release-it.ts
+++ b/.release-it.ts
@@ -12,14 +12,14 @@
encoding: "utf8",
stdio: ["ignore", "pipe", "pipe"],
}).trim();
- } catch (error: unknown) {
+ } catch (error) {
console.error("Failed to determine the current Git branch.");
console.error(error);
process.exit(1);
}
}
-function isPreReleaseRun(argv: string[]): boolean {
+function hasPreReleaseFlag(argv: string[]): boolean {
return argv.some((argument) => {
return (
argument === "--preRelease" ||
@@ -30,30 +30,29 @@
});
}
-const currentBranch = getCurrentBranch();
-const preReleaseRun = isPreReleaseRun(process.argv);
+const branch = getCurrentBranch();
+const isPreRelease = hasPreReleaseFlag(process.argv);
-if (preReleaseRun && currentBranch !== "development") {
+if (isPreRelease && branch !== "development") {
console.error(
- `Pre-releases are only allowed on "development". Current branch: "${currentBranch}".`,
+ `Pre-releases are only allowed from "development". Current branch: "${branch}".`,
);
process.exit(1);
}
-if (!preReleaseRun && currentBranch !== "main") {
+if (!isPreRelease && branch !== "main") {
console.error(
- `Stable releases are only allowed on "main". Current branch: "${currentBranch}".`,
+ `Stable releases are only allowed from "main". Current branch: "${branch}".`,
);
process.exit(1);
}
-const config = {
- npm: {
- publish: false,
- },
+const config: Config = {
git: {
requireCleanWorkingDir: true,
- requireBranch: currentBranch,
+ requireUpstream: true,
+ requireCommits: true,
+ requireBranch: branch,
commit: true,
commitMessage: "chore(release): v${version}",
commitArgs: ["--no-verify"],
@@ -63,7 +62,13 @@
pushArgs: ["--follow-tags"],
},
github: {
- release: false,
+ release: true,
+ releaseName: "v${version}",
+ skipChecks: true,
+ tokenRef: "GITHUB_TOKEN_CONTENT_PRIVATE",
+ },
+ npm: {
+ publish: false,
},
plugins: {
"@release-it/conventional-changelog": {
diff --git a/tsconfig.json b/tsconfig.json
index 2f0d8c9..0d5a35b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,24 +1,20 @@
{
- "compilerOptions": {
- "module": "nodenext",
- "target": "esnext",
- "types": [
- "node"
- ],
- "sourceMap": true,
- "declaration": true,
- "declarationMap": true,
- "noUncheckedIndexedAccess": true,
- "exactOptionalPropertyTypes": true,
- "strict": true,
- "jsx": "react-jsx",
- "verbatimModuleSyntax": true,
- "isolatedModules": true,
- "noUncheckedSideEffectImports": true,
- "moduleDetection": "force",
- "skipLibCheck": true,
- },
- "include": [
- "scripts/**/*",
- ],
-}
\ No newline at end of file
+ "compilerOptions": {
+ "module": "nodenext",
+ "target": "esnext",
+ "types": ["node"],
+ "sourceMap": true,
+ "declaration": true,
+ "declarationMap": true,
+ "noUncheckedIndexedAccess": true,
+ "exactOptionalPropertyTypes": true,
+ "strict": true,
+ "jsx": "react-jsx",
+ "verbatimModuleSyntax": true,
+ "isolatedModules": true,
+ "noUncheckedSideEffectImports": true,
+ "moduleDetection": "force",
+ "skipLibCheck": true
+ },
+ "include": ["**/*.ts", "scripts/**/*"]
+}
--
Gitblit v1.10.0