@mcadam/worktree 1.0.0 → 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
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Transform your Git workflow with blazing-fast worktree management across multiple repositories** ⚔
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/worktree-cli.svg)](https://www.npmjs.com/package/worktree-cli)
5
+ [![npm version](https://img.shields.io/npm/v/@mcadam/worktree.svg)](https://www.npmjs.com/package/@mcadam/worktree)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue.svg)](https://www.typescriptlang.org/)
8
8
  [![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)
@@ -47,13 +47,13 @@ Select multiple worktrees with spacebar and delete them all at once. Spring clea
47
47
 
48
48
  ```bash
49
49
  # npm
50
- npm install -g worktree-cli
50
+ npm install -g @mcadam/worktree
51
51
 
52
52
  # pnpm (recommended)
53
- pnpm add -g worktree-cli
53
+ pnpm add -g @mcadam/worktree
54
54
 
55
55
  # yarn
56
- yarn global add worktree-cli
56
+ yarn global add @mcadam/worktree
57
57
  ```
58
58
 
59
59
  ## šŸš€ Quick Start
@@ -241,8 +241,8 @@ Want to contribute? Awesome! Here's how to get started:
241
241
 
242
242
  ```bash
243
243
  # Clone the repo
244
- git clone https://github.com/yourusername/worktree-cli.git
245
- cd worktree-cli
244
+ git clone https://github.com/un/worktree.git
245
+ cd worktree
246
246
 
247
247
  # Install dependencies
248
248
  pnpm install
@@ -302,7 +302,7 @@ MIT Ā© [Your Name]
302
302
 
303
303
  **Built with šŸ’™ by developers, for developers**
304
304
 
305
- [Report Bug](https://github.com/yourusername/worktree-cli/issues) Ā· [Request Feature](https://github.com/yourusername/worktree-cli/issues) Ā· [Star on GitHub](https://github.com/yourusername/worktree-cli)
305
+ [Report Bug](https://github.com/un/worktree/issues) Ā· [Request Feature](https://github.com/un/worktree/issues) Ā· [Star on GitHub](https://github.com/un/worktree)
306
306
 
307
307
  </div>
308
308
 
@@ -312,4 +312,4 @@ MIT Ā© [Your Name]
312
312
 
313
313
  ### 🌟 Don't forget to star this repo if you find it useful! 🌟
314
314
 
315
- </div>
315
+ </div>
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAUA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyElF"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAuGA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFlF"}
@@ -1,18 +1,90 @@
1
+ import path from 'node:path';
2
+ import readline from 'node:readline';
3
+ import chalk from 'chalk';
1
4
  import { execa } from 'execa';
2
5
  import fs from 'fs-extra';
3
- import path from 'path';
4
6
  import ora from 'ora';
5
- import chalk from 'chalk';
6
7
  import { configManager } from '../config/manager.js';
7
- import { createWorktreeName } from '../utils/sanitize.js';
8
8
  import { createWorktree } from '../utils/git.js';
9
+ import { createWorktreeName } from '../utils/sanitize.js';
9
10
  import { initCommand } from './init.js';
11
+ async function isWorktreeClean(gitRoot) {
12
+ const { stdout } = await execa('git', ['status', '--porcelain'], { cwd: gitRoot });
13
+ return stdout.trim().length === 0;
14
+ }
15
+ async function promptDirtyWorktreeAction() {
16
+ console.log(chalk.yellow('\nLocal changes detected. Choose how to continue:'));
17
+ console.log(chalk.cyan(' [s] stash and pop (default)'));
18
+ console.log(chalk.cyan(" [d] don't pull remote"));
19
+ console.log(chalk.cyan(' [c] cancel'));
20
+ console.log(chalk.gray('Defaulting to stash and pop in 5 seconds.'));
21
+ const answer = await new Promise((resolve) => {
22
+ const rl = readline.createInterface({
23
+ input: process.stdin,
24
+ output: process.stdout,
25
+ });
26
+ let settled = false;
27
+ const finish = (value) => {
28
+ if (settled)
29
+ return;
30
+ settled = true;
31
+ clearTimeout(timeout);
32
+ rl.close();
33
+ resolve(value);
34
+ };
35
+ const timeout = setTimeout(() => {
36
+ process.stdout.write('\n');
37
+ finish();
38
+ }, 5000);
39
+ rl.question('Selection: ', finish);
40
+ });
41
+ const normalized = (answer ?? '').trim().toLowerCase();
42
+ if (!normalized || ['s', 'stash', 'stash and pop', 'stash-and-pop'].includes(normalized)) {
43
+ return 'stash-and-pop';
44
+ }
45
+ if (['d', 'dont', "don't", 'dont pull', "don't pull", 'no pull'].includes(normalized)) {
46
+ return 'dont-pull';
47
+ }
48
+ if (['c', 'cancel'].includes(normalized)) {
49
+ return 'cancel';
50
+ }
51
+ console.log(chalk.yellow('Unrecognized selection; defaulting to stash and pop.'));
52
+ return 'stash-and-pop';
53
+ }
54
+ async function pullBeforeCreatingWorktree(gitRoot) {
55
+ if (await isWorktreeClean(gitRoot)) {
56
+ await execa('git', ['pull'], { cwd: gitRoot, stdio: 'inherit' });
57
+ return async () => { };
58
+ }
59
+ const action = await promptDirtyWorktreeAction();
60
+ if (action === 'cancel') {
61
+ console.log(chalk.yellow('Cancelled'));
62
+ process.exit(0);
63
+ }
64
+ if (action === 'dont-pull') {
65
+ return async () => { };
66
+ }
67
+ await execa('git', ['stash', 'push', '--include-untracked', '-m', 'worktree auto-stash before pull'], {
68
+ cwd: gitRoot,
69
+ stdio: 'inherit',
70
+ });
71
+ try {
72
+ await execa('git', ['pull'], { cwd: gitRoot, stdio: 'inherit' });
73
+ }
74
+ catch (error) {
75
+ await execa('git', ['stash', 'pop'], { cwd: gitRoot, stdio: 'inherit' });
76
+ throw error;
77
+ }
78
+ return async () => {
79
+ await execa('git', ['stash', 'pop'], { cwd: gitRoot, stdio: 'inherit' });
80
+ };
81
+ }
10
82
  export async function createCommand(branch, gitRoot) {
11
83
  // Check if repo is configured
12
84
  let repoConfig = await configManager.getRepoConfig(gitRoot);
13
85
  if (!repoConfig) {
14
86
  console.log(chalk.yellow('This repository is not configured yet.'));
15
- console.log(chalk.cyan('Let\'s set it up first!\n'));
87
+ console.log(chalk.cyan("Let's set it up first!\n"));
16
88
  await initCommand(gitRoot);
17
89
  repoConfig = await configManager.getRepoConfig(gitRoot);
18
90
  if (!repoConfig) {
@@ -26,7 +98,10 @@ export async function createCommand(branch, gitRoot) {
26
98
  console.log(chalk.blue(`Creating worktree for branch: ${branch}`));
27
99
  console.log(chalk.gray(`Location: ${worktreePath}`));
28
100
  const spinner = ora();
101
+ let popStash = async () => { };
102
+ let failed = false;
29
103
  try {
104
+ popStash = await pullBeforeCreatingWorktree(gitRoot);
30
105
  // Create worktree
31
106
  spinner.start('Creating worktree...');
32
107
  await createWorktree(config.basePath, worktreeName, branch, gitRoot);
@@ -64,11 +139,17 @@ export async function createCommand(branch, gitRoot) {
64
139
  spinner.succeed(`Opened in ${config.ideCommand}`);
65
140
  }
66
141
  console.log(chalk.green(`\n✨ Worktree ready at: ${worktreePath}`));
67
- console.log(chalk.cyan(`āœ… Ready for some epic code!`));
142
+ console.log(chalk.cyan('āœ… Ready for some epic code!'));
68
143
  }
69
144
  catch (error) {
145
+ failed = true;
70
146
  spinner.fail('Failed to create worktree');
71
147
  console.error(chalk.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
148
+ }
149
+ finally {
150
+ await popStash();
151
+ }
152
+ if (failed) {
72
153
  process.exit(1);
73
154
  }
74
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,21 @@
1
1
  {
2
2
  "name": "@mcadam/worktree",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "A CLI tool for managing Git worktrees across multiple repositories",
5
5
  "main": "dist/cli.js",
6
6
  "type": "module",
7
7
  "bin": {
8
- "worktree": "./bin/worktree.js"
8
+ "worktree": "bin/worktree.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsx watch src/cli.tsx",
13
+ "prepublishOnly": "pnpm run build",
14
+ "typecheck": "tsc --noEmit",
15
+ "clean": "rm -rf dist",
16
+ "lint": "biome check .",
17
+ "lint:fix": "biome check --apply .",
18
+ "format": "biome format --write ."
9
19
  },
10
20
  "keywords": [
11
21
  "git",
@@ -55,14 +65,5 @@
55
65
  "files": [
56
66
  "dist",
57
67
  "bin"
58
- ],
59
- "scripts": {
60
- "build": "tsc",
61
- "dev": "tsx watch src/cli.tsx",
62
- "typecheck": "tsc --noEmit",
63
- "clean": "rm -rf dist",
64
- "lint": "biome check .",
65
- "lint:fix": "biome check --apply .",
66
- "format": "biome format --write ."
67
- }
68
- }
68
+ ]
69
+ }