@navbook/cli 0.1.2 → 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.
Files changed (167) hide show
  1. package/dist/commands/complete.js +124 -0
  2. package/dist/commands/complete.js.map +1 -0
  3. package/dist/{cli/commands → commands}/compose.js +5 -3
  4. package/dist/commands/compose.js.map +1 -0
  5. package/dist/commands/doctor.js +56 -0
  6. package/dist/commands/doctor.js.map +1 -0
  7. package/dist/commands/entity.js +252 -0
  8. package/dist/commands/entity.js.map +1 -0
  9. package/dist/commands/feature.js +202 -0
  10. package/dist/commands/feature.js.map +1 -0
  11. package/dist/commands/init.js +23 -0
  12. package/dist/commands/init.js.map +1 -0
  13. package/dist/{cli/commands → commands}/install.js +1 -2
  14. package/dist/commands/install.js.map +1 -0
  15. package/dist/commands/issue.js +89 -0
  16. package/dist/commands/issue.js.map +1 -0
  17. package/dist/commands/policy.js +49 -0
  18. package/dist/commands/policy.js.map +1 -0
  19. package/dist/commands/pr.js +311 -0
  20. package/dist/commands/pr.js.map +1 -0
  21. package/dist/context.js +21 -0
  22. package/dist/context.js.map +1 -0
  23. package/dist/{cli/editor.js → editor.js} +1 -1
  24. package/dist/editor.js.map +1 -0
  25. package/dist/errors.js.map +1 -0
  26. package/dist/install/completions.js.map +1 -0
  27. package/dist/{cli/install → install}/hook.js +1 -1
  28. package/dist/install/hook.js.map +1 -0
  29. package/dist/{cli/main.js → main.js} +10 -0
  30. package/dist/main.js.map +1 -0
  31. package/dist/{cli/program.js → program.js} +162 -23
  32. package/dist/program.js.map +1 -0
  33. package/dist/{cli/prompt.js → prompt.js} +11 -0
  34. package/dist/prompt.js.map +1 -0
  35. package/dist/render/colors.js.map +1 -0
  36. package/dist/render/detail.js +197 -0
  37. package/dist/render/detail.js.map +1 -0
  38. package/dist/render/table.js.map +1 -0
  39. package/dist/sort.js +77 -0
  40. package/dist/sort.js.map +1 -0
  41. package/package.json +15 -21
  42. package/README.md +0 -165
  43. package/dist/cli/commands/complete.d.ts +0 -9
  44. package/dist/cli/commands/complete.js +0 -72
  45. package/dist/cli/commands/complete.js.map +0 -1
  46. package/dist/cli/commands/compose.d.ts +0 -27
  47. package/dist/cli/commands/compose.js.map +0 -1
  48. package/dist/cli/commands/doctor.d.ts +0 -14
  49. package/dist/cli/commands/doctor.js +0 -127
  50. package/dist/cli/commands/doctor.js.map +0 -1
  51. package/dist/cli/commands/entity.d.ts +0 -55
  52. package/dist/cli/commands/entity.js +0 -209
  53. package/dist/cli/commands/entity.js.map +0 -1
  54. package/dist/cli/commands/init.d.ts +0 -11
  55. package/dist/cli/commands/init.js +0 -39
  56. package/dist/cli/commands/init.js.map +0 -1
  57. package/dist/cli/commands/install.d.ts +0 -17
  58. package/dist/cli/commands/install.js.map +0 -1
  59. package/dist/cli/commands/issue.d.ts +0 -12
  60. package/dist/cli/commands/issue.js +0 -42
  61. package/dist/cli/commands/issue.js.map +0 -1
  62. package/dist/cli/commands/pr.d.ts +0 -64
  63. package/dist/cli/commands/pr.js +0 -466
  64. package/dist/cli/commands/pr.js.map +0 -1
  65. package/dist/cli/commit-flow.d.ts +0 -27
  66. package/dist/cli/commit-flow.js +0 -47
  67. package/dist/cli/commit-flow.js.map +0 -1
  68. package/dist/cli/context.d.ts +0 -39
  69. package/dist/cli/context.js +0 -93
  70. package/dist/cli/context.js.map +0 -1
  71. package/dist/cli/editor.d.ts +0 -23
  72. package/dist/cli/editor.js.map +0 -1
  73. package/dist/cli/errors.d.ts +0 -17
  74. package/dist/cli/errors.js.map +0 -1
  75. package/dist/cli/history-checks.d.ts +0 -21
  76. package/dist/cli/history-checks.js +0 -134
  77. package/dist/cli/history-checks.js.map +0 -1
  78. package/dist/cli/install/completions.d.ts +0 -19
  79. package/dist/cli/install/completions.js.map +0 -1
  80. package/dist/cli/install/hook.d.ts +0 -20
  81. package/dist/cli/install/hook.js.map +0 -1
  82. package/dist/cli/main.d.ts +0 -14
  83. package/dist/cli/main.js.map +0 -1
  84. package/dist/cli/program.d.ts +0 -23
  85. package/dist/cli/program.js.map +0 -1
  86. package/dist/cli/prompt.d.ts +0 -22
  87. package/dist/cli/prompt.js.map +0 -1
  88. package/dist/cli/render/colors.d.ts +0 -13
  89. package/dist/cli/render/colors.js.map +0 -1
  90. package/dist/cli/render/detail.d.ts +0 -10
  91. package/dist/cli/render/detail.js +0 -105
  92. package/dist/cli/render/detail.js.map +0 -1
  93. package/dist/cli/render/table.d.ts +0 -19
  94. package/dist/cli/render/table.js.map +0 -1
  95. package/dist/cli/resolve.d.ts +0 -17
  96. package/dist/cli/resolve.js +0 -68
  97. package/dist/cli/resolve.js.map +0 -1
  98. package/dist/cli/workspace.d.ts +0 -52
  99. package/dist/cli/workspace.js +0 -178
  100. package/dist/cli/workspace.js.map +0 -1
  101. package/dist/core/comments.d.ts +0 -31
  102. package/dist/core/comments.js +0 -80
  103. package/dist/core/comments.js.map +0 -1
  104. package/dist/core/files.d.ts +0 -88
  105. package/dist/core/files.js +0 -441
  106. package/dist/core/files.js.map +0 -1
  107. package/dist/core/frontmatter.d.ts +0 -63
  108. package/dist/core/frontmatter.js +0 -149
  109. package/dist/core/frontmatter.js.map +0 -1
  110. package/dist/core/id.d.ts +0 -46
  111. package/dist/core/id.js +0 -66
  112. package/dist/core/id.js.map +0 -1
  113. package/dist/core/index.d.ts +0 -19
  114. package/dist/core/index.js +0 -20
  115. package/dist/core/index.js.map +0 -1
  116. package/dist/core/json.d.ts +0 -18
  117. package/dist/core/json.js +0 -51
  118. package/dist/core/json.js.map +0 -1
  119. package/dist/core/ops.d.ts +0 -92
  120. package/dist/core/ops.js +0 -173
  121. package/dist/core/ops.js.map +0 -1
  122. package/dist/core/person.d.ts +0 -20
  123. package/dist/core/person.js +0 -50
  124. package/dist/core/person.js.map +0 -1
  125. package/dist/core/query.d.ts +0 -30
  126. package/dist/core/query.js +0 -106
  127. package/dist/core/query.js.map +0 -1
  128. package/dist/core/refs.d.ts +0 -12
  129. package/dist/core/refs.js +0 -36
  130. package/dist/core/refs.js.map +0 -1
  131. package/dist/core/slug.d.ts +0 -22
  132. package/dist/core/slug.js +0 -40
  133. package/dist/core/slug.js.map +0 -1
  134. package/dist/core/time.d.ts +0 -14
  135. package/dist/core/time.js +0 -37
  136. package/dist/core/time.js.map +0 -1
  137. package/dist/core/tree.d.ts +0 -94
  138. package/dist/core/tree.js +0 -237
  139. package/dist/core/tree.js.map +0 -1
  140. package/dist/core/validate.d.ts +0 -55
  141. package/dist/core/validate.js +0 -312
  142. package/dist/core/validate.js.map +0 -1
  143. package/dist/git/config.d.ts +0 -12
  144. package/dist/git/config.js +0 -27
  145. package/dist/git/config.js.map +0 -1
  146. package/dist/git/exec.d.ts +0 -35
  147. package/dist/git/exec.js +0 -58
  148. package/dist/git/exec.js.map +0 -1
  149. package/dist/git/history.d.ts +0 -35
  150. package/dist/git/history.js +0 -82
  151. package/dist/git/history.js.map +0 -1
  152. package/dist/git/index-ops.d.ts +0 -20
  153. package/dist/git/index-ops.js +0 -45
  154. package/dist/git/index-ops.js.map +0 -1
  155. package/dist/git/merge.d.ts +0 -27
  156. package/dist/git/merge.js +0 -57
  157. package/dist/git/merge.js.map +0 -1
  158. package/dist/git/refscan.d.ts +0 -32
  159. package/dist/git/refscan.js +0 -82
  160. package/dist/git/refscan.js.map +0 -1
  161. package/dist/git/repo.d.ts +0 -45
  162. package/dist/git/repo.js +0 -95
  163. package/dist/git/repo.js.map +0 -1
  164. /package/dist/{cli/errors.js → errors.js} +0 -0
  165. /package/dist/{cli/install → install}/completions.js +0 -0
  166. /package/dist/{cli/render → render}/colors.js +0 -0
  167. /package/dist/{cli/render → render}/table.js +0 -0
