@edcalderon/versioning 1.4.1 → 1.4.3

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.
@@ -0,0 +1,273 @@
1
+ # [1.1.0](https://github.com/edcalderon/my-second-brain/compare/v1.1.4...v1.1.0) (2026-02-12)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add force-static export to API routes for static export compatibility ([6333e2d](https://github.com/edcalderon/my-second-brain/commit/6333e2d2b3ae149b5b893520271e7a0e171bace8))
7
+ * add search method to supermemory wrapper ([75f646a](https://github.com/edcalderon/my-second-brain/commit/75f646a377ee96a2ef66e9225b003ef19e25277e))
8
+ * change Next.js output to export for static GitHub Pages deployment ([c94fded](https://github.com/edcalderon/my-second-brain/commit/c94fdedda9b311b1aae27ddce4b2c9bb6083b325))
9
+ * lazy-load supermemory to allow builds without API key ([6892009](https://github.com/edcalderon/my-second-brain/commit/68920097e9aeabe76d8a08e45d96837ba009f32d))
10
+ * make environment variable check optional in deploy-web workflow ([e6cb9b0](https://github.com/edcalderon/my-second-brain/commit/e6cb9b0873fc9244fbc104f2bb832056e1ffd44c))
11
+ * pin pnpm version to 8.15.9 in GitHub Actions workflows for lockfile compatibility ([3a8538e](https://github.com/edcalderon/my-second-brain/commit/3a8538e3e2f84f21b4ad98d2c878eac8e6c065f7))
12
+ * relax pnpm version requirement to >=8.0.0 for CI compatibility ([9aa90ac](https://github.com/edcalderon/my-second-brain/commit/9aa90acc92b62debd0e0e840a493d30e71821b38))
13
+
14
+
15
+ ### Features
16
+
17
+ * **gcp-functions:** Implement automated GitHub daily screenshot and tweet ([b3366d4](https://github.com/edcalderon/my-second-brain/commit/b3366d4a13858ae2702f9f4cd16216a41f650a83))
18
+ * **versioning:** reentry status roadmap layer (v1.1.0) ([f6e94e5](https://github.com/edcalderon/my-second-brain/commit/f6e94e5dfc1fdd386d4ae9612c083155a2c803e8))
19
+
20
+
21
+
22
+
23
+
24
+ # [1.1.0](https://github.com/edcalderon/my-second-brain/compare/v1.1.4...v1.1.0) (2026-02-12)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * add force-static export to API routes for static export compatibility ([6333e2d](https://github.com/edcalderon/my-second-brain/commit/6333e2d2b3ae149b5b893520271e7a0e171bace8))
30
+ * add search method to supermemory wrapper ([75f646a](https://github.com/edcalderon/my-second-brain/commit/75f646a377ee96a2ef66e9225b003ef19e25277e))
31
+ * change Next.js output to export for static GitHub Pages deployment ([c94fded](https://github.com/edcalderon/my-second-brain/commit/c94fdedda9b311b1aae27ddce4b2c9bb6083b325))
32
+ * lazy-load supermemory to allow builds without API key ([6892009](https://github.com/edcalderon/my-second-brain/commit/68920097e9aeabe76d8a08e45d96837ba009f32d))
33
+ * make environment variable check optional in deploy-web workflow ([e6cb9b0](https://github.com/edcalderon/my-second-brain/commit/e6cb9b0873fc9244fbc104f2bb832056e1ffd44c))
34
+ * pin pnpm version to 8.15.9 in GitHub Actions workflows for lockfile compatibility ([3a8538e](https://github.com/edcalderon/my-second-brain/commit/3a8538e3e2f84f21b4ad98d2c878eac8e6c065f7))
35
+ * relax pnpm version requirement to >=8.0.0 for CI compatibility ([9aa90ac](https://github.com/edcalderon/my-second-brain/commit/9aa90acc92b62debd0e0e840a493d30e71821b38))
36
+
37
+
38
+ ### Features
39
+
40
+ * **gcp-functions:** Implement automated GitHub daily screenshot and tweet ([b3366d4](https://github.com/edcalderon/my-second-brain/commit/b3366d4a13858ae2702f9f4cd16216a41f650a83))
41
+ * **versioning:** reentry status roadmap layer (v1.1.0) ([f6e94e5](https://github.com/edcalderon/my-second-brain/commit/f6e94e5dfc1fdd386d4ae9612c083155a2c803e8))
42
+
43
+
44
+
45
+
46
+
47
+ ## [1.0.11](https://github.com/edcalderon/my-second-brain/compare/v1.0.10...v1.0.11) (2026-01-02)
48
+
49
+
50
+
51
+
52
+
53
+ ## [1.0.10](https://github.com/edcalderon/my-second-brain/compare/v1.0.9...v1.0.10) (2026-01-02)
54
+
55
+
56
+
57
+
58
+
59
+ ## [1.0.9](https://github.com/edcalderon/my-second-brain/compare/v1.0.8...v1.0.9) (2026-01-02)
60
+
61
+
62
+
63
+
64
+
65
+ ## 1.0.8 (2026-01-02)
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * add permissions for GitHub release creation ([4f719a3](https://github.com/edcalderon/my-second-brain/commit/4f719a35de25644ad05115b2e98f772c403f4967))
71
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
72
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
73
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
74
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
75
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
76
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
77
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
78
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
79
+ * update workflow to handle version update correctly ([3ec67bc](https://github.com/edcalderon/my-second-brain/commit/3ec67bc0632404dd4e10b760daa57f1eb9fe8fa4))
80
+
81
+
82
+ ### Features
83
+
84
+ * add build provenance attestation ([9fdc02d](https://github.com/edcalderon/my-second-brain/commit/9fdc02da4ed8d313de965162302baa0b792040dd))
85
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
86
+ * add NPM publishing extension and update workflow ([dd501b2](https://github.com/edcalderon/my-second-brain/commit/dd501b2fc7e5b95df92d1c7b636b81ef3c04500f))
87
+
88
+
89
+
90
+
91
+
92
+ ## 1.0.7 (2026-01-01)
93
+
94
+
95
+ ### Bug Fixes
96
+
97
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
98
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
99
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
100
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
101
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
102
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
103
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
104
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
105
+
106
+
107
+ ### Features
108
+
109
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
110
+
111
+
112
+
113
+
114
+
115
+ ## 1.0.7 (2026-01-01)
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
121
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
122
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
123
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
124
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
125
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
126
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
127
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
128
+
129
+
130
+ ### Features
131
+
132
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
133
+
134
+
135
+
136
+
137
+
138
+ ## 1.0.6 (2026-01-01)
139
+
140
+
141
+ ### Bug Fixes
142
+
143
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
144
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
145
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
146
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
147
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
148
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
149
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
150
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
151
+
152
+
153
+ ### Features
154
+
155
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
156
+
157
+
158
+
159
+
160
+
161
+ ## 1.0.6 (2026-01-01)
162
+
163
+
164
+ ### Bug Fixes
165
+
166
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
167
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
168
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
169
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
170
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
171
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
172
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
173
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
174
+
175
+
176
+ ### Features
177
+
178
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
179
+
180
+
181
+
182
+
183
+
184
+ ## 1.0.5 (2026-01-01)
185
+
186
+
187
+ ### Bug Fixes
188
+
189
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
190
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
191
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
192
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
193
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
194
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
195
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
196
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
197
+
198
+
199
+ ### Features
200
+
201
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
202
+
203
+
204
+
205
+
206
+
207
+ ## 1.0.5 (2026-01-01)
208
+
209
+
210
+ ### Bug Fixes
211
+
212
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
213
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
214
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
215
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
216
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
217
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
218
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
219
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
220
+
221
+
222
+ ### Features
223
+
224
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
225
+
226
+
227
+
228
+
229
+
230
+ ## 1.0.4 (2026-01-01)
231
+
232
+
233
+ ### Bug Fixes
234
+
235
+ * add publishConfig to explicitly set package as public ([0138dc4](https://github.com/edcalderon/my-second-brain/commit/0138dc4de49bc1f5ee75622440b19ff643fd6224))
236
+ * change package name from @ed/versioning to ed-versioning ([96e4495](https://github.com/edcalderon/my-second-brain/commit/96e4495fe575c6226f319fe62e0f1266fe6d6cfe))
237
+ * change package name to @edcalderon/versioning ([246c7f4](https://github.com/edcalderon/my-second-brain/commit/246c7f445c17464ab63dcbd3bb30be8d8e30066d))
238
+ * configure Next.js for GitHub Pages subdirectory ([af24444](https://github.com/edcalderon/my-second-brain/commit/af2444468d13dcbe2f867ea41208a385f24edb75))
239
+ * correct tag existence check logic in create-tag.js ([f489f89](https://github.com/edcalderon/my-second-brain/commit/f489f89988b4877108b98e7910a79cc2a7e325a5))
240
+ * make SUPERMEMORY_API_KEY private (not NEXT_PUBLIC) ([416d4c0](https://github.com/edcalderon/my-second-brain/commit/416d4c0bf007fbbc3381c9d9745c2cf21c9ae78b))
241
+ * update GitHub release action to use modern softprops/action-gh-release ([dd11de0](https://github.com/edcalderon/my-second-brain/commit/dd11de0cc05dacb9cf7e614e57535a4d54617678))
242
+ * update repository URL in versioning package.json ([3723c78](https://github.com/edcalderon/my-second-brain/commit/3723c781bc61ee9fdf2b9bb0446274be495403ac))
243
+
244
+
245
+ ### Features
246
+
247
+ * add comprehensive versioning package with CLI, changelog, and NPM publishing ([dba69bd](https://github.com/edcalderon/my-second-brain/commit/dba69bd61cc0a6b11f881a913ee900142b5ddd14))
248
+
249
+
250
+
251
+
252
+
253
+ # Changelog
254
+
255
+ All notable changes to this project will be documented in this file.
256
+
257
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
258
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
259
+
260
+ ## [1.0.0] - 2026-01-01
261
+
262
+ ### Added
263
+ - Initial release of @edcalderon/versioning
264
+ - Comprehensive versioning and changelog management
265
+ - Support for both single repositories and monorepos
266
+ - CLI tool with multiple commands (patch, minor, major, release, bump, changelog, sync, validate, init)
267
+ - Conventional commits integration
268
+ - Git tagging and committing
269
+ - Version synchronization across packages
270
+ - Package selection for selective releases
271
+ - TypeScript support with full type safety
272
+ - Jest testing framework
273
+ - NPM publishable package structure
package/README.md CHANGED
@@ -8,9 +8,18 @@ A comprehensive versioning and changelog management tool designed for monorepos
8
8
 
9
9
  ---
10
10
 
11
- ## 📋 Latest Changes (v1.4.1)
12
-
13
- **Patch Fixes & Updates:**
11
+ ## 📋 Latest Changes (v1.4.2)
12
+
13
+ **Extension Version Updates:**
14
+ - 🔄 Updated all extensions to v1.4.2 for consistency:
15
+ - `cleanup-repo`: 1.1.0 → 1.4.2
16
+ - `lifecycle-hooks`: 1.0.0 → 1.4.2
17
+ - `npm-publish`: 1.0.0 → 1.4.2
18
+ - `reentry-status`: 1.2.0 → 1.4.2
19
+ - `sample-extension`: 1.0.0 → 1.4.2
20
+ - `secrets-check`: 1.1.0 → 1.4.2
21
+
22
+ **From v1.4.1:**
14
23
  - 🐛 Fix pnpm audit vulnerabilities with override configuration
15
24
  - 🔧 Improve error handling in StatusManager
16
25
  - 📝 Add comprehensive documentation with badges
package/dist/cli.js CHANGED
@@ -41,6 +41,7 @@ const changelog_1 = require("./changelog");
41
41
  const sync_1 = require("./sync");
42
42
  const release_1 = require("./release");
43
43
  const status_1 = require("./status");
44
+ const extension_manager_1 = require("./extension-manager");
44
45
  const extensions_1 = require("./extensions");
45
46
  // eslint-disable-next-line @typescript-eslint/no-var-requires
46
47
  const pkg = require('../package.json');
@@ -411,6 +412,58 @@ program
411
412
  process.exit(1);
412
413
  }
413
414
  });
415
+ program
416
+ .command('extension')
417
+ .description('Manage extensions (list, bump, changelog)')
418
+ .argument('<action>', 'action to perform (list, bump, changelog)')
419
+ .argument('[extension]', 'extension name (required for bump and changelog)')
420
+ .option('-t, --type <type>', 'bump type for extension (patch, minor, major)', 'patch')
421
+ .option('-c, --config <file>', 'config file path', 'versioning.config.json')
422
+ .action(async (action, extension, options) => {
423
+ try {
424
+ const extensionManager = new extension_manager_1.ExtensionManager();
425
+ if (action === 'bump') {
426
+ if (!extension) {
427
+ console.error('❌ Extension name required for bump action');
428
+ process.exit(1);
429
+ }
430
+ const newVersion = await extensionManager.bumpExtensionVersion(extension, options.type);
431
+ console.log(`✅ Bumped ${extension} to ${newVersion}`);
432
+ }
433
+ else if (action === 'list') {
434
+ const extensions = await extensionManager.listExtensions();
435
+ console.log('📦 Available Extensions:');
436
+ extensions.forEach(ext => {
437
+ console.log(` • ${ext.name}@${ext.version} - ${ext.description}`);
438
+ });
439
+ }
440
+ else if (action === 'changelog') {
441
+ if (!extension) {
442
+ console.error('❌ Extension name required for changelog action');
443
+ process.exit(1);
444
+ }
445
+ const changelog = await extensionManager.getExtensionChangelog(extension);
446
+ if (changelog) {
447
+ console.log(`📝 Changelog for ${extension}:`);
448
+ console.log(changelog);
449
+ }
450
+ else {
451
+ console.log(`❌ No changelog found for extension: ${extension}`);
452
+ }
453
+ }
454
+ else {
455
+ console.log('Available actions: list, bump, changelog');
456
+ console.log('Usage:');
457
+ console.log(' versioning extension list');
458
+ console.log(' versioning extension bump <extension> --type patch');
459
+ console.log(' versioning extension changelog <extension>');
460
+ }
461
+ }
462
+ catch (error) {
463
+ console.error('❌ Error:', error instanceof Error ? error.message : String(error));
464
+ process.exit(1);
465
+ }
466
+ });
414
467
  async function loadConfig(configPath) {
415
468
  if (!(await fs.pathExists(configPath))) {
416
469
  throw new Error(`Config file not found: ${configPath}. Run 'versioning init' to create one.`);
@@ -0,0 +1,18 @@
1
+ export interface ExtensionInfo {
2
+ name: string;
3
+ version: string;
4
+ description: string;
5
+ path: string;
6
+ changelogPath?: string;
7
+ }
8
+ export declare class ExtensionManager {
9
+ private extensionsDir;
10
+ constructor(extensionsDir?: string);
11
+ listExtensions(): Promise<ExtensionInfo[]>;
12
+ bumpExtensionVersion(extensionName: string, bumpType: 'patch' | 'minor' | 'major'): Promise<string>;
13
+ private updateExtensionChangelog;
14
+ private getChangeType;
15
+ getExtensionChangelog(extensionName: string): Promise<string | null>;
16
+ createExtensionChangelog(extensionName: string): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=extension-manager.d.ts.map
@@ -0,0 +1,176 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ExtensionManager = void 0;
37
+ const fs = __importStar(require("fs-extra"));
38
+ const path = __importStar(require("path"));
39
+ const semver = __importStar(require("semver"));
40
+ class ExtensionManager {
41
+ constructor(extensionsDir) {
42
+ // In built version, __dirname is dist/, so go up one level to src/
43
+ const baseDir = path.dirname(__dirname);
44
+ this.extensionsDir = extensionsDir || path.join(baseDir, 'src', 'extensions');
45
+ }
46
+ async listExtensions() {
47
+ const extensions = [];
48
+ if (!(await fs.pathExists(this.extensionsDir))) {
49
+ return extensions;
50
+ }
51
+ const dirs = await fs.readdir(this.extensionsDir);
52
+ for (const dir of dirs) {
53
+ const extensionPath = path.join(this.extensionsDir, dir);
54
+ const stat = await fs.stat(extensionPath);
55
+ if (!stat.isDirectory())
56
+ continue;
57
+ const indexPath = path.join(extensionPath, 'index.ts');
58
+ if (!(await fs.pathExists(indexPath)))
59
+ continue;
60
+ const content = await fs.readFile(indexPath, 'utf-8');
61
+ const versionMatch = content.match(/version:\s*['"]([^'"]+)['"]/);
62
+ const descriptionMatch = content.match(/description:\s*['"]([^'"]+)['"]/);
63
+ if (versionMatch) {
64
+ const changelogPath = path.join(extensionPath, 'CHANGELOG.md');
65
+ const hasChangelog = await fs.pathExists(changelogPath);
66
+ extensions.push({
67
+ name: dir,
68
+ version: versionMatch[1],
69
+ description: descriptionMatch ? descriptionMatch[1] : 'No description',
70
+ path: extensionPath,
71
+ changelogPath: hasChangelog ? changelogPath : undefined
72
+ });
73
+ }
74
+ }
75
+ return extensions;
76
+ }
77
+ async bumpExtensionVersion(extensionName, bumpType) {
78
+ const extensionPath = path.join(this.extensionsDir, extensionName, 'index.ts');
79
+ if (!(await fs.pathExists(extensionPath))) {
80
+ throw new Error(`Extension not found: ${extensionName}`);
81
+ }
82
+ const content = await fs.readFile(extensionPath, 'utf-8');
83
+ const versionMatch = content.match(/version:\s*['"]([^'"]+)['"]/);
84
+ if (!versionMatch) {
85
+ throw new Error(`Could not find version in ${extensionName}`);
86
+ }
87
+ const currentVersion = versionMatch[1];
88
+ const newVersion = semver.inc(currentVersion, bumpType);
89
+ if (!newVersion) {
90
+ throw new Error(`Invalid bump type: ${bumpType}`);
91
+ }
92
+ // Update version in index.ts
93
+ const updatedContent = content.replace(/version:\s*['"]([^'"]+)['"]/, `version: '${newVersion}'`);
94
+ await fs.writeFile(extensionPath, updatedContent);
95
+ // Update changelog if it exists
96
+ await this.updateExtensionChangelog(extensionName, currentVersion, newVersion, bumpType);
97
+ return newVersion;
98
+ }
99
+ async updateExtensionChangelog(extensionName, oldVersion, newVersion, bumpType) {
100
+ const changelogPath = path.join(this.extensionsDir, extensionName, 'CHANGELOG.md');
101
+ if (!(await fs.pathExists(changelogPath))) {
102
+ // Create changelog if it doesn't exist
103
+ const changelog = `# Changelog
104
+
105
+ All notable changes to this extension will be documented in this file.
106
+
107
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
108
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
109
+
110
+ ## [${newVersion}] - ${new Date().toISOString().split('T')[0]}
111
+
112
+ ### ${this.getChangeType(bumpType)}
113
+ - Version bump from ${oldVersion}
114
+ `;
115
+ await fs.writeFile(changelogPath, changelog);
116
+ return;
117
+ }
118
+ // Update existing changelog
119
+ const content = await fs.readFile(changelogPath, 'utf-8');
120
+ const today = new Date().toISOString().split('T')[0];
121
+ const newEntry = `\n## [${newVersion}] - ${today}\n\n### ${this.getChangeType(bumpType)}\n- Version bump from ${oldVersion}\n`;
122
+ // Find the first version entry and insert before it
123
+ const lines = content.split('\n');
124
+ const firstVersionIndex = lines.findIndex(line => line.match(/^## \[\d+\.\d+\.\d+\]/));
125
+ if (firstVersionIndex >= 0) {
126
+ lines.splice(firstVersionIndex, 0, newEntry.trim());
127
+ }
128
+ else {
129
+ lines.push(newEntry.trim());
130
+ }
131
+ await fs.writeFile(changelogPath, lines.join('\n'));
132
+ }
133
+ getChangeType(bumpType) {
134
+ switch (bumpType) {
135
+ case 'major': return 'Breaking';
136
+ case 'minor': return 'Features';
137
+ case 'patch': return 'Fixes';
138
+ default: return 'Changes';
139
+ }
140
+ }
141
+ async getExtensionChangelog(extensionName) {
142
+ const changelogPath = path.join(this.extensionsDir, extensionName, 'CHANGELOG.md');
143
+ if (!(await fs.pathExists(changelogPath))) {
144
+ return null;
145
+ }
146
+ return await fs.readFile(changelogPath, 'utf-8');
147
+ }
148
+ async createExtensionChangelog(extensionName) {
149
+ const changelogPath = path.join(this.extensionsDir, extensionName, 'CHANGELOG.md');
150
+ if (await fs.pathExists(changelogPath)) {
151
+ throw new Error(`Changelog already exists for ${extensionName}`);
152
+ }
153
+ const extensionPath = path.join(this.extensionsDir, extensionName, 'index.ts');
154
+ if (!(await fs.pathExists(extensionPath))) {
155
+ throw new Error(`Extension not found: ${extensionName}`);
156
+ }
157
+ const content = await fs.readFile(extensionPath, 'utf-8');
158
+ const versionMatch = content.match(/version:\s*['"]([^'"]+)['"]/);
159
+ const version = versionMatch ? versionMatch[1] : '1.0.0';
160
+ const changelog = `# Changelog
161
+
162
+ All notable changes to this extension will be documented in this file.
163
+
164
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
165
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
166
+
167
+ ## [${version}] - ${new Date().toISOString().split('T')[0]}
168
+
169
+ ### Added
170
+ - Initial release
171
+ `;
172
+ await fs.writeFile(changelogPath, changelog);
173
+ }
174
+ }
175
+ exports.ExtensionManager = ExtensionManager;
176
+ //# sourceMappingURL=extension-manager.js.map
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const extension = {
4
4
  name: 'sample-extension',
5
5
  description: 'Sample extension demonstrating custom business logic',
6
- version: '1.0.0',
6
+ version: '1.0.1',
7
7
  register: async (program, config) => {
8
8
  // Add a custom command
9
9
  program
@@ -68,7 +68,9 @@ const DEFAULT_ALLOWLIST = [
68
68
  "YOUR_DEPLOYER_PRIVATE_KEY",
69
69
  "YOUR_LOCAL_PRIVATE_KEY",
70
70
  "YOUR_TESTNET_PRIVATE_KEY",
71
- "your_private_key_here"
71
+ "your_private_key_here",
72
+ "secretPatterns", // Regex pattern definitions in code
73
+ "BEGIN PRIVATE KEY", // Regex string matching
72
74
  ];
73
75
  function checkContentForSecrets(content, patterns, allowlist, filename) {
74
76
  const results = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edcalderon/versioning",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "A comprehensive versioning and changelog management tool for monorepos",
5
5
  "main": "dist/index.js",
6
6
  "bin": {