fork-version 1.7.3 → 1.8.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,61 @@
1
1
  # Fork Version
2
2
 
3
+ ## 1.8.0 (2025-08-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * added bicep file support ([#87](https://github.com/eglavin/fork-version/issues/87)) ([d6d44ac](https://github.com/eglavin/fork-version/commit/d6d44ac3b64a59d39555c2b886f320a348b80efa))
9
+
10
+
11
+ ## 1.7.9 (2024-11-26)
12
+
13
+
14
+ ### Refactor
15
+
16
+ * dont sign if --sign not passed into cli arguments ([#84](https://github.com/eglavin/fork-version/issues/84)) ([8a9e6f4](https://github.com/eglavin/fork-version/commit/8a9e6f49ef1715fe0c2b0f5adaa5e9a032683727))
17
+
18
+
19
+ ## 1.7.8 (2024-11-13)
20
+
21
+
22
+ ### Refactor
23
+
24
+ * split user-config to allow easier testing ([#82](https://github.com/eglavin/fork-version/issues/82)) ([dfe01e0](https://github.com/eglavin/fork-version/commit/dfe01e058df1006995c82743ddb0c55831477c87))
25
+
26
+
27
+ ## 1.7.7 (2024-11-10)
28
+
29
+
30
+ ### Refactor
31
+
32
+ * clean up test setup functions ([#81](https://github.com/eglavin/fork-version/issues/81)) ([2525687](https://github.com/eglavin/fork-version/commit/252568781e8678a065063f8a1a02b6a1681078ad))
33
+
34
+
35
+ ## 1.7.6 (2024-11-09)
36
+
37
+
38
+ ### Refactor
39
+
40
+ * remove git-semver-tags library in favour of vendoring it ([#80](https://github.com/eglavin/fork-version/issues/80)) ([5e1b9cb](https://github.com/eglavin/fork-version/commit/5e1b9cbe7c7d77479235fcdc6f1dbc182c10ecd3))
41
+
42
+
43
+ ## 1.7.5 (2024-11-09)
44
+
45
+
46
+ ### Refactor
47
+
48
+ * rename strategies folder to files ([#79](https://github.com/eglavin/fork-version/issues/79)) ([9a06f63](https://github.com/eglavin/fork-version/commit/9a06f63c95d760fa0d729a839d2dc576c9c059e9))
49
+
50
+
51
+ ## 1.7.4 (2024-11-08)
52
+
53
+
54
+ ### Bug Fixes
55
+
56
+ * match casing of logs between steps ([df88a60](https://github.com/eglavin/fork-version/commit/df88a60429b508dcbaa55aff34ff816e745b26f5))
57
+
58
+
3
59
  ## 1.7.3 (2024-11-03)
4
60
 
5
61
 
package/README.md CHANGED
@@ -14,7 +14,7 @@ Fork-Version automates version control tasks such as determining, updating, and
14
14
  </p>
15
15
 
16
16
  <details>
17
- <summary>This project is essentially a complete re-write of standard-version following on from its deprecation in May 2022.</summary>
17
+ <summary>This project is essentially a complete re-write of <a href=https://github.com/conventional-changelog/standard-version>standard-version</a> following on from its deprecation in May 2022.</summary>
18
18
  Although there are many alternatives such as <a href=https://github.com/googleapis/release-please>release-please</a>. This project aims to continue focusing on just the versioning and changelog generation aspect of the process for use in other Git hosts outside of Github.
19
19
  </details>
20
20
 
@@ -23,7 +23,7 @@ Although there are many alternatives such as <a href=https://github.com/googleap
23
23
  By following the [conventional commit](https://www.conventionalcommits.org) standard Fork-Version can automate the following tasks for you:
24
24
 
25
25
  1. Determine the current and next version
26
- 1. Update the version in the selected files
26
+ 1. Update the version in the selected files [(View the supported files)](#supported-file-types)
27
27
  1. Update your changelog
28
28
  1. Commit the changed files
29
29
  1. Create a tag for the new version
@@ -77,6 +77,7 @@ To install the package locally to your project you can use one of the following
77
77
  You can then add the following entry to your package.json scripts section and use it like any other script you already use in your project.
78
78
 
79
79
  ```json
80
+ // package.json
80
81
  {
81
82
  "scripts": {
82
83
  "release": "fork-version"
@@ -98,6 +99,8 @@ When ran as a cli tool Fork-Version will exit with one of the following exit cod
98
99
 
99
100
  ### Command Line Options
100
101
 
102
+ The following help text can be viewed by running the following command: `npx fork-version --help`
103
+
101
104
  <!-- START COMMAND LINE OPTIONS -->
102
105
 
103
106
  ```text
@@ -188,6 +191,7 @@ You can configure Fork-Version using one of the following files:
188
191
  Configuring using a javascript file is the most flexible option. You can use any javascript file type you prefer including typescript. Both commonjs and esm exports styles are supported. The `defineConfig` function in the following snippet is optional, using it will give you intellisense information in your code editor of choice.
189
192
 
190
193
  ```js
194
+ // fork.config.ts
191
195
  import { defineConfig } from 'fork-version';
192
196
 
193
197
  export default defineConfig({
@@ -199,6 +203,7 @@ export default defineConfig({
199
203
  Alternatively you can use typescript type annotations in a typescript file:
200
204
 
201
205
  ```ts
206
+ // fork.config.ts
202
207
  import type { Config } from 'fork-version';
203
208
 
204
209
  const config: Config = {
@@ -212,6 +217,7 @@ export default config;
212
217
  Or jsdocs in a javascript file:
213
218
 
214
219
  ```js
220
+ // fork.config.js
215
221
  /** @type {import("fork-version").Config} */
216
222
  export default {
217
223
  header: `# My Changelog`,
@@ -228,6 +234,7 @@ Another way you can configure Fork-Version is by using a json file called `fork.
228
234
  If you still want intellisense information you can use the following schema in your json file, otherwise `$schema` is an optional key.
229
235
 
230
236
  ```json
237
+ // fork.config.json
231
238
  {
232
239
  "$schema": "https://raw.githubusercontent.com/eglavin/fork-version/main/schema/latest.json",
233
240
  "header": "# My Changelog",
@@ -243,6 +250,7 @@ Internally we're using [zod-to-json-schema](https://github.com/StefanTerdell/zod
243
250
  Alternatively you can define your config using a key in your `package.json` file called `fork-version`:
244
251
 
245
252
  ```json
253
+ // package.json
246
254
  {
247
255
  "name": "my-js-project",
248
256
  "version": "1.2.3",
@@ -343,14 +351,14 @@ Marking a release as a pre-release allows you to define a change as a patch to a
343
351
  | Example Value | Version Created |
344
352
  |:--------------|:----------------|
345
353
  | `true` | `1.2.3-0` |
346
- | `alpha` | `1.2.3-alpha-0` |
354
+ | `alpha` | `1.2.3-alpha.0` |
347
355
 
348
356
  Fork-Version uses [meow](https://github.com/sindresorhus/meow) to parse cli arguments which is unable to take a single argument and parse it as either a string and or a boolean. So to do the above through the cli interface you'll need to use two different arguments:
349
357
 
350
358
  | Example CLI Usage | Version Created |
351
359
  |:---------------------------------------|:----------------|
352
360
  | `fork-version --pre-release` | `1.2.3-0` |
353
- | `fork-version --pre-release-tag alpha` | `1.2.3-alpha-0` |
361
+ | `fork-version --pre-release-tag alpha` | `1.2.3-alpha.0` |
354
362
 
355
363
  ##### config.releaseAs
356
364
 
@@ -389,7 +397,7 @@ Checkout the `fork.config.js` file [here](./fork.config.js) to see an example of
389
397
  | section | string | The name of the section in the `CHANGELOG` the commit should show up in. |
390
398
  | hidden | boolean | Should show in the generated changelog message? |
391
399
 
392
- ###### config.releaseMessageSuffix
400
+ ##### config.releaseMessageSuffix
393
401
 
394
402
  Adds a suffix to the end of the release message, useful to add a `[skip ci]` message to the end of the created commit.
395
403
 
@@ -402,6 +410,7 @@ Adds a suffix to the end of the release message, useful to add a `[skip ci]` mes
402
410
  - [Yaml Package](#yaml-package)
403
411
  - [Plain Text](#plain-text)
404
412
  - [MS Build](#ms-build)
413
+ - [ARM Bicep](#arm-bicep)
405
414
 
406
415
  #### Json Package
407
416
 
@@ -431,7 +440,7 @@ version: 1.2.3
431
440
 
432
441
  #### Plain Text
433
442
 
434
- A plain text file will have just the version as the content.
443
+ A plain text file is a file which contains just the version as the content. Files that end with `version.txt` will be treated as a plain text version file.
435
444
 
436
445
  ```text
437
446
  1.2.3
@@ -451,6 +460,15 @@ A MS build project is an xml file with with a `Version` property under the `Proj
451
460
 
452
461
  Fork-Version currently supports reading and updating the following file extensions: `.csproj` `.dbproj` `.esproj` `.fsproj` `.props` `.vbproj` `.vcxproj`
453
462
 
463
+ #### ARM Bicep
464
+
465
+ An ARM bicep file with metadata and variable called contentVersion.
466
+
467
+ ```bicep
468
+ metadata contentVersion = '1.2.3.4'
469
+ var contentVersion string = '1.2.3.4'
470
+ ```
471
+
454
472
  #### Custom File Updater's
455
473
 
456
474
  `TODO` [add support for custom file readers and writers through config #5](https://github.com/eglavin/fork-version/issues/5)