@alejandrochaves/devflow-cli 0.2.0 → 0.3.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/LICENSE +21 -0
- package/README.md +114 -7
- package/dist/commands/branch.d.ts.map +1 -1
- package/dist/commands/branch.js +27 -0
- package/dist/commands/branch.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +3 -0
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/commit.d.ts +10 -0
- package/dist/commands/commit.d.ts.map +1 -1
- package/dist/commands/commit.js +25 -10
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/fixup.d.ts +4 -0
- package/dist/commands/fixup.d.ts.map +1 -0
- package/dist/commands/fixup.js +100 -0
- package/dist/commands/fixup.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +12 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/merge.d.ts +4 -0
- package/dist/commands/merge.d.ts.map +1 -0
- package/dist/commands/merge.js +84 -0
- package/dist/commands/merge.js.map +1 -0
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +10 -2
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/test-plan.d.ts +2 -0
- package/dist/commands/test-plan.d.ts.map +1 -0
- package/dist/commands/test-plan.js +92 -0
- package/dist/commands/test-plan.js.map +1 -0
- package/dist/commands/undo.d.ts +4 -0
- package/dist/commands/undo.d.ts.map +1 -0
- package/dist/commands/undo.js +46 -0
- package/dist/commands/undo.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +49 -3
- package/dist/config.js.map +1 -1
- package/dist/git.d.ts +1 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +5 -0
- package/dist/git.js.map +1 -1
- package/dist/index.js +65 -21
- package/dist/index.js.map +1 -1
- package/dist/monorepo.d.ts +13 -0
- package/dist/monorepo.d.ts.map +1 -0
- package/dist/monorepo.js +191 -0
- package/dist/monorepo.js.map +1 -0
- package/dist/test-plan.d.ts +5 -0
- package/dist/test-plan.d.ts.map +1 -0
- package/dist/test-plan.js +48 -0
- package/dist/test-plan.js.map +1 -0
- package/dist/update-notifier.d.ts +2 -0
- package/dist/update-notifier.d.ts.map +1 -0
- package/dist/update-notifier.js +96 -0
- package/dist/update-notifier.js.map +1 -0
- package/package.json +14 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Alejandro Chaves
|
|
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/README.md
CHANGED
|
@@ -47,10 +47,10 @@ Interactive setup wizard that configures your entire project. Walks you through:
|
|
|
47
47
|
3. **PR checklist** — customize or use defaults
|
|
48
48
|
4. **package.json scripts** — auto-adds `commit`, `branch`, `pr` scripts
|
|
49
49
|
5. **Commitlint** — creates config with the devflow parser preset, installs deps
|
|
50
|
-
6. **Husky** — installs, initializes, creates `commit-msg` hook
|
|
50
|
+
6. **Husky** — installs, initializes, creates `commit-msg` hook + optional `pre-push` hook (lint + typecheck)
|
|
51
51
|
7. **CI workflow** — optionally generates `.github/workflows/ci.yml` (lint, typecheck, test)
|
|
52
52
|
|
|
53
|
-
### `devflow branch`
|
|
53
|
+
### `devflow branch` (alias: `b`)
|
|
54
54
|
|
|
55
55
|
Interactive branch creation with consistent naming.
|
|
56
56
|
|
|
@@ -72,10 +72,12 @@ fix/PROJ-45_correct-calculation-overflow
|
|
|
72
72
|
chore/UNTRACKED_update-dependencies
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
### `devflow commit`
|
|
75
|
+
### `devflow commit` (alias: `c`)
|
|
76
76
|
|
|
77
77
|
Interactive conventional commit with file staging, scope selection, and ticket inference.
|
|
78
78
|
|
|
79
|
+
**Branch protection:** If you're on `main`, `master`, `develop`, or `production`, devflow warns you and asks for confirmation before proceeding.
|
|
80
|
+
|
|
79
81
|
**Flow:**
|
|
80
82
|
1. If no files are staged, select files to stage (checkbox selection)
|
|
81
83
|
2. Select commit type
|
|
@@ -101,7 +103,7 @@ refactor[ENV-200]!(api): restructure endpoints
|
|
|
101
103
|
|
|
102
104
|
The `!` after the ticket indicates a breaking change.
|
|
103
105
|
|
|
104
|
-
### `devflow pr`
|
|
106
|
+
### `devflow pr` (alias: `p`)
|
|
105
107
|
|
|
106
108
|
Create or update a pull request with an auto-filled template.
|
|
107
109
|
|
|
@@ -131,7 +133,50 @@ Create or update a pull request with an auto-filled template.
|
|
|
131
133
|
- Test Plan
|
|
132
134
|
- Checklist (customizable via config)
|
|
133
135
|
|
|
134
|
-
### `devflow
|
|
136
|
+
### `devflow test-plan` (alias: `tp`)
|
|
137
|
+
|
|
138
|
+
View or edit the test plan for the current branch. Test plan steps are stored locally and automatically included in the PR body.
|
|
139
|
+
|
|
140
|
+
**Flow:**
|
|
141
|
+
- If a test plan exists: view steps and choose to add, replace, or clear
|
|
142
|
+
- If no test plan: prompted to add steps
|
|
143
|
+
|
|
144
|
+
Steps are also optionally collected during `devflow branch` creation.
|
|
145
|
+
|
|
146
|
+
When you run `devflow pr`, stored test plan steps auto-populate the "Test Plan" section as checkboxes:
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
## Test Plan
|
|
150
|
+
|
|
151
|
+
- [ ] Verify login flow with valid credentials
|
|
152
|
+
- [ ] Test error handling for expired tokens
|
|
153
|
+
- [ ] Confirm logout clears session data
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### `devflow undo` (alias: `u`)
|
|
157
|
+
|
|
158
|
+
Undo the last commit, keeping changes staged. Shows a preview of the commit that will be undone before confirming.
|
|
159
|
+
|
|
160
|
+
### `devflow fixup` (alias: `f`)
|
|
161
|
+
|
|
162
|
+
Create a fixup commit targeting a previous commit on the branch:
|
|
163
|
+
|
|
164
|
+
1. Shows recent commits on the branch
|
|
165
|
+
2. Select which commit to fix
|
|
166
|
+
3. Stage files (if needed)
|
|
167
|
+
4. Optionally auto-squash via interactive rebase
|
|
168
|
+
|
|
169
|
+
### `devflow merge` (alias: `m`)
|
|
170
|
+
|
|
171
|
+
Merge the current branch's PR via GitHub CLI:
|
|
172
|
+
|
|
173
|
+
1. Detects the PR for the current branch
|
|
174
|
+
2. Select merge strategy (squash, merge, rebase)
|
|
175
|
+
3. Optionally delete the branch and switch back to main
|
|
176
|
+
|
|
177
|
+
Requires `gh` CLI to be installed and authenticated.
|
|
178
|
+
|
|
179
|
+
### `devflow status` (alias: `s`)
|
|
135
180
|
|
|
136
181
|
At-a-glance view of your current branch context:
|
|
137
182
|
- Branch name, type, ticket, and description
|
|
@@ -140,7 +185,7 @@ At-a-glance view of your current branch context:
|
|
|
140
185
|
- Working tree status (staged/modified/untracked)
|
|
141
186
|
- PR link and state (if exists)
|
|
142
187
|
|
|
143
|
-
### `devflow amend`
|
|
188
|
+
### `devflow amend` (alias: `a`)
|
|
144
189
|
|
|
145
190
|
Re-edit the last commit message using the same guided prompts. Pre-fills all fields from the existing message. Also includes any staged changes in the amend.
|
|
146
191
|
|
|
@@ -179,6 +224,20 @@ eval "$(devflow completions --shell zsh)"
|
|
|
179
224
|
eval "$(devflow completions --shell bash)"
|
|
180
225
|
```
|
|
181
226
|
|
|
227
|
+
## Command Aliases
|
|
228
|
+
|
|
229
|
+
| Command | Alias |
|
|
230
|
+
|---------|-------|
|
|
231
|
+
| `devflow branch` | `devflow b` |
|
|
232
|
+
| `devflow commit` | `devflow c` |
|
|
233
|
+
| `devflow pr` | `devflow p` |
|
|
234
|
+
| `devflow amend` | `devflow a` |
|
|
235
|
+
| `devflow undo` | `devflow u` |
|
|
236
|
+
| `devflow fixup` | `devflow f` |
|
|
237
|
+
| `devflow merge` | `devflow m` |
|
|
238
|
+
| `devflow status` | `devflow s` |
|
|
239
|
+
| `devflow test-plan` | `devflow tp` |
|
|
240
|
+
|
|
182
241
|
## Global Options
|
|
183
242
|
|
|
184
243
|
Commands that modify git state support `--dry-run` to preview without executing:
|
|
@@ -188,6 +247,9 @@ devflow commit --dry-run
|
|
|
188
247
|
devflow branch --dry-run
|
|
189
248
|
devflow pr --dry-run
|
|
190
249
|
devflow amend --dry-run
|
|
250
|
+
devflow undo --dry-run
|
|
251
|
+
devflow fixup --dry-run
|
|
252
|
+
devflow merge --dry-run
|
|
191
253
|
devflow cleanup --dry-run
|
|
192
254
|
devflow changelog --dry-run
|
|
193
255
|
```
|
|
@@ -238,6 +300,35 @@ Create a `.devflow.json` in your project root (or run `devflow init`):
|
|
|
238
300
|
| `prTemplate.screenshotsTable` | Include before/after screenshots table | `true` |
|
|
239
301
|
| `prReviewers` | Default PR reviewers (GitHub usernames) | — |
|
|
240
302
|
|
|
303
|
+
### Shareable Configs (`extends`)
|
|
304
|
+
|
|
305
|
+
Share a base configuration across projects using the `extends` field:
|
|
306
|
+
|
|
307
|
+
```json
|
|
308
|
+
{
|
|
309
|
+
"extends": "@myorg/devflow-config",
|
|
310
|
+
"ticketBaseUrl": "https://jira.myorg.com/browse"
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
The `extends` value can be:
|
|
315
|
+
- An npm package name (resolved from `node_modules`)
|
|
316
|
+
- A relative file path (e.g., `"./config/devflow-base.json"`)
|
|
317
|
+
|
|
318
|
+
The extended config is merged with local overrides — local fields take precedence.
|
|
319
|
+
|
|
320
|
+
### Monorepo Awareness
|
|
321
|
+
|
|
322
|
+
devflow automatically detects monorepo workspace setups and uses workspace packages as commit scopes when no scopes are configured. Supported:
|
|
323
|
+
|
|
324
|
+
- **npm/yarn workspaces** — `workspaces` field in `package.json`
|
|
325
|
+
- **pnpm workspaces** — `pnpm-workspace.yaml`
|
|
326
|
+
- **Lerna** — `lerna.json`
|
|
327
|
+
- **Nx** — `nx.json` with `project.json` files
|
|
328
|
+
- **Turborepo** — `turbo.json` (uses package.json workspaces)
|
|
329
|
+
|
|
330
|
+
Each workspace package becomes a scope with its directory as the `paths` pattern for auto-inference. For example, in a monorepo with `packages/auth` and `packages/ui`, staging a file in `packages/auth/src/login.ts` auto-suggests the `auth` scope.
|
|
331
|
+
|
|
241
332
|
### Scopes
|
|
242
333
|
|
|
243
334
|
When `scopes` is an empty array, the commit command shows a free text input for scope. When populated, it shows a searchable list that can be filtered by typing.
|
|
@@ -294,9 +385,25 @@ npx --no -- commitlint --edit $1 || {
|
|
|
294
385
|
}
|
|
295
386
|
```
|
|
296
387
|
|
|
388
|
+
The `devflow init` wizard can also set up a **pre-push** hook that runs lint and type checking before push:
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
# .husky/pre-push
|
|
392
|
+
npm run lint
|
|
393
|
+
npx tsc --noEmit
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
## Update Notifications
|
|
397
|
+
|
|
398
|
+
devflow checks for newer versions on npm once every 24 hours and displays a non-blocking notification if an update is available:
|
|
399
|
+
|
|
400
|
+
```
|
|
401
|
+
─ Update available: 0.2.0 → 0.3.0 (npm update @alejandrochaves/devflow-cli) ─
|
|
402
|
+
```
|
|
403
|
+
|
|
297
404
|
## Requirements
|
|
298
405
|
|
|
299
|
-
- Node.js >=
|
|
406
|
+
- Node.js >= 20.12
|
|
300
407
|
- Git
|
|
301
408
|
- [GitHub CLI (gh)](https://cli.github.com/) — required for the `pr` command
|
|
302
409
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"AAMA,wBAAsB,aAAa,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFrF"}
|
package/dist/commands/branch.js
CHANGED
|
@@ -2,6 +2,7 @@ import { select, input, confirm } from "@inquirer/prompts";
|
|
|
2
2
|
import { execSync } from "child_process";
|
|
3
3
|
import { loadConfig } from "../config.js";
|
|
4
4
|
import { bold, dim, green, cyan } from "../colors.js";
|
|
5
|
+
import { setTestPlan } from "../test-plan.js";
|
|
5
6
|
export async function branchCommand(options = {}) {
|
|
6
7
|
try {
|
|
7
8
|
const config = loadConfig();
|
|
@@ -40,6 +41,32 @@ export async function branchCommand(options = {}) {
|
|
|
40
41
|
}
|
|
41
42
|
execSync(`git checkout -b ${branchName}`, { stdio: "inherit" });
|
|
42
43
|
console.log(green(`✓ Branch created: ${branchName}`));
|
|
44
|
+
// Optional test plan
|
|
45
|
+
const addTestPlan = await confirm({
|
|
46
|
+
message: "Add test plan steps for this branch?",
|
|
47
|
+
default: false,
|
|
48
|
+
});
|
|
49
|
+
if (addTestPlan) {
|
|
50
|
+
const steps = [];
|
|
51
|
+
console.log(dim("\nAdd testing steps one at a time. Press Enter with empty text to finish.\n"));
|
|
52
|
+
let adding = true;
|
|
53
|
+
while (adding) {
|
|
54
|
+
const step = await input({
|
|
55
|
+
message: `Step ${steps.length + 1}${steps.length > 0 ? " (blank to finish)" : ""}:`,
|
|
56
|
+
});
|
|
57
|
+
if (!step.trim()) {
|
|
58
|
+
adding = false;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
steps.push(step.trim());
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (steps.length > 0) {
|
|
65
|
+
setTestPlan(branchName, steps);
|
|
66
|
+
console.log(green(`✓ Saved ${steps.length} test plan step${steps.length > 1 ? "s" : ""}`));
|
|
67
|
+
console.log(dim(" Edit later with: devflow test-plan"));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
43
70
|
}
|
|
44
71
|
catch (error) {
|
|
45
72
|
if (error.name === "ExitPromptError") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AA+BA,wBAAsB,cAAc,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FtF"}
|
package/dist/commands/cleanup.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { confirm, checkbox } from "@inquirer/prompts";
|
|
2
2
|
import { execSync } from "child_process";
|
|
3
3
|
import { bold, dim, green, red, yellow, gray } from "../colors.js";
|
|
4
|
+
import { deleteTestPlan } from "../test-plan.js";
|
|
4
5
|
function getMergedBranches() {
|
|
5
6
|
try {
|
|
6
7
|
const result = execSync("git branch --merged main", { encoding: "utf-8" }).trim();
|
|
@@ -80,6 +81,7 @@ export async function cleanupCommand(options = {}) {
|
|
|
80
81
|
else {
|
|
81
82
|
try {
|
|
82
83
|
execSync(`git branch -d ${branch}`, { stdio: "ignore" });
|
|
84
|
+
deleteTestPlan(branch);
|
|
83
85
|
console.log(`${green("✓")} Deleted ${branch}`);
|
|
84
86
|
}
|
|
85
87
|
catch {
|
|
@@ -91,6 +93,7 @@ export async function cleanupCommand(options = {}) {
|
|
|
91
93
|
});
|
|
92
94
|
if (force) {
|
|
93
95
|
execSync(`git branch -D ${branch}`, { stdio: "ignore" });
|
|
96
|
+
deleteTestPlan(branch);
|
|
94
97
|
console.log(`${yellow("✓")} Force deleted ${branch}`);
|
|
95
98
|
}
|
|
96
99
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
import { Scope } from "../config.js";
|
|
2
|
+
export declare function inferScopeFromPaths(stagedFiles: string[], scopes: Scope[]): string | undefined;
|
|
3
|
+
export declare function fileMatchesPattern(file: string, pattern: string): boolean;
|
|
4
|
+
export declare function formatCommitMessage(format: string, vars: {
|
|
5
|
+
type: string;
|
|
6
|
+
ticket: string;
|
|
7
|
+
breaking: string;
|
|
8
|
+
scope: string;
|
|
9
|
+
message: string;
|
|
10
|
+
}): string;
|
|
1
11
|
export declare function commitCommand(options?: {
|
|
2
12
|
dryRun?: boolean;
|
|
3
13
|
}): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,EAAE,MAAM,cAAc,CAAC;AAIjD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS,CAqB9F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CASzE;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvF,MAAM,CAaR;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiLrF"}
|
package/dist/commands/commit.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { select, search, confirm, input, checkbox } from "@inquirer/prompts";
|
|
2
2
|
import { execSync } from "child_process";
|
|
3
3
|
import { loadConfig } from "../config.js";
|
|
4
|
-
import { inferTicket, inferScope } from "../git.js";
|
|
5
|
-
import { bold, cyan, dim, green } from "../colors.js";
|
|
6
|
-
function inferScopeFromPaths(stagedFiles, scopes) {
|
|
4
|
+
import { inferTicket, inferScope, getBranch, isProtectedBranch } from "../git.js";
|
|
5
|
+
import { bold, cyan, dim, green, yellow } from "../colors.js";
|
|
6
|
+
export function inferScopeFromPaths(stagedFiles, scopes) {
|
|
7
7
|
const scopesWithPaths = scopes.filter((s) => s.paths && s.paths.length > 0);
|
|
8
8
|
if (scopesWithPaths.length === 0)
|
|
9
9
|
return undefined;
|
|
@@ -24,15 +24,17 @@ function inferScopeFromPaths(stagedFiles, scopes) {
|
|
|
24
24
|
entries.sort((a, b) => b[1] - a[1]);
|
|
25
25
|
return entries[0][0];
|
|
26
26
|
}
|
|
27
|
-
function fileMatchesPattern(file, pattern) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
.replace(/\*\*/g, "
|
|
27
|
+
export function fileMatchesPattern(file, pattern) {
|
|
28
|
+
let regex = pattern
|
|
29
|
+
.replace(/\*\*\//g, "\u0000GLOBSTAR_SLASH\u0000")
|
|
30
|
+
.replace(/\*\*/g, "\u0000GLOBSTAR\u0000")
|
|
31
|
+
.replace(/[.+?^${}()|[\]\\]/g, "\\$&")
|
|
31
32
|
.replace(/\*/g, "[^/]*")
|
|
32
|
-
.replace(/\
|
|
33
|
-
|
|
33
|
+
.replace(/\u0000GLOBSTAR_SLASH\u0000/g, "(.+/)?")
|
|
34
|
+
.replace(/\u0000GLOBSTAR\u0000/g, ".*");
|
|
35
|
+
return new RegExp(`^${regex}$`).test(file);
|
|
34
36
|
}
|
|
35
|
-
function formatCommitMessage(format, vars) {
|
|
37
|
+
export function formatCommitMessage(format, vars) {
|
|
36
38
|
let result = format;
|
|
37
39
|
result = result.replace("{type}", vars.type);
|
|
38
40
|
result = result.replace("{ticket}", vars.ticket);
|
|
@@ -47,6 +49,19 @@ function formatCommitMessage(format, vars) {
|
|
|
47
49
|
export async function commitCommand(options = {}) {
|
|
48
50
|
try {
|
|
49
51
|
const config = loadConfig();
|
|
52
|
+
// Branch protection
|
|
53
|
+
if (isProtectedBranch()) {
|
|
54
|
+
const branch = getBranch();
|
|
55
|
+
console.log(yellow(`⚠ You are on ${bold(branch)}. Committing directly to protected branches is not recommended.`));
|
|
56
|
+
const proceed = await confirm({
|
|
57
|
+
message: `Continue committing to ${branch}?`,
|
|
58
|
+
default: false,
|
|
59
|
+
});
|
|
60
|
+
if (!proceed) {
|
|
61
|
+
console.log("Use: devflow branch");
|
|
62
|
+
process.exit(0);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
50
65
|
// Check for staged files
|
|
51
66
|
const staged = execSync("git diff --cached --name-only", { encoding: "utf-8" }).trim();
|
|
52
67
|
const unstaged = execSync("git diff --name-only", { encoding: "utf-8" }).trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAS,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -23,9 +23,9 @@ export async function doctorCommand() {
|
|
|
23
23
|
const nodeVersion = checkCommand("node --version");
|
|
24
24
|
if (nodeVersion) {
|
|
25
25
|
const major = parseInt(nodeVersion.replace("v", "").split(".")[0], 10);
|
|
26
|
-
checks.push(major >=
|
|
26
|
+
checks.push(major >= 20
|
|
27
27
|
? { name: "node", status: "ok", detail: nodeVersion }
|
|
28
|
-
: { name: "node", status: "warning", detail: `${nodeVersion} (>=
|
|
28
|
+
: { name: "node", status: "warning", detail: `${nodeVersion} (>= 20 recommended)` });
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
checks.push({ name: "node", status: "error", detail: "Not installed" });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixup.d.ts","sourceRoot":"","sources":["../../src/commands/fixup.ts"],"names":[],"mappings":"AAkBA,wBAAsB,YAAY,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFpF"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { select, confirm, checkbox } from "@inquirer/prompts";
|
|
2
|
+
import { execSync } from "child_process";
|
|
3
|
+
import { bold, dim, green, cyan } from "../colors.js";
|
|
4
|
+
import { getDefaultBase, getBranch } from "../git.js";
|
|
5
|
+
function getCommitsOnBranch(base) {
|
|
6
|
+
try {
|
|
7
|
+
const log = execSync(`git log ${base}..HEAD --format=%H|%s`, { encoding: "utf-8" }).trim();
|
|
8
|
+
if (!log)
|
|
9
|
+
return [];
|
|
10
|
+
return log.split("\n").map((line) => {
|
|
11
|
+
const [hash, ...rest] = line.split("|");
|
|
12
|
+
return { hash, message: rest.join("|") };
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function fixupCommand(options = {}) {
|
|
20
|
+
try {
|
|
21
|
+
const branch = getBranch();
|
|
22
|
+
const base = getDefaultBase(branch);
|
|
23
|
+
const commits = getCommitsOnBranch(base);
|
|
24
|
+
if (commits.length < 2) {
|
|
25
|
+
console.log("Need at least 2 commits on the branch to fixup.");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Check for unstaged/staged changes
|
|
29
|
+
const staged = execSync("git diff --cached --name-only", { encoding: "utf-8" }).trim();
|
|
30
|
+
const unstaged = execSync("git diff --name-only", { encoding: "utf-8" }).trim();
|
|
31
|
+
const untracked = execSync("git ls-files --others --exclude-standard", { encoding: "utf-8" }).trim();
|
|
32
|
+
const hasChanges = staged || unstaged || untracked;
|
|
33
|
+
if (hasChanges) {
|
|
34
|
+
// Stage changes first
|
|
35
|
+
const allChanges = [
|
|
36
|
+
...unstaged.split("\n").filter(Boolean).map((f) => ({ file: f, label: `M ${f}` })),
|
|
37
|
+
...untracked.split("\n").filter(Boolean).map((f) => ({ file: f, label: `? ${f}` })),
|
|
38
|
+
];
|
|
39
|
+
if (!staged && allChanges.length > 0) {
|
|
40
|
+
const filesToStage = await checkbox({
|
|
41
|
+
message: "Select files to include in fixup:",
|
|
42
|
+
choices: [
|
|
43
|
+
{ value: "__ALL__", name: "Stage all" },
|
|
44
|
+
...allChanges.map((c) => ({ value: c.file, name: c.label })),
|
|
45
|
+
],
|
|
46
|
+
required: true,
|
|
47
|
+
});
|
|
48
|
+
if (!options.dryRun) {
|
|
49
|
+
if (filesToStage.includes("__ALL__")) {
|
|
50
|
+
execSync("git add -A");
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
for (const file of filesToStage) {
|
|
54
|
+
execSync(`git add ${JSON.stringify(file)}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
console.log(`\n${dim("───")} ${bold("Fixup Commit")} ${dim("───")}\n`);
|
|
61
|
+
console.log(`${dim("Branch commits (newest first):")}\n`);
|
|
62
|
+
const target = await select({
|
|
63
|
+
message: "Which commit should this fixup apply to?",
|
|
64
|
+
choices: commits.map((c) => ({
|
|
65
|
+
value: c.hash,
|
|
66
|
+
name: `${cyan(c.hash.slice(0, 7))} ${c.message}`,
|
|
67
|
+
})),
|
|
68
|
+
});
|
|
69
|
+
if (options.dryRun) {
|
|
70
|
+
const targetCommit = commits.find((c) => c.hash === target);
|
|
71
|
+
console.log(dim(`[dry-run] Would create fixup for: ${targetCommit?.message}`));
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Create fixup commit
|
|
75
|
+
execSync(`git commit --fixup=${target}`, { stdio: "inherit" });
|
|
76
|
+
console.log(green("✓ Fixup commit created."));
|
|
77
|
+
const autoSquash = await confirm({
|
|
78
|
+
message: "Auto-squash now? (interactive rebase)",
|
|
79
|
+
default: false,
|
|
80
|
+
});
|
|
81
|
+
if (autoSquash) {
|
|
82
|
+
execSync(`GIT_SEQUENCE_EDITOR=true git rebase -i --autosquash ${base}`, {
|
|
83
|
+
stdio: "inherit",
|
|
84
|
+
env: { ...process.env, GIT_SEQUENCE_EDITOR: "true" },
|
|
85
|
+
});
|
|
86
|
+
console.log(green("✓ Commits squashed."));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.log(dim("Run later: git rebase -i --autosquash " + base));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
if (error.name === "ExitPromptError") {
|
|
94
|
+
console.log("\nCancelled.");
|
|
95
|
+
process.exit(0);
|
|
96
|
+
}
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=fixup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixup.js","sourceRoot":"","sources":["../../src/commands/fixup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA+BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA+BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAqSjD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -204,6 +204,18 @@ export async function initCommand() {
|
|
|
204
204
|
`;
|
|
205
205
|
writeFileSync(resolve(huskyDir, "commit-msg"), commitMsgHook);
|
|
206
206
|
console.log("✓ Created .husky/commit-msg hook");
|
|
207
|
+
// Pre-push hook
|
|
208
|
+
const addPrePush = await confirm({
|
|
209
|
+
message: "Add pre-push hook (lint + typecheck)?",
|
|
210
|
+
default: true,
|
|
211
|
+
});
|
|
212
|
+
if (addPrePush) {
|
|
213
|
+
const prePushHook = `npm run lint
|
|
214
|
+
npx tsc --noEmit
|
|
215
|
+
`;
|
|
216
|
+
writeFileSync(resolve(huskyDir, "pre-push"), prePushHook);
|
|
217
|
+
console.log("✓ Created .husky/pre-push hook");
|
|
218
|
+
}
|
|
207
219
|
// Add prepare script
|
|
208
220
|
const updatedPkg = readPackageJson(cwd);
|
|
209
221
|
if (updatedPkg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|