@programinglive/commiter 1.1.11 β 1.2.1
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 +19 -0
- package/PRD.md +5 -0
- package/README.md +15 -1
- package/docs/release-notes/RELEASE_NOTES.md +18 -0
- package/package.json +4 -2
- package/scripts/release.cjs +13 -1
- package/scripts/update-web-version.js +37 -0
- package/web/index.html +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.2.1](https://github.com/programinglive/commiter/compare/v1.2.0...v1.2.1) (2025-11-26)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### π Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **release:** improve website version update reliability ([18f5ace](https://github.com/programinglive/commiter/commit/18f5acea973d49af07f2d41ebf035529d825429c))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### β¨ Features
|
|
14
|
+
|
|
15
|
+
* **website:** read version from git tags instead of package.json ([8fe8af8](https://github.com/programinglive/commiter/commit/8fe8af8098816713f5ad6a08f3a548173f89d57d))
|
|
16
|
+
|
|
17
|
+
## [1.2.0](https://github.com/programinglive/commiter/compare/v1.1.11...v1.2.0) (2025-11-26)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### π§Ή Chores
|
|
21
|
+
|
|
22
|
+
* **project:** update documentation and release scripts ([88d02c6](https://github.com/programinglive/commiter/commit/88d02c6f527cd4dc63bcecfca4538867fe8d5c96))
|
|
23
|
+
|
|
5
24
|
### [1.1.11](https://github.com/programinglive/commiter/compare/v1.1.10...v1.1.11) (2025-11-26)
|
|
6
25
|
|
|
7
26
|
|
package/PRD.md
CHANGED
|
@@ -28,8 +28,13 @@ Growing teams often struggle to keep release processes consistent: commit messag
|
|
|
28
28
|
- Detects release type from CLI args or npm context.
|
|
29
29
|
- Runs project tests via detected package manager before releasing.
|
|
30
30
|
- Invokes `standard-version` with additional flags (e.g., preload patch for deprecated APIs).
|
|
31
|
+
- **[NEW]** Automatically updates website version in `web/index.html`.
|
|
31
32
|
- **Preload Patching (`scripts/preload/fs-f-ok.cjs`)**
|
|
32
33
|
- Hooks Nodeβs module loader to transparently replace deprecated `fs.F_OK` usages in `standard-version` without altering `node_modules`.
|
|
34
|
+
- **Website & Documentation**
|
|
35
|
+
- Professional landing page in `web/` directory.
|
|
36
|
+
- Automated GitHub Releases generation.
|
|
37
|
+
- Open Graph social media preview support.
|
|
33
38
|
- **Testing**
|
|
34
39
|
- Suite executed via `node --test` covers setup utilities, release argument parsing, and the preload patch.
|
|
35
40
|
|
package/README.md
CHANGED
|
@@ -186,7 +186,21 @@ To see what would happen without making changes:
|
|
|
186
186
|
npm run release -- --dry-run
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
##
|
|
189
|
+
## Website
|
|
190
|
+
|
|
191
|
+
The project includes a professional landing page in the `web/` directory.
|
|
192
|
+
|
|
193
|
+
### Local Development
|
|
194
|
+
|
|
195
|
+
To run the website locally:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
npm run web
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
This will serve the website at `http://localhost:3000`.
|
|
202
|
+
|
|
203
|
+
## Contributing
|
|
190
204
|
|
|
191
205
|
Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
|
|
192
206
|
|
|
@@ -4,6 +4,8 @@ This document summarizes every published version of `@programinglive/commiter`.
|
|
|
4
4
|
|
|
5
5
|
| Version | Date | Highlights |
|
|
6
6
|
|---------|------|------------|
|
|
7
|
+
| 1.2.1 | 2025-11-26 | **release:** improve website version update reliability (18f5ace) |
|
|
8
|
+
| 1.2.0 | 2025-11-26 | See CHANGELOG for details. |
|
|
7
9
|
| 1.1.11 | 2025-11-26 | **website:** add open graph social media preview (7a2f911) |
|
|
8
10
|
| 1.1.10 | 2025-11-26 | **website:** add professional landing page and release tools (ec53e2d) |
|
|
9
11
|
| 1.1.9 | 2025-11-24 | convert release scripts to CJS to support ESM projects (842da02) |
|
|
@@ -40,6 +42,22 @@ This document summarizes every published version of `@programinglive/commiter`.
|
|
|
40
42
|
|
|
41
43
|
|
|
42
44
|
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## 1.2.1 β π Bug Fixes
|
|
48
|
+
|
|
49
|
+
Released on **2025-11-26**.
|
|
50
|
+
|
|
51
|
+
- **release:** improve website version update reliability (18f5ace)
|
|
52
|
+
- **website:** read version from git tags instead of package.json (8fe8af8)
|
|
53
|
+
- **project:** update documentation and release scripts (88d02c6)
|
|
54
|
+
|
|
55
|
+
## 1.2.0
|
|
56
|
+
|
|
57
|
+
Released on **2025-11-26**.
|
|
58
|
+
|
|
59
|
+
- See CHANGELOG for details.
|
|
60
|
+
|
|
43
61
|
## 1.1.11 β π Documentation
|
|
44
62
|
|
|
45
63
|
Released on **2025-11-26**.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@programinglive/commiter",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Commiter keeps repositories release-ready by enforcing conventional commits, generating icon-rich changelog entries, and orchestrating semantic version bumps without manual toil. It bootstraps Husky hooks, commitlint rules, and release scripts that inspect history, detect framework-specific test commands, run them automatically, tag git releases, coordinate npm publishing, surface release metrics, enforce project-specific checks, and give maintainers observability across distributed teams. Plus!",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"release": "node scripts/release.cjs",
|
|
13
13
|
"release:major": "node scripts/release.cjs major",
|
|
14
14
|
"release:minor": "node scripts/release.cjs minor",
|
|
15
|
-
"release:patch": "node scripts/release.cjs patch"
|
|
15
|
+
"release:patch": "node scripts/release.cjs patch",
|
|
16
|
+
"web": "npx serve web",
|
|
17
|
+
"update:web": "node scripts/update-web-version.js"
|
|
16
18
|
},
|
|
17
19
|
"keywords": [
|
|
18
20
|
"commit",
|
package/scripts/release.cjs
CHANGED
|
@@ -188,9 +188,21 @@ function runRelease({
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
// Update website version
|
|
192
|
+
try {
|
|
193
|
+
console.log('π Updating website version...');
|
|
194
|
+
const updateWebResult = spawnSync(process.execPath, ['scripts/update-web-version.js'], { stdio: 'inherit', cwd });
|
|
195
|
+
if (updateWebResult.status === 0) {
|
|
196
|
+
spawnSync('git', ['add', 'web/index.html'], { stdio: 'inherit', cwd });
|
|
197
|
+
} else {
|
|
198
|
+
console.warn('β οΈ Failed to update website version');
|
|
199
|
+
}
|
|
200
|
+
} catch (error) {
|
|
201
|
+
console.warn(`β οΈ Skipping website version update: ${error.message}`);
|
|
202
|
+
}
|
|
203
|
+
|
|
191
204
|
return releaseResult;
|
|
192
205
|
}
|
|
193
|
-
|
|
194
206
|
if (require.main === module) {
|
|
195
207
|
try {
|
|
196
208
|
const result = runRelease();
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const { execSync } = require('child_process');
|
|
4
|
+
|
|
5
|
+
// Get current version from latest git tag
|
|
6
|
+
let version;
|
|
7
|
+
try {
|
|
8
|
+
// Get the latest tag
|
|
9
|
+
const tag = execSync('git describe --tags --abbrev=0', { encoding: 'utf8' }).trim();
|
|
10
|
+
// Remove 'v' prefix if present
|
|
11
|
+
version = tag.startsWith('v') ? tag.substring(1) : tag;
|
|
12
|
+
} catch (error) {
|
|
13
|
+
// Fallback to package.json if no tags exist
|
|
14
|
+
console.warn('β οΈ No git tags found, falling back to package.json version');
|
|
15
|
+
const packageJson = require('../package.json');
|
|
16
|
+
version = packageJson.version;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const indexPath = path.join(__dirname, '../web/index.html');
|
|
20
|
+
let content = fs.readFileSync(indexPath, 'utf8');
|
|
21
|
+
|
|
22
|
+
// Update version in the badge
|
|
23
|
+
// Matches: <span>v1.1.9 - Latest Release</span>
|
|
24
|
+
content = content.replace(
|
|
25
|
+
/<span>v\d+\.\d+\.\d+ - Latest Release<\/span>/,
|
|
26
|
+
`<span>v${version} - Latest Release</span>`
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
// Update version in the stats
|
|
30
|
+
// Matches: <div class="stat-value">1.1.9</div>
|
|
31
|
+
content = content.replace(
|
|
32
|
+
/<div class="stat-value">\d+\.\d+\.\d+<\/div>(\s*<div class="stat-label">Latest Version<\/div>)/,
|
|
33
|
+
`<div class="stat-value">${version}</div>$1`
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
fs.writeFileSync(indexPath, content);
|
|
37
|
+
console.log(`β
Updated website to version ${version} (from git tag)`);
|
package/web/index.html
CHANGED
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
<div class="hero-content">
|
|
67
67
|
<div class="hero-badge">
|
|
68
68
|
<span class="badge-dot"></span>
|
|
69
|
-
<span>v1.1
|
|
69
|
+
<span>v1.2.1 - Latest Release</span>
|
|
70
70
|
</div>
|
|
71
71
|
<h1 class="hero-title">
|
|
72
72
|
Ship Releases with <span class="gradient-text">Confidence</span>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
</div>
|
|
91
91
|
<div class="hero-stats">
|
|
92
92
|
<div class="stat-item">
|
|
93
|
-
<div class="stat-value">1.1
|
|
93
|
+
<div class="stat-value">1.2.1</div>
|
|
94
94
|
<div class="stat-label">Latest Version</div>
|
|
95
95
|
</div>
|
|
96
96
|
<div class="stat-item">
|