panrelease 0.14.0 → 0.15.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/README.md CHANGED
@@ -1,20 +1,43 @@
1
- # Panrelease
1
+ # Panrelease (Node.js)
2
2
 
3
- ## Quick start
3
+ [![npm version](https://img.shields.io/npm/v/panrelease.svg?style=flat-square)](https://www.npmjs.com/package/panrelease)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
4
5
 
5
- Install using npm:
6
+ **Panrelease** is a versatile release automation tool that manages version bumping, changelog updates, and Git operations. This package provides the Node.js implementation of Panrelease, powered by WebAssembly, allowing it to run seamlessly in any Node.js environment without requiring a Rust installation.
6
7
 
7
- ```shell
8
- npm i --save-dev panrelease
8
+ ## Features
9
+
10
+ - **Semantic Versioning** - Automatic major, minor, patch, and post-release version bumping.
11
+ - **Node.js Native Support** - Direct support for `package.json` and lockfiles (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`).
12
+ - **Changelog Automation** - Updates `CHANGELOG.md` following [Keep a Changelog](https://keepachangelog.com/) format.
13
+ - **Git Integration** - Commits version changes, creates tags, and supports GPG signing.
14
+ - **Monorepo Friendly** - Can manage multiple modules in a single project.
15
+ - **WebAssembly Powered** - Fast and consistent execution across different platforms.
16
+
17
+ ## Installation
18
+
19
+ Install as a development dependency in your project:
20
+
21
+ ### npm
22
+ ```bash
23
+ npm install --save-dev panrelease
9
24
  ```
10
25
 
11
- Or yarn:
26
+ ### yarn
27
+ ```bash
28
+ yarn add --dev panrelease
29
+ ```
12
30
 
13
- ```shell
14
- yarn add -D panrelease
31
+ ### pnpm
32
+ ```bash
33
+ pnpm add --save-dev panrelease
15
34
  ```
16
35
 
17
- Write a configuration file:
36
+ ## Quick Start
37
+
38
+ ### 1. Configure Panrelease
39
+
40
+ Create a `.panproject.toml` file in your project root:
18
41
 
19
42
  ```toml
20
43
  [vcs]
@@ -23,14 +46,44 @@ software = "Git"
23
46
  [modules.root]
24
47
  path = "."
25
48
  packageManager = "Npm"
49
+ main = true
26
50
  ```
27
51
 
28
- Add custom script in your package.json
52
+ ### 2. Add a Script to package.json
29
53
 
30
54
  ```json
31
55
  {
32
56
  "scripts": {
33
- "rel": "panrelease release"
57
+ "release": "panrelease"
34
58
  }
35
59
  }
36
- ```
60
+ ```
61
+
62
+ ### 3. Run a Release
63
+
64
+ ```bash
65
+ # Release a new patch version (e.g., 1.0.0 -> 1.0.1)
66
+ npm run release -- patch
67
+
68
+ # Or run directly via npx
69
+ npx panrelease minor
70
+ ```
71
+
72
+ ## Commands
73
+
74
+ | Command | Description | Example |
75
+ |---------|-------------|---------|
76
+ | `patch` | Increment patch version | `1.0.0` -> `1.0.1` |
77
+ | `minor` | Increment minor version | `1.0.0` -> `1.1.0` |
78
+ | `major` | Increment major version | `1.0.0` -> `2.0.0` |
79
+ | `post` | Create post-release (build metadata) | `1.0.0` -> `1.0.0+r1` |
80
+ | `show` | Show current project version | `panrelease show` |
81
+ | `<version>` | Set explicit version | `panrelease 2.1.0` |
82
+
83
+ ## Documentation
84
+
85
+ For full configuration options, advanced features like **hooks**, and **strict mode**, please refer to the [Main Repository Documentation](https://github.com/dghilardi/panrelease#readme).
86
+
87
+ ## License
88
+
89
+ This project is licensed under the MIT License - see the [LICENSE](https://github.com/dghilardi/panrelease/blob/main/LICENSE) file for details.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "panrelease",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Utility to release software",
5
5
  "keywords": [
6
6
  "cli",
@@ -17,12 +17,10 @@
17
17
  "publishConfig": {
18
18
  "registry": "https://registry.npmjs.org"
19
19
  },
20
- "main": "index.js",
20
+ "main": "pkg/panrelease.js",
21
21
  "license": "MIT",
22
22
  "bin": {
23
23
  "panrelease": "bin/index.js"
24
24
  },
25
- "scripts": {
26
- "panrelease": "./bin/index.js"
27
- }
28
- }
25
+ "scripts": {}
26
+ }
package/pkg/panrelease.js CHANGED
@@ -186,13 +186,12 @@ function debugString(val) {
186
186
  // TODO we could test for more things here, like `Set`s and `Map`s.
187
187
  return className;
188
188
  }
189
-
190
- function passArray8ToWasm0(arg, malloc) {
191
- const ptr = malloc(arg.length * 1, 1) >>> 0;
192
- getUint8Memory0().set(arg, ptr / 1);
193
- WASM_VECTOR_LEN = arg.length;
194
- return ptr;
195
- }
189
+ /**
190
+ * @param {Array<any>} js_args
191
+ */
192
+ module.exports.run = function(js_args) {
193
+ wasm.run(addHeapObject(js_args));
194
+ };
196
195
 
197
196
  function handleError(f, args) {
198
197
  try {
@@ -201,12 +200,13 @@ function handleError(f, args) {
201
200
  wasm.__wbindgen_exn_store(addHeapObject(e));
202
201
  }
203
202
  }
204
- /**
205
- * @param {Array<any>} js_args
206
- */
207
- module.exports.run = function(js_args) {
208
- wasm.run(addHeapObject(js_args));
209
- };
203
+
204
+ function passArray8ToWasm0(arg, malloc) {
205
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
206
+ getUint8Memory0().set(arg, ptr / 1);
207
+ WASM_VECTOR_LEN = arg.length;
208
+ return ptr;
209
+ }
210
210
 
211
211
  const ReifyRunArgsFinalization = (typeof FinalizationRegistry === 'undefined')
212
212
  ? { register: () => {}, unregister: () => {} }
@@ -233,11 +233,15 @@ module.exports.__wbindgen_object_drop_ref = function(arg0) {
233
233
  takeObject(arg0);
234
234
  };
235
235
 
236
- module.exports.__wbg_writeFileSync_dfa398d60f0576e5 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
237
- writeFileSync(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
238
- }, arguments) };
236
+ module.exports.__wbg_cwd_6cc81e58cbab7b00 = function(arg0) {
237
+ const ret = cwd();
238
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
239
+ const len1 = WASM_VECTOR_LEN;
240
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
241
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
242
+ };
239
243
 
240
- module.exports.__wbg_log_e9b70fc156898f33 = function(arg0, arg1) {
244
+ module.exports.__wbg_log_c142934b4d83fb0c = function(arg0, arg1) {
241
245
  console.log(getStringFromWasm0(arg0, arg1));
242
246
  };
243
247
 
@@ -250,12 +254,16 @@ module.exports.__wbindgen_string_get = function(arg0, arg1) {
250
254
  getInt32Memory0()[arg0 / 4 + 0] = ptr1;
251
255
  };
252
256
 
257
+ module.exports.__wbg_writeFileSync_06704cc76fb5e237 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
258
+ writeFileSync(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
259
+ }, arguments) };
260
+
253
261
  module.exports.__wbindgen_error_new = function(arg0, arg1) {
254
262
  const ret = new Error(getStringFromWasm0(arg0, arg1));
255
263
  return addHeapObject(ret);
256
264
  };
257
265
 
258
- module.exports.__wbg_execSync_3821530c3c68494c = function() { return handleError(function (arg0, arg1, arg2, arg3) {
266
+ module.exports.__wbg_execSync_31508369da459cc5 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
259
267
  let deferred0_0;
260
268
  let deferred0_1;
261
269
  try {
@@ -271,20 +279,12 @@ module.exports.__wbg_execSync_3821530c3c68494c = function() { return handleError
271
279
  }
272
280
  }, arguments) };
273
281
 
274
- module.exports.__wbg_existsSync_67f2bec9d1cdcdf0 = function() { return handleError(function (arg0, arg1) {
282
+ module.exports.__wbg_existsSync_c76d43a4bbcc6150 = function() { return handleError(function (arg0, arg1) {
275
283
  const ret = existsSync(getStringFromWasm0(arg0, arg1));
276
284
  return ret;
277
285
  }, arguments) };
278
286
 
279
- module.exports.__wbg_cwd_910b2c84dc4c2152 = function(arg0) {
280
- const ret = cwd();
281
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
282
- const len1 = WASM_VECTOR_LEN;
283
- getInt32Memory0()[arg0 / 4 + 1] = len1;
284
- getInt32Memory0()[arg0 / 4 + 0] = ptr1;
285
- };
286
-
287
- module.exports.__wbg_readFileSync_59db60323489d25b = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
287
+ module.exports.__wbg_readFileSync_09ba85d465f2bf5c = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
288
288
  const ret = readFileSync(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
289
289
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
290
290
  const len1 = WASM_VECTOR_LEN;
Binary file
@@ -5,5 +5,5 @@ export function __wbg_reifyrunargs_free(a: number): void;
5
5
  export function run(a: number): void;
6
6
  export function __wbindgen_malloc(a: number, b: number): number;
7
7
  export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number;
8
- export function __wbindgen_free(a: number, b: number, c: number): void;
9
8
  export function __wbindgen_exn_store(a: number): void;
9
+ export function __wbindgen_free(a: number, b: number, c: number): void;