@elsikora/git-branch-lint 1.1.1 → 1.1.2-dev.2

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,14 +1,14 @@
1
1
  <p align="center">
2
- <img src="https://6jft62zmy9nx2oea.public.blob.vercel-storage.com/git-branch-lint-0rauIZprtXnHOrt840ZtTzrUK32erg.png" width="500" alt="project-logo">
2
+ <img src="https://6jft62zmy9nx2oea.public.blob.vercel-storage.com/git-branch-lint-myXi2xH8jqeEIqScu1S9NymOOJVD9I.png" width="500" alt="project-logo">
3
3
  </p>
4
4
 
5
- <h1 align="center">Git Branch Lint 🌿</h1>
6
- <p align="center"><em>Enforce consistent git branch naming conventions across your projects</em></p>
5
+ <h1 align="center">🌿 Git-Branch-Lint</h1>
6
+ <p align="center"><em>Enforce consistent Git branch naming conventions with style and ease</em></p>
7
7
 
8
8
  <p align="center">
9
9
  <a aria-label="ElsiKora logo" href="https://elsikora.com">
10
10
  <img src="https://img.shields.io/badge/MADE%20BY%20ElsiKora-333333.svg?style=for-the-badge" alt="ElsiKora">
11
- </a> <img src="https://img.shields.io/badge/version-blue.svg?style=for-the-badge&logo=npm&logoColor=white" alt="version"> <img src="https://img.shields.io/badge/typescript-blue.svg?style=for-the-badge&logo=typescript&logoColor=white" alt="typescript"> <img src="https://img.shields.io/badge/license-green.svg?style=for-the-badge&logo=license&logoColor=white" alt="license"> <img src="https://img.shields.io/badge/node-green.svg?style=for-the-badge&logo=node.js&logoColor=white" alt="node">
11
+ </a> <img src="https://img.shields.io/badge/TypeScript-3178C6.svg?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript"> <img src="https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js"> <img src="https://img.shields.io/badge/npm-CB3837.svg?style=for-the-badge&logo=npm&logoColor=white" alt="npm"> <img src="https://img.shields.io/badge/ESLint-4B32C3.svg?style=for-the-badge&logo=eslint&logoColor=white" alt="ESLint"> <img src="https://img.shields.io/badge/Prettier-F7B93E.svg?style=for-the-badge&logo=prettier&logoColor=black" alt="Prettier"> <img src="https://img.shields.io/badge/Vitest-6E9F18.svg?style=for-the-badge&logo=vitest&logoColor=white" alt="Vitest"> <img src="https://img.shields.io/badge/Rollup-EC4A3F.svg?style=for-the-badge&logo=rollup&logoColor=white" alt="Rollup"> <img src="https://img.shields.io/badge/Git-F05032.svg?style=for-the-badge&logo=git&logoColor=white" alt="Git"> <img src="https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style=for-the-badge&logo=github-actions&logoColor=white" alt="GitHub Actions">
12
12
  </p>
13
13
 
14
14
 
@@ -23,20 +23,26 @@
23
23
 
24
24
 
25
25
  ## šŸ“– Description
26
- Git Branch Lint is a powerful tool designed to maintain consistent git branch naming conventions in your development workflow. It helps teams enforce standardized branch naming patterns, prevent common naming mistakes, and maintain a clean git history. Built with TypeScript and following clean architecture principles, it provides flexible configuration options and helpful error messages to guide developers in following your team's branch naming conventions.
26
+ Git-Branch-Lint is a powerful, TypeScript-based CLI tool that brings order to your Git workflow by enforcing consistent branch naming conventions across your entire development team. Built with clean architecture principles, it not only validates branch names but also provides an interactive branch creation wizard that guides developers through creating properly formatted branches. Whether you're managing a small project or a large enterprise codebase, Git-Branch-Lint helps maintain a clean, organized repository structure that makes tracking features, fixes, and releases effortless. It seamlessly integrates with Git hooks, CI/CD pipelines, and supports multiple configuration formats, making it the perfect addition to any modern development workflow.
27
27
 
28
28
  ## šŸš€ Features
