@aku11i/phantom 0.2.0 → 0.3.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.ja.md +254 -0
- package/README.md +30 -32
- package/dist/phantom.js +249 -185
- package/dist/phantom.js.map +4 -4
- package/package.json +5 -7
- package/dist/garden.js +0 -458
- package/dist/garden.js.map +0 -7
package/dist/garden.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/bin/garden.ts", "../src/gardens/commands/create.ts", "../src/git/libs/add-worktree.ts", "../src/git/libs/get-git-root.ts", "../src/phantom/command/shell.ts", "../src/gardens/commands/where.ts", "../src/gardens/commands/delete.ts", "../src/gardens/commands/list.ts"],
|
|
4
|
-
"sourcesContent": ["#!/usr/bin/env node\n\nimport { argv, exit } from \"node:process\";\nimport { gardensCreateHandler } from \"../gardens/commands/create.ts\";\nimport { gardensDeleteHandler } from \"../gardens/commands/delete.ts\";\nimport { gardensListHandler } from \"../gardens/commands/list.ts\";\nimport { gardensWhereHandler } from \"../gardens/commands/where.ts\";\n\ninterface Command {\n name: string;\n description: string;\n handler?: (args: string[]) => void | Promise<void>;\n}\n\nconst commands: Command[] = [\n {\n name: \"create\",\n description: \"Create a new worktree (garden)\",\n handler: gardensCreateHandler,\n },\n {\n name: \"list\",\n description: \"List all gardens\",\n handler: gardensListHandler,\n },\n {\n name: \"where\",\n description: \"Output the path of a specific garden\",\n handler: gardensWhereHandler,\n },\n {\n name: \"delete\",\n description: \"Delete a garden (use --force for dirty gardens)\",\n handler: gardensDeleteHandler,\n },\n];\n\nfunction printHelp() {\n console.log(\"Usage: garden <command> [options]\\n\");\n console.log(\"Commands:\");\n for (const cmd of commands) {\n console.log(` ${cmd.name.padEnd(20)} ${cmd.description}`);\n }\n console.log(\"\\nThis is an alias for 'phantom garden' commands.\");\n}\n\nfunction findCommand(cmdName: string, commands: Command[]): Command | null {\n return commands.find((cmd) => cmd.name === cmdName) || null;\n}\n\nconst args = argv.slice(2);\n\nif (args.length === 0 || args[0] === \"-h\" || args[0] === \"--help\") {\n printHelp();\n exit(0);\n}\n\nconst command = findCommand(args[0], commands);\n\nif (!command || !command.handler) {\n console.error(`Error: Unknown command '${args[0]}'\\n`);\n printHelp();\n exit(1);\n}\n\ntry {\n await command.handler(args.slice(1));\n} catch (error) {\n console.error(\n \"Error:\",\n error instanceof Error ? error.message : String(error),\n );\n exit(1);\n}\n", "import { access, mkdir } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { exit } from \"node:process\";\nimport { addWorktree } from \"../../git/libs/add-worktree.ts\";\nimport { getGitRoot } from \"../../git/libs/get-git-root.ts\";\nimport { shellInGarden } from \"../../phantom/command/shell.ts\";\n\nexport async function createGarden(name: string): Promise<{\n success: boolean;\n message: string;\n path?: string;\n}> {\n if (!name) {\n return { success: false, message: \"Error: garden name required\" };\n }\n\n try {\n const gitRoot = await getGitRoot();\n const gardensPath = join(gitRoot, \".git\", \"phantom\", \"gardens\");\n const worktreePath = join(gardensPath, name);\n\n try {\n await access(gardensPath);\n } catch {\n await mkdir(gardensPath, { recursive: true });\n }\n\n try {\n await access(worktreePath);\n return {\n success: false,\n message: `Error: garden '${name}' already exists`,\n };\n } catch {\n // Path doesn't exist, which is what we want\n }\n\n await addWorktree({\n path: worktreePath,\n branch: name,\n commitish: \"HEAD\",\n });\n\n return {\n success: true,\n message: `Created garden '${name}' at ${worktreePath}`,\n path: worktreePath,\n };\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n message: `Error creating garden: ${errorMessage}`,\n };\n }\n}\n\nexport async function gardensCreateHandler(args: string[]): Promise<void> {\n const name = args[0];\n const openShell = args.includes(\"--shell\");\n\n const result = await createGarden(name);\n\n if (!result.success) {\n console.error(result.message);\n exit(1);\n }\n\n console.log(result.message);\n\n if (openShell && result.path) {\n console.log(`\\nEntering garden '${name}' at ${result.path}`);\n console.log(\"Type 'exit' to return to your original directory\\n\");\n\n const shellResult = await shellInGarden(name);\n\n if (!shellResult.success) {\n if (shellResult.message) {\n console.error(shellResult.message);\n }\n exit(shellResult.exitCode ?? 1);\n }\n\n exit(shellResult.exitCode ?? 0);\n }\n}\n", "import { exec } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n\nconst execAsync = promisify(exec);\n\nexport interface AddWorktreeOptions {\n path: string;\n branch: string;\n commitish?: string;\n}\n\nexport async function addWorktree(options: AddWorktreeOptions): Promise<void> {\n const { path, branch, commitish = \"HEAD\" } = options;\n\n await execAsync(`git worktree add \"${path}\" -b \"${branch}\" ${commitish}`);\n}\n", "import { exec } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n\nconst execAsync = promisify(exec);\n\nexport async function getGitRoot(): Promise<string> {\n const { stdout } = await execAsync(\"git rev-parse --show-toplevel\");\n return stdout.trim();\n}\n", "import { spawn } from \"node:child_process\";\nimport { exit } from \"node:process\";\nimport { whereGarden } from \"../../gardens/commands/where.ts\";\n\nexport async function shellInGarden(gardenName: string): Promise<{\n success: boolean;\n message?: string;\n exitCode?: number;\n}> {\n if (!gardenName) {\n return { success: false, message: \"Error: garden name required\" };\n }\n\n // Validate garden exists and get its path\n const gardenResult = await whereGarden(gardenName);\n if (!gardenResult.success) {\n return { success: false, message: gardenResult.message };\n }\n\n const gardenPath = gardenResult.path as string;\n // Use user's preferred shell or fallback to /bin/sh\n const shell = process.env.SHELL || \"/bin/sh\";\n\n return new Promise((resolve) => {\n const childProcess = spawn(shell, [], {\n cwd: gardenPath,\n stdio: \"inherit\",\n env: {\n ...process.env,\n // Add environment variable to indicate we're in a phantom garden\n PHANTOM_GARDEN: gardenName,\n PHANTOM_GARDEN_PATH: gardenPath,\n },\n });\n\n childProcess.on(\"error\", (error) => {\n resolve({\n success: false,\n message: `Error starting shell: ${error.message}`,\n });\n });\n\n childProcess.on(\"exit\", (code, signal) => {\n if (signal) {\n resolve({\n success: false,\n message: `Shell terminated by signal: ${signal}`,\n exitCode: 128 + (signal === \"SIGTERM\" ? 15 : 1),\n });\n } else {\n const exitCode = code ?? 0;\n resolve({\n success: exitCode === 0,\n exitCode,\n });\n }\n });\n });\n}\n\nexport async function shellHandler(args: string[]): Promise<void> {\n if (args.length < 1) {\n console.error(\"Usage: phantom shell <garden-name>\");\n exit(1);\n }\n\n const gardenName = args[0];\n\n // Get garden path for display\n const gardenResult = await whereGarden(gardenName);\n if (!gardenResult.success) {\n console.error(gardenResult.message);\n exit(1);\n }\n\n // Display entering message\n console.log(`Entering garden '${gardenName}' at ${gardenResult.path}`);\n console.log(\"Type 'exit' to return to your original directory\\n\");\n\n const result = await shellInGarden(gardenName);\n\n if (!result.success) {\n if (result.message) {\n console.error(result.message);\n }\n exit(result.exitCode ?? 1);\n }\n\n // Exit with the same code as the shell\n exit(result.exitCode ?? 0);\n}\n", "import { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { exit } from \"node:process\";\nimport { getGitRoot } from \"../../git/libs/get-git-root.ts\";\n\nexport async function whereGarden(name: string): Promise<{\n success: boolean;\n message?: string;\n path?: string;\n}> {\n if (!name) {\n return { success: false, message: \"Error: garden name required\" };\n }\n\n try {\n const gitRoot = await getGitRoot();\n const gardensPath = join(gitRoot, \".git\", \"phantom\", \"gardens\");\n const gardenPath = join(gardensPath, name);\n\n // Check if garden exists\n try {\n await access(gardenPath);\n } catch {\n return {\n success: false,\n message: `Error: Garden '${name}' does not exist`,\n };\n }\n\n return {\n success: true,\n path: gardenPath,\n };\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n message: `Error locating garden: ${errorMessage}`,\n };\n }\n}\n\nexport async function gardensWhereHandler(args: string[]): Promise<void> {\n const name = args[0];\n const result = await whereGarden(name);\n\n if (!result.success) {\n console.error(result.message);\n exit(1);\n }\n\n console.log(result.path);\n}\n", "import { exec } from \"node:child_process\";\nimport { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { exit } from \"node:process\";\nimport { promisify } from \"node:util\";\nimport { getGitRoot } from \"../../git/libs/get-git-root.ts\";\n\nconst execAsync = promisify(exec);\n\nexport async function deleteGarden(\n name: string,\n options: { force?: boolean } = {},\n): Promise<{\n success: boolean;\n message: string;\n hasUncommittedChanges?: boolean;\n changedFiles?: number;\n}> {\n if (!name) {\n return { success: false, message: \"Error: garden name required\" };\n }\n\n const { force = false } = options;\n\n try {\n const gitRoot = await getGitRoot();\n const gardensPath = join(gitRoot, \".git\", \"phantom\", \"gardens\");\n const gardenPath = join(gardensPath, name);\n\n // Check if garden exists\n try {\n await access(gardenPath);\n } catch {\n return {\n success: false,\n message: `Error: Garden '${name}' does not exist`,\n };\n }\n\n // Check for uncommitted changes\n let hasUncommittedChanges = false;\n let changedFiles = 0;\n try {\n const { stdout } = await execAsync(\"git status --porcelain\", {\n cwd: gardenPath,\n });\n const changes = stdout.trim();\n if (changes) {\n hasUncommittedChanges = true;\n changedFiles = changes.split(\"\\n\").length;\n }\n } catch {\n // If git status fails, assume no changes\n hasUncommittedChanges = false;\n }\n\n // If garden has uncommitted changes and --force is not specified, refuse deletion\n if (hasUncommittedChanges && !force) {\n return {\n success: false,\n message: `Error: Garden '${name}' has uncommitted changes (${changedFiles} files). Use --force to delete anyway.`,\n hasUncommittedChanges: true,\n changedFiles,\n };\n }\n\n // Remove git worktree\n try {\n await execAsync(`git worktree remove \"${gardenPath}\"`, {\n cwd: gitRoot,\n });\n } catch (error) {\n // If worktree remove fails, try force removal\n try {\n await execAsync(`git worktree remove --force \"${gardenPath}\"`, {\n cwd: gitRoot,\n });\n } catch {\n return {\n success: false,\n message: `Error: Failed to remove worktree for garden '${name}'`,\n };\n }\n }\n\n // Delete associated branch\n const branchName = `phantom/gardens/${name}`;\n try {\n await execAsync(`git branch -D \"${branchName}\"`, {\n cwd: gitRoot,\n });\n } catch {\n // Branch might not exist or already deleted - this is not an error\n // We'll still report success for the worktree removal\n }\n\n let message = `Deleted garden '${name}' and its branch '${branchName}'`;\n if (hasUncommittedChanges) {\n message = `Warning: Garden '${name}' had uncommitted changes (${changedFiles} files)\\n${message}`;\n }\n\n return {\n success: true,\n message,\n hasUncommittedChanges,\n changedFiles: hasUncommittedChanges ? changedFiles : undefined,\n };\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n message: `Error deleting garden: ${errorMessage}`,\n };\n }\n}\n\nexport async function gardensDeleteHandler(args: string[]): Promise<void> {\n // Parse arguments for --force flag\n const forceIndex = args.indexOf(\"--force\");\n const force = forceIndex !== -1;\n\n // Remove --force from args to get the garden name\n const filteredArgs = args.filter((arg) => arg !== \"--force\");\n const name = filteredArgs[0];\n\n const result = await deleteGarden(name, { force });\n\n if (!result.success) {\n console.error(result.message);\n exit(1);\n }\n\n console.log(result.message);\n}\n", "import { exec } from \"node:child_process\";\nimport { access, readdir } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\nimport { getGitRoot } from \"../../git/libs/get-git-root.ts\";\n\nconst execAsync = promisify(exec);\n\nexport interface GardenInfo {\n name: string;\n branch: string;\n status: \"clean\" | \"dirty\";\n changedFiles?: number;\n}\n\nexport async function listGardens(): Promise<{\n success: boolean;\n message?: string;\n gardens?: GardenInfo[];\n}> {\n try {\n const gitRoot = await getGitRoot();\n const gardensPath = join(gitRoot, \".git\", \"phantom\", \"gardens\");\n\n // Check if gardens directory exists\n try {\n await access(gardensPath);\n } catch {\n return {\n success: true,\n gardens: [],\n message: \"No gardens found (gardens directory doesn't exist)\",\n };\n }\n\n // Read gardens directory\n let gardenNames: string[];\n try {\n const entries = await readdir(gardensPath);\n // Filter entries to only include directories\n const validEntries = await Promise.all(\n entries.map(async (entry) => {\n try {\n const entryPath = join(gardensPath, entry);\n await access(entryPath);\n return entry;\n } catch {\n return null;\n }\n }),\n );\n gardenNames = validEntries.filter(\n (entry): entry is string => entry !== null,\n );\n } catch {\n return {\n success: true,\n gardens: [],\n message: \"No gardens found (unable to read gardens directory)\",\n };\n }\n\n if (gardenNames.length === 0) {\n return {\n success: true,\n gardens: [],\n message: \"No gardens found\",\n };\n }\n\n // Get detailed information for each garden\n const gardens: GardenInfo[] = await Promise.all(\n gardenNames.map(async (name) => {\n const gardenPath = join(gardensPath, name);\n\n // Get current branch\n let branch = \"unknown\";\n try {\n const { stdout } = await execAsync(\"git branch --show-current\", {\n cwd: gardenPath,\n });\n branch = stdout.trim() || \"detached HEAD\";\n } catch {\n branch = \"unknown\";\n }\n\n // Get working directory status\n let status: \"clean\" | \"dirty\" = \"clean\";\n let changedFiles: number | undefined;\n try {\n const { stdout } = await execAsync(\"git status --porcelain\", {\n cwd: gardenPath,\n });\n const changes = stdout.trim();\n if (changes) {\n status = \"dirty\";\n changedFiles = changes.split(\"\\n\").length;\n }\n } catch {\n // If git status fails, assume unknown status\n status = \"clean\";\n }\n\n return {\n name,\n branch,\n status,\n changedFiles,\n };\n }),\n );\n\n return {\n success: true,\n gardens,\n };\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n message: `Error listing gardens: ${errorMessage}`,\n };\n }\n}\n\nexport async function gardensListHandler(): Promise<void> {\n const result = await listGardens();\n\n if (!result.success) {\n console.error(result.message);\n return;\n }\n\n if (!result.gardens || result.gardens.length === 0) {\n console.log(result.message || \"No gardens found\");\n return;\n }\n\n console.log(\"Gardens:\");\n for (const garden of result.gardens) {\n const statusText =\n garden.status === \"clean\"\n ? \"[clean]\"\n : `[dirty: ${garden.changedFiles} files]`;\n\n console.log(\n ` ${garden.name.padEnd(20)} (branch: ${garden.branch.padEnd(20)}) ${statusText}`,\n );\n }\n\n console.log(`\\nTotal: ${result.gardens.length} gardens`);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["exit", "access", "join", "exit", "exec", "promisify", "execAsync", "exit", "args", "join", "access", "args", "exit", "exec", "access", "join", "exit", "promisify", "execAsync", "promisify", "exec", "join", "access", "args", "exit", "exec", "access", "join", "promisify", "execAsync", "promisify", "exec", "join", "access", "commands", "exit"]
|
|
7
|
-
}
|