Skip to content

Commit bb2085d

Browse files
authored
Merge pull request #12 from stovmascript/next
Next
2 parents 99d178d + 7be7032 commit bb2085d

21 files changed

+275
-173
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@ os: osx
22
language: node_js
33
node_js:
44
- "4"
5+
- "6"
6+
- "7"

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Open your Xcode project and under "Build Settings -> Versioning -> Current Proje
1818

1919
```shell
2020
npm install react-native-version --save
21+
# or
22+
yarn add react-native-version
2123
```
2224

2325
Hook into the "version" or "postversion" npm script in your app's package.json:
@@ -106,10 +108,24 @@ RNV=android react-native-version --target ios
106108
```javascript
107109
import { version } from 'react-native-version';
108110

111+
async function doSomething() {
112+
const versionResult = await version({
113+
amend: true,
114+
// ...
115+
});
116+
}
117+
118+
// or
119+
109120
version({
110121
amend: true,
111-
resetBuild: true,
112122
// ...
123+
})
124+
.then(commitHash => {
125+
console.log(commitHash);
126+
})
127+
.catch(err => {
128+
console.error(err);
113129
});
114130
```
115131

@@ -127,6 +143,8 @@ Versions your app
127143
| --- | --- | --- |
128144
| program | <code>Object</code> | commander/CLI-style options, camelCased |
129145

146+
### Types
147+
130148
<a name="Promise"></a>
131149

132150
#### Promise

index.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,11 @@ function version(program) {
151151

152152
return pSettle([android, ios]).then(function(result) {
153153
const errs = result
154-
.filter(function(err) {
155-
return err.reason;
154+
.filter(function(item) {
155+
return item.isRejected;
156156
})
157-
.map(function(err) {
158-
return err.reason;
157+
.map(function(item) {
158+
return item.reason;
159159
});
160160

161161
if (errs.length) {
@@ -186,7 +186,9 @@ function version(program) {
186186

187187
if (
188188
programOpts.amend
189-
|| process.env.npm_lifecycle_event.indexOf('version') > -1 && !programOpts.neverAmend
189+
|| process.env.npm_lifecycle_event
190+
&& process.env.npm_lifecycle_event.indexOf('version') > -1
191+
&& !programOpts.neverAmend
190192
) {
191193
switch (process.env.npm_lifecycle_event) {
192194
case 'version':
@@ -204,6 +206,10 @@ function version(program) {
204206
}
205207

206208
return child.execSync('git log -1 --pretty=%H', gitCmdOpts).toString();
209+
})
210+
.catch(function(err) {
211+
console.error(err);
212+
process.exit(1);
207213
});
208214
}
209215

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"dependencies": {
1212
"chalk": "^1.1.3",
1313
"commander": "^2.9.0",
14-
"p-settle": "^1.0.0"
14+
"p-settle": "^2.0.0"
1515
},
1616
"devDependencies": {
1717
"ava": "^0.17.0",

test/cli.amend.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import beforeEachCLI from './helpers/beforeEachCLI';
2+
import expectedTree from './fixture/tree';
3+
import getCurrCommitHash from './helpers/getCurrCommitHash';
4+
import getCurrTagHash from './helpers/getCurrTagHash';
5+
import getCurrTree from './helpers/getCurrTree';
6+
import test from 'ava';
7+
import versionTempWithCLI from './helpers/versionTempWithCLI';
8+
9+
test('CLI: amend', async t => {
10+
beforeEachCLI(t);
11+
versionTempWithCLI(['-a']);
12+
t.deepEqual(await getCurrTree(t), expectedTree.amended);
13+
14+
const currTagHash = await getCurrTagHash(t);
15+
const currCommitHash = await getCurrCommitHash(t);
16+
17+
t.is(currTagHash, currCommitHash);
18+
});

test/cli.amend.skipTag.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import beforeEachCLI from './helpers/beforeEachCLI';
2+
import expectedTree from './fixture/tree';
3+
import getCurrCommitHash from './helpers/getCurrCommitHash';
4+
import getCurrTagHash from './helpers/getCurrTagHash';
5+
import getCurrTree from './helpers/getCurrTree';
6+
import test from 'ava';
7+
import versionTempWithCLI from './helpers/versionTempWithCLI';
8+
9+
test('CLI: amend, skipTag', async t => {
10+
beforeEachCLI(t);
11+
versionTempWithCLI(['-a', '--skip-tag']);
12+
t.deepEqual(await getCurrTree(t), expectedTree.amended);
13+
14+
const currTagHash = await getCurrTagHash(t);
15+
const currCommitHash = await getCurrCommitHash(t);
16+
17+
t.not(currTagHash, currCommitHash);
18+
});

test/cli.default.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import beforeEachCLI from './helpers/beforeEachCLI';
2+
import expectedTree from './fixture/tree';
3+
import getCurrTree from './helpers/getCurrTree';
4+
import test from 'ava';
5+
import versionTempWithCLI from './helpers/versionTempWithCLI';
6+
7+
test('CLI: default', async t => {
8+
beforeEachCLI(t);
9+
versionTempWithCLI();
10+
t.deepEqual(await getCurrTree(t), expectedTree.notAmended);
11+
});

test/cli.neverAmend.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import beforeEachCLI from './helpers/beforeEachCLI';
2+
import expectedTree from './fixture/tree';
3+
import getCurrTree from './helpers/getCurrTree';
4+
import test from 'ava';
5+
import versionTempWithCLI from './helpers/versionTempWithCLI';
6+
7+
test('CLI: neverAmend', async t => {
8+
beforeEachCLI(t);
9+
versionTempWithCLI(['-A']);
10+
t.deepEqual(await getCurrTree(t), expectedTree.notAmended);
11+
});

test/helpers/beforeEach.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const fs = require('fs-extra');
2+
const path = require('path');
3+
const temp = require('temp');
4+
5+
temp.track();
6+
7+
module.exports = function(t) {
8+
t.context.tempDir = temp.mkdirSync('rnv-');
9+
fs.copySync(path.join(__dirname, '../fixture/AwesomeProjectEssentials'), t.context.tempDir);
10+
process.chdir(t.context.tempDir);
11+
};

test/helpers/beforeEachCLI.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
const beforeEach = require('./beforeEach');
2+
const tempInitAndVersion = require('./tempInitAndVersion');
3+
4+
module.exports = function(t) {
5+
beforeEach(t);
6+
delete process.env.npm_lifecycle_event;
7+
tempInitAndVersion();
8+
};

0 commit comments

Comments
 (0)