@einja/dev-cli 0.1.9 → 0.1.10

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 (223) hide show
  1. package/README.md +30 -2
  2. package/dist/cli.js +3 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +11 -6
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/list.js +1 -1
  8. package/dist/commands/list.js.map +1 -1
  9. package/dist/commands/sync.d.ts.map +1 -1
  10. package/dist/commands/sync.js +69 -7
  11. package/dist/commands/sync.js.map +1 -1
  12. package/dist/commands/sync.test.js +11 -25
  13. package/dist/commands/sync.test.js.map +1 -1
  14. package/dist/commands/task-loop/index.d.ts.map +1 -1
  15. package/dist/commands/task-loop/index.js +5 -2
  16. package/dist/commands/task-loop/index.js.map +1 -1
  17. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.d.ts +227 -0
  18. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.d.ts.map +1 -0
  19. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.js +351 -0
  20. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.js.map +1 -0
  21. package/dist/commands/task-loop/lib/__mocks__/sample-issues.d.ts +46 -0
  22. package/dist/commands/task-loop/lib/__mocks__/sample-issues.d.ts.map +1 -0
  23. package/dist/commands/task-loop/lib/__mocks__/sample-issues.js +224 -0
  24. package/dist/commands/task-loop/lib/__mocks__/sample-issues.js.map +1 -0
  25. package/dist/commands/task-loop/lib/branch-manager.d.ts.map +1 -1
  26. package/dist/commands/task-loop/lib/branch-manager.js +14 -8
  27. package/dist/commands/task-loop/lib/branch-manager.js.map +1 -1
  28. package/dist/commands/task-loop/lib/branch-manager.test.d.ts +2 -0
  29. package/dist/commands/task-loop/lib/branch-manager.test.d.ts.map +1 -0
  30. package/dist/commands/task-loop/lib/branch-manager.test.js +539 -0
  31. package/dist/commands/task-loop/lib/branch-manager.test.js.map +1 -0
  32. package/dist/commands/task-loop/lib/conflict-handler.js +1 -1
  33. package/dist/commands/task-loop/lib/conflict-handler.js.map +1 -1
  34. package/dist/commands/task-loop/lib/dependency-resolver.test.d.ts +2 -0
  35. package/dist/commands/task-loop/lib/dependency-resolver.test.d.ts.map +1 -0
  36. package/dist/commands/task-loop/lib/dependency-resolver.test.js +1129 -0
  37. package/dist/commands/task-loop/lib/dependency-resolver.test.js.map +1 -0
  38. package/dist/commands/task-loop/lib/gh-setup.d.ts.map +1 -1
  39. package/dist/commands/task-loop/lib/gh-setup.js.map +1 -1
  40. package/dist/commands/task-loop/lib/github-client.d.ts.map +1 -1
  41. package/dist/commands/task-loop/lib/github-client.js +3 -3
  42. package/dist/commands/task-loop/lib/github-client.js.map +1 -1
  43. package/dist/commands/task-loop/lib/github-client.test.d.ts +2 -0
  44. package/dist/commands/task-loop/lib/github-client.test.d.ts.map +1 -0
  45. package/dist/commands/task-loop/lib/github-client.test.js +377 -0
  46. package/dist/commands/task-loop/lib/github-client.test.js.map +1 -0
  47. package/dist/commands/task-loop/lib/issue-parser.js +4 -4
  48. package/dist/commands/task-loop/lib/issue-parser.js.map +1 -1
  49. package/dist/commands/task-loop/lib/issue-parser.test.d.ts +2 -0
  50. package/dist/commands/task-loop/lib/issue-parser.test.d.ts.map +1 -0
  51. package/dist/commands/task-loop/lib/issue-parser.test.js +854 -0
  52. package/dist/commands/task-loop/lib/issue-parser.test.js.map +1 -0
  53. package/dist/commands/task-loop/lib/pull-request-manager.d.ts +35 -0
  54. package/dist/commands/task-loop/lib/pull-request-manager.d.ts.map +1 -0
  55. package/dist/commands/task-loop/lib/pull-request-manager.js +150 -0
  56. package/dist/commands/task-loop/lib/pull-request-manager.js.map +1 -0
  57. package/dist/commands/task-loop/lib/task-number-utils.d.ts +10 -4
  58. package/dist/commands/task-loop/lib/task-number-utils.d.ts.map +1 -1
  59. package/dist/commands/task-loop/lib/task-number-utils.js +19 -10
  60. package/dist/commands/task-loop/lib/task-number-utils.js.map +1 -1
  61. package/dist/commands/task-loop/lib/task-number-utils.test.d.ts +2 -0
  62. package/dist/commands/task-loop/lib/task-number-utils.test.d.ts.map +1 -0
  63. package/dist/commands/task-loop/lib/task-number-utils.test.js +379 -0
  64. package/dist/commands/task-loop/lib/task-number-utils.test.js.map +1 -0
  65. package/dist/commands/task-loop/lib/task-state-manager.d.ts.map +1 -1
  66. package/dist/commands/task-loop/lib/task-state-manager.js +1 -1
  67. package/dist/commands/task-loop/lib/task-state-manager.js.map +1 -1
  68. package/dist/commands/task-loop/lib/task-state-manager.test.d.ts +2 -0
  69. package/dist/commands/task-loop/lib/task-state-manager.test.d.ts.map +1 -0
  70. package/dist/commands/task-loop/lib/task-state-manager.test.js +541 -0
  71. package/dist/commands/task-loop/lib/task-state-manager.test.js.map +1 -0
  72. package/dist/lib/mcp-config.d.ts.map +1 -1
  73. package/dist/lib/mcp-config.js +8 -4
  74. package/dist/lib/mcp-config.js.map +1 -1
  75. package/dist/lib/mcp-config.test.js +2 -2
  76. package/dist/lib/mcp-config.test.js.map +1 -1
  77. package/dist/lib/merger.d.ts.map +1 -1
  78. package/dist/lib/merger.js.map +1 -1
  79. package/dist/lib/preset-update/cli-repo-detector.test.js.map +1 -1
  80. package/dist/lib/preset-update/file-copier.d.ts +2 -0
  81. package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
  82. package/dist/lib/preset-update/file-copier.js +12 -8
  83. package/dist/lib/preset-update/file-copier.js.map +1 -1
  84. package/dist/lib/preset-update/file-copier.test.js +36 -5
  85. package/dist/lib/preset-update/file-copier.test.js.map +1 -1
  86. package/dist/lib/preset-update/preset-finder.d.ts +1 -1
  87. package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
  88. package/dist/lib/preset-update/preset-finder.js +1 -1
  89. package/dist/lib/preset-update/preset-finder.js.map +1 -1
  90. package/dist/lib/preset-update/preset-finder.test.js +11 -11
  91. package/dist/lib/preset-update/preset-finder.test.js.map +1 -1
  92. package/dist/lib/preset.js +3 -3
  93. package/dist/lib/preset.js.map +1 -1
  94. package/dist/lib/sync/backup-manager.d.ts.map +1 -1
  95. package/dist/lib/sync/backup-manager.js +1 -1
  96. package/dist/lib/sync/backup-manager.js.map +1 -1
  97. package/dist/lib/sync/backup-manager.test.js +2 -2
  98. package/dist/lib/sync/backup-manager.test.js.map +1 -1
  99. package/dist/lib/sync/batch-processor.d.ts.map +1 -1
  100. package/dist/lib/sync/batch-processor.js.map +1 -1
  101. package/dist/lib/sync/batch-processor.test.js.map +1 -1
  102. package/dist/lib/sync/category-validator.d.ts.map +1 -1
  103. package/dist/lib/sync/category-validator.js.map +1 -1
  104. package/dist/lib/sync/category-validator.test.js +2 -11
  105. package/dist/lib/sync/category-validator.test.js.map +1 -1
  106. package/dist/lib/sync/conflict-reporter.d.ts.map +1 -1
  107. package/dist/lib/sync/conflict-reporter.js +1 -2
  108. package/dist/lib/sync/conflict-reporter.js.map +1 -1
  109. package/dist/lib/sync/conflict-reporter.test.js +2 -7
  110. package/dist/lib/sync/conflict-reporter.test.js.map +1 -1
  111. package/dist/lib/sync/diff-engine.d.ts.map +1 -1
  112. package/dist/lib/sync/diff-engine.js +2 -4
  113. package/dist/lib/sync/diff-engine.js.map +1 -1
  114. package/dist/lib/sync/diff-engine.test.js.map +1 -1
  115. package/dist/lib/sync/file-filter.d.ts.map +1 -1
  116. package/dist/lib/sync/file-filter.js +26 -3
  117. package/dist/lib/sync/file-filter.js.map +1 -1
  118. package/dist/lib/sync/file-filter.test.js +26 -2
  119. package/dist/lib/sync/file-filter.test.js.map +1 -1
  120. package/dist/lib/sync/hash-cache.d.ts.map +1 -1
  121. package/dist/lib/sync/hash-cache.js.map +1 -1
  122. package/dist/lib/sync/hash-cache.test.js +2 -2
  123. package/dist/lib/sync/hash-cache.test.js.map +1 -1
  124. package/dist/lib/sync/integration.test.js +289 -2
  125. package/dist/lib/sync/integration.test.js.map +1 -1
  126. package/dist/lib/sync/marker-processor.d.ts +34 -10
  127. package/dist/lib/sync/marker-processor.d.ts.map +1 -1
  128. package/dist/lib/sync/marker-processor.js +142 -41
  129. package/dist/lib/sync/marker-processor.js.map +1 -1
  130. package/dist/lib/sync/marker-processor.test.js +134 -1
  131. package/dist/lib/sync/marker-processor.test.js.map +1 -1
  132. package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
  133. package/dist/lib/sync/metadata-manager.js.map +1 -1
  134. package/dist/lib/sync/metadata-manager.test.js +4 -6
  135. package/dist/lib/sync/metadata-manager.test.js.map +1 -1
  136. package/dist/lib/sync/performance.test.js +2 -2
  137. package/dist/lib/sync/performance.test.js.map +1 -1
  138. package/dist/lib/sync/seed-synchronizer.d.ts +27 -0
  139. package/dist/lib/sync/seed-synchronizer.d.ts.map +1 -0
  140. package/dist/lib/sync/seed-synchronizer.js +72 -0
  141. package/dist/lib/sync/seed-synchronizer.js.map +1 -0
  142. package/dist/lib/sync/seed-synchronizer.test.d.ts +2 -0
  143. package/dist/lib/sync/seed-synchronizer.test.d.ts.map +1 -0
  144. package/dist/lib/sync/seed-synchronizer.test.js +147 -0
  145. package/dist/lib/sync/seed-synchronizer.test.js.map +1 -0
  146. package/dist/types/index.d.ts.map +1 -1
  147. package/dist/types/preset-update.d.ts +1 -1
  148. package/dist/types/sync.d.ts +4 -2
  149. package/dist/types/sync.d.ts.map +1 -1
  150. package/dist/types/sync.js.map +1 -1
  151. package/package.json +1 -1
  152. package/presets/default/.claude/agents/einja/backend-architect.md +1131 -0
  153. package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/design-engineer.md +1 -1
  154. package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/frontend-architect.md +1 -1
  155. package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/frontend-coder.md +1 -37
  156. package/presets/{minimal → default}/.claude/agents/einja/task/task-committer.md +12 -6
  157. package/presets/{minimal → default}/.claude/agents/einja/task/task-executer.md +9 -9
  158. package/presets/{minimal → default}/.claude/commands/einja/frontend-implement.md +1 -1
  159. package/presets/{minimal → default}/.claude/commands/einja/update-docs-by-task-specs.md +6 -6
  160. package/presets/{minimal/.claude/skills/einja/api-development → default/.claude/skills/einja-api-development}/SKILL.md +5 -5
  161. package/presets/{minimal/.claude/skills/einja/backend-architecture → default/.claude/skills/einja-backend-architecture}/SKILL.md +5 -5
  162. package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/SKILL.md +6 -6
  163. package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/SKILL.md +6 -6
  164. package/presets/{minimal/.claude/skills/einja/frontend-development → default/.claude/skills/einja-frontend-development}/SKILL.md +5 -5
  165. package/presets/{minimal/.claude/skills/einja/output-format → default/.claude/skills/einja-output-format}/SKILL.md +54 -5
  166. package/presets/{minimal → default}/preset.yaml +1 -1
  167. package/presets/{minimal → default}/symlinks.json +10 -10
  168. package/scaffolds/CLAUDE.md.template +4 -4
  169. package/scaffolds/steering/README.md +42 -0
  170. package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +11 -0
  171. package/scaffolds/steering/architecture.md +11 -0
  172. package/scaffolds/steering/branch-strategy.md +11 -0
  173. package/scaffolds/steering/commit-rules.md +12 -1
  174. package/scaffolds/steering/db-schema-design.md +11 -0
  175. package/scaffolds/steering/development/api-development.md +15 -4
  176. package/scaffolds/steering/development/backend-architecture.md +11 -0
  177. package/scaffolds/steering/development/frontend-development.md +11 -0
  178. package/scaffolds/steering/development/review-guidelines.md +11 -0
  179. package/scaffolds/steering/development/testing-strategy.md +85 -0
  180. package/scaffolds/steering/development-workflow.md +11 -0
  181. package/scaffolds/steering/infrastructure/deployment.md +11 -0
  182. package/scaffolds/steering/infrastructure/environment-variables.md +11 -0
  183. package/scaffolds/steering/product.md +11 -0
  184. package/scaffolds/steering/task-management.md +11 -0
  185. /package/presets/{minimal → default}/.claude/agents/einja/docs/docs-updater.md +0 -0
  186. /package/presets/{minimal → default}/.claude/agents/einja/git/conflict-resolver.md +0 -0
  187. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-design-generator.md +0 -0
  188. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-qa-generator.md +0 -0
  189. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-requirements-generator.md +0 -0
  190. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-tasks-generator.md +0 -0
  191. /package/presets/{minimal → default}/.claude/agents/einja/task/task-modification-analyzer.md +0 -0
  192. /package/presets/{minimal → default}/.claude/agents/einja/task/task-qa.md +0 -0
  193. /package/presets/{minimal → default}/.claude/agents/einja/task/task-reviewer.md +0 -0
  194. /package/presets/{minimal → default}/.claude/commands/einja/spec-create.md +0 -0
  195. /package/presets/{minimal → default}/.claude/commands/einja/start-dev.md +0 -0
  196. /package/presets/{minimal → default}/.claude/commands/einja/sync-cursor-commands.md +0 -0
  197. /package/presets/{minimal → default}/.claude/commands/einja/task-exec.md +0 -0
  198. /package/presets/{minimal → default}/.claude/hooks/einja/biome-format.sh +0 -0
  199. /package/presets/{minimal → default}/.claude/hooks/einja/design-doc-check.sh +0 -0
  200. /package/presets/{minimal → default}/.claude/hooks/einja/detect-secrets.sh +0 -0
  201. /package/presets/{minimal → default}/.claude/hooks/einja/large-file-warning.sh +0 -0
  202. /package/presets/{minimal → default}/.claude/hooks/einja/playwright-resize.sh +0 -0
  203. /package/presets/{minimal → default}/.claude/hooks/einja/typecheck.sh +0 -0
  204. /package/presets/{minimal → default}/.claude/hooks/einja/unset-volta-recursion.sh +0 -0
  205. /package/presets/{minimal → default}/.claude/hooks/einja/validate-git-commit.sh +0 -0
  206. /package/presets/{minimal → default}/.claude/hooks/einja/warn-index-ts.sh +0 -0
  207. /package/presets/{minimal → default}/.claude/hooks/einja/warn-relative-import.sh +0 -0
  208. /package/presets/{minimal → default}/.claude/settings.json +0 -0
  209. /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/naming-conventions.md +0 -0
  210. /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/prohibited-patterns.md +0 -0
  211. /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/typescript-rules.md +0 -0
  212. /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/directory-structure.md +0 -0
  213. /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/props-patterns.md +0 -0
  214. /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/styling-guide.md +0 -0
  215. /package/presets/{minimal/.claude/skills/einja/conflict-resolver → default/.claude/skills/einja-conflict-resolver}/SKILL.md +0 -0
  216. /package/presets/{minimal/.claude/skills/einja/general-context-loader → default/.claude/skills/einja-general-context-loader}/SKILL.md +0 -0
  217. /package/presets/{minimal/.claude/skills/einja/spec-context-loader → default/.claude/skills/einja-spec-context-loader}/SKILL.md +0 -0
  218. /package/presets/{minimal/.claude/skills/einja/task-commit → default/.claude/skills/einja-task-commit}/SKILL.md +0 -0
  219. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/SKILL.md +0 -0
  220. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/failure-patterns.md +0 -0
  221. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/troubleshooting.md +0 -0
  222. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/usage-patterns.md +0 -0
  223. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/templates/qa-test-template.md +0 -0
