Skip to content
This repository was archived by the owner on May 26, 2023. It is now read-only.

Commit c66885f

Browse files
chore(scripts): Print better errors from /scripts/show_core_changelog.js
1 parent 6cc9d24 commit c66885f

File tree

1 file changed

+41
-10
lines changed

1 file changed

+41
-10
lines changed

scripts/show_core_changelog.js

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,53 @@
33
var gitSemverTags = require('git-semver-tags');
44
var shelljs = require('shelljs');
55
var path = require('path');
6+
var fs = require('fs');
7+
8+
var CORE_PKG = 'ui-router-core';
9+
var CORE_DIR = path.join(__dirname, "..", "..", CORE_PKG);
10+
var SHOWCHANGELOG_SCRIPT = path.join(CORE_DIR, "scripts", "show_changelog.js");
11+
12+
var currentPackage = require('../package.json');
13+
if (!currentPackage.dependencies || !currentPackage.dependencies[CORE_PKG]) {
14+
throw new Error("No dependency on " + CORE_PKG + " found in package.json.")
15+
}
16+
17+
if (!fs.existsSync(CORE_DIR)) {
18+
throw new Error(CORE_PKG + " not found at " + path.resolve(CORE_DIR));
19+
}
20+
21+
if (!fs.existsSync(SHOWCHANGELOG_SCRIPT)) {
22+
throw new Error("show_changelog.js not found at " + path.resolve(SHOWCHANGELOG_SCRIPT));
23+
}
624

725
shelljs.config.silent = true;
826
gitSemverTags(function (err, val) {
927
var fromTag;
10-
if(require.main === module) {
11-
if (process.argv[2]) {
12-
fromTag = process.argv[2];
13-
}
28+
if (require.main === module && process.argv[2]) {
29+
fromTag = process.argv[2];
1430
} else {
15-
var prev = shelljs.exec('git show ' + val[0] + ':package.json', {silent:true}).stdout;
16-
fromTag = JSON.parse(prev).dependencies['ui-router-core'].replace(/[=~^]/, "");
31+
var prevRaw = shelljs.exec('git show ' + val[0] + ':package.json', {silent:true}).stdout;
32+
var prevPackage;
33+
try {
34+
prevPackage = JSON.parse(prevRaw);
35+
} catch (error) {
36+
console.error("Unable to parse previous package.json");
37+
console.error(prevRaw);
38+
throw error;
39+
}
40+
41+
if (!prevPackage.dependencies) {
42+
throw new Error("previous package.json has no `dependencies` key.");
43+
} else if (!prevPackage.dependencies[CORE_PKG]) {
44+
throw new Error("previous package.json has no `dependencies['ui-router-core']` key.");
45+
}
46+
47+
fromTag = prevPackage.dependencies[CORE_PKG].replace(/[=~^]/, "");
1748
}
1849

19-
var toTag = require("../package.json").dependencies['ui-router-core'].replace(/[=~^]/g, "");
20-
shelljs.pushd(path.join(__dirname, "../../ui-router-core"));
21-
// console.log("node " + path.join(__dirname, "../../ui-router-core/scripts/show_changelog.js") + " " + fromTag + " " + toTag)
50+
var toTag = require("../package.json").dependencies[CORE_PKG].replace(/[=~^]/g, "");
51+
shelljs.pushd(CORE_DIR);
52+
// console.log("node " + SHOWCHANGELOG_SCRIPT + " " + fromTag + " " + toTag)
2253
shelljs.config.silent = false;
23-
shelljs.exec("node " + path.join(__dirname, "../../ui-router-core/scripts/show_changelog.js") + " " + fromTag + " " + toTag)
54+
shelljs.exec("node " + SHOWCHANGELOG_SCRIPT + " " + fromTag + " " + toTag)
2455
});

0 commit comments

Comments
 (0)