1 | const readPkg = require('read-pkg');
|
2 | const { compose } = require('ramda');
|
3 | const { withOnlyPackageCommits } = require('./only-package-commits');
|
4 | const versionToGitTag = require('./version-to-git-tag');
|
5 | const logPluginVersion = require('./log-plugin-version');
|
6 | const { wrapStep } = require('semantic-release-plugin-decorators');
|
7 |
|
8 | const {
|
9 | mapNextReleaseVersion,
|
10 | withOptionsTransforms,
|
11 | } = require('./options-transforms');
|
12 |
|
13 | const analyzeCommits = wrapStep(
|
14 | 'analyzeCommits',
|
15 | compose(logPluginVersion('analyzeCommits'), withOnlyPackageCommits),
|
16 | {
|
17 | wrapperName: 'semantic-release-monorepo',
|
18 | }
|
19 | );
|
20 |
|
21 | const generateNotes = wrapStep(
|
22 | 'generateNotes',
|
23 | compose(
|
24 | logPluginVersion('generateNotes'),
|
25 | withOnlyPackageCommits,
|
26 | withOptionsTransforms([mapNextReleaseVersion(versionToGitTag)])
|
27 | ),
|
28 | {
|
29 | wrapperName: 'semantic-release-monorepo',
|
30 | }
|
31 | );
|
32 |
|
33 | const success = wrapStep(
|
34 | 'success',
|
35 | compose(
|
36 | logPluginVersion('success'),
|
37 | withOnlyPackageCommits,
|
38 | withOptionsTransforms([mapNextReleaseVersion(versionToGitTag)])
|
39 | ),
|
40 | {
|
41 | wrapperName: 'semantic-release-monorepo',
|
42 | }
|
43 | );
|
44 |
|
45 | const fail = wrapStep(
|
46 | 'fail',
|
47 | compose(
|
48 | logPluginVersion('fail'),
|
49 | withOnlyPackageCommits,
|
50 | withOptionsTransforms([mapNextReleaseVersion(versionToGitTag)])
|
51 | ),
|
52 | {
|
53 | wrapperName: 'semantic-release-monorepo',
|
54 | }
|
55 | );
|
56 |
|
57 | module.exports = {
|
58 | analyzeCommits,
|
59 | generateNotes,
|
60 | success,
|
61 | fail,
|
62 | tagFormat: readPkg.sync().name + '-v${version}',
|
63 | };
|