@programinglive/commiter 1.1.0 → 1.1.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.
@@ -1,28 +1,28 @@
1
- ---
2
- name: Bug report
3
- about: Create a report to help us improve
4
- labels: bug
5
- ---
6
-
7
- ## Describe the bug
8
- A clear and concise description of what the bug is.
9
-
10
- ## To Reproduce
11
- Steps to reproduce the behavior:
12
- 1. Go to '...'
13
- 2. Click on '...'
14
- 3. See error
15
-
16
- ## Expected behavior
17
- A clear and concise description of what you expected to happen.
18
-
19
- ## Screenshots or logs
20
- If applicable, add screenshots, logs, or stack traces to help explain your problem.
21
-
22
- ## Environment
23
- - Package version:
24
- - Node.js version:
25
- - OS:
26
-
27
- ## Additional context
28
- Add any other context about the problem here.
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ labels: bug
5
+ ---
6
+
7
+ ## Describe the bug
8
+ A clear and concise description of what the bug is.
9
+
10
+ ## To Reproduce
11
+ Steps to reproduce the behavior:
12
+ 1. Go to '...'
13
+ 2. Click on '...'
14
+ 3. See error
15
+
16
+ ## Expected behavior
17
+ A clear and concise description of what you expected to happen.
18
+
19
+ ## Screenshots or logs
20
+ If applicable, add screenshots, logs, or stack traces to help explain your problem.
21
+
22
+ ## Environment
23
+ - Package version:
24
+ - Node.js version:
25
+ - OS:
26
+
27
+ ## Additional context
28
+ Add any other context about the problem here.
@@ -1,5 +1,5 @@
1
- blank_issues_enabled: false
2
- contact_links:
3
- - name: Security Report
4
- url: https://github.com/programinglive/commiter/security/policy
5
- about: Please read our security policy before reporting vulnerabilities.
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Security Report
4
+ url: https://github.com/programinglive/commiter/security/policy
5
+ about: Please read our security policy before reporting vulnerabilities.
@@ -1,20 +1,20 @@
1
- ---
2
- name: Feature request
3
- about: Suggest an idea for this project
4
- labels: enhancement
5
- ---
6
-
7
- ## Summary
8
- Describe the feature you would like to see.
9
-
10
- ## Problem or Use Case
11
- What problem does this feature solve? Why is it needed?
12
-
13
- ## Proposed Solution
14
- Describe your proposed solution or implementation ideas.
15
-
16
- ## Alternatives
17
- List any alternative solutions or features you've considered.
18
-
19
- ## Additional context
20
- Add any other context, mockups, or screenshots about the feature request here.
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ labels: enhancement
5
+ ---
6
+
7
+ ## Summary
8
+ Describe the feature you would like to see.
9
+
10
+ ## Problem or Use Case
11
+ What problem does this feature solve? Why is it needed?
12
+
13
+ ## Proposed Solution
14
+ Describe your proposed solution or implementation ideas.
15
+
16
+ ## Alternatives
17
+ List any alternative solutions or features you've considered.
18
+
19
+ ## Additional context
20
+ Add any other context, mockups, or screenshots about the feature request here.
@@ -1,24 +1,24 @@
1
- # Pull Request Checklist
2
-
3
- ## Summary
4
-
5
- Describe the changes in this pull request.
6
-
7
- ## Related Issues
8
-
9
- Link related issues (e.g. closes #123).
10
-
11
- ## Testing
12
-
13
- - [ ] `npm install`
14
- - [ ] `npm test`
15
- - [ ] `npm run release -- --dry-run` (if release-related)
16
-
17
- ## Checklist
18
-
19
- - [ ] I've read the [Code of Conduct](../CODE_OF_CONDUCT.md)
20
- - [ ] I've read the [Contributing Guidelines](../CONTRIBUTING.md)
21
- - [ ] My commits follow the Conventional Commits format (`type(scope): subject`)
22
- - [ ] Documentation has been updated if needed
23
- - [ ] New dependencies are justified and added to `package.json`
24
- - [ ] No `any` types were introduced (TypeScript rule)
1
+ # Pull Request Checklist
2
+
3
+ ## Summary
4
+
5
+ Describe the changes in this pull request.
6
+
7
+ ## Related Issues
8
+
9
+ Link related issues (e.g. closes #123).
10
+
11
+ ## Testing
12
+
13
+ - [ ] `npm install`
14
+ - [ ] `npm test`
15
+ - [ ] `npm run release -- --dry-run` (if release-related)
16
+
17
+ ## Checklist
18
+
19
+ - [ ] I've read the [Code of Conduct](../CODE_OF_CONDUCT.md)
20
+ - [ ] I've read the [Contributing Guidelines](../CONTRIBUTING.md)
21
+ - [ ] My commits follow the Conventional Commits format (`type(scope): subject`)
22
+ - [ ] Documentation has been updated if needed
23
+ - [ ] New dependencies are justified and added to `package.json`
24
+ - [ ] No `any` types were introduced (TypeScript rule)
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
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.1.3](https://github.com/programinglive/commiter/compare/v1.1.2...v1.1.3) (2025-11-05)
6
+
7
+ ### [1.1.2](https://github.com/programinglive/commiter/compare/v1.1.1...v1.1.2) (2025-11-05)
8
+
9
+
10
+ ### 🧹 Chores
11
+
12
+ * auto-update release notes during release ([99d1043](https://github.com/programinglive/commiter/commit/99d104374794a6a46dc34e8a91fa8b30ae9b297b))
13
+
14
+ ### [1.1.1](https://github.com/programinglive/commiter/compare/v1.1.0...v1.1.1) (2025-11-05)
15
+
16
+
17
+ ### 🐛 Bug Fixes
18
+
19
+ * remove fs.F_OK deprecation warning ([1b0652b](https://github.com/programinglive/commiter/commit/1b0652b88d1b095e1045994948f75ce8194f9d3a))
20
+
5
21
  ## [1.1.0](https://github.com/programinglive/commiter/compare/v1.0.12...v1.1.0) (2025-10-29)
6
22
 
7
23
 
@@ -46,46 +62,46 @@ All notable changes to this project will be documented in this file. See [standa
46
62
 
47
63
  * add release helper script and tests ([93f4235](https://github.com/programinglive/commiter/commit/93f4235c3cf2e34b77b78ba51c0337cf89e564df))
48
64
 
49
- ### [1.0.6](https://github.com/programinglive/commiter/compare/v1.0.5...v1.0.6) (2025-10-19)
50
-
51
- ### [1.0.5](https://github.com/programinglive/commiter/compare/v1.0.4...v1.0.5) (2025-10-19)
52
-
53
-
54
- ### 🐛 Bug Fixes
55
-
56
- * allow release commits with emoji ([26c4afa](https://github.com/programinglive/commiter/commit/26c4afa26fc7c11c91ac576dcba197cba5d3d98a))
57
-
58
- ### [1.0.4](https://github.com/programinglive/commiter/compare/v1.0.3...v1.0.4) (2025-10-19)
59
-
60
-
61
- ### 🐛 Bug Fixes
62
-
63
- * ensure safe test default for initial release ([27d2ee3](https://github.com/programinglive/commiter/commit/27d2ee35d1e558ef459a61e41627305997621392))
64
-
65
- ### [1.0.3](https://github.com/programinglive/commiter/compare/v1.0.2...v1.0.3) (2025-10-19)
66
-
67
- ### [1.0.2](https://github.com/programinglive/commiter/compare/v1.0.1...v1.0.2) (2025-10-19)
68
-
69
- ### [1.0.1](https://github.com/programinglive/commiter/compare/v1.0.0...v1.0.1) (2025-10-18)
70
-
71
-
72
- ### 🐛 Bug Fixes
73
-
74
- * align commitlint config with project module type ([d051eac](https://github.com/programinglive/commiter/commit/d051eace5471d0c54fd8de6a3bede6a0df020dad))
75
-
76
- ## 1.0.0 (2025-10-17)
77
-
78
-
79
- ### ✨ Features
80
-
81
- * initial project setup with standard-version and conventional commits ([0accf6d](https://github.com/programinglive/commiter/commit/0accf6dba678c1946629aa3f1b691bea7e20cd95))
82
-
83
-
84
- ### 📝 Documentation
85
-
86
- * add community health files and apply package tooling ([0fa802b](https://github.com/programinglive/commiter/commit/0fa802b6129053d3f32030cec561e5926dd09c42))
87
-
88
-
89
- ### 🧹 Chores
90
-
91
- * update package metadata ([7c112f3](https://github.com/programinglive/commiter/commit/7c112f3d82e2c92ed31fa3e60fafd5ca0429184d))
65
+ ### [1.0.6](https://github.com/programinglive/commiter/compare/v1.0.5...v1.0.6) (2025-10-19)
66
+
67
+ ### [1.0.5](https://github.com/programinglive/commiter/compare/v1.0.4...v1.0.5) (2025-10-19)
68
+
69
+
70
+ ### 🐛 Bug Fixes
71
+
72
+ * allow release commits with emoji ([26c4afa](https://github.com/programinglive/commiter/commit/26c4afa26fc7c11c91ac576dcba197cba5d3d98a))
73
+
74
+ ### [1.0.4](https://github.com/programinglive/commiter/compare/v1.0.3...v1.0.4) (2025-10-19)
75
+
76
+
77
+ ### 🐛 Bug Fixes
78
+
79
+ * ensure safe test default for initial release ([27d2ee3](https://github.com/programinglive/commiter/commit/27d2ee35d1e558ef459a61e41627305997621392))
80
+
81
+ ### [1.0.3](https://github.com/programinglive/commiter/compare/v1.0.2...v1.0.3) (2025-10-19)
82
+
83
+ ### [1.0.2](https://github.com/programinglive/commiter/compare/v1.0.1...v1.0.2) (2025-10-19)
84
+
85
+ ### [1.0.1](https://github.com/programinglive/commiter/compare/v1.0.0...v1.0.1) (2025-10-18)
86
+
87
+
88
+ ### 🐛 Bug Fixes
89
+
90
+ * align commitlint config with project module type ([d051eac](https://github.com/programinglive/commiter/commit/d051eace5471d0c54fd8de6a3bede6a0df020dad))
91
+
92
+ ## 1.0.0 (2025-10-17)
93
+
94
+
95
+ ### ✨ Features
96
+
97
+ * initial project setup with standard-version and conventional commits ([0accf6d](https://github.com/programinglive/commiter/commit/0accf6dba678c1946629aa3f1b691bea7e20cd95))
98
+
99
+
100
+ ### 📝 Documentation
101
+
102
+ * add community health files and apply package tooling ([0fa802b](https://github.com/programinglive/commiter/commit/0fa802b6129053d3f32030cec561e5926dd09c42))
103
+
104
+
105
+ ### 🧹 Chores
106
+
107
+ * update package metadata ([7c112f3](https://github.com/programinglive/commiter/commit/7c112f3d82e2c92ed31fa3e60fafd5ca0429184d))
@@ -1,36 +1,36 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
- We pledge to make participation in `@programinglive/commiter` open, welcoming, and harassment-free for everyone, regardless of age, body size, disability, ethnicity, gender identity or expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
5
-
6
- ## Our Standards
7
- **Positive behaviours**
8
- - Showing empathy and kindness toward other people
9
- - Respecting differing opinions, viewpoints, and experiences
10
- - Giving and gracefully accepting constructive feedback
11
- - Accepting responsibility and apologizing when mistakes occur
12
-
13
- **Unacceptable behaviours**
14
- - Use of sexualized language or imagery, or unwelcome sexual attention
15
- - Trolling, insulting or derogatory comments, and personal attacks
16
- - Public or private harassment
17
- - Publishing others' private information without permission
18
- - Other conduct which would reasonably be considered inappropriate in a professional setting
19
-
20
- ## Enforcement Responsibilities
21
- Project maintainers are responsible for clarifying standards of acceptable behaviour and will take appropriate corrective action in response to unacceptable behaviour. Maintainers have the right to remove, edit, or reject contributions that do not align with this Code of Conduct.
22
-
23
- ## Scope
24
- This Code of Conduct applies within all project spaces and when an individual is officially representing the project in public spaces.
25
-
26
- ## Enforcement
27
- Report incidents to `security@programinglive.com`. All complaints will be reviewed promptly and treated confidentially.
28
-
29
- ## Enforcement Guidelines
30
- 1. **Correction** – Private warning for minor violations and clarification of expectations.
31
- 2. **Warning** – Consequence for a single serious violation or repeated minor violations.
32
- 3. **Temporary Ban** – Temporary exclusion from community interactions when behaviour is unacceptable.
33
- 4. **Permanent Ban** – Permanent removal from the community for sustained inappropriate behaviour or harassment.
34
-
35
- ## Attribution
36
- Adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+ We pledge to make participation in `@programinglive/commiter` open, welcoming, and harassment-free for everyone, regardless of age, body size, disability, ethnicity, gender identity or expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
5
+
6
+ ## Our Standards
7
+ **Positive behaviours**
8
+ - Showing empathy and kindness toward other people
9
+ - Respecting differing opinions, viewpoints, and experiences
10
+ - Giving and gracefully accepting constructive feedback
11
+ - Accepting responsibility and apologizing when mistakes occur
12
+
13
+ **Unacceptable behaviours**
14
+ - Use of sexualized language or imagery, or unwelcome sexual attention
15
+ - Trolling, insulting or derogatory comments, and personal attacks
16
+ - Public or private harassment
17
+ - Publishing others' private information without permission
18
+ - Other conduct which would reasonably be considered inappropriate in a professional setting
19
+
20
+ ## Enforcement Responsibilities
21
+ Project maintainers are responsible for clarifying standards of acceptable behaviour and will take appropriate corrective action in response to unacceptable behaviour. Maintainers have the right to remove, edit, or reject contributions that do not align with this Code of Conduct.
22
+
23
+ ## Scope
24
+ This Code of Conduct applies within all project spaces and when an individual is officially representing the project in public spaces.
25
+
26
+ ## Enforcement
27
+ Report incidents to `security@programinglive.com`. All complaints will be reviewed promptly and treated confidentially.
28
+
29
+ ## Enforcement Guidelines
30
+ 1. **Correction** – Private warning for minor violations and clarification of expectations.
31
+ 2. **Warning** – Consequence for a single serious violation or repeated minor violations.
32
+ 3. **Temporary Ban** – Temporary exclusion from community interactions when behaviour is unacceptable.
33
+ 4. **Permanent Ban** – Permanent removal from the community for sustained inappropriate behaviour or harassment.
34
+
35
+ ## Attribution
36
+ Adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Programming Live
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Programming Live
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/PRD.md ADDED
@@ -0,0 +1,86 @@
1
+ # Commiter Product Requirements Document (PRD)
2
+
3
+ ## 1. Overview
4
+ Commiter is a CLI utility that bootstraps and automates conventional release workflows for JavaScript/TypeScript projects. It enforces commit conventions, orchestrates semantic version bumps, keeps release tooling configured, and surfaces feedback during release execution so teams can ship confidently.
5
+
6
+ ## 2. Problem Statement
7
+ Growing teams often struggle to keep release processes consistent: commit messages drift from convention, changelogs become stale, and release scripts accumulate manual steps. Commiter removes this friction by installing opinionated tooling, providing curated scripts, and running guard rails (tests, linters) before invoking `standard-version` to publish a release.
8
+
9
+ ## 3. Goals & Success Metrics
10
+ - **Consistent releases**: Every release run through Commiter formats commits, updates changelogs, tags, and version bumps without manual editing.
11
+ - **Low ceremony onboarding**: A single `npx commiter` command prepares repositories (Husky, commitlint, release scripts).
12
+ - **Signal-rich automation**: Release logs clearly show which steps ran, including any warnings (e.g., tests skipped). Zero noisy deprecation warnings.
13
+ - **Reliability**: New releases do not regress existing behavior; the automated test suite passes (`node --test`).
14
+ - **Adoption Metric**: Track installations (npm downloads) and successful release script exits.
15
+
16
+ ## 4. Personas
17
+ 1. **Solo Maintainer** – wants painless semantic releases without memorizing commands.
18
+ 2. **Team Lead** – enforces commit standards across contributors and ensures releases produce accurate changelogs.
19
+ 3. **DevOps/CI Engineer** – integrates Commiter’s release command into CI pipelines and expects deterministic, machine-readable output.
20
+
21
+ ## 5. Key Features
22
+ - **Setup CLI (`index.js`)**
23
+ - Installs dev dependencies (`standard-version`, `commitlint`, `husky`).
24
+ - Configures package scripts (`npm run release`, `release:major/minor/patch`).
25
+ - Creates Husky hooks and commitlint configuration.
26
+ - Generates release helper script and ensures executable permissions (POSIX-friendly).
27
+ - **Release Helper (`scripts/release.js`)**
28
+ - Detects release type from CLI args or npm context.
29
+ - Runs project tests via detected package manager before releasing.
30
+ - Invokes `standard-version` with additional flags (e.g., preload patch for deprecated APIs).
31
+ - **Preload Patching (`scripts/preload/fs-f-ok.cjs`)**
32
+ - Hooks Node’s module loader to transparently replace deprecated `fs.F_OK` usages in `standard-version` without altering `node_modules`.
33
+ - **Testing**
34
+ - Suite executed via `node --test` covers setup utilities, release argument parsing, and the preload patch.
35
+
36
+ ## 6. Functional Requirements
37
+ 1. Running `npx @programinglive/commiter` inside a Node project should configure release tooling without manual edits.
38
+ 2. `npm run release` must:
39
+ - Run the project’s tests (if defined) with the correct package manager.
40
+ - Execute `standard-version`, passing the preload script via `NODE_OPTIONS`.
41
+ - Exit with non-zero status if tests or standard-version commands fail.
42
+ 3. CLI should provide friendly console output (status icons, instructions).
43
+ 4. The preload script must eliminate `[DEP0176] fs.F_OK` warnings on supported Node versions.
44
+ 5. Documentation (README, PRD, release notes) remains shipped with the package.
45
+
46
+ ## 7. Non-Functional Requirements
47
+ - **Compatibility**: Supports Node.js 18+ (aligning with dependencies); tested on Windows/macOS/Linux.
48
+ - **Maintainability**: Avoid direct edits to dependencies; wrap behavior in Commiter-controlled modules.
49
+ - **Performance**: Release command overhead minimal (<1s additional startup time) beyond running tests and standard-version.
50
+ - **Security**: No network requests during CLI execution beyond npm installs triggered by the user.
51
+
52
+ ## 8. User Journeys
53
+ 1. **Initial Setup**
54
+ - Run `npx @programinglive/commiter`.
55
+ - Tool installs dependencies, updates `package.json`, and scaffolds Husky hooks.
56
+ - Maintainer confirms success message and new scripts.
57
+ 2. **Standard Release**
58
+ - Developer runs `npm run release minor`.
59
+ - Commiter runs tests, ensures preload patch prevents deprecation warnings, executes `standard-version`.
60
+ - Release completes with updated changelog and git tag.
61
+ 3. **CI Pipeline**
62
+ - CI job executes `npm run release -- --prerelease beta`.
63
+ - Logs show tests executed, no deprecation warnings, and release artifacts generated.
64
+
65
+ ## 9. Milestones & Roadmap
66
+ - **v1.1.x** (current)
67
+ - Deprecation warning mitigation, enhanced tests, PRD + release documentation.
68
+ - **Future Considerations**
69
+ - Support for monorepo detection (Lerna/Nx) to run scoped releases.
70
+ - Optional lint/test command customization via config file.
71
+ - Telemetry opt-in for release statistics (downloads, success rates).
72
+
73
+ ## 10. Risks & Mitigations
74
+ - **Dependency API Changes**: Upstream packages may alter file paths. Mitigate with targeted module resolution and tests.
75
+ - **User Customization Conflicts**: Custom scripts might skip tests. Provide documentation for overriding behavior.
76
+ - **Platform Differences**: Windows path quoting; addressed via `buildPreloadFlag` helper.
77
+
78
+ ## 11. Release & QA Checklist
79
+ - [x] `npm test` (alias for `node --test`) passes.
80
+ - [x] Manual run of `node scripts/release.js --help` shows no `[DEP0176]` warning.
81
+ - [ ] Update `CHANGELOG.md` (handled by standard-version during actual release).
82
+ - [ ] Verify README reflects latest setup instructions before shipping.
83
+
84
+ ## 12. Appendices
85
+ - **Release Notes**: See `docs/release-notes/` for per-change summaries.
86
+ - **Testing Artifacts**: `test/` directory contains Node test runner suites.