29
- - ✨ **šŸ” Validates branch names against customizable patterns**
30
- - ✨ **⚔ Fast and lightweight with minimal dependencies**
31
- - ✨ **šŸ›  Flexible configuration through multiple formats (JS, JSON, YAML)**
32
- - ✨ **šŸ’” Helpful error messages with suggestions for fixing invalid names**
33
- - ✨ **šŸ”’ Prevents usage of prohibited branch names**
34
- - ✨ **šŸ“ Configurable length restrictions for branch names**
35
- - ✨ **šŸŽØ Colored CLI output for better readability**
36
- - ✨ **šŸ”§ Easy integration with git hooks and CI/CD pipelines**
29
+ - ✨ **šŸŽÆ **Smart Pattern Matching** - Define flexible branch naming patterns using simple placeholders like `:type/:name` that automatically validate against your configured branch types**
30
+ - ✨ **šŸš€ **Interactive Branch Creation** - Built-in wizard guides you through creating branches with beautiful prompts, ensuring compliance before the branch is even created**
31
+ - ✨ **šŸ›”ļø **Prohibited Branch Protection** - Prevent accidental use of protected branch names like 'main', 'master', or any custom prohibited names you define**
32
+ - ✨ **šŸ“ **Length Validation** - Set minimum and maximum length constraints to keep branch names concise and meaningful**
33
+ - ✨ **šŸŽØ **Beautiful CLI Output** - Colored terminal output with helpful error messages and hints that guide developers to fix issues quickly**
34
+ - ✨ **āš™ļø **Flexible Configuration** - Support for multiple config formats (JS, TS, JSON, YAML) with intelligent config discovery via cosmiconfig**
35
+ - ✨ **šŸ”„ **Git Hooks Ready** - Seamlessly integrate with Husky, lint-staged, or any Git hook manager for automatic validation**
36
+ - ✨ **šŸ“¦ **Zero Config Option** - Works out of the box with sensible defaults while allowing complete customization when needed**
37
+ - ✨ **šŸ—ļø **Clean Architecture** - Built with Domain-Driven Design principles, making the codebase maintainable and extensible**
37
38
 
38
39
  ## šŸ›  Installation
39
40
  ```bash
41
+ ## šŸ“¦ Installation
42
+
43
+ Install Git-Branch-Lint as a development dependency in your project:
44
+
45
+
40
46
  # Using npm
41
47
  npm install --save-dev @elsikora/git-branch-lint
42
48
 
@@ -45,169 +51,257 @@ yarn add -D @elsikora/git-branch-lint
45
51
 
46
52
  # Using pnpm
47
53
  pnpm add -D @elsikora/git-branch-lint
54
+
55
+ # Using bun
56
+ bun add -d @elsikora/git-branch-lint
57
+
58
+
59
+ ### Global Installation
60
+
61
+ For system-wide usage across multiple projects:
62
+
63
+
64
+ npm install -g @elsikora/git-branch-lint
48
65
  ```
49
66
 
50
67
  ## šŸ’” Usage
51
- ## Basic Usage
68
+ ## šŸš€ Usage
69
+
70
+ ### Basic Branch Validation
71
+
72
+ Validate your current Git branch name:
52
73
 
53
- Run the linter directly:
54
74
  ```bash
55
75
  npx @elsikora/git-branch-lint
56
76
  ```
57
77
 
58
- ## Configuration
78
+ ### Interactive Branch Creation
59
79
 
60
- Create a configuration file `.elsikora/.git-branch-lintrc.json`:
61
- ```json
62
- {
63
- "pattern": ":type/:name",
64
- "params": {
65
- "type": ["feature", "bugfix", "hotfix", "release"],
66
- "name": ["[a-z0-9-]+"]
67
- },
68
- "prohibited": ["master", "main", "develop"],
69
- "minLength": 5,
70
- "maxLength": 50
71
- }
80
+ Create a new branch with the interactive wizard:
81
+
82
+ ```bash
83
+ npx @elsikora/git-branch-lint -b
84
+ # or
85
+ npx @elsikora/git-branch-lint --branch
72
86
  ```
73
87
 
74
- ## Git Hooks Integration
88
+ ### Configuration
75
89
 
76
- Add to your `package.json`:
77
- ```json
78
- {
79
- "husky": {
80
- "hooks": {
81
- "pre-commit": "npx @elsikora/git-branch-lint"
82
- }
83
- }
84
- }
85
- ```
90
+ Git-Branch-Lint uses [cosmiconfig](https://github.com/davidtheclark/cosmiconfig) for configuration file discovery. Create any of these files:
86
91
 
87
- ## Advanced Usage
92
+ #### JavaScript Configuration (`.elsikora/git-branch-lint.config.js`)
88
93
 
89
- Custom configuration in JavaScript (`.elsikora/git-branch-lint.config.js`):
90
94
  ```javascript
