|
1 | 1 | var fs = require('fs') |
2 | 2 | var path = require('path') |
3 | | -var pkg = require(path.resolve(process.cwd(), 'package.json')) |
| 3 | +var pkg = { version: null } |
| 4 | +var log = { |
| 5 | + version: null, |
| 6 | + body: null |
| 7 | +} |
| 8 | +var owner = null |
| 9 | +var repo = null |
| 10 | +var version = null |
4 | 11 |
|
5 | 12 | module.exports = function getDefaults () { |
6 | | - var repoPath = pkg.repository.url.split('github.com/')[1].split('/') |
7 | | - var owner = repoPath[0] |
8 | | - var repo = repoPath[1].split('.git')[0] |
9 | | - var logPath = path.resolve(process.cwd(), 'CHANGELOG.md') |
10 | | - var log = fs.readFileSync(logPath, { encoding: 'utf-8' }) |
11 | | - var logVersion = log.split('## ')[1].split('\n')[0].split(' ')[0] |
| 13 | + try { |
| 14 | + pkg = require(path.resolve(process.cwd(), 'package.json')) |
| 15 | + var repoPath = pkg.repository.url.split('github.com/')[1].split('/') |
| 16 | + owner = repoPath[0] |
| 17 | + repo = repoPath[1].split('.git')[0] |
| 18 | + } catch (e) {} |
12 | 19 |
|
13 | | - if (logVersion.indexOf('v') === 0) logVersion = logVersion.slice(1) |
| 20 | + try { |
| 21 | + var logPath = path.resolve(process.cwd(), 'CHANGELOG.md') |
| 22 | + log.src = fs.readFileSync(logPath, { encoding: 'utf-8' }) |
| 23 | + log.version = log.src.split('## ')[1].split('\n')[0].split(' ')[0] |
| 24 | + if (log.version.indexOf('v') === 0) log.version = log.version.slice(1) |
| 25 | + log.body = log.src.split('## ')[1].split('\n').slice(1).join('\n') |
| 26 | + } catch (e) {} |
14 | 27 |
|
15 | | - if (logVersion !== pkg.version) { |
| 28 | + if (log.version !== pkg.version) { |
16 | 29 | var err = 'CHANGELOG.md out of sync with package.json' |
17 | | - err += '(' + logVersion + ' !== ' + pkg.version + ')' |
| 30 | + err += '(' + log.version + ' !== ' + pkg.version + ')' |
18 | 31 | throw new Error(err) |
19 | 32 | } |
20 | 33 |
|
| 34 | + version = pkg.version ? 'v' + pkg.version : null |
| 35 | + |
21 | 36 | return { |
22 | | - tag_name: 'v' + pkg.version, |
| 37 | + tag_name: version, |
23 | 38 | target_commitish: 'master', |
24 | | - name: 'v' + pkg.version, |
25 | | - body: log.split('## ')[1].split('\n').slice(1).join('\n'), |
| 39 | + name: version, |
| 40 | + body: log.body, |
26 | 41 | owner: owner, |
27 | 42 | repo: repo, |
28 | 43 | draft: false, |
|
0 commit comments