@@ -0,0 +1,379 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { getPhaseNumber, getTaskGroupId, isEqual, isLess, isLessOrEqual, isWithinRange, parseTaskNumber, sortTaskNumbers, toSortKey, } from "./task-number-utils.js";
3
+ describe("task-number-utils", () => {
4
+ describe("parseTaskNumber", () => {
5
+ // 正常系
6
+ it("'1.2.3'をパースすると[1, 2, 3]を返す", () => {
7
+ // Given: ドット区切りのタスク番号
8
+ const input = "1.2.3";
9
+ // When: パース実行
10
+ const result = parseTaskNumber(input);
11
+ // Then: 数値配列として返る
12
+ expect(result).toEqual([1, 2, 3]);
13
+ });
14
+ it("'1'をパースすると[1]を返す", () => {
15
+ // Given: 単一セグメントのタスク番号
16
+ const input = "1";
17
+ // When: パース実行
18
+ const result = parseTaskNumber(input);
19
+ // Then: 1要素の配列として返る
20
+ expect(result).toEqual([1]);
21
+ });
22
+ it("空文字をパースすると空配列を返す", () => {
23
+ // Given: 空文字
24
+ const input = "";
25
+ // When: パース実行
26
+ const result = parseTaskNumber(input);
27
+ // Then: 空配列が返る
28
+ expect(result).toEqual([Number.NaN]);
29
+ });
30
+ // 異常系・境界値
31
+ it("'1.a.3'のような無効トークンの場合、NaNを含む配列を返す", () => {
32
+ // Given: 無効なセグメントを含むタスク番号
33
+ const input = "1.a.3";
34
+ // When: パース実行
35
+ const result = parseTaskNumber(input);
36
+ // Then: NaNを含む配列が返る
37
+ expect(result).toEqual([1, Number.NaN, 3]);
38
+ });
39
+ it("'01.02'のような先頭ゼロの場合、[1, 2]として正規化する", () => {
40
+ // Given: 先頭ゼロを含むタスク番号
41
+ const input = "01.02";
42
+ // When: パース実行
43
+ const result = parseTaskNumber(input);
44
+ // Then: 先頭ゼロが除去された数値配列として返る
45
+ expect(result).toEqual([1, 2]);
46
+ });
47
+ it("'1.2.3.4.5.6'のような深いネストも正常に処理する", () => {
48
+ // Given: 深いネストのタスク番号
49
+ const input = "1.2.3.4.5.6";
50
+ // When: パース実行
51
+ const result = parseTaskNumber(input);
52
+ // Then: 全セグメントがパースされる
53
+ expect(result).toEqual([1, 2, 3, 4, 5, 6]);
54
+ });
55
+ });
56
+ describe("isLessOrEqual", () => {
57
+ it("'1.2.3'と'1.2.5'を比較するとtrueを返す", () => {
58
+ // Given: a < b の関係にあるタスク番号
59
+ const a = "1.2.3";
60
+ const b = "1.2.5";
61
+ // When: a <= b を比較
62
+ const result = isLessOrEqual(a, b);
63
+ // Then: trueが返る
64
+ expect(result).toBe(true);
65
+ });
66
+ it("'1.2.5'と'1.2.5'を比較するとtrueを返す", () => {
67
+ // Given: 同じタスク番号
68
+ const a = "1.2.5";
69
+ const b = "1.2.5";
70
+ // When: a <= b を比較
71
+ const result = isLessOrEqual(a, b);
72
+ // Then: trueが返る
73
+ expect(result).toBe(true);
74
+ });
75
+ it("'1.2.6'と'1.2.5'を比較するとfalseを返す", () => {
76
+ // Given: a > b の関係にあるタスク番号
77
+ const a = "1.2.6";
78
+ const b = "1.2.5";
79
+ // When: a <= b を比較
80
+ const result = isLessOrEqual(a, b);
81
+ // Then: falseが返る
82
+ expect(result).toBe(false);
83
+ });
84
+ it("'1.2'と'1.2.0'のような異なる長さでも正しく比較する", () => {
85
+ // Given: 異なる長さのタスク番号
86
+ const a = "1.2";
87
+ const b = "1.2.0";
88
+ // When: a <= b を比較
89
+ const result = isLessOrEqual(a, b);
90
+ // Then: trueが返る(1.2.0 は 1.2 と等価)
91
+ expect(result).toBe(true);
92
+ });
93
+ it("'1.2.0'と'1.2'のような異なる長さでも正しく比較する(逆順)", () => {
94
+ // Given: 異なる長さのタスク番号(逆順)
95
+ const a = "1.2.0";
96
+ const b = "1.2";
97
+ // When: a <= b を比較
98
+ const result = isLessOrEqual(a, b);
99
+ // Then: trueが返る(1.2.0 は 1.2 と等価)
100
+ expect(result).toBe(true);
101
+ });
102
+ it("'1.3'と'1.2.5'を比較するとfalseを返す", () => {
103
+ // Given: 上位セグメントが異なるタスク番号
104
+ const a = "1.3";
105
+ const b = "1.2.5";
106
+ // When: a <= b を比較
107
+ const result = isLessOrEqual(a, b);
108
+ // Then: falseが返る(1.3 > 1.2.5)
109
+ expect(result).toBe(false);
110
+ });
111
+ });
112
+ describe("isLess", () => {
113
+ it("'1.2.3'と'1.2.5'を比較するとtrueを返す", () => {
114
+ // Given: a < b の関係にあるタスク番号
115
+ const a = "1.2.3";
116
+ const b = "1.2.5";
117
+ // When: a < b を比較
118
+ const result = isLess(a, b);
119
+ // Then: trueが返る
120
+ expect(result).toBe(true);
121
+ });
122
+ it("'1.2.5'と'1.2.5'を比較するとfalseを返す", () => {
123
+ // Given: 同じタスク番号
124
+ const a = "1.2.5";
125
+ const b = "1.2.5";
126
+ // When: a < b を比較
127
+ const result = isLess(a, b);
128
+ // Then: falseが返る(等しい場合はfalse)
129
+ expect(result).toBe(false);
130
+ });
131
+ // 境界値テスト: 末尾ゼロの扱い
132
+ it("'1.2'と'1.2.0'を比較するとfalseを返す(末尾ゼロは同値として扱う)", () => {
133
+ // Given: 末尾ゼロを含む同値のタスク番号
134
+ const a = "1.2";
135
+ const b = "1.2.0";
136
+ // When: a < b を比較
137
+ const result = isLess(a, b);
138
+ // Then: falseが返る(同値なので < ではない)
139
+ expect(result).toBe(false);
140
+ });
141
+ it("'1.2.0'と'1.2'を比較するとfalseを返す(末尾ゼロは同値として扱う)", () => {
142
+ // Given: 末尾ゼロを含む同値のタスク番号(逆順)
143
+ const a = "1.2.0";
144
+ const b = "1.2";
145
+ // When: a < b を比較
146
+ const result = isLess(a, b);
147
+ // Then: falseが返る(同値なので < ではない)
148
+ expect(result).toBe(false);
149
+ });
150
+ it("'1.2.0.0'と'1.2'を比較するとfalseを返す(複数の末尾ゼロも同値)", () => {
151
+ // Given: 複数の末尾ゼロを含むタスク番号
152
+ const a = "1.2.0.0";
153
+ const b = "1.2";
154
+ // When: a < b を比較
155
+ const result = isLess(a, b);
156
+ // Then: falseが返る(同値なので < ではない)
157
+ expect(result).toBe(false);
158
+ });
159
+ });
160
+ describe("isEqual", () => {
161
+ it("'1.2.3'と'1.2.3'を比較するとtrueを返す", () => {
162
+ // Given: 同じタスク番号
163
+ const a = "1.2.3";
164
+ const b = "1.2.3";
165
+ // When: a == b を比較
166
+ const result = isEqual(a, b);
167
+ // Then: trueが返る
168
+ expect(result).toBe(true);
169
+ });
170
+ it("'1.2.3'と'1.2.4'を比較するとfalseを返す", () => {
171
+ // Given: 異なるタスク番号
172
+ const a = "1.2.3";
173
+ const b = "1.2.4";
174
+ // When: a == b を比較
175
+ const result = isEqual(a, b);
176
+ // Then: falseが返る
177
+ expect(result).toBe(false);
178
+ });
179
+ // 境界値テスト: 末尾ゼロの扱い
180
+ it("'1.2'と'1.2.0'を比較するとtrueを返す(末尾ゼロは同値として扱う)", () => {
181
+ // Given: 異なる長さのタスク番号(末尾ゼロ)
182
+ const a = "1.2";
183
+ const b = "1.2.0";
184
+ // When: a == b を比較
185
+ const result = isEqual(a, b);
186
+ // Then: trueが返る(1.2 と 1.2.0 は数値的に同値)
187
+ expect(result).toBe(true);
188
+ });
189
+ it("'1.2.0'と'1.2'を比較するとtrueを返す(末尾ゼロは同値として扱う)", () => {
190
+ // Given: 異なる長さのタスク番号(逆順)
191
+ const a = "1.2.0";
192
+ const b = "1.2";
193
+ // When: a == b を比較
194
+ const result = isEqual(a, b);
195
+ // Then: trueが返る(1.2.0 と 1.2 は数値的に同値)
196
+ expect(result).toBe(true);
197
+ });
198
+ it("'1.2.0.0'と'1.2'を比較するとtrueを返す(複数の末尾ゼロも同値)", () => {
199
+ // Given: 複数の末尾ゼロを含むタスク番号
200
+ const a = "1.2.0.0";
201
+ const b = "1.2";
202
+ // When: a == b を比較
203
+ const result = isEqual(a, b);
204
+ // Then: trueが返る(末尾ゼロはすべて0として扱われる)
205
+ expect(result).toBe(true);
206
+ });
207
+ it("'1.2.1'と'1.2.0'を比較するとfalseを返す(末尾が異なる)", () => {
208
+ // Given: 末尾が異なるタスク番号
209
+ const a = "1.2.1";
210
+ const b = "1.2.0";
211
+ // When: a == b を比較
212
+ const result = isEqual(a, b);
213
+ // Then: falseが返る(1.2.1 と 1.2.0 は異なる)
214
+ expect(result).toBe(false);
215
+ });
216
+ });
217
+ describe("getPhaseNumber", () => {
218
+ it("'1.2.3'からフェーズ番号1を抽出する", () => {
219
+ // Given: タスク番号
220
+ const taskNumber = "1.2.3";
221
+ // When: フェーズ番号を抽出
222
+ const result = getPhaseNumber(taskNumber);
223
+ // Then: 1が返る
224
+ expect(result).toBe(1);
225
+ });
226
+ it("'2'からフェーズ番号2を抽出する", () => {
227
+ // Given: フェーズ番号のみのタスク番号
228
+ const taskNumber = "2";
229
+ // When: フェーズ番号を抽出
230
+ const result = getPhaseNumber(taskNumber);
231
+ // Then: 2が返る
232
+ expect(result).toBe(2);
233
+ });
234
+ });
235
+ describe("getTaskGroupId", () => {
236
+ it("'1.2.3'からタスクグループID '1.2'を抽出する", () => {
237
+ // Given: タスク番号
238
+ const taskNumber = "1.2.3";
239
+ // When: タスクグループIDを抽出
240
+ const result = getTaskGroupId(taskNumber);
241
+ // Then: '1.2'が返る
242
+ expect(result).toBe("1.2");
243
+ });
244
+ it("'1.2'からタスクグループID '1.2'を抽出する", () => {
245
+ // Given: タスクグループIDのみのタスク番号
246
+ const taskNumber = "1.2";
247
+ // When: タスクグループIDを抽出
248
+ const result = getTaskGroupId(taskNumber);
249
+ // Then: '1.2'が返る
250
+ expect(result).toBe("1.2");
251
+ });
252
+ it("'1'からタスクグループID '1'を抽出する", () => {
253
+ // Given: フェーズ番号のみのタスク番号
254
+ const taskNumber = "1";
255
+ // When: タスクグループIDを抽出
256
+ const result = getTaskGroupId(taskNumber);
257
+ // Then: '1'が返る
258
+ expect(result).toBe("1");
259
+ });
260
+ });
261
+ describe("isWithinRange", () => {
262
+ it("maxTaskNumberが'all'の場合、常にtrueを返す", () => {
263
+ // Given: maxTaskNumberが'all'
264
+ const taskNumber = "999.999.999";
265
+ const maxTaskNumber = "all";
266
+ // When: 範囲チェック
267
+ const result = isWithinRange(taskNumber, maxTaskNumber);
268
+ // Then: trueが返る
269
+ expect(result).toBe(true);
270
+ });
271
+ it("maxTaskNumberがundefinedの場合、常にtrueを返す", () => {
272
+ // Given: maxTaskNumberがundefined
273
+ const taskNumber = "999.999.999";
274
+ const maxTaskNumber = undefined;
275
+ // When: 範囲チェック
276
+ const result = isWithinRange(taskNumber, maxTaskNumber);
277
+ // Then: trueが返る
278
+ expect(result).toBe(true);
279
+ });
280
+ it("maxTaskNumberが'1.3'でtaskNumberが'1.2'の場合、trueを返す", () => {
281
+ // Given: taskNumber <= maxTaskNumber
282
+ const taskNumber = "1.2";
283
+ const maxTaskNumber = "1.3";
284
+ // When: 範囲チェック
285
+ const result = isWithinRange(taskNumber, maxTaskNumber);
286
+ // Then: trueが返る
287
+ expect(result).toBe(true);
288
+ });
289
+ it("maxTaskNumberが'1.3'でtaskNumberが'1.4'の場合、falseを返す", () => {
290
+ // Given: taskNumber > maxTaskNumber
291
+ const taskNumber = "1.4";
292
+ const maxTaskNumber = "1.3";
293
+ // When: 範囲チェック
294
+ const result = isWithinRange(taskNumber, maxTaskNumber);
295
+ // Then: falseが返る
296
+ expect(result).toBe(false);
297
+ });
298
+ it("maxTaskNumberが'1.3'でtaskNumberが'1.3'の場合、trueを返す", () => {
299
+ // Given: taskNumber == maxTaskNumber
300
+ const taskNumber = "1.3";
301
+ const maxTaskNumber = "1.3";
302
+ // When: 範囲チェック
303
+ const result = isWithinRange(taskNumber, maxTaskNumber);
304
+ // Then: trueが返る(等しい場合も範囲内)
305
+ expect(result).toBe(true);
306
+ });
307
+ });
308
+ describe("toSortKey", () => {
309
+ it("'1.2.3'をソートキー1002003000に変換する", () => {
310
+ // Given: タスク番号
311
+ const taskNumber = "1.2.3";
312
+ // When: ソートキーに変換
313
+ const result = toSortKey(taskNumber);
314
+ // Then: 1002003000が返る(1*1000000000 + 2*1000000 + 3*1000)
315
+ expect(result).toBe(1002003000);
316
+ });
317
+ it("'1'をソートキー1000000000に変換する", () => {
318
+ // Given: フェーズ番号のみ
319
+ const taskNumber = "1";
320
+ // When: ソートキーに変換
321
+ const result = toSortKey(taskNumber);
322
+ // Then: 1000000000が返る
323
+ expect(result).toBe(1000000000);
324
+ });
325
+ it("'1.10'をソートキー1010000000に変換する", () => {
326
+ // Given: 2桁のセグメントを含むタスク番号
327
+ const taskNumber = "1.10";
328
+ // When: ソートキーに変換
329
+ const result = toSortKey(taskNumber);
330
+ // Then: 1010000000が返る(1*1000000000 + 10*1000000)
331
+ expect(result).toBe(1010000000);
332
+ });
333
+ });
334
+ describe("sortTaskNumbers", () => {
335
+ it("['1.2', '1.1', '2.1']をソートすると['1.1', '1.2', '2.1']になる", () => {
336
+ // Given: 順不同のタスク番号配列
337
+ const taskNumbers = ["1.2", "1.1", "2.1"];
338
+ // When: ソート実行
339
+ const result = sortTaskNumbers(taskNumbers);
340
+ // Then: 昇順にソートされる
341
+ expect(result).toEqual(["1.1", "1.2", "2.1"]);
342
+ });
343
+ it("['1.10', '1.2']をソートすると数値順['1.2', '1.10']になる", () => {
344
+ // Given: 辞書順と数値順が異なる配列
345
+ const taskNumbers = ["1.10", "1.2"];
346
+ // When: ソート実行
347
+ const result = sortTaskNumbers(taskNumbers);
348
+ // Then: 数値順でソートされる
349
+ expect(result).toEqual(["1.2", "1.10"]);
350
+ });
351
+ it("空配列をソートすると空配列を返す", () => {
352
+ // Given: 空配列
353
+ const taskNumbers = [];
354
+ // When: ソート実行
355
+ const result = sortTaskNumbers(taskNumbers);
356
+ // Then: 空配列が返る
357
+ expect(result).toEqual([]);
358
+ });
359
+ it("複雑なタスク番号をソートすると正しい順序になる", () => {
360
+ // Given: 複雑なタスク番号配列
361
+ const taskNumbers = ["2.1.1", "1.10.2", "1.2.3", "1.10.1", "1.1.1"];
362
+ // When: ソート実行
363
+ const result = sortTaskNumbers(taskNumbers);
364
+ // Then: 数値順で正しくソートされる
365
+ expect(result).toEqual(["1.1.1", "1.2.3", "1.10.1", "1.10.2", "2.1.1"]);
366
+ });
367
+ it("元の配列を変更しない(非破壊的)", () => {
368
+ // Given: 順不同のタスク番号配列
369
+ const taskNumbers = ["1.2", "1.1", "2.1"];
370
+ const originalCopy = [...taskNumbers];
371
+ // When: ソート実行
372
+ const result = sortTaskNumbers(taskNumbers);
373
+ // Then: 元の配列は変更されない
374
+ expect(taskNumbers).toEqual(originalCopy);
375
+ expect(result).not.toBe(taskNumbers);
376
+ });
377
+ });
378
+ });
379
+ //# sourceMappingURL=task-number-utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-number-utils.test.js","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-number-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,mBAAmB,CAA0B;IACrD,8CAA8C;IAC9C,OAAO,CAAC,kBAAkB,CAAkC;IAE5D;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKlE;;;;;OAKG;IACH,qBAAqB,CACnB,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC5C,IAAI;IAkCP;;;OAGG;IACH,yBAAyB,CAAC,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE;IA0BnE;;OAEG;IACH,wBAAwB,CAAC,yBAAyB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAcvE;;OAEG;IACG,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,WAAW,CAAC;CAwBxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA4B/F"}
1
+ {"version":3,"file":"task-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,mBAAmB,CAA0B;IACrD,8CAA8C;IAC9C,OAAO,CAAC,kBAAkB,CAAkC;IAE5D;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAKlE;;;;;OAKG;IACH,qBAAqB,CACnB,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAC5C,IAAI;IAkCP;;;OAGG;IACH,yBAAyB,CAAC,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE;IA4BnE;;OAEG;IACH,wBAAwB,CAAC,yBAAyB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAcvE;;OAEG;IACG,yBAAyB,CAC7B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,WAAW,CAAC;CAwBxB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA4B/F"}
@@ -76,7 +76,7 @@ export class TaskStateManager {
76
76
  }
77
77
  }
78
78
  if (newlyCompletedIds.length === 0 && currentDoneIds.size > 0) {
79
- console.log(` ℹ️ 全てのDoneタスクは既に検出済み`);
79
+ console.log(" ℹ️ 全てのDoneタスクは既に検出済み");
80
80
  }
81
81
  // 状態を更新
82
82
  this.previousDoneTaskIds = currentDoneIds;
@@ -1 +1 @@
1
- {"version":3,"file":"task-state-manager.js","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-state-manager.js","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=task-state-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-state-manager.test.d.ts","sourceRoot":"","sources":["../../../../src/commands/task-loop/lib/task-state-manager.test.ts"],"names":[],"mappings":""}