91
- module.exports = {
95
+ export default {
92
96
  branches: {
93
- bugfix: { description: "šŸž Fixing issues in existing functionality", title: "Bugfix" },
94
- feature: { description: "šŸ†• Integration of new functionality", title: "Feature" },
95
- hotfix: { description: "šŸš‘ Critical fixes for urgent issues", title: "Hotfix" },
96
- release: { description: "šŸ“¦ Preparing a new release version", title: "Release" },
97
- support: { description: "šŸ› ļø Support and maintenance tasks", title: "Support" },
98
- },
99
- ignore: ["dev"],
100
- rules: {
101
- "branch-max-length": 50,
102
- "branch-min-length": 5,
103
- "branch-pattern": ":type/:name",
104
- "branch-prohibited": ["main", "master", "release"],
105
- "branch-subject-pattern": "[a-z0-9-]+",
106
- },
107
- }
97
+ feature: {
98
+ title: "Feature",
99
+ description: "šŸ†• New functionality"
100
+ },
101
+ bugfix: {
102
+ title: "Bugfix",
103
+ description: "šŸ› Bug fixes"
104
+ },
105
+ hotfix: {
106
+ title: "Hotfix",
107
+ description: "šŸš‘ Urgent production fixes"
108
+ },
109
+ release: {
110
+ title: "Release",
111
+ description: "šŸ“¦ Release preparation"
112
+ },
113
+ chore: {
114
+ title: "Chore",
115
+ description: "šŸ”§ Maintenance tasks"
116
+ }
117
+ },
118
+ ignore: ["dev", "develop", "staging"],
119
+ rules: {
120
+ "branch-pattern": ":type/:name",
121
+ "branch-subject-pattern": "[a-z0-9-]+",
122
+ "branch-prohibited": ["main", "master", "prod"],
123
+ "branch-min-length": 5,
124
+ "branch-max-length": 60
125
+ }
126
+ };
108
127
  ```
109
128
 
110
- Typescript support (`.elsikora/git-branch-lint.config.ts`):
129
+ #### TypeScript Configuration (`.elsikora/git-branch-lint.config.ts`)
130
+
111
131
  ```typescript
