autorel 0.0.14 → 0.0.15

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
@@ -10,123 +10,236 @@
10
10
  [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
11
11
  [![SemVer](https://img.shields.io/badge/SemVer-2.0.0-blue)]()
12
12
 
13
- A DevOps friendly, small, and simple logger for Typescript/Javascript projects. Sponsored by [Aeroview](https://aeroview.io).
13
+ Automate releases based on [SemVer](https://semver.org/) and [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). Like `semantic-release` and `release-please` but much simpler and more flexible.
14
14
 
15
- **Structured Logs 🔒**
16
- - Supports both human-readable CLI output and JSON output for log aggregation into services like sumologic, New Relic, DataDog, etc.
15
+ Autorel automatically does the following, if appropriate:
17
16
 
18
- **Defensive & Devops Friendly 🛡**
19
- - Logs are enabled in production mode by default
20
- - Transport should be handled outside of the process via `STDOUT` and `STDERR`
21
- - Configuration should also be handled outside of the code
22
- - Simple configurations make it hard to mess up
23
- - Minimal dependencies
17
+ - Bumps the version based on the commit messages
18
+ - Creates a new release on GitHub with Release Notes
19
+ - Publishes the release to NPM
20
+ - Any other custom release steps you want to add
24
21
 
25
- **Simple & Easy to Use 😃**
26
- - Automatic Error serialization
27
- - Out-of-the-box Typescript support
28
- - Nice human readable output
22
+ **✅ Conventional Commit and SemVer Compliant**
23
+ - Unlike `semantic-release`, `autorel` is 100% compliant with Conventional Commits and SemVer out of the box, including "!" for breaking changes
29
24
 
30
- **Flexible & Powerful 💪**
31
- - Easily set configuration using simple CLI overrides
32
- - Simple and well-defined enough to build custom tooling around, such as custom error handling and logging pipelines.
25
+ **😃 Simple & Easy to Use**
26
+ - No confusing configuration files
27
+ - Works with any CI/CD system, including GitHub Actions
28
+ - Out of the box TypeScript support
33
29
 
34
- ## Installation
30
+ **💪 Flexible & Powerful**
31
+ - Use via `npx`, or import as a library
32
+ - If using CLI, supports `yaml` configuration or arguments
33
+
34
+ # Example Usage (CLI)
35
35
 
36
36
  ```bash
37
- npm i jsout
37
+ npx autorel --publish --run "echo 'Hello, World!'"
38
38
  ```
39
-
40
- ## Example Usage
41
39
 
42
- ```typescript
43
- import {logger} from 'jsout';
40
+ This will:
44
41
 
45
- logger.info('test message');
46
- logger.fatal('oops!', new Error(), {foo: 'bar'})
47
- logger.error('', new Error('test')); //infers "test" as message
48
- ```
42
+ 1. Bump the version based on the commit messages, push the new tag, and change the package.json version
43
+ 2. Create a new release on GitHub with Release Notes
44
+ 3. Publish the release to NPM
45
+ 4. Run the command `echo 'Hello, World!'` via `bash` and `child_process`
49
46
 
50
- ## Express.js HTTP Request Logger
47
+ # Example Usage (Library)
51
48
 
52
- See [jsout-express](https://github.com/mhweiner/jsout-express)
49
+ 1. Install `autorel` as a dependency
53
50
 
54
- ## Configuration
51
+ ```bash
52
+ npm i autorel
53
+ ```
55
54
 
56
- Configuration is set through the CLI environment variables. By default, the logger is set to `info` level, `json` format, and `verbose` verbosity, which is recommended for production.
55
+ 2. Import and use in your project
57
56
 
58
- You can override these settings by setting the following environment variables before running your application.
57
+ ```typescript
58
+ import {autorel} from 'autorel';
59
59
 
60
- For example, here is the recommended way to run your application locally:
60
+ autorel({
61
+ publish: true
62
+ run: 'echo "Hello, World!"'
63
+ });
64
+ ```
65
+ This will do the same as the CLI example above.
61
66
 
62
- ```bash
63
- LOG=debug LOG_FORMAT=human LOG_VERBOSITY=terse node /path/to/yourApp.js
67
+ # Configuration
68
+
69
+ Unless otherwise noted, configuration can be done via `yaml`, file, CLI arguments, or any combination of the two. CLI arguments take precedence and will override the `yaml` file.
70
+
71
+ You can also use the library in your project, in which case you can pass the options directly to the `autorel` function.
72
+
73
+ All arguments are optional, but setting `branches` is recommended.
74
+
75
+ > If using yaml, the file must be named `autorel.yml` and be in the root of your project.
76
+
77
+ ## help (CLI only)
78
+
79
+ Man page for the CLI
80
+
81
+ - CLI: `--help`
82
+
83
+ ## publish
84
+
85
+ Whether to publish the release to NPM. If `true`, you must be authenticated with NPM. To do so via GitHub Actions, see [this](https://docs.github.com/en/actions/guides/publishing-nodejs-packages#publishing-packages-to-the-npm-registry).
86
+
87
+ - CLI: `--publish`
88
+ - Argument: `publish: boolean`
89
+ - Default: `false`
90
+
91
+ ## dryRun
92
+
93
+ Whether to run in dry-run mode. This will not push the tag, create the release, publish to NPM, or run the command.
94
+
95
+ - CLI: `--dry`
96
+ - Argument: `dryRun: boolean`
97
+ - Default: `false`
98
+
99
+ ## noRelease
100
+
101
+ Whether to skip creating a release on GitHub. If `true`, the release will not be created, but the tag will still be pushed and the package on npm will still be updated, if applicable.
102
+
103
+ - CLI: `--no-release`
104
+ - Argument: `noRelease: boolean`
105
+ - Default: `false`
106
+
107
+ ## run
108
+
109
+ A command to run after the release is complete. This will be run via `child_process`.
110
+
111
+ - CLI: `--run`
112
+ - Argument: `run: string`
113
+ - Default: `undefined`
114
+
115
+ ## runScript (YAML only)
116
+
117
+ A bash script to run after the release is complete. This will be run via `bash` and `child_process`.
118
+
119
+ - Argument: `runScript: string`
120
+ - Default: `undefined`
121
+
122
+ > This requires `bash` to be installed on the system.
123
+
124
+ You can use the multi-line string syntax in YAML to write a script:
125
+
126
+ ```yaml
127
+ runScript: |
128
+ echo 'Hello, World!' > hello.txt
129
+ echo 'Goodbye, World!' > goodbye.txt
64
130
  ```
65
131
 
66
- ### `process.env.LOG`
132
+ ## tag
133
+
134
+ The tag to use for the release. Note that this will skip the commit message analysis and use the tag verbatim. Always results in a release being created unless `noRelease` is `true`. Advanced usage only.
67
135
 
68
- Sets the log level. Any logs lower than this log level are ignored.
136
+ - CLI: `--tag`
137
+ - Argument: `tag: string`
138
+ - Default: `undefined`
69
139
 
70
- **Possible values**: `"trace"`, `"debug"`, `"info"`, `"warn"`, `"error"`, `"fatal"`
140
+ ## pre-release
71
141
 
72
- **Default**: `"info"` (recommended for production)
142
+ The pre-release channel to use. This will be appended to the version number. For example, if the version is `1.0.0` and the pre-release is `alpha`, the version will be `1.0.0-alpha.1`. For "production" releases, leave this blank. In this case, "latest" will be used for the NPM tag/channel.
73
143
 
74
- ### `process.env.LOG_FORMAT`
144
+ - CLI: `--pre`
145
+ - Argument: `pre: string`
146
+ - Default: `undefined`
75
147
 
76
- Set the format for the output to either be human-readable (great for local development in the console), or JSON formatted (great for data aggregation on a server).
148
+ ## breakingChangeTitle (YAML only)
77
149
 
78
- **Possible values**: `"human"`, `"json"`
150
+ The title to use for the breaking changes section in the release notes.
79
151
 
80
- **Default**: `"json"` (recommended for production)
152
+ - Argument: `breakingChangeTitle: string`
153
+ - Default: `"🚨 Breaking Changes 🚨"`
81
154
 
82
- ### `process.env.LOG_VERBOSITY`
155
+ ## commitTypes (YAML only)
83
156
 
84
- If verbose, extra metadata is appended to `log.context`. Example:
157
+ The commit types to use for both the release notes and version bumping. If not provided, the default is:
85
158
 
86
- ```json
87
- {
88
- "date": "2021-12-19T06:17:38.147Z",
89
- "pid": 71971,
90
- "ppid": 71970,
91
- "nodeVersion": "v16.13.0"
92
- }
159
+ ```yaml
160
+ - {type: 'feat', title: '✨ Features', release: 'minor'}
161
+ - {type: 'fix', title: '🐛 Bug Fixes', release: 'patch'}
162
+ - {type: 'perf', title: '🚀 Performance Improvements', release: 'patch'}
163
+ - {type: 'revert', title: '⏪ Reverts', release: 'patch'}
164
+ - {type: 'docs', title: '📚 Documentation', release: 'none'}
165
+ - {type: 'style', title: '💅 Styles', release: 'none'}
166
+ - {type: 'refactor', title: '🛠 Code Refactoring', release: 'none'}
167
+ - {type: 'test', title: '🧪 Tests', release: 'none'}
168
+ - {type: 'build', title: '🏗 Build System', release: 'none'}
169
+ - {type: 'ci', title: '🔧 Continuous Integration', release: 'none'}
93
170
  ```
94
171
 
95
- **Possible values**: `"terse"`, `"verbose"`
172
+ - Argument: `commitTypes: CommitType[]`
96
173
 
97
- **Default**: `"verbose"` (recommended for production)
174
+ ## branches (YAML only)
98
175
 
99
- ## API
176
+ The branches to use for the release along with their channel. If not provided, the default is:
100
177
 
101
- For all of the following, please note:
178
+ ```yaml
179
+ - {name: 'main'}
180
+ ```
102
181
 
103
- - `error` should be an actual `Error` object with stack traces. This is not enforced.
104
- - `context` should by any information not necessarily directly related to the error, ie. server request information, app component, configurations, etc. This is where the [verbose metadata](#processenvlog_verbosity) is appended (this will override anything in the context object).
105
- - `data` any object that might be useful to debug the error, or any pertinant information relating to the log message
182
+ The above will release to the `latest` channel on NPM. If you want to release to a different channel, you can specify it like so:
106
183
 
107
- ### `logger.trace(message?: string, data?: any, context?: any)`
184
+ ```yaml
185
+ branches:
186
+ - {name: 'main'}
187
+ - {name: 'develop', channel: 'alpha'}
188
+ - {name: 'staging', channel: 'beta'}
189
+ ```
108
190
 
109
- Emits a log to `stdout` with a level of `TRACE (10)`
191
+ The above will release to the `latest` channel (production) on NPM for the `main` branch, the `alpha` pre-release channel for the `develop` branch, and the `beta` pre-release channel for the `staging` branch.
110
192
 
111
- ### `logger.debug(message?: string, data?: any, context?: any)`
193
+ - Argument: `branches: ReleaseBranch[]`
112
194
 
113
- Emits a log to `stdout` with a level of `DEBUG (20)`
195
+ # Sample YAML Configuration
114
196
 
115
- ### `logger.info(message?: string, data?: any, context?: any)`
197
+ <sub>_.autorel.yaml_</sub>
198
+ ```yaml
199
+ branches:
200
+ - {name: main}
201
+ - {name: next, channel: next}
202
+ - {name: beta, channel: beta}
203
+ publish: true
204
+ run: echo 'Hello, World!'
205
+ ```
116
206
 
117
- Emits a log to `stdout` with a level of `INFO (30)`
207
+ # Types
118
208
 
119
- ### `logger.warn(message?: string, error?: any, data?: any, context?: any)`
209
+ ## CommitType
120
210
 
121
- Emits a log to `stderr` with a level of `WARN (40)`
211
+ ```typescript
212
+ type CommitType = {
213
+ type: string;
214
+ title: string;
215
+ release: 'major' | 'minor' | 'patch' | 'none';
216
+ };
217
+ ```
122
218
 
123
- ### `logger.error(message?: string, error?: any, data?: any, context?: any)`
219
+ ## ReleaseBranch
124
220
 
125
- Emits a log to `stderr` with a level of `ERROR (50)`
221
+ ```typescript
222
+ type ReleaseBranch = {
223
+ name: string;
224
+ channel?: string;
225
+ };
226
+ ```
126
227
 
127
- ### `logger.fatal(message?: string, error?: any, data?: any, context?: any)`
228
+ ## Config
128
229
 
129
- Emits a log to `stderr` with a level of `FATAL (60)`
230
+ ```typescript
231
+ type Config = {
232
+ run?: string;
233
+ publish?: boolean;
234
+ dryRun?: boolean;
235
+ noRelease?: boolean;
236
+ tag?: string;
237
+ pre?: string;
238
+ breakingChangeTitle?: string;
239
+ commitTypes?: CommitType[];
240
+ branches?: ReleaseBranch[];
241
+ };
242
+ ```
130
243
 
131
244
  ## Contribution
132
245
 
@@ -1,3 +1,3 @@
1
- import { CommitType } from './config';
1
+ import { CommitType } from '.';
2
2
  import { ConventionalCommit } from './conventionalcommits';
3
3
  export declare function generateChangelog(commits: ConventionalCommit[], commitTypeMap: Map<string, CommitType>, breakingTitle?: string): string;
package/dist/cli.js CHANGED
@@ -7,6 +7,7 @@ const commander_1 = require("commander");
7
7
  const colors_1 = require("./lib/colors");
8
8
  const _1 = require(".");
9
9
  const output_1 = __importDefault(require("./lib/output"));
10
+ const config_1 = require("./config");
10
11
  // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
11
12
  const packageJson = require('../package.json');
12
13
  const program = new commander_1.Command();
@@ -16,19 +17,22 @@ console.log('----------------------------');
16
17
  program
17
18
  .version(packageJson.version, '-v, --version')
18
19
  .description('An example CLI for managing a directory')
19
- .option('-d, --dry', 'Do a dry run')
20
- .option('-p, --pre <value>', 'Pre-release channel. If specified, the release will be marked as a pre-release. Overrides any other configuration.')
21
- .option('-t, --tag <value>', 'Specify a tag to be used instead of calculating it from commit analysis. Overrides --pre.')
22
- .option('-r, --run <value>', 'Bash script to run after the release is successful')
20
+ .option('--dry', 'Do a dry run')
21
+ .option('--pre-release <value>', 'Pre-release channel. If specified, the release will be marked as a pre-release. Overrides any other configuration.')
22
+ .option('--tag <value>', 'Specify a tag to be used instead of calculating it from commit analysis. Overrides --pre.')
23
+ .option('--run <value>', 'Command to run after the release is successful')
23
24
  .option('--no-release', 'Does not create a release on GitHub (advanced use only)')
24
25
  .option('--publish', 'Publish the package to npm, requires passing --npm-token or NPM_TOKEN environment variable')
25
26
  .parse(process.argv);
26
27
  const options = program.opts();
28
+ const config = (0, config_1.getConfig)();
27
29
  output_1.default.debug(`Options: ${JSON.stringify(options, null, 2)}`);
30
+ output_1.default.debug(`Config: ${JSON.stringify(config, null, 2)}`);
28
31
  (0, _1.autorel)({
32
+ ...config,
29
33
  dryRun: options.dry,
30
- postReleaseBashScript: options.run,
31
- prereleaseChannel: options.pre,
34
+ run: options.run,
35
+ prereleaseChannel: options.preRelease,
32
36
  tag: options.tag,
33
37
  publish: options.publish,
34
38
  noRelease: options.noRelease,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,yCAAkC;AAClC,yCAAkC;AAClC,wBAA0B;AAC1B,0DAAkC;AAElC,qGAAqG;AACrG,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAA,aAAI,EAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAE5C,OAAO;KACF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC;KAC7C,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC;KACnC,MAAM,CAAC,mBAAmB,EAAE,oHAAoH,CAAC;KACjJ,MAAM,CAAC,mBAAmB,EAAE,2FAA2F,CAAC;KACxH,MAAM,CAAC,mBAAmB,EAAE,oDAAoD,CAAC;KACjF,MAAM,CAAC,cAAc,EAAE,yDAAyD,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,4FAA4F,CAAC;KACjH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAE/B,gBAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7D,IAAA,UAAO,EAAC;IACJ,MAAM,EAAE,OAAO,CAAC,GAAG;IACnB,qBAAqB,EAAE,OAAO,CAAC,GAAG;IAClC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,SAAS,EAAE,OAAO,CAAC,SAAS;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,yCAAkC;AAClC,yCAAkC;AAClC,wBAA0B;AAC1B,0DAAkC;AAClC,qCAAmC;AAEnC,qGAAqG;AACrG,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAA,aAAI,EAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAE5C,OAAO;KACF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC;KAC7C,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;KAC/B,MAAM,CAAC,uBAAuB,EAAE,oHAAoH,CAAC;KACrJ,MAAM,CAAC,eAAe,EAAE,2FAA2F,CAAC;KACpH,MAAM,CAAC,eAAe,EAAE,gDAAgD,CAAC;KACzE,MAAM,CAAC,cAAc,EAAE,yDAAyD,CAAC;KACjF,MAAM,CAAC,WAAW,EAAE,4FAA4F,CAAC;KACjH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/B,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;AAE3B,gBAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7D,gBAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAE3D,IAAA,UAAO,EAAC;IACJ,GAAG,MAAM;IACT,MAAM,EAAE,OAAO,CAAC,GAAG;IACnB,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,iBAAiB,EAAE,OAAO,CAAC,UAAU;IACrC,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,SAAS,EAAE,OAAO,CAAC,SAAS;CAC/B,CAAC,CAAC"}
package/dist/config.d.ts CHANGED
@@ -1,16 +1,2 @@
1
- export type CommitType = {
2
- type: string;
3
- title: string;
4
- release: 'minor' | 'patch' | 'none';
5
- };
6
- export type ReleaseBranch = {
7
- name: string;
8
- prereleaseChannel?: string;
9
- };
10
- export type Config = {
11
- breakingChangeTitle: string;
12
- commitTypes: CommitType[];
13
- branches: ReleaseBranch[];
14
- };
15
- export declare const defaultConfig: Config;
16
- export declare function getConfig(): Config;
1
+ import { Args } from '.';
2
+ export declare function getConfig(): Args;
package/dist/config.js CHANGED
@@ -26,31 +26,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getConfig = exports.defaultConfig = void 0;
29
+ exports.getConfig = void 0;
30
30
  const fs = __importStar(require("node:fs"));
31
31
  const path = __importStar(require("node:path"));
32
32
  const yaml = __importStar(require("js-yaml"));
33
33
  const rtype_1 = require("@aeroview-io/rtype");
34
34
  const output_1 = __importDefault(require("./lib/output"));
35
- exports.defaultConfig = {
36
- breakingChangeTitle: '🚨 Breaking Changes 🚨',
37
- commitTypes: [
38
- { type: 'feat', title: '✨ Features', release: 'minor' },
39
- { type: 'fix', title: '🐛 Bug Fixes', release: 'patch' },
40
- { type: 'perf', title: '⚡ Performance Improvements', release: 'patch' },
41
- { type: 'revert', title: '⏪ Reverts', release: 'patch' },
42
- { type: 'docs', title: '📚 Documentation', release: 'none' },
43
- { type: 'style', title: '💅 Styles', release: 'none' },
44
- { type: 'refactor', title: '🛠 Code Refactoring', release: 'none' },
45
- { type: 'test', title: '🧪 Tests', release: 'none' },
46
- { type: 'build', title: '🏗 Build System', release: 'none' },
47
- { type: 'ci', title: '🔧 Continuous Integration', release: 'none' },
48
- ],
49
- branches: [
50
- { name: 'main' },
51
- ],
52
- };
35
+ const defaults_1 = require("./defaults");
53
36
  const validateConfig = rtype_1.predicates.object({
37
+ dryRun: rtype_1.predicates.optional(rtype_1.predicates.boolean()),
38
+ run: rtype_1.predicates.optional(rtype_1.predicates.string()),
39
+ runScript: rtype_1.predicates.optional(rtype_1.predicates.string()),
40
+ prereleaseChannel: rtype_1.predicates.optional(rtype_1.predicates.string()),
41
+ tag: rtype_1.predicates.optional(rtype_1.predicates.string()),
42
+ noRelease: rtype_1.predicates.optional(rtype_1.predicates.boolean()),
43
+ publish: rtype_1.predicates.optional(rtype_1.predicates.boolean()),
54
44
  breakingChangeTitle: rtype_1.predicates.optional(rtype_1.predicates.string()),
55
45
  commitTypes: rtype_1.predicates.optional(rtype_1.predicates.array(rtype_1.predicates.object({
56
46
  type: rtype_1.predicates.string(),
@@ -94,7 +84,7 @@ function readAutorelYaml(filePath = '.autorel.yaml') {
94
84
  function getConfig() {
95
85
  const localConfig = readAutorelYaml();
96
86
  return {
97
- ...exports.defaultConfig,
87
+ ...defaults_1.defaultConfig,
98
88
  ...localConfig,
99
89
  };
100
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAClC,8CAAgC;AAChC,8CAA8E;AAC9E,0DAAkC;AAiBrB,QAAA,aAAa,GAAW;IACjC,mBAAmB,EAAE,wBAAwB;IAC7C,WAAW,EAAE;QACT,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAC;QACrD,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAC;QACtD,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,OAAO,EAAC;QACrE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAC;QACtD,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAC;QAC1D,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAC;QACpD,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAC;QACjE,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAC;QAClD,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAC;QAC1D,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAC;KACpE;IACD,QAAQ,EAAE;QACN,EAAC,IAAI,EAAE,MAAM,EAAC;KACjB;CACJ,CAAC;AAEF,MAAM,cAAc,GAAG,kBAAC,CAAC,MAAM,CAAC;IAC5B,mBAAmB,EAAE,kBAAC,CAAC,QAAQ,CAAC,kBAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,WAAW,EAAE,kBAAC,CAAC,QAAQ,CAAC,kBAAC,CAAC,KAAK,CAAC,kBAAC,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,kBAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,kBAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,kBAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC,CAAC;IACJ,QAAQ,EAAE,kBAAC,CAAC,QAAQ,CAAC,kBAAC,CAAC,KAAK,CAAC,kBAAC,CAAC,MAAM,CAAC;QAClC,IAAI,EAAE,kBAAC,CAAC,MAAM,EAAE;QAChB,iBAAiB,EAAE,kBAAC,CAAC,QAAQ,CAAC,kBAAC,CAAC,MAAM,EAAE,CAAC;KAC5C,CAAC,CAAC,CAAC;CACP,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,eAAe,CAAC,QAAQ,GAAG,eAAe;IAE/C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,2BAA2B;IAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAE9B,gBAAM,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;KAEb;IAED,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtF,IAAI,OAAO,EAAE;QAET,gBAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClD,MAAM,OAAO,CAAC;KAEjB;IAED,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAEvE,IAAI,QAAQ,EAAE;QAEV,gBAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAClD,MAAM,QAAQ,CAAC;KAElB;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnE,IAAI,aAAa,YAAY,uBAAe,EAAE;QAE1C,gBAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM,aAAa,CAAC;KAEvB;IAED,OAAO,UAAoB,CAAC;AAEhC,CAAC;AAED,SAAgB,SAAS;IAErB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IAEtC,OAAO;QACH,GAAG,qBAAa;QAChB,GAAG,WAAW;KACjB,CAAC;AAEN,CAAC;AATD,8BASC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,11 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  /* eslint-disable max-lines-per-function */
27
4
  const hoare_1 = require("hoare");
28
5
  const cjs_mock_1 = require("cjs-mock");
29
- const mod = __importStar(require("./config"));
30
6
  const fakeLog_1 = require("./test_fixtures/fakeLog");
31
7
  const rtype_1 = require("@aeroview-io/rtype");
8
+ const defaults_1 = require("./defaults");
32
9
  (0, hoare_1.test)('readAutorelYaml: happy path, with no .autorel.yaml', async (assert) => {
33
10
  const mockFs = {
34
11
  existsSync: () => false,
@@ -41,7 +18,7 @@ const rtype_1 = require("@aeroview-io/rtype");
41
18
  'node:path': { resolve: (p) => p },
42
19
  './lib/output': fakeLog_1.fakeLogger,
43
20
  });
44
- assert.equal(configMod.getConfig(), mod.defaultConfig, 'should return the default configuration');
21
+ assert.equal(configMod.getConfig(), defaults_1.defaultConfig, 'should return the default configuration');
45
22
  });
46
23
  (0, hoare_1.test)('readAutorelYaml: happy path, with .autorel.yaml', async (assert) => {
47
24
  const mockFs = {
@@ -68,7 +45,7 @@ const rtype_1 = require("@aeroview-io/rtype");
68
45
  { type: 'test', title: '🧪 Tests', release: 'none' },
69
46
  { type: 'build', title: '🏗 Build System', release: 'none' },
70
47
  ],
71
- branches: mod.defaultConfig.branches,
48
+ branches: defaults_1.defaultConfig.branches,
72
49
  }, 'should return the parsed configuration');
73
50
  });
74
51
  (0, hoare_1.test)('readAutorelYaml: invalid configuration', async (assert) => {
@@ -1 +1 @@
1
- {"version":3,"file":"config.spec.js","sourceRoot":"","sources":["../src/config.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,iCAA2B;AAC3B,uCAA8B;AAC9B,8CAAgC;AAChC,qDAAmD;AACnD,8CAA6D;AAE7D,IAAA,YAAI,EAAC,oDAAoD,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAExE,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;QACvB,YAAY,EAAE,GAAG,EAAE;YAEf,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,4BAA4B;QAEnE,CAAC;KACJ,CAAC;IACF,MAAM,SAAS,GAAe,IAAA,eAAI,EAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAC;QACxC,cAAc,EAAE,oBAAU;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,aAAa,EAAE,yCAAyC,CAAC,CAAC;AAEtG,CAAC,CAAC,CAAC;AAEH,IAAA,YAAI,EAAC,iDAAiD,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAErE,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;QACtB,YAAY,EAAE,GAAG,EAAE,CAAC;;;;;;;;;SASnB;KACJ,CAAC;IACF,MAAM,SAAS,GAAe,IAAA,eAAI,EAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAC;QACxC,cAAc,EAAE,oBAAU;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE;QAChC,mBAAmB,EAAE,kBAAkB;QACvC,WAAW,EAAE;YACT,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAC;YAClD,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAC;SAC7D;QACD,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ;KACvC,EAAE,wCAAwC,CAAC,CAAC;AAEjD,CAAC,CAAC,CAAC;AAEH,IAAA,YAAI,EAAC,wCAAwC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAE5D,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;QACtB,YAAY,EAAE,GAAG,EAAE,CAAC;;;;;SAKnB;KACJ,CAAC;IACF,MAAM,SAAS,GAAe,IAAA,eAAI,EAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAC;QACxC,cAAc,EAAE,oBAAU;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,uBAAe,CAAC;QAC3D,iBAAiB,EAAE,kDAAkD;QACrE,iBAAiB,EAAE,kDAAkD;KACxE,CAAC,EAAE,8BAA8B,CAAC,CAAC;AAExC,CAAC,CAAC,CAAC;AAEH,IAAA,YAAI,EAAC,iCAAiC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAErD,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;QACtB,YAAY,EAAE,GAAG,EAAE;YAEf,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE1C,CAAC;KACJ,CAAC;IACF,MAAM,SAAS,GAAe,IAAA,eAAI,EAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAC;QACxC,cAAc,EAAE,oBAAU;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAEzG,CAAC,CAAC,CAAC;AAEH,IAAA,YAAI,EAAC,6BAA6B,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAEjD,MAAM,WAAW,GAAG;;;;CAIvB,CAAC;IACE,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;QACtB,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW;KAClC,CAAC;IACF,MAAM,SAAS,GAAe,IAAA,eAAI,EAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAC;QACxC,cAAc,EAAE,oBAAU;KAC7B,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IAEpD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;AAEtE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"config.spec.js","sourceRoot":"","sources":["../src/config.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CommitType } from './config';
1
+ import { CommitType } from '.';
2
2
  type ReleaseType = 'major' | 'minor' | 'patch' | 'none';
3
3
  export type ConventionalCommit = {
4
4
  hash: string;
@@ -0,0 +1,2 @@
1
+ import { Args } from '.';
2
+ export declare const defaultConfig: Args;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultConfig = void 0;
4
+ exports.defaultConfig = {
5
+ breakingChangeTitle: '🚨 Breaking Changes 🚨',
6
+ commitTypes: [
7
+ { type: 'feat', title: '✨ Features', release: 'minor' },
8
+ { type: 'fix', title: '🐛 Bug Fixes', release: 'patch' },
9
+ { type: 'perf', title: '🚀 Performance Improvements', release: 'patch' },
10
+ { type: 'revert', title: '⏪ Reverts', release: 'patch' },
11
+ { type: 'docs', title: '📚 Documentation', release: 'none' },
12
+ { type: 'style', title: '💅 Styles', release: 'none' },
13
+ { type: 'refactor', title: '🛠 Code Refactoring', release: 'none' },
14
+ { type: 'test', title: '🧪 Tests', release: 'none' },
15
+ { type: 'build', title: '🏗 Build System', release: 'none' },
16
+ { type: 'ci', title: '🔧 Continuous Integration', release: 'none' },
17
+ ],
18
+ branches: [
19
+ { name: 'main' },
20
+ ],
21
+ };
22
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAS;IAC/B,mBAAmB,EAAE,wBAAwB;IAC7C,WAAW,EAAE;QACT,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAC;QACrD,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAC;QACtD,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,EAAE,OAAO,EAAE,OAAO,EAAC;QACtE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAC;QACtD,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAC;QAC1D,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAC;QACpD,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAC;QACjE,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAC;QAClD,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAC;QAC1D,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,EAAC;KACpE;IACD,QAAQ,EAAE;QACN,EAAC,IAAI,EAAE,MAAM,EAAC;KACjB;CACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,23 @@
1
+ export type CommitType = {
2
+ type: string;
3
+ title: string;
4
+ release: 'minor' | 'patch' | 'none';
5
+ };
6
+ export type ReleaseBranch = {
7
+ name: string;
8
+ prereleaseChannel?: string;
9
+ };
1
10
  export type Args = {
2
11
  dryRun?: boolean;
3
- postReleaseBashScript?: string;
12
+ run?: string;
13
+ runScript?: string;
4
14
  prereleaseChannel?: string;
5
15
  tag?: string;
6
16
  noRelease?: boolean;
7
17
  publish?: boolean;
18
+ breakingChangeTitle: string;
19
+ commitTypes: CommitType[];
20
+ branches: ReleaseBranch[];
8
21
  };
9
22
  export declare function getPrereleaseChannel(args: Args): string | undefined;
10
23
  export declare function autorel(args: Args): Promise<void>;
package/dist/index.js CHANGED
@@ -38,6 +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
42
  function getPrereleaseChannel(args) {
42
43
  if (args.prereleaseChannel)
43
44
  return args.prereleaseChannel;
@@ -49,7 +50,7 @@ function getPrereleaseChannel(args) {
49
50
  throw new Error('Branches are not defined in the configuration.');
50
51
  const matchingBranch = config.branches.find((b) => b.name === branch);
51
52
  if (!matchingBranch)
52
- throw new Error(`Branch ${branch} is not defined in the configuration.`);
53
+ return undefined;
53
54
  return matchingBranch.prereleaseChannel || undefined;
54
55
  }
55
56
  exports.getPrereleaseChannel = getPrereleaseChannel;
@@ -61,8 +62,7 @@ async function autorel(args) {
61
62
  if (prereleaseChannel && !args.tag) {
62
63
  output_1.default.log(`Using prerelease channel: ${color.bold(prereleaseChannel)}`);
63
64
  }
64
- const config = (0, config_1.getConfig)();
65
- const commitTypeMap = new Map(config.commitTypes.map((type) => [type.type, type]));
65
+ const commitTypeMap = new Map(args.commitTypes.map((type) => [type.type, type]));
66
66
  const lastTag = git.getLastTag();
67
67
  const lastProdTag = git.getLastProdTag();
68
68
  output_1.default.log(`The last tag is: ${lastTag ? lastTag : color.grey('none')}`);
@@ -89,7 +89,7 @@ async function autorel(args) {
89
89
  else {
90
90
  output_1.default.log(`The next version is: ${color.bold(nextTag)}`);
91
91
  }
92
- const changelog = (0, changelog_1.generateChangelog)(parsedCommits, commitTypeMap, config.breakingChangeTitle);
92
+ const changelog = (0, changelog_1.generateChangelog)(parsedCommits, commitTypeMap, args.breakingChangeTitle);
93
93
  output_1.default.debug(`The changelog is:\n${changelog}`);
94
94
  if (args.dryRun)
95
95
  return;
@@ -107,6 +107,27 @@ async function autorel(args) {
107
107
  (0, versionBump_1.versionBump)(nextTag);
108
108
  // publish package
109
109
  args.publish && npm.publishPackage(prereleaseChannel);
110
+ process.env.NEXT_VERSION = nextTag.replace('v', '');
111
+ process.env.NEXT_TAG = nextTag;
112
+ // run post-release script
113
+ if (args.run) {
114
+ output_1.default.log('Running post-release command:');
115
+ output_1.default.log('');
116
+ output_1.default.log('----------------------------');
117
+ output_1.default.log(args.run);
118
+ output_1.default.log('----------------------------');
119
+ output_1.default.log('');
120
+ (0, bash_1.cmd)(args.run);
121
+ }
122
+ else if (args.runScript) {
123
+ output_1.default.log('Running post-release bash script:');
124
+ output_1.default.log('');
125
+ output_1.default.log('----------------------------');
126
+ output_1.default.log(args.runScript);
127
+ output_1.default.log('----------------------------');
128
+ output_1.default.log('');
129
+ (0, bash_1.bash)(args.runScript);
130
+ }
110
131
  }
111
132
  exports.autorel = autorel;
112
133
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,iDAAmC;AACnC,+DAAiD;AACjD,+CAAiC;AACjC,+CAAiC;AACjC,oDAAsC;AACtC,2CAA8C;AAC9C,0DAA4C;AAC5C,0DAAkC;AAClC,qCAAmC;AACnC,+CAA0C;AAW1C,SAAgB,oBAAoB,CAAC,IAAU;IAE3C,IAAI,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAE1D,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAEtC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAEnH,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAEtE,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,uCAAuC,CAAC,CAAC;IAE9F,OAAO,cAAc,CAAC,iBAAiB,IAAI,SAAS,CAAC;AAEzD,CAAC;AAlBD,oDAkBC;AAEM,KAAK,UAAU,OAAO,CAAC,IAAU;IAEpC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,MAAM,EAAE;QAEb,gBAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;KAEpE;IAED,IAAI,iBAAiB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QAEhC,gBAAM,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;KAE5E;IAED,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnF,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IAEzC,gBAAM,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzE,gBAAM,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEzF,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEpD,gBAAM,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,cAAc,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,CAAC;IAE9H,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SACtG,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAiC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;WAC1D,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;WAC/C,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;WAClD,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7D,gBAAM,CAAC,GAAG,CAAC,wBAAwB,cAAc,EAAE,CAAC,CAAC;IAErD,IAAI,WAAW,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QAErC,gBAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAExD,OAAO;KAEV;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CACnC,WAAW,IAAI,QAAQ,EACvB,OAAO,IAAI,QAAQ,EACnB,WAAW,EACX,iBAAiB,CACpB,CAAC;IAEF,IAAI,IAAI,CAAC,GAAG,EAAE;QAEV,gBAAM,CAAC,GAAG,CAAC,6BAA6B,OAAO,wCAAwC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChH,gBAAM,CAAC,IAAI,CAAC,gLAAgL,CAAC,CAAC;KAEjM;SAAM;QAEH,gBAAM,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAE7D;IAED,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE9F,gBAAM,CAAC,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAEhD,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO;IAExB,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,EAAC,KAAK,EAAE,UAAU,EAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAE1C,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC;QACpC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAa;QAChC,KAAK;QACL,UAAU;QACV,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO;QAClC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAA,yBAAW,EAAC,OAAO,CAAC,CAAC;IAErB,kBAAkB;IAClB,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAE1D,CAAC;AA1FD,0BA0FC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
1
  export declare function $(strings: TemplateStringsArray, ...values: any[]): string;
2
+ export declare function bash(cmd: string): void;
3
+ export declare function cmd(cmd: string): void;
package/dist/lib/bash.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.$ = void 0;
6
+ exports.cmd = exports.bash = exports.$ = void 0;
7
7
  const child_process_1 = require("child_process");
8
8
  const output_1 = __importDefault(require("./output"));
9
9
  function $(strings, ...values) {
@@ -14,4 +14,13 @@ function $(strings, ...values) {
14
14
  return output.trim();
15
15
  }
16
16
  exports.$ = $;
17
+ function bash(cmd) {
18
+ const escapedCommand = cmd.replace(/(["$`\\])/g, '\\$1').replace(/\n/g, '\\n');
19
+ (0, child_process_1.execSync)(`bash -c "${escapedCommand}"`, { encoding: 'utf8', stdio: 'inherit' });
20
+ }
21
+ exports.bash = bash;
22
+ function cmd(cmd) {
23
+ (0, child_process_1.execSync)(cmd, { encoding: 'utf8', stdio: 'inherit' });
24
+ }
25
+ exports.cmd = cmd;
17
26
  //# sourceMappingURL=bash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/lib/bash.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAuC;AACvC,sDAA2B;AAE3B,SAAgB,CAAC,CAAC,OAA6B,EAAE,GAAG,MAAa;IAE7D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnF,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,YAAY,cAAc,GAAG,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AAEzB,CAAC;AAXD,cAWC"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/lib/bash.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAuC;AACvC,sDAA2B;AAE3B,SAAgB,CAAC,CAAC,OAA6B,EAAE,GAAG,MAAa;IAE7D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnF,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnB,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,YAAY,cAAc,GAAG,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AAEzB,CAAC;AAXD,cAWC;AAED,SAAgB,IAAI,CAAC,GAAW;IAE5B,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE/E,IAAA,wBAAQ,EAAC,YAAY,cAAc,GAAG,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;AAElF,CAAC;AAND,oBAMC;AAED,SAAgB,GAAG,CAAC,GAAW;IAE3B,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;AAExD,CAAC;AAJD,kBAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autorel",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
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)",