Skip to content

Commit 5647383

Browse files
committed
fix: make release pass the config object
1 parent 8be681f commit 5647383

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
## Fixes
1010

11+
- handle edge case with non conventional commits [8be681f2](https://github.com/lekterable/perfekt/commit/8be681f2483c5255caa6c6a5c12a452465d10a22)
1112
- replace %message% as last to avoid bugs [ec507396](https://github.com/lekterable/perfekt/commit/ec5073967f83dbcfc98b0ba17a1aa9659a042385)
1213
- stop adding empty line at the end of the file on --root [faee4801](https://github.com/lekterable/perfekt/commit/faee480108aab450a606ac8132f89c9f42ec8ab3)
1314
- stop adding Latest when not applicable [c64fa467](https://github.com/lekterable/perfekt/commit/c64fa4673612f90b349d125912f07d5db4140bcd)

bin/perfekt.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ program
2828
program
2929
.command('release <version>')
3030
.description('execute a new release')
31-
.action(version => release(version))
31+
.action(async (version, options) => {
32+
const cosmiConfig = (await cosmiconfig('perfekt').search()) || {}
33+
const config = {
34+
...defaultConfig,
35+
...cosmiConfig.config
36+
}
37+
38+
release(version, options, config)
39+
})
3240

3341
program.version(version).parse(process.argv)

src/release.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import semver from 'semver'
22
import { changelog } from './changelog'
33
import { commitRelease, updateVersion } from './utils'
44

5-
export const release = async version => {
5+
export const release = async (version, options, config) => {
66
if (!version) throw new Error('Relese requires a version')
77

88
const newVersion = semver.valid(semver.coerce(version))
@@ -11,7 +11,7 @@ export const release = async version => {
1111

1212
try {
1313
await updateVersion(newVersion)
14-
await changelog(newVersion, { write: true })
14+
await changelog(newVersion, { write: true }, config)
1515
await commitRelease(newVersion)
1616
} catch (error) {
1717
console.error(error)

src/release.test.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { defaultConfig } from './'
12
import { changelog } from './changelog'
23
import { release } from './release'
34
import { commitRelease, updateVersion } from './utils'
@@ -17,7 +18,7 @@ describe('release', () => {
1718
beforeEach(() => jest.resetAllMocks())
1819

1920
it('should throw if no version passed', () => {
20-
expect(release()).rejects.toThrow('Relese requires a versio')
21+
expect(release()).rejects.toThrow('Relese requires a version')
2122
})
2223

2324
it('should throw if incorrect version passed', () => {
@@ -45,9 +46,14 @@ describe('release', () => {
4546
it('should execute release', async () => {
4647
const mockedVersion = '2.2.2'
4748

48-
await release(mockedVersion)
49+
await release(mockedVersion, {}, defaultConfig)
4950

5051
expect(changelog).toBeCalledTimes(1)
52+
expect(changelog).toBeCalledWith(
53+
mockedVersion,
54+
{ write: true },
55+
defaultConfig
56+
)
5157
expect(commitRelease).toBeCalledTimes(1)
5258
expect(commitRelease).toBeCalledWith(mockedVersion)
5359
expect(updateVersion).toBeCalledTimes(1)

0 commit comments

Comments
 (0)