autorel 0.0.20 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,11 +30,12 @@ Autorel automatically does the following, if appropriate:
30
30
  **💪 Flexible & Powerful**
31
31
  - Use via `npx`, or import as a library
32
32
  - If using CLI, supports both `yaml` configuration and arguments
33
+ - Highly customizable without being overly complex
33
34
 
34
35
  # Example Usage (CLI)
35
36
 
36
37
  ```bash
37
- npx autorel --publish --run "echo 'Hello, World!'"
38
+ npx autorel --publish --run "echo \"Next version is ${NEXT_VERSION}!\""
38
39
  ```
39
40
 
40
41
  This will:
@@ -42,13 +43,13 @@ This will:
42
43
  1. Bump the version based on the commit messages since the last release (including pushing the tag and updating package.json)
43
44
  2. Create a new release on GitHub with Release Notes
44
45
  3. Publish the release to NPM
45
- 4. Run the command `echo 'Hello, World!'`
46
+ 4. Run the command `echo "Next version is ${NEXT_VERSION}!"`
46
47
 
47
48
  You can also install `autorel` globally and run it that way:
48
49
 
49
50
  ```bash
50
51
  npm i -g autorel
51
- autorel --publish --run "echo 'Hello, World!'"
52
+ autorel --publish
52
53
  ```
53
54
 
54
55
  # Example Usage (Library)
@@ -113,7 +114,12 @@ Whether to skip creating a release on GitHub. If `true`, the release will not be
113
114
 
114
115
  ## run
115
116
 
116
- A command to run after the release is complete. This will be run via `child_process`.
117
+ A command to run after the release is complete. The following environment variables are available:
118
+
119
+ | Variable | Description |
120
+ | --- | --- |
121
+ | `NEXT_VERSION` | The next version number (without the `v`) |
122
+ | `NEXT_TAG` | The next tag |
117
123
 
118
124
  - CLI: `--run`
119
125
  - Argument: `run: string`
@@ -121,12 +127,9 @@ A command to run after the release is complete. This will be run via `child_proc
121
127
 
122
128
  ## runScript (YAML only)
123
129
 
124
- A bash script to run after the release is complete. This will be run via `bash` and `child_process`.
125
-
126
- - Argument: `runScript: string`
127
- - Default: `undefined`
130
+ A bash script to run after the release is complete. Environment variables are available as above.
128
131
 
129
- > This requires `bash` to be installed on the system.
132
+ > ❗️ This requires `bash` to be installed on the system.
130
133
 
131
134
  You can use the multi-line string syntax in YAML to write a script:
132
135
 
@@ -136,12 +139,7 @@ runScript: |
136
139
  echo 'Goodbye, World!' > goodbye.txt
137
140
  ```
138
141
 
139
- ## tag
140
-
141
- The tag to use for the release. This will be used verbatim, instead of being generated from the version number. Always results in a release being created unless `noRelease` is `true`. **Advanced usage only.**
142
-
143
- - CLI: `--tag`
144
- - Argument: `tag: string`
142
+ - Argument: `runScript: string`
145
143
  - Default: `undefined`
146
144
 
147
145
  ## pre-release
