ump 3.0.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/ump.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import('../lib/notifier.js');
4
- import yarg from 'yargs/yargs.js';
4
+ import yarg from 'yargs';
5
5
  import ump from '../ump.js';
6
6
  import {config} from '../lib/config.js';
7
7
 
package/lib/commands.js CHANGED
@@ -29,13 +29,13 @@ const commands = {
29
29
  // Need to pull before mucking with files, so we can stop it if git branch isn't clean.
30
30
  // Otherwise files will be bumped and committed but not pushed and things will get messed up.
31
31
  // **We can autostash on pull because we handle existence of uncommitted files later
32
- const pullRebase = 'git pull --rebase --autostash';
32
+ const pullAutostash = 'git pull --autostash';
33
33
 
34
34
  return {
35
- log: pullRebase,
35
+ log: pullAutostash,
36
36
  cmd: function() {
37
37
 
38
- return exec(pullRebase)
38
+ return exec(pullAutostash)
39
39
  .then(({stdout, stderr}) => {
40
40
  console.log(stdout);
41
41
 
@@ -128,7 +128,7 @@ const commands = {
128
128
  let lines = [];
129
129
 
130
130
  try {
131
- await fs.readFile(path.resolve('./', '.git/config'));
131
+ await utils.checkGitConfig(path.resolve('./', '.git'));
132
132
  } catch (err) {
133
133
  utils.error(err);
134
134
  }
package/lib/utils.js CHANGED
@@ -3,7 +3,8 @@
3
3
  import path from 'path';
4
4
  import childProcess from 'child_process';
5
5
  import Promises from 'bluebird';
6
- import fs from 'fs-extra';
6
+ import fs from 'fs';
7
+ import util from 'util';
7
8
  import glob from 'glob';
8
9
  import chalk from 'chalk';
9
10
  import rc from 'rc';
@@ -11,7 +12,9 @@ import semver from 'semver';
11
12
  import {config} from './config.js';
12
13
  import {log} from './log.js';
13
14
 
14
- const exec = Promises.promisify(childProcess.exec);
15
+ const readFile = util.promisify(fs.readFile);
16
+ const writeFile = util.promisify(fs.writeFile);
17
+ const stat = util.promisify(fs.stat);
15
18
 
16
19
  const utils = {
17
20
  getDirName(url) {
@@ -27,6 +30,24 @@ const utils = {
27
30
  return str;
28
31
 
29
32
  },
33
+ async checkGitConfig(gitPath) {
34
+ const gitDirOrFile = await stat(gitPath);
35
+
36
+ if (gitDirOrFile.isDirectory()) {
37
+ await readFile(`${gitPath}/config`);
38
+
39
+ return;
40
+ }
41
+
42
+ // If we're in a submodule, the .git path will be a file that contains a 'gitdir: …' entry
43
+ const contents = await readFile(gitPath, 'utf8');
44
+ const content = contents.split(/\n/)[0];
45
+ const gitdir = content.replace(/^\s*gitdir:\s*(.+)$/, '$1');
46
+
47
+ const gitConfig = path.resolve(`${gitdir}/config`);
48
+
49
+ await readFile(gitConfig);
50
+ },
30
51
 
31
52
  getFiles(items) {
32
53
  const files = items ? [].concat(items) : ['package.json'];
@@ -49,12 +70,17 @@ const utils = {
49
70
  },
50
71
 
51
72
  async readJSON(file) {
73
+ const filePath = path.resolve(process.cwd(), file);
74
+
52
75
  try {
53
- const json = await fs.readJson(path.resolve(process.cwd(), file));
76
+ const str = await readFile(filePath, 'utf8');
77
+ const json = JSON.parse(str);
54
78
 
55
79
  return json;
56
80
  } catch (err) {
57
- return {};
81
+ console.log(err);
82
+
83
+ return {error: true};
58
84
  }
59
85
  },
60
86
 
@@ -115,7 +141,7 @@ const utils = {
115
141
  const debugOutput = JSON.stringify(obj, null, 2);
116
142
  const file = '.ump.debug.json';
117
143
 
118
- return fs.writeFile(file, debugOutput)
144
+ return writeFile(file, debugOutput)
119
145
  .then(() => {
120
146
  log.color(`\n**DEBUG ONLY! Writing the following to ${file}:**`, 'cyan');
121
147
  console.log(debugOutput);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ump",
3
3
  "title": "ump",
4
- "version": "3.0.0",
4
+ "version": "3.1.1",
5
5
  "description": "Bump without the B",
6
6
  "scripts": {
7
7
  "test": "npm run test:clean && npm run test:pre && npm run test:run",
@@ -39,8 +39,8 @@
39
39
  "rc": "^1.2.8",
40
40
  "semver": "^7.3.5",
41
41
  "snyk": "^1.812.0",
42
- "update-notifier": "^5.1.0",
43
- "yargs": "^13.3.2"
42
+ "update-notifier": "^6.0.2",
43
+ "yargs": "^17.3.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "chai": "^4.3.4",