Skip to content

Commit ad37899

Browse files
committed
Use --no-git-checks
1 parent 97cedfa commit ad37899

File tree

1 file changed

+48
-28
lines changed

1 file changed

+48
-28
lines changed

scripts/publish.js

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,34 @@
11
const path = require("node:path");
22
const cp = require("node:child_process");
3+
const fs = require("node:fs");
34
const semver = require("semver");
45

6+
const { ensureCleanWorkingDirectory } = require("./utils");
7+
58
const packageDir = path.resolve(__dirname, "../packages");
69

10+
const PACKAGES = [
11+
"remix-eslint-config",
12+
"remix-server-runtime", // publish before platforms
13+
"remix-cloudflare",
14+
"remix-cloudflare-pages",
15+
"remix-cloudflare-workers",
16+
"remix-deno",
17+
"remix-node", // publish node before node servers
18+
"remix-dev", // publish after node
19+
"remix-architect",
20+
"remix-express", // publish express before serve
21+
"remix-react",
22+
"remix-serve",
23+
"remix-fs-routes",
24+
"remix-css-bundle",
25+
"remix-testing",
26+
"remix-route-config",
27+
"remix-routes-option-adapter",
28+
"create-remix",
29+
"remix",
30+
];
31+
732
function getTaggedVersion() {
833
let output = cp.execSync("git tag --list --points-at HEAD").toString().trim();
934
return output.replace(/^v/, "").replace(/^remix@/, "");
@@ -14,18 +39,28 @@ function getTaggedVersion() {
1439
* @param {string} tag
1540
*/
1641
function publish(dir, tag) {
17-
let args = ["--access public", `--tag ${tag}`];
18-
if (["experimental", "nightly"].includes(tag)) {
19-
args.push(`--no-git-checks`);
20-
} else {
21-
args.push("--publish-branch v2");
22-
}
23-
let cmd = `pnpm publish ${dir} ${args.join(" ")}`;
42+
let cmd = `pnpm publish ${dir} --access public --tag ${tag} --no-git-checks`;
2443
console.log("Publishing command:", cmd);
2544
cp.execSync(cmd, { stdio: "inherit" });
2645
}
2746

47+
/**
48+
* @param {string} dir
49+
* @param {string} tag
50+
*/
51+
function validateVersion(dir, tag) {
52+
let file = path.join(dir, "package.json");
53+
let json = JSON.parse(fs.readFileSync(file, "utf8"));
54+
if (json.version !== tag) {
55+
throw new Error(
56+
`Package ${dir} is on version ${json.version}, but should be on ${tag}`
57+
);
58+
}
59+
}
60+
2861
async function run() {
62+
ensureCleanWorkingDirectory();
63+
2964
// Make sure there's a current tag
3065
let taggedVersion = getTaggedVersion();
3166

@@ -46,28 +81,13 @@ async function run() {
4681
: prereleaseTag
4782
: "latest";
4883

84+
// Validate all packages
85+
for (let name of PACKAGES) {
86+
validateVersion(path.join(packageDir, name), taggedVersion);
87+
}
88+
4989
// Publish all packages
50-
for (let name of [
51-
"remix-eslint-config",
52-
"remix-server-runtime", // publish before platforms
53-
"remix-cloudflare",
54-
"remix-cloudflare-pages",
55-
"remix-cloudflare-workers",
56-
"remix-deno",
57-
"remix-node", // publish node before node servers
58-
"remix-dev", // publish after node
59-
"remix-architect",
60-
"remix-express", // publish express before serve
61-
"remix-react",
62-
"remix-serve",
63-
"remix-fs-routes",
64-
"remix-css-bundle",
65-
"remix-testing",
66-
"remix-route-config",
67-
"remix-routes-option-adapter",
68-
"create-remix",
69-
"remix",
70-
]) {
90+
for (let name of PACKAGES) {
7191
publish(path.join(packageDir, name), tag);
7292
}
7393
}

0 commit comments

Comments
 (0)