Skip to content

Commit 85fb8e9

Browse files
committed
Avoid tagging v6 releases with latest/pre
1 parent 79e6bc9 commit 85fb8e9

File tree

1 file changed

+41
-22
lines changed

1 file changed

+41
-22
lines changed

scripts/publish.js

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,22 @@ async function ensureBuildVersion(packageName, version) {
4040
* @param {string} packageName
4141
* @param {string} tag
4242
*/
43-
function publishBuild(packageName, tag) {
43+
function publishBuild(packageName, tag, releaseBranch) {
4444
let buildDir = path.join(rootDir, "packages", packageName);
45-
let args = ["--access public", `--tag ${tag}`];
45+
46+
let args = ["--access public"];
47+
if (tag) {
48+
args.push(`--tag ${tag}`);
49+
}
50+
4651
if (tag === "experimental" || tag === "nightly") {
47-
args.push(`--no-git-checks`);
52+
args.push("--no-git-checks");
53+
} else if (releaseBranch) {
54+
args.push(`--publish-branch ${releaseBranch}`);
4855
} else {
49-
args.push("--publish-branch release-next");
56+
throw new Error(
57+
"Expected a release branch name to be provided for non-experimental/nightly releases"
58+
);
5059
}
5160
console.log();
5261
console.log(` pnpm publish ${buildDir} --tag ${tag} --access public`);
@@ -75,13 +84,19 @@ async function run() {
7584
);
7685

7786
// 2. Determine the appropriate npm tag to use
78-
let tag = version.includes("experimental")
79-
? "experimental"
80-
: version.includes("nightly")
81-
? "nightly"
82-
: semver.prerelease(version) == null
83-
? "latest"
84-
: "pre";
87+
let publishBranch;
88+
let tag;
89+
if (version.includes("experimental")) {
90+
tag = "experimental";
91+
} else if (version.includes("nightly")) {
92+
tag = "nightly";
93+
} else if (version.startsWith("6.")) {
94+
publishBranch = "release-v6";
95+
tag = null;
96+
} else if (version.startsWith("7.")) {
97+
publishBranch = "release-next";
98+
tag = semver.prerelease(version) == null ? "latest" : "pre";
99+
}
85100

86101
console.log();
87102
console.log(` Publishing version ${version} to npm with tag "${tag}"`);
@@ -103,17 +118,21 @@ async function run() {
103118
await ensureBuildVersion("create-react-router", version);
104119

105120
// 4. Publish to npm
106-
publishBuild("react-router", tag);
107-
publishBuild("react-router-dom", tag);
108-
publishBuild("react-router-dev", tag);
109-
publishBuild("react-router-express", tag);
110-
publishBuild("react-router-node", tag);
111-
publishBuild("react-router-serve", tag);
112-
publishBuild("react-router-architect", tag);
113-
publishBuild("react-router-cloudflare", tag);
114-
publishBuild("react-router-fs-routes", tag);
115-
publishBuild("react-router-remix-routes-option-adapter", tag);
116-
publishBuild("create-react-router", tag);
121+
publishBuild("react-router", tag, releaseBranch);
122+
publishBuild("react-router-dom", tag, releaseBranch);
123+
publishBuild("react-router-dev", tag, releaseBranch);
124+
publishBuild("react-router-express", tag, releaseBranch);
125+
publishBuild("react-router-node", tag, releaseBranch);
126+
publishBuild("react-router-serve", tag, releaseBranch);
127+
publishBuild("react-router-architect", tag, releaseBranch);
128+
publishBuild("react-router-cloudflare", tag, releaseBranch);
129+
publishBuild("react-router-fs-routes", tag, releaseBranch);
130+
publishBuild(
131+
"react-router-remix-routes-option-adapter",
132+
tag,
133+
releaseBranch
134+
);
135+
publishBuild("create-react-router", tag, releaseBranch);
117136
} catch (error) {
118137
console.log();
119138
console.error(` ${error.message}`);

0 commit comments

Comments
 (0)