Throw custom error for MODULE_NOT_FOUND when loading @changesets/cli (#76)

This commit is contained in:
Mateusz Burzyński
2021-03-22 11:35:40 +10:00
committed by GitHub
parent 640c4a5d64
commit b5c0c12a1d
4 changed files with 1026 additions and 193 deletions
+6 -8
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -20,9 +20,9 @@
"@actions/core": "^1.2.4", "@actions/core": "^1.2.4",
"@actions/exec": "^1.0.4", "@actions/exec": "^1.0.4",
"@actions/github": "^4.0.0", "@actions/github": "^4.0.0",
"@babel/core": "^7.6.0", "@babel/core": "^7.13.10",
"@babel/preset-env": "^7.6.0", "@babel/preset-env": "^7.13.10",
"@babel/preset-typescript": "^7.6.0", "@babel/preset-typescript": "^7.13.0",
"@changesets/pre": "^1.0.4", "@changesets/pre": "^1.0.4",
"@changesets/read": "^0.4.6", "@changesets/read": "^0.4.6",
"@manypkg/get-packages": "^1.0.1", "@manypkg/get-packages": "^1.0.1",
+14 -4
View File
@@ -150,6 +150,19 @@ export async function runPublish({
return { published: false }; return { published: false };
} }
const requireChangesetsCliPkgJson = (cwd: string) => {
try {
return require(resolveFrom(cwd, "@changesets/cli/package.json"));
} catch (err) {
if (err && err.code === "MODULE_NOT_FOUND") {
throw new Error(
`Have you forgotten to install \`@changesets/cli\` in "${cwd}"?`
);
}
throw err;
}
};
type VersionOptions = { type VersionOptions = {
script?: string; script?: string;
githubToken: string; githubToken: string;
@@ -182,10 +195,7 @@ export async function runVersion({
let [versionCommand, ...versionArgs] = script.split(/\s+/); let [versionCommand, ...versionArgs] = script.split(/\s+/);
await exec(versionCommand, versionArgs, { cwd }); await exec(versionCommand, versionArgs, { cwd });
} else { } else {
let changesetsCliPkgJson = await require(resolveFrom( let changesetsCliPkgJson = requireChangesetsCliPkgJson(cwd);
cwd,
"@changesets/cli/package.json"
));
let cmd = semver.lt(changesetsCliPkgJson.version, "2.0.0") let cmd = semver.lt(changesetsCliPkgJson.version, "2.0.0")
? "bump" ? "bump"
: "version"; : "version";
+1003 -178
View File
File diff suppressed because it is too large Load Diff