Skip to content

Commit 6545d4f

Browse files
committed
Add semantic-release configuration file
1 parent 5c341d8 commit 6545d4f

File tree

4 files changed

+27
-59
lines changed

4 files changed

+27
-59
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const releaseRules = require('./rules')
2+
3+
module.exports = {
4+
branches: [
5+
'+([0-9])?(.{+([0-9]),x}).x',
6+
'main',
7+
'next',
8+
'next-major',
9+
{ name: 'alpha', prerelease: true },
10+
{ name: 'beta', prerelease: true },
11+
{ name: 'rc', prerelease: true },
12+
{ name: 'canary', prerelease: true }
13+
],
14+
plugins: {
15+
'@semantic-release/commit-analyzer': { preset: 'techor', releaseRules },
16+
'@semantic-release/release-notes-generator': { preset: 'techor' },
17+
'@semantic-release/exec': {
18+
verifyReleaseCmd: 'techor version ${nextRelease.version}'
19+
},
20+
'@semantic-release/github': true
21+
}
22+
}

packages/semantic-release-config/configure.js

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,9 @@
11
const path = require('path')
2-
const releaseRules = require('./rules')
32
const extend = require('@techor/extend')
43
const { explorePackageManager, readPNPMWorkspaces, readWorkspaces, queryWorkspaces } = require('@techor/npm')
54
const { readJSONFileSync } = require('@techor/fs')
65
const log = require('@techor/log')
7-
8-
const defaultConfig = {
9-
branches: [
10-
'+([0-9])?(.{+([0-9]),x}).x',
11-
'main',
12-
'next',
13-
'next-major',
14-
{ name: 'alpha', prerelease: true },
15-
{ name: 'beta', prerelease: true },
16-
{ name: 'rc', prerelease: true },
17-
{ name: 'canary', prerelease: true }
18-
],
19-
plugins: {
20-
'@semantic-release/commit-analyzer': { preset: 'techor', releaseRules },
21-
'@semantic-release/release-notes-generator': { preset: 'techor' },
22-
'@semantic-release/exec': {
23-
verifyReleaseCmd: 'techor version ${nextRelease.version}'
24-
},
25-
'@semantic-release/github': true
26-
}
27-
}
6+
const defaultConfig = require('./config')
287

298
module.exports = (config) => {
309
const newConfig = extend(defaultConfig, config)

packages/semantic-release-config/tests/config.test.ts

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,10 @@
11
import configure from '../configure'
22
import releaseRules from '../rules'
3+
import defaultConfig from '../config'
34

45
test('Customize config and extend default', () => {
56
expect(configure()).toEqual({
6-
branches: [
7-
'+([0-9])?(.{+([0-9]),x}).x',
8-
'main',
9-
'next',
10-
'next-major',
11-
{
12-
name: 'alpha',
13-
prerelease: true
14-
},
15-
{
16-
name: 'beta',
17-
prerelease: true
18-
},
19-
{
20-
name: 'rc',
21-
prerelease: true
22-
}
23-
],
7+
...defaultConfig,
248
plugins: [
259
['@semantic-release/commit-analyzer', { preset: 'techor', releaseRules }],
2610
['@semantic-release/release-notes-generator', { preset: 'techor' }],
@@ -38,24 +22,7 @@ test('Disable the @semantic-release/github plugin', () => {
3822
'@semantic-release/github': false
3923
}
4024
})).toEqual({
41-
branches: [
42-
'+([0-9])?(.{+([0-9]),x}).x',
43-
'main',
44-
'next',
45-
'next-major',
46-
{
47-
name: 'alpha',
48-
prerelease: true
49-
},
50-
{
51-
name: 'beta',
52-
prerelease: true
53-
},
54-
{
55-
name: 'rc',
56-
prerelease: true
57-
}
58-
],
25+
...defaultConfig,
5926
plugins: [
6027
['@semantic-release/commit-analyzer', { preset: 'techor', releaseRules }],
6128
['@semantic-release/release-notes-generator', { preset: 'techor' }],

packages/semantic-release-config/tests/publish/test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ it('only publishs the public packages', () => {
55
const config: any = configure()
66
expect(config.plugins.filter((eachPlugin) => eachPlugin[0] === '@semantic-release/npm'))
77
.toEqual([
8-
["@semantic-release/npm", { "pkgRoot": "public" }]
8+
['@semantic-release/npm', { 'pkgRoot': 'public' }]
99
])
1010
})

0 commit comments

Comments
 (0)