@@ -186,6 +184,16 @@ The above will release to the `latest` channel (production) on NPM for the `main
186
184
 
187
185
  - Argument: `branches: ReleaseBranch[]`
188
186
 
187
+ ## useVersion
188
+
189
+ The version to use for the release INSTEAD of the version being generated. Always results in a release being created unless `noRelease` is `true`. **Advanced usage only, not recommended for most users.**
190
+
191
+ - CLI: `--use-version`
192
+ - Argument: `useVersion: string`
193
+ - Default: `undefined`
194
+
195
+ > ❗️ Must be a valid SemVer version, without the `v`.
196
+
189
197
  # Sample YAML Configuration
190
198
 
191
199
  <sub>_.autorel.yaml_</sub>
package/dist/index.js CHANGED
@@ -38,7 +38,7 @@ const github = __importStar(require("./services/github"));
38
38
  const output_1 = __importDefault(require("./lib/output"));
39
39
  const config_1 = require("./config");
40
40
  const versionBump_1 = require("./versionBump");
41
- const bash_1 = require("./lib/bash");
41
+ const sh_1 = require("./lib/sh");
42
42
  function getPrereleaseChannel(args) {
43
43
  if (args.prereleaseChannel)
44
44
  return args.prereleaseChannel;
@@ -117,7 +117,7 @@ async function autorel(args) {
117
117
  output_1.default.log(args.run);
118
118
  output_1.default.log('----------------------------');
119
119
  output_1.default.log('');
120
- (0, bash_1.cmd)(args.run);
120
+ (0, sh_1.cmd)(args.run);
121
121
  }
122
122
  else if (args.runScript) {
123
123
  output_1.default.log('Running post-release bash script:');
@@ -126,7 +126,7 @@ async function autorel(args) {
126
126
  output_1.default.log(args.runScript);
127
127
  output_1.default.log('----------------------------');
128
128
  output_1.default.log('');
129
- (0, bash_1.bash)(args.runScript);
129
+ (0, sh_1.bash)(args.runScript);
130
130
  }
131
131
  }
132
132
  exports.autorel = autorel;
package/dist/lib/git.js CHANGED
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getCurrentBranch = exports.getCommitsSinceLastTag = exports.getRepo = exports.getLastProdTag = exports.getLastTag = exports.createAndPushTag = void 0;
4
- const bash_1 = require("./bash");
4
+ const sh_1 = require("./sh");
5
5
  function createAndPushTag(tag) {
6
- (0, bash_1.$) `git tag ${tag}`;
7
- (0, bash_1.$) `git push origin ${tag}`;
6
+ (0, sh_1.$) `git tag ${tag}`;
7
+ (0, sh_1.$) `git push origin ${tag}`;
8
8
  }
9
9
  exports.createAndPushTag = createAndPushTag;
10
10
  function getLastTag() {
11
- return (0, bash_1.$) `git tag | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1` || '';
11
+ return (0, sh_1.$) `git tag | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1` || '';
12
12
  }
13
13
  exports.getLastTag = getLastTag;
14
14
  function getLastProdTag() {
15
- return (0, bash_1.$) `git tag --list | grep -E "^v[0-9]+\\.[0-9]+\\.[0-9]+$" | sort -V | tail -n 1` || '';
15
+ return (0, sh_1.$) `git tag --list | grep -E "^v[0-9]+\\.[0-9]+\\.[0-9]+$" | sort -V | tail -n 1` || '';
16
16
  }
17
17
  exports.getLastProdTag = getLastProdTag;
18
18
  function getRepo() {
@@ -20,7 +20,7 @@ function getRepo() {
20
20
  const [owner, repository] = process.env.GITHUB_REPOSITORY.split('/');
21
21
  return { owner, repository };
22
22
  }
23
- const url = (0, bash_1.$) `git remote get-url origin`;
23
+ const url = (0, sh_1.$) `git remote get-url origin`;
24
24
  const regex = /^git@github\.com:(.+)\/(.+)\.git$/;
25
25
  const matches = url.match(regex);
26
26
  if (!matches)
@@ -33,8 +33,8 @@ exports.getRepo = getRepo;
33
33
  function getCommitsSinceLastTag(lastTag) {
34
34
  const format = '<commit><hash>%h</hash><message>%B</message></commit>';
35
35
  const rawLog = lastTag !== ''
36
- ? (0, bash_1.$) `git log --pretty=format:"${format}" ${lastTag}..HEAD`
37
- : (0, bash_1.$) `git log --pretty=format:"${format}"`;
36
+ ? (0, sh_1.$) `git log --pretty=format:"${format}" ${lastTag}..HEAD`
37
+ : (0, sh_1.$) `git log --pretty=format:"${format}"`;
38
38
  const commitsXml = rawLog.match(/<commit>.*?<\/commit>/gs);
39
39
  if (!commitsXml)
40
40
  return [];
@@ -46,7 +46,7 @@ function getCommitsSinceLastTag(lastTag) {
46
46
  }
47
47
  exports.getCommitsSinceLastTag = getCommitsSinceLastTag;
48
48
  function getCurrentBranch() {
49
- return (0, bash_1.$) `git rev-parse --abbrev-ref HEAD`;
49
+ return (0, sh_1.$) `git rev-parse --abbrev-ref HEAD`;
50
50
  }
51
51
  exports.getCurrentBranch = getCurrentBranch;
52
52
  //# sourceMappingURL=git.js.map
package/dist/lib/npm.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.publishPackage = void 0;
4
- const bash_1 = require("./bash");
4
+ const sh_1 = require("./sh");
5
5
  function publishPackage(channel) {
6
- (0, bash_1.$) `npm publish --tag ${channel || 'latest'}`;
6
+ (0, sh_1.$) `npm publish --tag ${channel || 'latest'}`;
7
7
  }
8
8
  exports.publishPackage = publishPackage;
9
9
  //# sourceMappingURL=npm.js.map
@@ -23,4 +23,4 @@ function cmd(cmd) {
23
23
  (0, child_process_1.execSync)(cmd, { encoding: 'utf8', stdio: 'inherit' });
24
24
  }
25
25
  exports.cmd = cmd;
26
- //# sourceMappingURL=bash.js.map
26
+ //# sourceMappingURL=sh.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autorel",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "description": "Automate semantic releases based on conventional commits. Similar to semantic-release but much simpler.",
5
5
  "license": "MIT",
6
6
  "author": "Marc H. Weiner <mhweiner234@gmail.com> (https://mhweiner.com)",
File without changes