package/dist/git/repo.js DELETED
@@ -1,95 +0,0 @@
1
- /**
2
- * Repository discovery and identity.
3
- *
4
- * `.navbook/` always sits at the repository root (spec 02 §2.1), so "walk up
5
- * like git does" and "ask git for the top level" are the same answer.
6
- */
7
- import { existsSync } from "node:fs";
8
- import { join } from "node:path";
9
- import { git, gitMaybe, gitRun, splitLines } from "./exec.js";
10
- export const NAVBOOK_DIR = ".navbook";
11
- export class NotARepositoryError extends Error {
12
- }
13
- /** Locate the repository root containing `cwd`, and its `.navbook/` directory. */
14
- export function findRepo(cwd) {
15
- const top = gitMaybe(["rev-parse", "--show-toplevel"], { cwd });
16
- if (top === null) {
17
- throw new NotARepositoryError(`not inside a git repository: ${cwd}`);
18
- }
19
- const repoRoot = top;
20
- const navRoot = join(repoRoot, NAVBOOK_DIR);
21
- return { repoRoot, navRoot, hasNavbook: existsSync(navRoot) };
22
- }
23
- /** Current branch name, or null when HEAD is detached. */
24
- export function currentBranch(cwd) {
25
- const name = gitMaybe(["symbolic-ref", "--quiet", "--short", "HEAD"], { cwd });
26
- return name === null || name === "" ? null : name;
27
- }
28
- /** Resolve a revision to a full 40-hex SHA, or null when it does not exist. */
29
- export function resolveSha(cwd, rev) {
30
- const sha = gitMaybe(["rev-parse", "--verify", "--quiet", `${rev}^{commit}`], { cwd });
31
- return sha && /^[0-9a-f]{40}$/.test(sha) ? sha : null;
32
- }
33
- /** True when the repository has at least one commit. */
34
- export function hasCommits(cwd) {
35
- return resolveSha(cwd, "HEAD") !== null;
36
- }
37
- /**
38
- * The repository's default branch — the tracker of record (spec 03 §3.1).
39
- *
40
- * Prefers what `origin/HEAD` designates, then a configured `init.defaultBranch`
41
- * that actually exists, then conventional names, then the current branch.
42
- */
43
- export function defaultBranch(cwd) {
44
- const originHead = gitMaybe(["symbolic-ref", "--quiet", "--short", "refs/remotes/origin/HEAD"], {
45
- cwd,
46
- });
47
- if (originHead?.startsWith("origin/")) {
48
- const name = originHead.slice("origin/".length);
49
- if (name !== "")
50
- return name;
51
- }
52
- const branches = new Set(splitLines(gitMaybe(["for-each-ref", "--format=%(refname:short)", "refs/heads"], { cwd }) ?? ""));
53
- const configured = gitMaybe(["config", "--get", "init.defaultBranch"], { cwd });
54
- if (configured && branches.has(configured))
55
- return configured;
56
- for (const candidate of ["main", "master", "trunk"]) {
57
- if (branches.has(candidate))
58
- return candidate;
59
- }
60
- return currentBranch(cwd);
61
- }
62
- export class MissingIdentityError extends Error {
63
- }
64
- /** Author identity from `git config user.name` / `user.email` (spec 04 §4.2). */
65
- export function userIdentity(cwd) {
66
- const email = gitMaybe(["config", "--get", "user.email"], { cwd });
67
- if (!email) {
68
- throw new MissingIdentityError("git user.email is not configured; run `git config --global user.email you@example.com`");
69
- }
70
- const name = gitMaybe(["config", "--get", "user.name"], { cwd });
71
- return name ? { name, email } : { email };
72
- }
73
- /** True when the working tree and index have no changes at all. */
74
- export function isTreeClean(cwd) {
75
- const status = gitRun(["status", "--porcelain"], { cwd });
76
- return status.code === 0 && status.stdout.trim() === "";
77
- }
78
- /** True when a merge is currently in progress. */
79
- export function isMergeInProgress(cwd) {
80
- const gitDir = gitMaybe(["rev-parse", "--git-dir"], { cwd });
81
- if (!gitDir)
82
- return false;
83
- const absolute = gitDir.startsWith("/") ? gitDir : join(cwd, gitDir);
84
- return existsSync(join(absolute, "MERGE_HEAD"));
85
- }
86
- /** Absolute path of the repository's git directory. */
87
- export function gitDir(cwd) {
88
- return git(["rev-parse", "--absolute-git-dir"], { cwd }).trim();
89
- }
90
- /** Absolute path of the hooks directory git will actually use. */
91
- export function hooksDir(cwd) {
92
- const path = git(["rev-parse", "--git-path", "hooks"], { cwd }).trim();
93
- return path.startsWith("/") ? path : join(cwd, path);
94
- }
95
- //# sourceMappingURL=repo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo.js","sourceRoot":"","sources":["../../src/git/repo.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes