1 | #!/usr/bin/env node
|
2 |
|
3 | 'use strict';
|
4 |
|
5 | const pkg = require(`../package.json`);
|
6 | var program = require(`commander`);
|
7 | var semanticRelease = require(`./index.js`);
|
8 |
|
9 | program
|
10 | .description(pkg.description)
|
11 | .version(pkg.version)
|
12 | .option(`-p, --preset <convention>`, `Preset package name [angular, @scope/angular, ...]. See 'conventional-recommended-bump' for preset package requirements.`)
|
13 | .option(`-d, --dryrun`, `Calculate the next release flag but don't perform the git tag or release.`)
|
14 | .parse(process.argv);
|
15 | const packageOpts = {
|
16 | preset: program.preset,
|
17 | dryrun: program.dryrun
|
18 | };
|
19 |
|
20 | semanticRelease(packageOpts)
|
21 | .then(function ([releasedVersion, oldTag]) {
|
22 | let message="";
|
23 | if(packageOpts.dryrun) {
|
24 | message = releasedVersion ? releasedVersion: oldTag;
|
25 | } else {
|
26 | message = releasedVersion ?
|
27 | `Released version ${releasedVersion}` :
|
28 | `No changes are available to release.`;
|
29 | }
|
30 | console.log(message);
|
31 | })
|
32 | .catch(error => {
|
33 | console.error(`semantic-release-gitlab failed for the following reason - ${error}`);
|
34 | process.exit(1);
|
35 | });
|
36 |
|