-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgitRepo.js
More file actions
35 lines (29 loc) · 838 Bytes
/
Copy pathgitRepo.js
File metadata and controls
35 lines (29 loc) · 838 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const ChildProcess = require('child_process');
const chalk = require('chalk');
module.exports = {
failIfRepoHasChanges() {
const result = ChildProcess.execSync('git status --porcelain').toString();
if (result.trim().length > 0) {
console.error(
chalk.red(
'Commit or stash any outstanding changes before running js_safe_update'
)
);
process.exit(1);
}
},
yarnLockHasChanges() {
const result = ChildProcess.execSync('git diff --name-only');
return result.includes('yarn.lock');
},
commitYarnLock(message) {
ChildProcess.execSync('git add Gemfile.lock');
ChildProcess.execSync(`git commit -m ${message}`);
},
discardLocalChanges() {
ChildProcess.execSync('git reset HEAD --hard');
},
push() {
ChildProcess.execSync('git push');
},
};