@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.
- package/CHANGELOG.md.backup +273 -0
- package/README.md +12 -3
- package/dist/cli.js +53 -0
- package/dist/extension-manager.d.ts +18 -0
- package/dist/extension-manager.js +176 -0
- package/dist/extensions/sample-extension/index.js +1 -1
- package/dist/extensions/secrets-check/index.js +3 -1
- package/package.json +1 -1
|
@@ -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.
|
|
12
|
-
|
|
13
|
-
**
|
|
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.
|
|
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 = [];
|