112
- import type { BranchLintConfig } from "@elsikora/git-branch-lint";
113
-
114
- const config: BranchLintConfig = {
115
- branches: {
116
- bugfix: { description: "šŸ†• Integration of new functionality", title: "Feature" },
117
- feature: { description: "šŸž Fixing issues in existing functionality", title: "Bugfix" },
118
- hotfix: { description: "šŸš‘ Critical fixes for urgent issues", title: "Hotfix" },
119
- release: { description: "šŸ“¦ Preparing a new release version", title: "Release" },
120
- support: { description: "šŸ› ļø Support and maintenance tasks", title: "Support" },
121
- },
122
- ignore: [dev],
123
- rules: {
124
- "branch-max-length": 50,
125
- "branch-min-length": 5,
126
- "branch-pattern": ":type/:name",
127
- "branch-prohibited": ["main", "master", "release"],
128
- "branch-subject-pattern": "[a-z0-9-]+",
129
- },
132
+ import type { IBranchLintConfig } from '@elsikora/git-branch-lint';
133
+
134
+ const config: IBranchLintConfig = {
135
+ branches: {
136
+ feat: { title: "Feature", description: "✨ New features" },
137
+ fix: { title: "Fix", description: "šŸ› Bug fixes" },
138
+ docs: { title: "Docs", description: "šŸ“š Documentation" },
139
+ style: { title: "Style", description: "šŸ’„ Styling" },
140
+ refactor: { title: "Refactor", description: "ā™»ļø Code refactoring" },
141
+ perf: { title: "Performance", description: "⚔ Performance improvements" },
142
+ test: { title: "Test", description: "āœ… Testing" },
143
+ build: { title: "Build", description: "šŸ“¦ Build system" },
144
+ ci: { title: "CI", description: "šŸ‘· CI/CD" }
145
+ },
146
+ rules: {
147
+ "branch-pattern": ":type/:name",
148
+ "branch-subject-pattern": "[a-z0-9-]+",
149
+ "branch-min-length": 8,
150
+ "branch-max-length": 72
151
+ }
130
152
  };
131
153
 
132
154
  export default config;
133
155
  ```
134
156
 
135
- ## Create branch tool
157
+ #### Package.json Configuration
136
158
 
137
- Create branch tool is a command-line utility included in the @elsikora/branch-lint package. It facilitates the creation of Git branches by guiding users through an interactive prompt to select a branch type and name, ensuring compliance with the project's branch naming conventions as defined in the configuration.
138
-
139
- Example:
140
- ```bash
141
- npx @elsikora/branch-lint -b
159
+ ```json
160
+ {
161
+ "elsikora": {
162
+ "git-branch-lint": {
163
+ "branches": ["feature", "bugfix", "hotfix"],
164
+ "rules": {
165
+ "branch-pattern": ":type/:name",
166
+ "branch-prohibited": ["main", "master"]
167
+ }
168
+ }
169
+ }
170
+ }
142
171
  ```
143
172
 
144
- Prompts:
173
+ ### Git Hooks Integration
174
+
175
+ #### With Husky
176
+
145
177
  ```bash
146
- 🌿 Creating a new branch...
178
+ # Install Husky
179
+ npm install --save-dev husky
147
180
 
148
- ā” Select the type of branch you're creating:
149
- Feature: šŸ†• Integration of new functionality
150
- Bugfix: šŸž Fixing issues in existing functionality
151
- āÆ Hotfix: šŸš‘ Critical fixes for urgent issues
152
- Release: šŸ“¦ Preparing a new release version
153
- Support: šŸ› ļø Support and maintenance tasks
181
+ # Initialize Husky
182
+ npx husky init
154
183
 
155
- Enter the branch name (e.g., authorization): new-ui
184
+ # Add pre-push hook
185
+ echo "npx @elsikora/git-branch-lint" > .husky/pre-push
186
+ ```
156
187
 
157
- āŒ›ļø Creating branch: feature/new-ui
158
- Do you want to push the branch to the remote repository? (y/N) y
188
+ #### With lint-staged
159
189
 
160
- āœ… Branch feature/new-ui pushed to remote repository!
190
+ ```javascript
191
+ // lint-staged.config.js
192
+ export default {
193
+ '*': () => 'npx @elsikora/git-branch-lint'
194
+ };
161
195
  ```
162
196
 
163
- ## CI/CD Integration
197
+ ### CI/CD Integration
198
+
199
+ #### GitHub Actions
164
200
 
165
- GitHub Actions example:
166
201
  ```yaml
167
- name: Lint Branch Names
168
- on: [push]
202
+ name: Branch Lint
203
+ on: [push, pull_request]
169
204
 
170
205
  jobs:
171
- lint:
206
+ lint-branch:
172
207
  runs-on: ubuntu-latest
173
208
  steps:
174
- - uses: actions/checkout@v2
175
- - uses: actions/setup-node@v2
176
- - run: npm install
209
+ - uses: actions/checkout@v4
210
+ - uses: actions/setup-node@v4
211
+ with:
212
+ node-version: '20'
213
+ - run: npm ci
177
214
  - run: npx @elsikora/git-branch-lint
178
215
  ```
179
216
 
217
+ #### GitLab CI
218
+
219
+ ```yaml
220
+ branch-lint:
221
+ stage: test
222
+ script:
223
+ - npm ci
224
+ - npx @elsikora/git-branch-lint
225
+ only:
226
+ - branches
227
+ ```
228
+
229
+ ### Advanced Patterns
230
+
231
+ #### Jira Integration Pattern
232
+
233
+ ```javascript
234
+ {
235
+ rules: {
236
+ "branch-pattern": ":type/:ticket-:description",
237
+ "branch-subject-pattern": {
238
+ "ticket": "[A-Z]{2,}-[0-9]+",
239
+ "description": "[a-z0-9-]+"
240
+ }
241
+ }
242
+ }
243
+ // Valid: feature/PROJ-123-user-authentication
244
+ ```
245
+
246
+ #### Monorepo Pattern
247
+
248
+ ```javascript
249
+ {
250
+ rules: {
251
+ "branch-pattern": ":scope/:type/:name",
252
+ "branch-subject-pattern": {
253
+ "scope": "(web|api|shared|docs)",
254
+ "type": "(feat|fix|chore)",
255
+ "name": "[a-z0-9-]+"
256
+ }
257
+ }
258
+ }
259
+ // Valid: web/feat/shopping-cart
260
+ ```
261
+
180
262
  ## šŸ›£ Roadmap
181
263
  | Task / Feature | Status |
182
- |---------------|--------|
183
- | - Add support for custom error messages | 🚧 In Progress |
184
- | - Implement branch name suggestions when validation fails | 🚧 In Progress |
185
- | - Add support for regex-based branch name validation | 🚧 In Progress |
186
- | - Create GitHub Action for easier CI integration | 🚧 In Progress |
187
- | - Add support for branch name templates | 🚧 In Progress |
188
- | - Implement branch name statistics and reporting | 🚧 In Progress |
189
- | (done) šŸ” Validates branch names against customizable patterns | 🚧 In Progress |
190
- | (done) ⚔ Fast and lightweight with minimal dependencies | 🚧 In Progress |
191
- | (done) šŸ›  Flexible configuration through multiple formats (JS, JSON, YAML) | 🚧 In Progress |
264
+ |----------------|--------|
265
+ | Core branch validation engine | āœ… Done |
266
+ | Interactive branch creation wizard | āœ… Done |
267
+ | Multiple configuration format support | āœ… Done |
268
+ | TypeScript support | āœ… Done |
269
+ | Comprehensive test coverage | āœ… Done |
270
+ | VS Code extension | 🚧 In Progress |
271
+ | Branch name auto-suggestions | 🚧 In Progress |
272
+ | Custom validation rules plugin system | 🚧 In Progress |
273
+ | Branch naming statistics dashboard | 🚧 In Progress |
274
+ | Integration with popular Git GUIs | 🚧 In Progress |
275
+ | AI-powered branch name generator | 🚧 In Progress |
192
276
 
193
277
  ## ā“ FAQ
194
- ### Why should I use Git Branch Lint?
195
- Maintaining consistent branch naming conventions helps teams track work effectively and automate processes like deployment and versioning.
278
+ ## ā“ Frequently Asked Questions
196
279
 
197
- ### Can I use custom regular expressions?
198
- Yes, you can define custom regex patterns in the configuration file's `params` section.
280
+ ### **Q: Can I use this with existing branches?**
281
+ A: Yes! The `ignore` configuration option allows you to exclude existing branches from validation. This is perfect for grandfathering in old branches while enforcing rules on new ones.
199
282
 
200
- ### How do I skip validation for certain branches?
201
- You can exclude branches by adding them to the `prohibited` list with a negative pattern.
283
+ ### **Q: How do I handle different patterns for different teams?**
284
+ A: You can create team-specific configuration files and use environment variables or Git config to load the appropriate one:
285
+ ```bash
286
+ GIT_BRANCH_LINT_CONFIG=.team-frontend.config.js npx @elsikora/git-branch-lint
287
+ ```
202
288
 
203
- ### Does it work with monorepos?
204
- Yes, you can configure different patterns for different parts of your monorepo using workspace-specific configuration files.
289
+ ### **Q: Can I validate branch names in my IDE?**
290
+ A: While we're working on official IDE extensions, you can configure your IDE to run the validation as an external tool or use it with pre-commit hooks.
205
291
 
206
- ## šŸ”’ License
207
- This project is licensed under **MIT License
292
+ ### **Q: What happens if I try to push an invalid branch?**
293
+ A: When integrated with Git hooks, the push will be prevented and you'll see a helpful error message explaining what's wrong and how to fix it.
294
+
295
+ ### **Q: Can I use custom regex patterns?**
296
+ A: Absolutely! The `branch-subject-pattern` rule accepts any valid JavaScript regex pattern, giving you complete control over validation.
208
297
 
209
- Copyright (c) 2025 ElsiKora
298
+ ### **Q: Is this compatible with Git Flow or GitHub Flow?**
299
+ A: Yes! The default configuration works well with both workflows, and you can easily customize it to match your specific flow requirements.
210
300
 
211
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
301
+ ### **Q: How do I migrate from other branch linting tools?**
302
+ A: Git-Branch-Lint's configuration is designed to be intuitive. Most configurations from other tools can be adapted by mapping their patterns to our rule system.
303
+
304
+ ## šŸ”’ License
305
+ This project is licensed under **MIT License - see the [LICENSE](LICENSE) file for details.
212
306
 
213
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.**.
307
+ Maintained with ā¤ļø by [ElsiKora](https://github.com/ElsiKora)**.
@@ -13,6 +13,15 @@ export declare class LintBranchNameUseCase {
13
13
  * @throws {BranchTooLongError} When branch name is longer than the maximum length
14
14
  */
15
15
  execute(branchName: string, config: IBranchLintConfig): void;
16
+ /**
17
+ * Test a branch name against a specific pattern
18
+ * @param branchName The branch name to test
19
+ * @param pattern The pattern to test against
20
+ * @param branchTypes Available branch types
21
+ * @param subjectNamePattern Pattern for the name/description part
22
+ * @returns true if pattern matches
23
+ */
24
+ private testPattern;
16
25
  /**
17
26
  * Validate the branch name against the pattern
18
27
  * @param branchName The branch name to validate
package/bin/index.js CHANGED
@@ -236,26 +236,23 @@ class LintBranchNameUseCase {
236
236
  this.validatePattern(branch.getName(), config);
237
237
  }
238
238
  /**
239
- * Validate the branch name against the pattern
240
- * @param branchName The branch name to validate
241
- * @param config The branch configuration
242
- * @throws {PatternMatchError} When branch name doesn't match pattern
239
+ * Test a branch name against a specific pattern
240
+ * @param branchName The branch name to test
241
+ * @param pattern The pattern to test against
242
+ * @param branchTypes Available branch types
243
+ * @param subjectNamePattern Pattern for the name/description part
244
+ * @returns true if pattern matches
243
245
  */
244
- validatePattern(branchName, config) {
245
- // Start with original pattern
246
- let branchNamePattern = config.rules?.["branch-pattern"];
247
- const subjectNamePattern = config.rules?.["branch-subject-pattern"];
248
- if (!branchNamePattern) {
249
- return;
250
- }
251
- // Get branch types - handle both array and object formats
252
- const branchTypes = Array.isArray(config.branches) ? config.branches : Object.keys(config.branches);
246
+ testPattern(branchName, pattern, branchTypes, subjectNamePattern) {
247
+ let processedPattern = pattern;
253
248
  const parameters = {
254
249
  type: branchTypes,
255
- // Если branch-name-pattern не опреГелён, не Š“Š¾Š±Š°Š²Š»ŃŠµŠ¼ name в params
250
+ // Add ticket pattern if present
251
+ ...(processedPattern.includes(":ticket") && { ticket: ["[A-Z]{2,}-[0-9]+"] }),
252
+ // Add name pattern if specified
256
253
  ...(subjectNamePattern && { name: [subjectNamePattern] }),
257
254
  };
258
- // ŠžŠ±Ń€Š°Š±Š°Ń‚Ń‹Š²Š°ŠµŠ¼ параметры, если они ŠµŃŃ‚ŃŒ
255
+ // Process parameters
259
256
  for (const [key, values] of Object.entries(parameters)) {
260
257
  const placeholder = `:${key.toLowerCase()}`;
261
258
  let replacement = "(";
@@ -273,14 +270,49 @@ class LintBranchNameUseCase {
273
270
  }
274
271
  }
275
272
  replacement += ")";
276
- branchNamePattern = branchNamePattern.replaceAll(new RegExp(placeholder, "g"), replacement);
273
+ processedPattern = processedPattern.replaceAll(new RegExp(placeholder, "g"), replacement);
277
274
  }
278
275
  // Create the regular expression
279
- const regexp = new RegExp(`^${branchNamePattern}$`);
276
+ const regexp = new RegExp(`^${processedPattern}$`);
280
277
  // Test the branch name against the pattern
281
- if (!regexp.test(branchName)) {
282
- throw new PatternMatchError(branchName);
278
+ return regexp.test(branchName);
279
+ }
280
+ /**
281
+ * Validate the branch name against the pattern
282
+ * @param branchName The branch name to validate
283
+ * @param config The branch configuration
284
+ * @throws {PatternMatchError} When branch name doesn't match pattern
285
+ */
286
+ validatePattern(branchName, config) {
287
+ // Start with original pattern
288
+ const branchNamePattern = config.rules?.["branch-pattern"];
289
+ const subjectNamePattern = config.rules?.["branch-subject-pattern"];
290
+ if (!branchNamePattern) {
291
+ return;
292
+ }
293
+ // Get branch types - handle both array and object formats
294
+ const branchTypes = Array.isArray(config.branches) ? config.branches : Object.keys(config.branches);
295
+ // Check if pattern contains :ticket placeholder
296
+ const hasTicketPlaceholder = branchNamePattern.includes(":ticket");
297
+ // Build patterns to try - with ticket and without ticket
298
+ const patternsToTry = [];
299
+ if (hasTicketPlaceholder) {
300
+ // Try pattern with ticket: type/TICKET-123-description
301
+ // Try pattern without ticket: type/description (replace :ticket- with empty)
302
+ patternsToTry.push(branchNamePattern, branchNamePattern.replace(":ticket-", ""));
303
+ }
304
+ else {
305
+ // Only one pattern available
306
+ patternsToTry.push(branchNamePattern);
307
+ }
308
+ // Try each pattern
309
+ for (const patternToTry of patternsToTry) {
310
+ if (this.testPattern(branchName, patternToTry, branchTypes, subjectNamePattern)) {
311
+ return; // Pattern matched, validation passed
312
+ }
283
313
  }
314
+ // No pattern matched
315
+ throw new PatternMatchError(branchName);
284
316
  }
285
317
  }
286
318
 
@@ -301,6 +333,8 @@ class PushBranchUseCase {
301
333
  }
302
334
  }
303
335
 
336
+ const BRANCH_MAX_LENGTH = 50;
337
+ const BRANCH_MIN_LENGTH = 5;
304
338
  /**
305
339
  * Default configuration for branch linting
306
340
  */
@@ -314,9 +348,9 @@ const DEFAULT_CONFIG = {
314
348
  },
315
349
  ignore: ["dev"],
316
350
  rules: {
317
- "branch-max-length": 50,
318
- "branch-min-length": 5,
319
- "branch-pattern": ":type/:name",
351
+ "branch-max-length": BRANCH_MAX_LENGTH,
352
+ "branch-min-length": BRANCH_MIN_LENGTH,
353
+ "branch-pattern": ":type/:ticket-:name",
320
354
  "branch-prohibited": ["main", "master", "release"],
321
355
  "branch-subject-pattern": "[a-z0-9-]+",
322
356
  },
@@ -502,7 +536,6 @@ class BranchCreationPrompt {
502
536
  message: "Enter the branch name (e.g., authorization):",
503
537
  name: "branchName",
504
538
  type: "input",
505
- // eslint-disable-next-line @elsikora/sonar/function-return-type
506
539
  validate: (input) => {
507
540
  const validation = this.VALIDATE_BRANCH_NAME_USE_CASE.execute(input);
508
541
  if (validation.isValid) {
@@ -547,6 +580,40 @@ class BranchCreationPrompt {
547
580
  ]);
548
581
  return result.shouldPush;
549
582
  }
583
+ /**
584
+ * Prompt for ticket ID (optional)
585
+ * @returns Ticket ID in uppercase or empty string if skipped
586
+ */
587
+ async promptTicketId() {
588
+ const result = await inquirer.prompt([
589
+ {
590
+ message: "Ticket ID (optional, e.g., PROJ-123):",
591
+ name: "ticketId",
592
+ transformer: (input) => {
593
+ // Show placeholder when empty
594
+ return input.trim() === "" ? "\u001B[2m(Enter to skip)\u001B[0m" : input;
595
+ },
596
+ type: "input",
597
+ validate: (input) => {
598
+ // Empty is valid (optional field)
599
+ if (!input || input.trim() === "") {
600
+ return true;
601
+ }
602
+ // Convert to uppercase for validation
603
+ const upperInput = input.trim().toUpperCase();
604
+ // Validate format: 2+ uppercase letters, dash, digits
605
+ const ticketPattern = /^[A-Z]{2,}-\d+$/;
606
+ if (!ticketPattern.test(upperInput)) {
607
+ return "Invalid format. Expected format: PROJ-123 (2+ letters, dash, numbers)";
608
+ }
609
+ return true;
610
+ },
611
+ },
612
+ ]);
613
+ // Return uppercase version or empty string
614
+ const trimmed = result.ticketId.trim();
615
+ return trimmed ? trimmed.toUpperCase() : "";
616
+ }
550
617
  }
551
618
 
552
619
  /**
@@ -578,8 +645,18 @@ class CreateBranchController {
578
645
  const config = await this.GET_BRANCH_CONFIG_USE_CASE.execute(appName);
579
646
  // Prompt for branch details
580
647
  const branchType = await this.BRANCH_CREATION_PROMPT.promptBranchType(config.branches);
648
+ const ticketId = await this.BRANCH_CREATION_PROMPT.promptTicketId();
581
649
  const branchName = await this.BRANCH_CREATION_PROMPT.promptBranchName();
582
- const fullBranchName = `${branchType}/${branchName}`;
650
+ // Build full branch name based on whether ticket ID is provided
651
+ let fullBranchName;
652
+ if (ticketId) {
653
+ // Format: type/TICKET-123-description
654
+ fullBranchName = `${branchType}/${ticketId}-${branchName}`;
655
+ }
656
+ else {
657
+ // Format: type/description
658
+ fullBranchName = `${branchType}/${branchName}`;
659
+ }
583
660
  console.error(`\nāŒ›ļø Creating branch: ${fullBranchName}`);
584
661
  // Create the branch
585
662
  await this.CREATE_BRANCH_USE_CASE.execute(fullBranchName);
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/domain/errors/branch-creation.error.ts","../src/application/use-cases/check-working-directory.use-case.ts","../src/application/use-cases/create-branch.use-case.ts","../src/application/use-cases/get-branch-config.use-case.ts","../src/application/use-cases/get-current-branch.use-case.ts","../src/domain/entity/branch.entity.ts","../src/domain/errors/lint.error.ts","../src/application/use-cases/lint-branch-name.use-case.ts","../src/application/use-cases/push-branch.use-case.ts","../src/infrastructure/config/cosmiconfig.repository.ts","../src/infrastructure/git/git-branch.repository.ts","../src/application/use-cases/validate-branch-name.use-case.ts","../src/presentation/cli/formatters/branch-choice.formatter.ts","../src/presentation/cli/prompts/branch-creation.prompt.ts","../src/presentation/cli/controllers/create-branch.controller.ts","../src/presentation/cli/formatters/error.formatter.ts","../src/presentation/cli/formatters/hint.formatter.ts","../src/presentation/cli/controllers/lint.controller.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/domain/errors/branch-creation.error.ts","../src/application/use-cases/check-working-directory.use-case.ts","../src/application/use-cases/create-branch.use-case.ts","../src/application/use-cases/get-branch-config.use-case.ts","../src/application/use-cases/get-current-branch.use-case.ts","../src/domain/entity/branch.entity.ts","../src/domain/errors/lint.error.ts","../src/application/use-cases/lint-branch-name.use-case.ts","../src/application/use-cases/push-branch.use-case.ts","../src/infrastructure/config/cosmiconfig.repository.ts","../src/infrastructure/git/git-branch.repository.ts","../src/application/use-cases/validate-branch-name.use-case.ts","../src/presentation/cli/formatters/branch-choice.formatter.ts","../src/presentation/cli/prompts/branch-creation.prompt.ts","../src/presentation/cli/controllers/create-branch.controller.ts","../src/presentation/cli/formatters/error.formatter.ts","../src/presentation/cli/formatters/hint.formatter.ts","../src/presentation/cli/controllers/lint.controller.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -22,4 +22,9 @@ export declare class BranchCreationPrompt {
22
22
  * @returns Whether to push the branch
23
23
  */
24
24
  promptPushBranch(): Promise<boolean>;
25
+ /**
26
+ * Prompt for ticket ID (optional)
27
+ * @returns Ticket ID in uppercase or empty string if skipped
28
+ */
29
+ promptTicketId(): Promise<string>;
25
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elsikora/git-branch-lint",
3
- "version": "1.1.1",
3
+ "version": "1.1.2-dev.2",
4
4
  "description": "Lint your git branch names",
5
5
  "keywords": [
6
6
  "lint",
@@ -64,7 +64,7 @@
64
64
  "devDependencies": {
65
65
  "@commitlint/cli": "^19.8.1",
66
66
  "@commitlint/config-conventional": "^19.8.1",
67
- "@elsikora/commitizen-plugin-commitlint-ai": "^2.0.0",
67
+ "@elsikora/commitizen-plugin-commitlint-ai": "^2.1.1",
68
68
  "@elsikora/eslint-config": "^3.9.0",
69
69
  "@rollup/plugin-typescript": "^12.1.2",
70
70
  "@saithodev/semantic-release-backmerge": "^4.0.1",