@programinglive/commiter 1.0.12 โ†’ 1.1.0

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/README.md CHANGED
@@ -1,186 +1,187 @@
1
- # Commiter ๐Ÿš€
2
-
3
- [![npm version](https://img.shields.io/npm/v/%40programinglive%2Fcommiter.svg)](https://www.npmjs.com/package/@programinglive/commiter)
4
- [![npm downloads](https://img.shields.io/npm/dm/%40programinglive%2Fcommiter.svg)](https://www.npmjs.com/package/@programinglive/commiter)
5
- [![publish status](https://img.shields.io/github/actions/workflow/status/programinglive/commiter/publish.yml?label=publish)](https://github.com/programinglive/commiter/actions/workflows/publish.yml)
6
- [![license: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
-
8
- A standardized commit convention and release management tool for your repository using `standard-version`.
9
-
10
- ## Features
11
-
12
- - โœ… **Enforced Commit Conventions** - Uses Conventional Commits format
13
- - ๐ŸŽฏ **Automated Versioning** - Semantic versioning (major, minor, patch)
14
- - ๐Ÿ“ **Changelog Generation** - Automatic CHANGELOG.md with icons
15
- - ๐Ÿ”’ **Git Hooks** - Pre-commit and commit-msg validation via Husky
16
- - ๐ŸŽจ **Icon Support** - Each commit type has a dedicated icon in releases
17
-
18
- ## Installation
19
-
20
- Install the package globally or as a dev dependency in your project:
21
-
22
- ```bash
23
- # Install globally
24
- npm install -g @programinglive/commiter
25
-
26
- # Or install as dev dependency
27
- npm install --save-dev @programinglive/commiter
28
-
29
- # Or use npx (no installation required)
30
- npx @programinglive/commiter
31
- ```
32
-
33
- After installation in your project, the Husky hooks will be automatically set up for commit message validation.
34
-
35
- ## Commit Message Format
36
-
37
- All commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
38
-
39
- ```
40
- <type>(<scope>): <subject>
41
-
42
- <body>
43
-
44
- <footer>
45
- ```
46
-
47
- ### Commit Types with Icons
48
-
49
- | Type | Icon | Description | Changelog Section |
50
- |------|------|-------------|-------------------|
51
- | `feat` | โœจ | New feature | โœจ Features |
52
- | `fix` | ๐Ÿ› | Bug fix | ๐Ÿ› Bug Fixes |
53
- | `perf` | โšก | Performance improvement | โšก Performance |
54
- | `refactor` | โ™ป๏ธ | Code refactoring | โ™ป๏ธ Refactors |
55
- | `docs` | ๐Ÿ“ | Documentation changes | ๐Ÿ“ Documentation |
56
- | `style` | ๐Ÿ’„ | Code style changes | ๐Ÿ’„ Styles |
57
- | `test` | โœ… | Test additions/changes | โœ… Tests |
58
- | `build` | ๐Ÿ—๏ธ | Build system changes | ๐Ÿ—๏ธ Build System |
59
- | `ci` | ๐Ÿ‘ท | CI/CD changes | ๐Ÿ‘ท Continuous Integration |
60
- | `chore` | ๐Ÿงน | Maintenance tasks | ๐Ÿงน Chores |
61
- | `revert` | โช | Revert previous commit | โช Reverts |
62
-
63
- ### Examples
64
-
65
- ```bash
66
- # Feature
67
- git commit -m "feat(auth): add JWT authentication"
68
-
69
- # Bug fix
70
- git commit -m "fix(api): resolve null pointer exception"
71
-
72
- # Breaking change
73
- git commit -m "feat(api)!: redesign user endpoint
74
-
75
- BREAKING CHANGE: The user endpoint now returns different data structure"
76
-
77
- # With scope and body
78
- git commit -m "perf(database): optimize query performance
79
-
80
- Reduced query time by 50% using indexed columns"
81
- ```
82
-
83
- ## Release Commands
84
-
85
- ### Patch Release (1.0.0 โ†’ 1.0.1)
86
-
87
- For bug fixes and minor changes:
88
-
89
- ```bash
90
- npm run release:patch
91
- ```
92
-
93
- ### Minor Release (1.0.0 โ†’ 1.1.0)
94
-
95
- For new features (backwards compatible):
96
-
97
- ```bash
98
- npm run release:minor
99
- ```
100
-
101
- ### Major Release (1.0.0 โ†’ 2.0.0)
102
-
103
- For breaking changes:
104
-
105
- ```bash
106
- npm run release:major
107
- ```
108
-
109
- ### Automatic Release
110
-
111
- Let `standard-version` determine the version bump based on commits:
112
-
113
- ```bash
114
- npm run release
115
- ```
116
-
117
- ## What Happens During Release?
118
-
119
- 1. ๐Ÿ“Š Analyzes commits since last release
120
- 2. ๐Ÿ”ข Bumps version in `package.json`
121
- 3. ๐Ÿ“ Updates `CHANGELOG.md` with icons
122
- 4. ๐Ÿท๏ธ Creates a git tag
123
- 5. ๐Ÿ’พ Commits changes with format: `chore(release): v1.2.3 ๐Ÿš€`
124
-
125
- ## Push Your Release
126
-
127
- After running a release command, push to remote:
128
-
129
- ```bash
130
- git push --follow-tags origin main
131
- ```
132
-
133
- ## Pre-commit Hooks
134
-
135
- The following hooks are automatically enforced:
136
-
137
- - **commit-msg**: Validates commit message format using commitlint
138
- - **pre-commit**: Runs tests before allowing commits
139
-
140
- ## Configuration Files
141
-
142
- - `package.json` - Contains `standard-version` configuration
143
- - `commitlint.config.js` - Commitlint rules
144
- - `.husky/commit-msg` - Commit message validation hook
145
- - `.husky/pre-commit` - Pre-commit test hook
146
-
147
- ## Troubleshooting
148
-
149
- ### Commit message validation fails
150
-
151
- Ensure your commit message follows the format:
152
- ```
153
- type(scope): subject
154
- ```
155
-
156
- Valid types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
157
-
158
- Release commits generated by `standard-version` such as `chore(release): 1.0.0 ๐Ÿš€` are automatically ignored by `commitlint`.
159
-
160
- ### First release
161
-
162
- If this is your first release and you don't have a version tag yet:
163
-
164
- ```bash
165
- npm run release -- --first-release
166
- ```
167
-
168
- Running the setup command ensures the default `npm test` script is `echo "No tests specified"`, preventing the Husky `pre-commit` hook from failing during this initial release. Replace it with your real test command once available.
169
-
170
- ### Dry run
171
-
172
- To see what would happen without making changes:
173
-
174
- ```bash
175
- npm run release -- --dry-run
176
- ```
177
-
178
- ## Contributing
179
-
180
- Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
181
-
182
- ## License
183
-
184
- MIT License - see the [LICENSE](LICENSE) file for details.
185
-
186
- This project is open source and free to use, modify, and distribute at your own risk.
1
+ # Commiter ๐Ÿš€
2
+
3
+ [![npm version](https://img.shields.io/npm/v/%40programinglive%2Fcommiter.svg)](https://www.npmjs.com/package/@programinglive/commiter)
4
+ [![npm downloads](https://img.shields.io/npm/dm/%40programinglive%2Fcommiter.svg)](https://www.npmjs.com/package/@programinglive/commiter)
5
+ [![publish status](https://img.shields.io/github/actions/workflow/status/programinglive/commiter/publish.yml?label=publish)](https://github.com/programinglive/commiter/actions/workflows/publish.yml)
6
+ [![license: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
+
8
+ A standardized commit convention and release management tool for your repository using `standard-version`.
9
+
10
+ ## Features
11
+
12
+ - โœ… **Enforced Commit Conventions** - Uses Conventional Commits format
13
+ - ๐ŸŽฏ **Automated Versioning** - Semantic versioning (major, minor, patch)
14
+ - ๐Ÿ“ **Changelog Generation** - Automatic CHANGELOG.md with icons
15
+ - ๐Ÿ”’ **Git Hooks** - Pre-commit and commit-msg validation via Husky
16
+ - ๐ŸŽจ **Icon Support** - Each commit type has a dedicated icon in releases
17
+
18
+ ## Installation
19
+
20
+ Install the package globally or as a dev dependency in your project:
21
+
22
+ ```bash
23
+ # Install globally
24
+ npm install -g @programinglive/commiter
25
+
26
+ # Or install as dev dependency
27
+ npm install --save-dev @programinglive/commiter
28
+
29
+ # Or use npx (no installation required)
30
+ npx @programinglive/commiter
31
+ ```
32
+
33
+ After installation in your project, the Husky hooks will be automatically set up for commit message validation.
34
+
35
+ ## Commit Message Format
36
+
37
+ All commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
38
+
39
+ ```
40
+ <type>(<scope>): <subject>
41
+
42
+ <body>
43
+
44
+ <footer>
45
+ ```
46
+
47
+ ### Commit Types with Icons
48
+
49
+ | Type | Icon | Description | Changelog Section |
50
+ |------|------|-------------|-------------------|
51
+ | `feat` | โœจ | New feature | โœจ Features |
52
+ | `fix` | ๐Ÿ› | Bug fix | ๐Ÿ› Bug Fixes |
53
+ | `perf` | โšก | Performance improvement | โšก Performance |
54
+ | `refactor` | โ™ป๏ธ | Code refactoring | โ™ป๏ธ Refactors |
55
+ | `docs` | ๐Ÿ“ | Documentation changes | ๐Ÿ“ Documentation |
56
+ | `style` | ๐Ÿ’„ | Code style changes | ๐Ÿ’„ Styles |
57
+ | `test` | โœ… | Test additions/changes | โœ… Tests |
58
+ | `build` | ๐Ÿ—๏ธ | Build system changes | ๐Ÿ—๏ธ Build System |
59
+ | `ci` | ๐Ÿ‘ท | CI/CD changes | ๐Ÿ‘ท Continuous Integration |
60
+ | `chore` | ๐Ÿงน | Maintenance tasks | ๐Ÿงน Chores |
61
+ | `revert` | โช | Revert previous commit | โช Reverts |
62
+
63
+ ### Examples
64
+
65
+ ```bash
66
+ # Feature
67
+ git commit -m "feat(auth): add JWT authentication"
68
+
69
+ # Bug fix
70
+ git commit -m "fix(api): resolve null pointer exception"
71
+
72
+ # Breaking change
73
+ git commit -m "feat(api)!: redesign user endpoint
74
+
75
+ BREAKING CHANGE: The user endpoint now returns different data structure"
76
+
77
+ # With scope and body
78
+ git commit -m "perf(database): optimize query performance
79
+
80
+ Reduced query time by 50% using indexed columns"
81
+ ```
82
+
83
+ ## Release Commands
84
+
85
+ ### Patch Release (1.0.0 โ†’ 1.0.1)
86
+
87
+ For bug fixes and minor changes:
88
+
89
+ ```bash
90
+ npm run release:patch
91
+ ```
92
+
93
+ ### Minor Release (1.0.0 โ†’ 1.1.0)
94
+
95
+ For new features (backwards compatible):
96
+
97
+ ```bash
98
+ npm run release:minor
99
+ ```
100
+
101
+ ### Major Release (1.0.0 โ†’ 2.0.0)
102
+
103
+ For breaking changes:
104
+
105
+ ```bash
106
+ npm run release:major
107
+ ```
108
+
109
+ ### Automatic Release
110
+
111
+ Let `standard-version` determine the version bump based on commits:
112
+
113
+ ```bash
114
+ npm run release
115
+ ```
116
+
117
+ ## What Happens During Release?
118
+
119
+ 1. ๐Ÿงช Detects your package manager and runs the `test` script automatically
120
+ 2. ๐Ÿ“Š Analyzes commits since last release
121
+ 3. ๐Ÿ”ข Bumps version in `package.json`
122
+ 4. ๐Ÿ“ Updates `CHANGELOG.md` with icons
123
+ 5. ๐Ÿท๏ธ Creates a git tag
124
+ 6. ๐Ÿ’พ Commits changes with format: `chore(release): v1.2.3 ๐Ÿš€`
125
+
126
+ ## Push Your Release
127
+
128
+ After running a release command, push to remote:
129
+
130
+ ```bash
131
+ git push --follow-tags origin main
132
+ ```
133
+
134
+ ## Pre-commit Hooks
135
+
136
+ The following hooks are automatically enforced:
137
+
138
+ - **commit-msg**: Validates commit message format using commitlint
139
+ - **pre-commit**: Runs tests before allowing commits
140
+
141
+ ## Configuration Files
142
+
143
+ - `package.json` - Contains `standard-version` configuration
144
+ - `commitlint.config.js` - Commitlint rules
145
+ - `.husky/commit-msg` - Commit message validation hook
146
+ - `.husky/pre-commit` - Pre-commit test hook
147
+
148
+ ## Troubleshooting
149
+
150
+ ### Commit message validation fails
151
+
152
+ Ensure your commit message follows the format:
153
+ ```
154
+ type(scope): subject
155
+ ```
156
+
157
+ Valid types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
158
+
159
+ Release commits generated by `standard-version` such as `chore(release): 1.0.0 ๐Ÿš€` are automatically ignored by `commitlint`.
160
+
161
+ ### First release
162
+
163
+ If this is your first release and you don't have a version tag yet:
164
+
165
+ ```bash
166
+ npm run release -- --first-release
167
+ ```
168
+
169
+ Running the setup command ensures the default `npm test` script is `echo "No tests specified"`, preventing the Husky `pre-commit` hook from failing during this initial release. Replace it with your real test command once available.
170
+
171
+ ### Dry run
172
+
173
+ To see what would happen without making changes:
174
+
175
+ ```bash
176
+ npm run release -- --dry-run
177
+ ```
178
+
179
+ ## Contributing
180
+
181
+ Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
182
+
183
+ ## License
184
+
185
+ MIT License - see the [LICENSE](LICENSE) file for details.
186
+
187
+ This project is open source and free to use, modify, and distribute at your own risk.
package/SECURITY.md CHANGED
@@ -1,30 +1,30 @@
1
- # Security Policy
2
-
3
- ## Reporting a Vulnerability
4
-
5
- If you discover a security vulnerability in `@programinglive/commiter`, please report it responsibly.
6
-
7
- Send your report to: [security@programinglive.com](mailto:security@programinglive.com).
8
-
9
- Please include:
10
- - A detailed description of the vulnerability
11
- - Steps to reproduce the issue
12
- - Any potential impact
13
- - Optional: Suggested mitigation or patch
14
-
15
- We aim to respond within **48 hours** and will keep you informed of our progress.
16
-
17
- ## Supported Versions
18
-
19
- We support the latest released version of the package. Please ensure you are running the most recent version before reporting issues.
20
-
21
- ## Disclosure Policy
22
-
23
- We follow a coordinated disclosure process:
24
- 1. Acknowledge receipt of your report within 48 hours
25
- 2. Assess the vulnerability and determine severity
26
- 3. Fix the issue and prepare a release
27
- 4. Credit the reporter (if desired)
28
- 5. Publish a security advisory detailing the fix
29
-
30
- Thank you for helping keep our project secure!
1
+ # Security Policy
2
+
3
+ ## Reporting a Vulnerability
4
+
5
+ If you discover a security vulnerability in `@programinglive/commiter`, please report it responsibly.
6
+
7
+ Send your report to: [security@programinglive.com](mailto:security@programinglive.com).
8
+
9
+ Please include:
10
+ - A detailed description of the vulnerability
11
+ - Steps to reproduce the issue
12
+ - Any potential impact
13
+ - Optional: Suggested mitigation or patch
14
+
15
+ We aim to respond within **48 hours** and will keep you informed of our progress.
16
+
17
+ ## Supported Versions
18
+
19
+ We support the latest released version of the package. Please ensure you are running the most recent version before reporting issues.
20
+
21
+ ## Disclosure Policy
22
+
23
+ We follow a coordinated disclosure process:
24
+ 1. Acknowledge receipt of your report within 48 hours
25
+ 2. Assess the vulnerability and determine severity
26
+ 3. Fix the issue and prepare a release
27
+ 4. Credit the reporter (if desired)
28
+ 5. Publish a security advisory detailing the fix
29
+
30
+ Thank you for helping keep our project secure!
@@ -1,4 +1,4 @@
1
- module.exports = {
2
- extends: ['@commitlint/config-conventional'],
3
- ignores: [(message) => message.startsWith('chore(release):')]
4
- };
1
+ module.exports = {
2
+ extends: ['@commitlint/config-conventional'],
3
+ ignores: [(message) => message.startsWith('chore(release):')]
4
+ };