@programinglive/commiter 1.2.16 โ†’ 1.2.17

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
@@ -2,6 +2,18 @@
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.17](https://github.com/programinglive/commiter/compare/v1.2.16...v1.2.17) (2025-12-26)
6
+
7
+
8
+ ### ๐Ÿ“ Documentation
9
+
10
+ * **web:** update homepage for v1.2.16 release ([c4ba36e](https://github.com/programinglive/commiter/commit/c4ba36ed3b9ec50f16df92b4cc37094f3173fc3a))
11
+
12
+
13
+ ### โœจ Features
14
+
15
+ * **release:** enforce PRD presence warning ([227e237](https://github.com/programinglive/commiter/commit/227e237012cb56f9b570e69f96dc4bd2e836b319))
16
+
5
17
  ### [1.2.16](https://github.com/programinglive/commiter/compare/v1.2.15...v1.2.16) (2025-12-13)
6
18
 
7
19
 
package/README.md CHANGED
@@ -128,10 +128,11 @@ npm run release
128
128
 
129
129
  1. ๐Ÿงช **Runs tests** - Detects your package manager and runs the `test` script automatically (tests only run during release, not on commit)
130
130
  2. ๐Ÿ“Š **Analyzes commits** - Examines commits since last release
131
- 3. ๐Ÿ”ข **Bumps version** - Updates version in `package.json`
132
- 4. ๐Ÿ“ **Updates changelog** - Generates `CHANGELOG.md` with icons
133
- 5. ๐Ÿท๏ธ **Creates tag** - Creates a git tag for the release
134
- 6. ๐Ÿ’พ **Commits release** - Commits changes with format: `chore(release): v1.2.3 ๐Ÿš€`
131
+ 3. ๐Ÿ“˜ **Verifies documentation** โ€“ Warns if `docs/PRD.md` is missing so every project keeps an up-to-date PRD
132
+ 4. ๐Ÿ”ข **Bumps version** - Updates version in `package.json`
133
+ 5. ๐Ÿ“ **Updates changelog** - Generates `CHANGELOG.md` with icons
134
+ 6. ๐Ÿท๏ธ **Creates tag** - Creates a git tag for the release
135
+ 7. ๐Ÿ’พ **Commits release** - Commits changes with format: `chore(release): v1.2.3 ๐Ÿš€`
135
136
 
136
137
  ## Push Your Release
137
138
 
@@ -47,7 +47,7 @@ Growing teams often struggle to keep release processes consistent: commit messag
47
47
  - Exit with non-zero status if tests or standard-version commands fail.
48
48
  3. CLI should provide friendly console output (status icons, instructions).
49
49
  4. The preload script must eliminate `[DEP0176] fs.F_OK` warnings on supported Node versions.
50
- 5. Documentation (README, PRD, release notes) remains shipped with the package.
50
+ 5. Documentation (README, PRD, release notes) remains shipped with the package. Each project integrating Commiter must keep a `docs/PRD.md` file present in the repository. The release helper enforces this by warning when the PRD is missing so maintainers remember to author or update the document before tagging releases.
51
51
 
52
52
  ## 7. Non-Functional Requirements
53
53
  - **Compatibility**: Supports Node.js 18+ (aligning with dependencies); tested on Windows/macOS/Linux.
@@ -4,6 +4,7 @@ This document summarizes every published version of `@programinglive/commiter`.
4
4
 
5
5
  | Version | Date | Highlights |
6
6
  |---------|------|------------|
7
+ | 1.2.17 | 2025-12-26 | **web:** update homepage for v1.2.16 release (c4ba36e) |
7
8
  | 1.2.16 | 2025-12-13 | upgrade to node 20 and update npm for OIDC (5f7d9a0) |
8
9
  | 1.2.15 | 2025-12-13 | remove registry-url to fix OIDC auth conflict (c49b6e8) |
9
10
  | 1.2.14 | 2025-12-13 | remove legacy auth token env (8508deb) |
@@ -73,6 +74,14 @@ This document summarizes every published version of `@programinglive/commiter`.
73
74
 
74
75
 
75
76
 
77
+
78
+
79
+ ## 1.2.17 โ€“ ๐Ÿ“ Documentation
80
+
81
+ Released on **2025-12-26**.
82
+
83
+ - **web:** update homepage for v1.2.16 release (c4ba36e)
84
+ - **release:** enforce PRD presence warning (227e237)
76
85
 
77
86
  ## 1.2.16 โ€“ ๐Ÿ‘ท Continuous Integration
78
87
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@programinglive/commiter",
3
- "version": "1.2.16",
3
+ "version": "1.2.17",
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": {
@@ -11,6 +11,9 @@ const FS_FOK_PRELOAD_FLAG = buildPreloadFlag(fsFokPreloadPath);
11
11
 
12
12
  require('./preload/fs-f-ok.cjs');
13
13
 
14
+ const DEFAULT_PRD_RELATIVE_PATH = path.join('docs', 'PRD.md');
15
+ const DEFAULT_PRD_DISPLAY_PATH = 'docs/PRD.md';
16
+
14
17
  const VALID_RELEASE_TYPES = new Set([
15
18
  'major',
16
19
  'minor',
@@ -161,6 +164,8 @@ function runRelease({
161
164
  throw new Error('Working tree has uncommitted changes. Commit or stash before running release.');
162
165
  }
163
166
 
167
+ ensurePrdPresence({ cwd, dependencies });
168
+
164
169
  const testResult = runProjectTests({ spawn, env });
165
170
  if (testResult && typeof testResult.status === 'number' && testResult.status !== 0) {
166
171
  return testResult;
@@ -219,9 +224,31 @@ module.exports = {
219
224
  detectPackageManager,
220
225
  runProjectTests,
221
226
  runRelease,
222
- isWorkingTreeClean
227
+ isWorkingTreeClean,
228
+ ensurePrdPresence
223
229
  };
224
230
 
231
+ function ensurePrdPresence({ cwd = process.cwd(), dependencies = {} } = {}) {
232
+ const {
233
+ fsExistsSync = fs.existsSync,
234
+ logger = console,
235
+ prdRelativePath = DEFAULT_PRD_RELATIVE_PATH,
236
+ prdDisplayPath = DEFAULT_PRD_DISPLAY_PATH
237
+ } = dependencies;
238
+
239
+ const resolvedPath = path.isAbsolute(prdRelativePath)
240
+ ? prdRelativePath
241
+ : path.join(cwd, prdRelativePath);
242
+
243
+ if (fsExistsSync(resolvedPath)) {
244
+ return true;
245
+ }
246
+
247
+ const warn = typeof logger?.warn === 'function' ? logger.warn.bind(logger) : console.warn.bind(console);
248
+ warn(`โš ๏ธ Product Requirements Document missing (${prdDisplayPath}). Add ${DEFAULT_PRD_DISPLAY_PATH} so teams understand release expectations.`);
249
+ return false;
250
+ }
251
+
225
252
  function buildPreloadFlag(filePath) {
226
253
  const resolved = path.resolve(filePath);
227
254
  const escaped = resolved.includes(' ')
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.2.5 - Latest Release</span>
69
+ <span>v1.2.16 - 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.2.5</div>
93
+ <div class="stat-value">1.2.16</div>
94
94
  <div class="stat-label">Latest Version</div>
95
95
  </div>
96
96
  <div class="stat-item">
@@ -121,9 +121,9 @@
121
121
  <div class="code-line output success">๐ŸŽ‰ Setup complete! Ready to release.</div>
122
122
  <div class="code-line"><span class="prompt">$</span> npm run release:patch</div>
123
123
  <div class="code-line output">โœ“ Running tests...</div>
124
- <div class="code-line output">โœ“ Bumping version to 1.0.1...</div>
124
+ <div class="code-line output">โœ“ Bumping version to 1.2.17...</div>
125
125
  <div class="code-line output">โœ“ Updating CHANGELOG.md...</div>
126
- <div class="code-line output success">๐Ÿš€ Release v1.0.1 ready!</div>
126
+ <div class="code-line output success">๐Ÿš€ Release v1.2.17 ready!</div>
127
127
  <div class="code-line cursor">_</div>
128
128
  </div>
129
129
  </div>
@@ -388,34 +388,34 @@
388
388
  <!-- RELEASES_TIMELINE:START -->
389
389
  <div class="release-item">
390
390
  <div class="release-badge">Latest</div>
391
- <div class="release-version">v1.2.5</div>
392
- <div class="release-date">November 29, 2025</div>
393
- <div class="release-type">๐Ÿงน Chores</div>
394
- <p class="release-description">release: v1.2.4 ๐Ÿš€ (23e546a)</p>
391
+ <div class="release-version">v1.2.16</div>
392
+ <div class="release-date">December 13, 2025</div>
393
+ <div class="release-type">๐Ÿ‘ท Continuous Integration</div>
394
+ <p class="release-description">upgrade to node 20 and update npm for OIDC via GitHub Actions</p>
395
395
  </div>
396
396
  <div class="release-item">
397
- <div class="release-version">v1.2.4</div>
398
- <div class="release-date">November 27, 2025</div>
399
- <div class="release-type">๐Ÿงน Chores</div>
400
- <p class="release-description">release: 1.2.3 (9d12f7e)</p>
397
+ <div class="release-version">v1.2.15</div>
398
+ <div class="release-date">December 13, 2025</div>
399
+ <div class="release-type">๐Ÿ‘ท Continuous Integration</div>
400
+ <p class="release-description">remove registry-url to fix OIDC auth conflict</p>
401
401
  </div>
402
402
  <div class="release-item">
403
- <div class="release-version">v1.2.3</div>
404
- <div class="release-date">November 27, 2025</div>
405
- <div class="release-type">โœจ Features</div>
406
- <p class="release-description">automate website releases timeline updates from release notes (5abf788)</p>
403
+ <div class="release-version">v1.2.14</div>
404
+ <div class="release-date">December 13, 2025</div>
405
+ <div class="release-type">๐Ÿ‘ท Continuous Integration</div>
406
+ <p class="release-description">remove legacy auth token env</p>
407
407
  </div>
408
408
  <div class="release-item">
409
- <div class="release-version">v1.2.2</div>
410
- <div class="release-date">November 27, 2025</div>
411
- <div class="release-type">๐Ÿงน Chores</div>
412
- <p class="release-description">update homepage url (556b173)</p>
409
+ <div class="release-version">v1.2.13</div>
410
+ <div class="release-date">December 13, 2025</div>
411
+ <div class="release-type">๐Ÿ‘ท Continuous Integration</div>
412
+ <p class="release-description">enable npm trusted publishing (OIDC) with provenance</p>
413
413
  </div>
414
414
  <div class="release-item">
415
- <div class="release-version">v1.2.1</div>
416
- <div class="release-date">November 26, 2025</div>
417
- <div class="release-type">๐Ÿ› Bug Fixes</div>
418
- <p class="release-description">release: improve website version update reliability (18f5ace)</p>
415
+ <div class="release-version">v1.2.12</div>
416
+ <div class="release-date">December 13, 2025</div>
417
+ <div class="release-type">๐Ÿงน Chores</div>
418
+ <p class="release-description">cleanup and add deployment scripts</p>
419
419
  </div>
420
420
  <!-- RELEASES_TIMELINE:END -->
421
421
  </div>