hzl-cli 1.1.0 → 1.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/dist/__tests__/integration/cli-integration.test.js +70 -64
- package/dist/__tests__/integration/cli-integration.test.js.map +1 -1
- package/dist/__tests__/integration/config.test.js +19 -4
- package/dist/__tests__/integration/config.test.js.map +1 -1
- package/dist/__tests__/integration/project-workflow.test.d.ts +2 -0
- package/dist/__tests__/integration/project-workflow.test.d.ts.map +1 -0
- package/dist/__tests__/integration/project-workflow.test.js +50 -0
- package/dist/__tests__/integration/project-workflow.test.js.map +1 -0
- package/dist/commands/config.test.js +8 -1
- package/dist/commands/config.test.js.map +1 -1
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +45 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +28 -12
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/project/create.d.ts +17 -0
- package/dist/commands/project/create.d.ts.map +1 -0
- package/dist/commands/project/create.js +49 -0
- package/dist/commands/project/create.js.map +1 -0
- package/dist/commands/project/create.test.d.ts +2 -0
- package/dist/commands/project/create.test.d.ts.map +1 -0
- package/dist/commands/project/create.test.js +36 -0
- package/dist/commands/project/create.test.js.map +1 -0
- package/dist/commands/project/delete.d.ts +19 -0
- package/dist/commands/project/delete.d.ts.map +1 -0
- package/dist/commands/project/delete.js +153 -0
- package/dist/commands/project/delete.js.map +1 -0
- package/dist/commands/project/delete.test.d.ts +2 -0
- package/dist/commands/project/delete.test.d.ts.map +1 -0
- package/dist/commands/project/delete.test.js +74 -0
- package/dist/commands/project/delete.test.js.map +1 -0
- package/dist/commands/project/index.d.ts +3 -0
- package/dist/commands/project/index.d.ts.map +1 -0
- package/dist/commands/project/index.js +16 -0
- package/dist/commands/project/index.js.map +1 -0
- package/dist/commands/project/list.d.ts +19 -0
- package/dist/commands/project/list.d.ts.map +1 -0
- package/dist/commands/project/list.js +68 -0
- package/dist/commands/project/list.js.map +1 -0
- package/dist/commands/project/list.test.d.ts.map +1 -0
- package/dist/commands/project/list.test.js +40 -0
- package/dist/commands/project/list.test.js.map +1 -0
- package/dist/commands/project/rename.d.ts +15 -0
- package/dist/commands/project/rename.d.ts.map +1 -0
- package/dist/commands/project/rename.js +45 -0
- package/dist/commands/project/rename.js.map +1 -0
- package/dist/commands/project/rename.test.d.ts +2 -0
- package/dist/commands/project/rename.test.d.ts.map +1 -0
- package/dist/commands/project/rename.test.js +36 -0
- package/dist/commands/project/rename.test.js.map +1 -0
- package/dist/commands/project/show.d.ts +25 -0
- package/dist/commands/project/show.d.ts.map +1 -0
- package/dist/commands/project/show.js +77 -0
- package/dist/commands/project/show.js.map +1 -0
- package/dist/commands/project/show.test.d.ts.map +1 -0
- package/dist/commands/project/show.test.js +46 -0
- package/dist/commands/project/show.test.js.map +1 -0
- package/dist/commands/sample-project.d.ts.map +1 -1
- package/dist/commands/sample-project.js +4 -0
- package/dist/commands/sample-project.js.map +1 -1
- package/dist/commands/stats.test.js +2 -0
- package/dist/commands/stats.test.js.map +1 -1
- package/dist/commands/{add-dep.d.ts → task/add-dep.d.ts} +1 -1
- package/dist/commands/task/add-dep.d.ts.map +1 -0
- package/dist/commands/{add-dep.js → task/add-dep.js} +3 -3
- package/dist/commands/task/add-dep.js.map +1 -0
- package/dist/commands/task/add-dep.test.d.ts.map +1 -0
- package/dist/commands/{add-dep.test.js → task/add-dep.test.js} +1 -1
- package/dist/commands/task/add-dep.test.js.map +1 -0
- package/dist/commands/{add.d.ts → task/add.d.ts} +1 -1
- package/dist/commands/task/add.d.ts.map +1 -0
- package/dist/commands/{add.js → task/add.js} +6 -6
- package/dist/commands/task/add.js.map +1 -0
- package/dist/commands/task/add.test.d.ts.map +1 -0
- package/dist/commands/{add.test.js → task/add.test.js} +2 -1
- package/dist/commands/task/add.test.js.map +1 -0
- package/dist/commands/{archive.d.ts → task/archive.d.ts} +1 -1
- package/dist/commands/task/archive.d.ts.map +1 -0
- package/dist/commands/{archive.js → task/archive.js} +3 -3
- package/dist/commands/task/archive.js.map +1 -0
- package/dist/commands/task/archive.test.d.ts.map +1 -0
- package/dist/commands/{archive.test.js → task/archive.test.js} +1 -1
- package/dist/commands/task/archive.test.js.map +1 -0
- package/dist/commands/{checkpoint.d.ts → task/checkpoint.d.ts} +1 -1
- package/dist/commands/task/checkpoint.d.ts.map +1 -0
- package/dist/commands/{checkpoint.js → task/checkpoint.js} +3 -3
- package/dist/commands/task/checkpoint.js.map +1 -0
- package/dist/commands/task/checkpoint.test.d.ts.map +1 -0
- package/dist/commands/{checkpoint.test.js → task/checkpoint.test.js} +1 -1
- package/dist/commands/task/checkpoint.test.js.map +1 -0
- package/dist/commands/{claim.d.ts → task/claim.d.ts} +1 -1
- package/dist/commands/task/claim.d.ts.map +1 -0
- package/dist/commands/{claim.js → task/claim.js} +3 -3
- package/dist/commands/task/claim.js.map +1 -0
- package/dist/commands/task/claim.test.d.ts.map +1 -0
- package/dist/commands/{claim.test.js → task/claim.test.js} +1 -1
- package/dist/commands/task/claim.test.js.map +1 -0
- package/dist/commands/{comment.d.ts → task/comment.d.ts} +1 -1
- package/dist/commands/task/comment.d.ts.map +1 -0
- package/dist/commands/{comment.js → task/comment.js} +3 -3
- package/dist/commands/task/comment.js.map +1 -0
- package/dist/commands/task/comment.test.d.ts.map +1 -0
- package/dist/commands/{comment.test.js → task/comment.test.js} +1 -1
- package/dist/commands/task/comment.test.js.map +1 -0
- package/dist/commands/{complete.d.ts → task/complete.d.ts} +1 -1
- package/dist/commands/task/complete.d.ts.map +1 -0
- package/dist/commands/{complete.js → task/complete.js} +3 -3
- package/dist/commands/task/complete.js.map +1 -0
- package/dist/commands/task/complete.test.d.ts.map +1 -0
- package/dist/commands/{complete.test.js → task/complete.test.js} +1 -1
- package/dist/commands/task/complete.test.js.map +1 -0
- package/dist/commands/{history.d.ts → task/history.d.ts} +1 -1
- package/dist/commands/task/history.d.ts.map +1 -0
- package/dist/commands/{history.js → task/history.js} +3 -3
- package/dist/commands/task/history.js.map +1 -0
- package/dist/commands/task/history.test.d.ts.map +1 -0
- package/dist/commands/{history.test.js → task/history.test.js} +1 -1
- package/dist/commands/task/history.test.js.map +1 -0
- package/dist/commands/task/index.d.ts +3 -0
- package/dist/commands/task/index.d.ts.map +1 -0
- package/dist/commands/task/index.js +46 -0
- package/dist/commands/task/index.js.map +1 -0
- package/dist/commands/{list.d.ts → task/list.d.ts} +1 -1
- package/dist/commands/task/list.d.ts.map +1 -0
- package/dist/commands/{list.js → task/list.js} +3 -3
- package/dist/commands/task/list.js.map +1 -0
- package/dist/commands/task/list.test.d.ts +2 -0
- package/dist/commands/task/list.test.d.ts.map +1 -0
- package/dist/commands/{list.test.js → task/list.test.js} +3 -1
- package/dist/commands/task/list.test.js.map +1 -0
- package/dist/commands/{move.d.ts → task/move.d.ts} +1 -1
- package/dist/commands/task/move.d.ts.map +1 -0
- package/dist/commands/{move.js → task/move.js} +5 -15
- package/dist/commands/task/move.js.map +1 -0
- package/dist/commands/task/move.test.d.ts.map +1 -0
- package/dist/commands/{move.test.js → task/move.test.js} +4 -1
- package/dist/commands/task/move.test.js.map +1 -0
- package/dist/commands/{next.d.ts → task/next.d.ts} +1 -1
- package/dist/commands/task/next.d.ts.map +1 -0
- package/dist/commands/{next.js → task/next.js} +3 -3
- package/dist/commands/task/next.js.map +1 -0
- package/dist/commands/task/next.test.d.ts.map +1 -0
- package/dist/commands/{next.test.js → task/next.test.js} +3 -1
- package/dist/commands/task/next.test.js.map +1 -0
- package/dist/commands/{release.d.ts → task/release.d.ts} +1 -1
- package/dist/commands/task/release.d.ts.map +1 -0
- package/dist/commands/{release.js → task/release.js} +3 -3
- package/dist/commands/task/release.js.map +1 -0
- package/dist/commands/task/release.test.d.ts.map +1 -0
- package/dist/commands/{release.test.js → task/release.test.js} +1 -1
- package/dist/commands/task/release.test.js.map +1 -0
- package/dist/commands/{remove-dep.d.ts → task/remove-dep.d.ts} +1 -1
- package/dist/commands/task/remove-dep.d.ts.map +1 -0
- package/dist/commands/{remove-dep.js → task/remove-dep.js} +3 -3
- package/dist/commands/task/remove-dep.js.map +1 -0
- package/dist/commands/task/remove-dep.test.d.ts.map +1 -0
- package/dist/commands/{remove-dep.test.js → task/remove-dep.test.js} +1 -1
- package/dist/commands/task/remove-dep.test.js.map +1 -0
- package/dist/commands/{reopen.d.ts → task/reopen.d.ts} +1 -1
- package/dist/commands/task/reopen.d.ts.map +1 -0
- package/dist/commands/{reopen.js → task/reopen.js} +3 -3
- package/dist/commands/task/reopen.js.map +1 -0
- package/dist/commands/task/reopen.test.d.ts.map +1 -0
- package/dist/commands/{reopen.test.js → task/reopen.test.js} +1 -1
- package/dist/commands/task/reopen.test.js.map +1 -0
- package/dist/commands/{search.d.ts → task/search.d.ts} +1 -1
- package/dist/commands/task/search.d.ts.map +1 -0
- package/dist/commands/{search.js → task/search.js} +3 -3
- package/dist/commands/task/search.js.map +1 -0
- package/dist/commands/task/search.test.d.ts.map +1 -0
- package/dist/commands/{search.test.js → task/search.test.js} +4 -1
- package/dist/commands/task/search.test.js.map +1 -0
- package/dist/commands/{set-status.d.ts → task/set-status.d.ts} +1 -1
- package/dist/commands/task/set-status.d.ts.map +1 -0
- package/dist/commands/{set-status.js → task/set-status.js} +3 -3
- package/dist/commands/task/set-status.js.map +1 -0
- package/dist/commands/task/set-status.test.d.ts.map +1 -0
- package/dist/commands/{set-status.test.js → task/set-status.test.js} +1 -1
- package/dist/commands/task/set-status.test.js.map +1 -0
- package/dist/commands/{show.d.ts → task/show.d.ts} +2 -2
- package/dist/commands/task/show.d.ts.map +1 -0
- package/dist/commands/{show.js → task/show.js} +4 -10
- package/dist/commands/task/show.js.map +1 -0
- package/dist/commands/task/show.test.d.ts +2 -0
- package/dist/commands/task/show.test.d.ts.map +1 -0
- package/dist/commands/{show.test.js → task/show.test.js} +13 -4
- package/dist/commands/task/show.test.js.map +1 -0
- package/dist/commands/{steal.d.ts → task/steal.d.ts} +1 -1
- package/dist/commands/task/steal.d.ts.map +1 -0
- package/dist/commands/{steal.js → task/steal.js} +3 -3
- package/dist/commands/task/steal.js.map +1 -0
- package/dist/commands/task/steal.test.d.ts.map +1 -0
- package/dist/commands/{steal.test.js → task/steal.test.js} +1 -1
- package/dist/commands/task/steal.test.js.map +1 -0
- package/dist/commands/{stuck.d.ts → task/stuck.d.ts} +1 -1
- package/dist/commands/task/stuck.d.ts.map +1 -0
- package/dist/commands/{stuck.js → task/stuck.js} +3 -3
- package/dist/commands/task/stuck.js.map +1 -0
- package/dist/commands/task/stuck.test.d.ts.map +1 -0
- package/dist/commands/{stuck.test.js → task/stuck.test.js} +3 -1
- package/dist/commands/task/stuck.test.js.map +1 -0
- package/dist/commands/{update.d.ts → task/update.d.ts} +1 -1
- package/dist/commands/task/update.d.ts.map +1 -0
- package/dist/commands/{update.js → task/update.js} +3 -3
- package/dist/commands/task/update.js.map +1 -0
- package/dist/commands/task/update.test.d.ts.map +1 -0
- package/dist/commands/{update.test.js → task/update.test.js} +1 -1
- package/dist/commands/task/update.test.js.map +1 -0
- package/dist/commands/which-db.d.ts +2 -1
- package/dist/commands/which-db.d.ts.map +1 -1
- package/dist/commands/which-db.js +4 -25
- package/dist/commands/which-db.js.map +1 -1
- package/dist/commands/which-db.test.js +8 -1
- package/dist/commands/which-db.test.js.map +1 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +98 -9
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +9 -1
- package/dist/config.test.js.map +1 -1
- package/dist/db.d.ts +2 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +15 -2
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -240
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/add-dep.d.ts.map +0 -1
- package/dist/commands/add-dep.js.map +0 -1
- package/dist/commands/add-dep.test.d.ts.map +0 -1
- package/dist/commands/add-dep.test.js.map +0 -1
- package/dist/commands/add.d.ts.map +0 -1
- package/dist/commands/add.js.map +0 -1
- package/dist/commands/add.test.d.ts.map +0 -1
- package/dist/commands/add.test.js.map +0 -1
- package/dist/commands/archive.d.ts.map +0 -1
- package/dist/commands/archive.js.map +0 -1
- package/dist/commands/archive.test.d.ts.map +0 -1
- package/dist/commands/archive.test.js.map +0 -1
- package/dist/commands/checkpoint.d.ts.map +0 -1
- package/dist/commands/checkpoint.js.map +0 -1
- package/dist/commands/checkpoint.test.d.ts.map +0 -1
- package/dist/commands/checkpoint.test.js.map +0 -1
- package/dist/commands/claim.d.ts.map +0 -1
- package/dist/commands/claim.js.map +0 -1
- package/dist/commands/claim.test.d.ts.map +0 -1
- package/dist/commands/claim.test.js.map +0 -1
- package/dist/commands/comment.d.ts.map +0 -1
- package/dist/commands/comment.js.map +0 -1
- package/dist/commands/comment.test.d.ts.map +0 -1
- package/dist/commands/comment.test.js.map +0 -1
- package/dist/commands/complete.d.ts.map +0 -1
- package/dist/commands/complete.js.map +0 -1
- package/dist/commands/complete.test.d.ts.map +0 -1
- package/dist/commands/complete.test.js.map +0 -1
- package/dist/commands/history.d.ts.map +0 -1
- package/dist/commands/history.js.map +0 -1
- package/dist/commands/history.test.d.ts.map +0 -1
- package/dist/commands/history.test.js.map +0 -1
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/list.test.d.ts.map +0 -1
- package/dist/commands/list.test.js.map +0 -1
- package/dist/commands/move.d.ts.map +0 -1
- package/dist/commands/move.js.map +0 -1
- package/dist/commands/move.test.d.ts.map +0 -1
- package/dist/commands/move.test.js.map +0 -1
- package/dist/commands/next.d.ts.map +0 -1
- package/dist/commands/next.js.map +0 -1
- package/dist/commands/next.test.d.ts.map +0 -1
- package/dist/commands/next.test.js.map +0 -1
- package/dist/commands/projects.d.ts +0 -16
- package/dist/commands/projects.d.ts.map +0 -1
- package/dist/commands/projects.js +0 -64
- package/dist/commands/projects.js.map +0 -1
- package/dist/commands/projects.test.d.ts +0 -2
- package/dist/commands/projects.test.d.ts.map +0 -1
- package/dist/commands/projects.test.js +0 -47
- package/dist/commands/projects.test.js.map +0 -1
- package/dist/commands/release.d.ts.map +0 -1
- package/dist/commands/release.js.map +0 -1
- package/dist/commands/release.test.d.ts.map +0 -1
- package/dist/commands/release.test.js.map +0 -1
- package/dist/commands/remove-dep.d.ts.map +0 -1
- package/dist/commands/remove-dep.js.map +0 -1
- package/dist/commands/remove-dep.test.d.ts.map +0 -1
- package/dist/commands/remove-dep.test.js.map +0 -1
- package/dist/commands/rename-project.d.ts +0 -16
- package/dist/commands/rename-project.d.ts.map +0 -1
- package/dist/commands/rename-project.js +0 -70
- package/dist/commands/rename-project.js.map +0 -1
- package/dist/commands/rename-project.test.d.ts +0 -2
- package/dist/commands/rename-project.test.d.ts.map +0 -1
- package/dist/commands/rename-project.test.js +0 -75
- package/dist/commands/rename-project.test.js.map +0 -1
- package/dist/commands/reopen.d.ts.map +0 -1
- package/dist/commands/reopen.js.map +0 -1
- package/dist/commands/reopen.test.d.ts.map +0 -1
- package/dist/commands/reopen.test.js.map +0 -1
- package/dist/commands/search.d.ts.map +0 -1
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/search.test.d.ts.map +0 -1
- package/dist/commands/search.test.js.map +0 -1
- package/dist/commands/set-status.d.ts.map +0 -1
- package/dist/commands/set-status.js.map +0 -1
- package/dist/commands/set-status.test.d.ts.map +0 -1
- package/dist/commands/set-status.test.js.map +0 -1
- package/dist/commands/show.d.ts.map +0 -1
- package/dist/commands/show.js.map +0 -1
- package/dist/commands/show.test.d.ts.map +0 -1
- package/dist/commands/show.test.js.map +0 -1
- package/dist/commands/steal.d.ts.map +0 -1
- package/dist/commands/steal.js.map +0 -1
- package/dist/commands/steal.test.d.ts.map +0 -1
- package/dist/commands/steal.test.js.map +0 -1
- package/dist/commands/stuck.d.ts.map +0 -1
- package/dist/commands/stuck.js.map +0 -1
- package/dist/commands/stuck.test.d.ts.map +0 -1
- package/dist/commands/stuck.test.js.map +0 -1
- package/dist/commands/task.d.ts +0 -32
- package/dist/commands/task.d.ts.map +0 -1
- package/dist/commands/task.js +0 -72
- package/dist/commands/task.js.map +0 -1
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/update.test.d.ts.map +0 -1
- package/dist/commands/update.test.js.map +0 -1
- /package/dist/commands/{list.test.d.ts → project/list.test.d.ts} +0 -0
- /package/dist/commands/{show.test.d.ts → project/show.test.d.ts} +0 -0
- /package/dist/commands/{add-dep.test.d.ts → task/add-dep.test.d.ts} +0 -0
- /package/dist/commands/{add.test.d.ts → task/add.test.d.ts} +0 -0
- /package/dist/commands/{archive.test.d.ts → task/archive.test.d.ts} +0 -0
- /package/dist/commands/{checkpoint.test.d.ts → task/checkpoint.test.d.ts} +0 -0
- /package/dist/commands/{claim.test.d.ts → task/claim.test.d.ts} +0 -0
- /package/dist/commands/{comment.test.d.ts → task/comment.test.d.ts} +0 -0
- /package/dist/commands/{complete.test.d.ts → task/complete.test.d.ts} +0 -0
- /package/dist/commands/{history.test.d.ts → task/history.test.d.ts} +0 -0
- /package/dist/commands/{move.test.d.ts → task/move.test.d.ts} +0 -0
- /package/dist/commands/{next.test.d.ts → task/next.test.d.ts} +0 -0
- /package/dist/commands/{release.test.d.ts → task/release.test.d.ts} +0 -0
- /package/dist/commands/{remove-dep.test.d.ts → task/remove-dep.test.d.ts} +0 -0
- /package/dist/commands/{reopen.test.d.ts → task/reopen.test.d.ts} +0 -0
- /package/dist/commands/{search.test.d.ts → task/search.test.d.ts} +0 -0
- /package/dist/commands/{set-status.test.d.ts → task/set-status.test.d.ts} +0 -0
- /package/dist/commands/{steal.test.d.ts → task/steal.test.d.ts} +0 -0
- /package/dist/commands/{stuck.test.d.ts → task/stuck.test.d.ts} +0 -0
- /package/dist/commands/{update.test.d.ts → task/update.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,IAAI,OAAO,CAU9C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createProjectCreateCommand } from './create.js';
|
|
3
|
+
import { createProjectDeleteCommand } from './delete.js';
|
|
4
|
+
import { createProjectListCommand } from './list.js';
|
|
5
|
+
import { createProjectRenameCommand } from './rename.js';
|
|
6
|
+
import { createProjectShowCommand } from './show.js';
|
|
7
|
+
export function createProjectCommand() {
|
|
8
|
+
const command = new Command('project').description('Project management commands');
|
|
9
|
+
command.addCommand(createProjectCreateCommand());
|
|
10
|
+
command.addCommand(createProjectDeleteCommand());
|
|
11
|
+
command.addCommand(createProjectListCommand());
|
|
12
|
+
command.addCommand(createProjectRenameCommand());
|
|
13
|
+
command.addCommand(createProjectShowCommand());
|
|
14
|
+
return command;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAElF,OAAO,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAU,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAE/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type Services } from '../../db.js';
|
|
3
|
+
export interface ProjectListInfo {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string | null;
|
|
6
|
+
is_protected: boolean;
|
|
7
|
+
task_count: number;
|
|
8
|
+
archived_task_count: number;
|
|
9
|
+
active_task_count: number;
|
|
10
|
+
}
|
|
11
|
+
export interface ProjectListResult {
|
|
12
|
+
projects: ProjectListInfo[];
|
|
13
|
+
}
|
|
14
|
+
export declare function runProjectList(options: {
|
|
15
|
+
services: Services;
|
|
16
|
+
json: boolean;
|
|
17
|
+
}): ProjectListResult;
|
|
18
|
+
export declare function createProjectListCommand(): Command;
|
|
19
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,iBAAiB,CAyDpB;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAelD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { resolveDbPath } from '../../config.js';
|
|
3
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
4
|
+
import { handleError } from '../../errors.js';
|
|
5
|
+
export function runProjectList(options) {
|
|
6
|
+
const { services, json } = options;
|
|
7
|
+
const rows = services.db
|
|
8
|
+
.prepare(`
|
|
9
|
+
SELECT
|
|
10
|
+
p.name,
|
|
11
|
+
p.description,
|
|
12
|
+
p.is_protected,
|
|
13
|
+
COUNT(tc.task_id) as task_count,
|
|
14
|
+
SUM(CASE WHEN tc.status = 'archived' THEN 1 ELSE 0 END) as archived_task_count
|
|
15
|
+
FROM projects p
|
|
16
|
+
LEFT JOIN tasks_current tc ON tc.project = p.name
|
|
17
|
+
GROUP BY p.name
|
|
18
|
+
ORDER BY p.name
|
|
19
|
+
`)
|
|
20
|
+
.all();
|
|
21
|
+
const projects = rows.map((row) => {
|
|
22
|
+
const archivedCount = row.archived_task_count ?? 0;
|
|
23
|
+
const totalCount = row.task_count ?? 0;
|
|
24
|
+
return {
|
|
25
|
+
name: row.name,
|
|
26
|
+
description: row.description,
|
|
27
|
+
is_protected: row.is_protected === 1,
|
|
28
|
+
task_count: totalCount,
|
|
29
|
+
archived_task_count: archivedCount,
|
|
30
|
+
active_task_count: totalCount - archivedCount,
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
const result = { projects };
|
|
34
|
+
if (json) {
|
|
35
|
+
console.log(JSON.stringify(result));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
if (projects.length === 0) {
|
|
39
|
+
console.log('No projects found');
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
console.log('Projects:');
|
|
43
|
+
for (const project of projects) {
|
|
44
|
+
console.log(` ${project.name}: ${project.active_task_count} active, ${project.archived_task_count} archived`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
export function createProjectListCommand() {
|
|
51
|
+
return new Command('list')
|
|
52
|
+
.description('List projects with task counts')
|
|
53
|
+
.action(function () {
|
|
54
|
+
const globalOpts = this.optsWithGlobals();
|
|
55
|
+
const dbPath = resolveDbPath(globalOpts.db);
|
|
56
|
+
const services = initializeDb(dbPath);
|
|
57
|
+
try {
|
|
58
|
+
runProjectList({ services, json: globalOpts.json ?? false });
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
handleError(e, globalOpts.json);
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
closeDb(services);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgB9C,MAAM,UAAU,cAAc,CAAC,OAG9B;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE;SACrB,OAAO,CACN;;;;;;;;;;;KAWD,CACA;SACA,GAAG,EAMH,CAAC;IAEJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,aAAa,GAAG,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,CAAC;YACpC,UAAU,EAAE,UAAU;YACtB,mBAAmB,EAAE,aAAa;YAClC,iBAAiB,EAAE,UAAU,GAAG,aAAa;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAsB,EAAE,QAAQ,EAAE,CAAC;IAE/C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,iBAAiB,YAAY,OAAO,CAAC,mBAAmB,WAAW,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../../src/commands/project/list.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import os from 'os';
|
|
5
|
+
import { runProjectList } from './list.js';
|
|
6
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
7
|
+
describe('runProjectList', () => {
|
|
8
|
+
let tempDir;
|
|
9
|
+
let dbPath;
|
|
10
|
+
let services;
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-project-list-test-'));
|
|
13
|
+
dbPath = path.join(tempDir, 'test.db');
|
|
14
|
+
services = initializeDb(dbPath);
|
|
15
|
+
});
|
|
16
|
+
afterEach(() => {
|
|
17
|
+
closeDb(services);
|
|
18
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
19
|
+
});
|
|
20
|
+
it('lists projects including empty ones', () => {
|
|
21
|
+
services.projectService.createProject('alpha');
|
|
22
|
+
const result = runProjectList({ services, json: false });
|
|
23
|
+
const names = result.projects.map((p) => p.name);
|
|
24
|
+
expect(names).toContain('inbox');
|
|
25
|
+
expect(names).toContain('alpha');
|
|
26
|
+
});
|
|
27
|
+
it('includes active and archived task counts', () => {
|
|
28
|
+
services.projectService.createProject('alpha');
|
|
29
|
+
const active = services.taskService.createTask({ title: 'Active', project: 'alpha' });
|
|
30
|
+
const archived = services.taskService.createTask({ title: 'Archived', project: 'alpha' });
|
|
31
|
+
services.taskService.archiveTask(archived.task_id);
|
|
32
|
+
const result = runProjectList({ services, json: false });
|
|
33
|
+
const alpha = result.projects.find((p) => p.name === 'alpha');
|
|
34
|
+
expect(alpha).toBeDefined();
|
|
35
|
+
expect(alpha?.task_count).toBe(2);
|
|
36
|
+
expect(alpha?.archived_task_count).toBe(1);
|
|
37
|
+
expect(alpha?.active_task_count).toBe(1);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=list.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../../src/commands/project/list.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type Services } from '../../db.js';
|
|
3
|
+
export interface ProjectRenameResult {
|
|
4
|
+
old_name: string;
|
|
5
|
+
new_name: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProjectRenameOptions {
|
|
8
|
+
services: Services;
|
|
9
|
+
oldName: string;
|
|
10
|
+
newName: string;
|
|
11
|
+
json: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function runProjectRename(options: ProjectRenameOptions): ProjectRenameResult;
|
|
14
|
+
export declare function createProjectRenameCommand(): Command;
|
|
15
|
+
//# sourceMappingURL=rename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.d.ts","sourceRoot":"","sources":["../../../src/commands/project/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAiBrB;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAsBpD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { resolveDbPath } from '../../config.js';
|
|
3
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
4
|
+
import { handleError } from '../../errors.js';
|
|
5
|
+
export function runProjectRename(options) {
|
|
6
|
+
const { services, oldName, newName, json } = options;
|
|
7
|
+
services.projectService.renameProject(oldName, newName);
|
|
8
|
+
const result = {
|
|
9
|
+
old_name: oldName,
|
|
10
|
+
new_name: newName,
|
|
11
|
+
};
|
|
12
|
+
if (json) {
|
|
13
|
+
console.log(JSON.stringify(result));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
console.log(`✓ Renamed project '${oldName}' to '${newName}'`);
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
export function createProjectRenameCommand() {
|
|
21
|
+
return new Command('rename')
|
|
22
|
+
.description('Rename a project')
|
|
23
|
+
.argument('<oldName>', 'Current project name')
|
|
24
|
+
.argument('<newName>', 'New project name')
|
|
25
|
+
.action(function (oldName, newName) {
|
|
26
|
+
const globalOpts = this.optsWithGlobals();
|
|
27
|
+
const dbPath = resolveDbPath(globalOpts.db);
|
|
28
|
+
const services = initializeDb(dbPath);
|
|
29
|
+
try {
|
|
30
|
+
runProjectRename({
|
|
31
|
+
services,
|
|
32
|
+
oldName,
|
|
33
|
+
newName,
|
|
34
|
+
json: globalOpts.json ?? false,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
handleError(e, globalOpts.json);
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
closeDb(services);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=rename.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/project/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAe9C,MAAM,UAAU,gBAAgB,CAC9B,OAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAErD,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,MAAM,GAAwB;QAClC,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,OAAO;KAClB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,SAAS,OAAO,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC7C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACzC,MAAM,CAAC,UAAyB,OAAe,EAAE,OAAe;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,gBAAgB,CAAC;gBACf,QAAQ;gBACR,OAAO;gBACP,OAAO;gBACP,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.test.d.ts","sourceRoot":"","sources":["../../../src/commands/project/rename.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import os from 'os';
|
|
5
|
+
import { runProjectRename } from './rename.js';
|
|
6
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
7
|
+
import { ProjectAlreadyExistsError } from 'hzl-core/services/project-service.js';
|
|
8
|
+
describe('runProjectRename', () => {
|
|
9
|
+
let tempDir;
|
|
10
|
+
let dbPath;
|
|
11
|
+
let services;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-project-rename-test-'));
|
|
14
|
+
dbPath = path.join(tempDir, 'test.db');
|
|
15
|
+
services = initializeDb(dbPath);
|
|
16
|
+
});
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
closeDb(services);
|
|
19
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
20
|
+
});
|
|
21
|
+
it('renames a project', () => {
|
|
22
|
+
services.projectService.createProject('old');
|
|
23
|
+
const result = runProjectRename({ services, oldName: 'old', newName: 'new', json: false });
|
|
24
|
+
expect(result.old_name).toBe('old');
|
|
25
|
+
expect(result.new_name).toBe('new');
|
|
26
|
+
expect(services.projectService.getProject('old')).toBeNull();
|
|
27
|
+
expect(services.projectService.getProject('new')).not.toBeNull();
|
|
28
|
+
});
|
|
29
|
+
it('throws when target project already exists', () => {
|
|
30
|
+
services.projectService.createProject('old');
|
|
31
|
+
services.projectService.createProject('new');
|
|
32
|
+
expect(() => runProjectRename({ services, oldName: 'old', newName: 'new', json: false }))
|
|
33
|
+
.toThrow(ProjectAlreadyExistsError);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=rename.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename.test.js","sourceRoot":"","sources":["../../../src/commands/project/rename.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAAe,CAAC;IACpB,IAAI,MAAc,CAAC;IACnB,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3F,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACtF,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type Services } from '../../db.js';
|
|
3
|
+
export interface ProjectShowResult {
|
|
4
|
+
project: {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string | null;
|
|
7
|
+
created_at: string;
|
|
8
|
+
is_protected: boolean;
|
|
9
|
+
};
|
|
10
|
+
statuses: {
|
|
11
|
+
backlog: number;
|
|
12
|
+
ready: number;
|
|
13
|
+
in_progress: number;
|
|
14
|
+
done: number;
|
|
15
|
+
archived: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface ProjectShowOptions {
|
|
19
|
+
services: Services;
|
|
20
|
+
name: string;
|
|
21
|
+
json: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function runProjectShow(options: ProjectShowOptions): ProjectShowResult;
|
|
24
|
+
export declare function createProjectShowCommand(): Command;
|
|
25
|
+
//# sourceMappingURL=show.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/commands/project/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAiE7E;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAgBlD"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { resolveDbPath } from '../../config.js';
|
|
3
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
4
|
+
import { CLIError, ExitCode, handleError } from '../../errors.js';
|
|
5
|
+
export function runProjectShow(options) {
|
|
6
|
+
const { services, name, json } = options;
|
|
7
|
+
const project = services.projectService.getProject(name);
|
|
8
|
+
if (!project) {
|
|
9
|
+
throw new CLIError(`Project not found: ${name}`, ExitCode.NotFound);
|
|
10
|
+
}
|
|
11
|
+
const row = services.db
|
|
12
|
+
.prepare(`
|
|
13
|
+
SELECT
|
|
14
|
+
SUM(CASE WHEN status = 'backlog' THEN 1 ELSE 0 END) as backlog,
|
|
15
|
+
SUM(CASE WHEN status = 'ready' THEN 1 ELSE 0 END) as ready,
|
|
16
|
+
SUM(CASE WHEN status = 'in_progress' THEN 1 ELSE 0 END) as in_progress,
|
|
17
|
+
SUM(CASE WHEN status = 'done' THEN 1 ELSE 0 END) as done,
|
|
18
|
+
SUM(CASE WHEN status = 'archived' THEN 1 ELSE 0 END) as archived
|
|
19
|
+
FROM tasks_current
|
|
20
|
+
WHERE project = ?
|
|
21
|
+
`)
|
|
22
|
+
.get(name);
|
|
23
|
+
const statuses = {
|
|
24
|
+
backlog: row?.backlog ?? 0,
|
|
25
|
+
ready: row?.ready ?? 0,
|
|
26
|
+
in_progress: row?.in_progress ?? 0,
|
|
27
|
+
done: row?.done ?? 0,
|
|
28
|
+
archived: row?.archived ?? 0,
|
|
29
|
+
};
|
|
30
|
+
const result = {
|
|
31
|
+
project: {
|
|
32
|
+
name: project.name,
|
|
33
|
+
description: project.description,
|
|
34
|
+
created_at: project.created_at,
|
|
35
|
+
is_protected: project.is_protected,
|
|
36
|
+
},
|
|
37
|
+
statuses,
|
|
38
|
+
};
|
|
39
|
+
if (json) {
|
|
40
|
+
console.log(JSON.stringify(result));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
console.log(`${project.name}`);
|
|
44
|
+
if (project.description) {
|
|
45
|
+
console.log(`Description: ${project.description}`);
|
|
46
|
+
}
|
|
47
|
+
console.log(`Created: ${project.created_at}`);
|
|
48
|
+
console.log(`Protected: ${project.is_protected ? 'yes' : 'no'}`);
|
|
49
|
+
console.log('Status breakdown:');
|
|
50
|
+
console.log(` backlog: ${statuses.backlog}`);
|
|
51
|
+
console.log(` ready: ${statuses.ready}`);
|
|
52
|
+
console.log(` in_progress: ${statuses.in_progress}`);
|
|
53
|
+
console.log(` done: ${statuses.done}`);
|
|
54
|
+
console.log(` archived: ${statuses.archived}`);
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
export function createProjectShowCommand() {
|
|
59
|
+
return new Command('show')
|
|
60
|
+
.description('Show project details')
|
|
61
|
+
.argument('<name>', 'Project name')
|
|
62
|
+
.action(function (name) {
|
|
63
|
+
const globalOpts = this.optsWithGlobals();
|
|
64
|
+
const dbPath = resolveDbPath(globalOpts.db);
|
|
65
|
+
const services = initializeDb(dbPath);
|
|
66
|
+
try {
|
|
67
|
+
runProjectShow({ services, name, json: globalOpts.json ?? false });
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
handleError(e, globalOpts.json);
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
closeDb(services);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=show.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/project/show.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.test.d.ts","sourceRoot":"","sources":["../../../src/commands/project/show.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import os from 'os';
|
|
5
|
+
import { runProjectShow } from './show.js';
|
|
6
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
7
|
+
import { TaskStatus } from 'hzl-core/events/types.js';
|
|
8
|
+
describe('runProjectShow', () => {
|
|
9
|
+
let tempDir;
|
|
10
|
+
let dbPath;
|
|
11
|
+
let services;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'hzl-project-show-test-'));
|
|
14
|
+
dbPath = path.join(tempDir, 'test.db');
|
|
15
|
+
services = initializeDb(dbPath);
|
|
16
|
+
});
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
closeDb(services);
|
|
19
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
20
|
+
});
|
|
21
|
+
it('shows project details and task status breakdown', () => {
|
|
22
|
+
services.projectService.createProject('alpha', { description: 'Alpha project' });
|
|
23
|
+
const backlog = services.taskService.createTask({ title: 'Backlog', project: 'alpha' });
|
|
24
|
+
const ready = services.taskService.createTask({ title: 'Ready', project: 'alpha' });
|
|
25
|
+
const inProgress = services.taskService.createTask({ title: 'In Progress', project: 'alpha' });
|
|
26
|
+
const done = services.taskService.createTask({ title: 'Done', project: 'alpha' });
|
|
27
|
+
const archived = services.taskService.createTask({ title: 'Archived', project: 'alpha' });
|
|
28
|
+
services.taskService.setStatus(ready.task_id, TaskStatus.Ready);
|
|
29
|
+
services.taskService.setStatus(inProgress.task_id, TaskStatus.Ready);
|
|
30
|
+
services.taskService.claimTask(inProgress.task_id);
|
|
31
|
+
services.taskService.setStatus(done.task_id, TaskStatus.Ready);
|
|
32
|
+
services.taskService.claimTask(done.task_id);
|
|
33
|
+
services.taskService.completeTask(done.task_id);
|
|
34
|
+
services.taskService.archiveTask(archived.task_id);
|
|
35
|
+
const result = runProjectShow({ services, name: 'alpha', json: false });
|
|
36
|
+
expect(result.project.name).toBe('alpha');
|
|
37
|
+
expect(result.project.description).toBe('Alpha project');
|
|
38
|
+
expect(result.project.is_protected).toBe(false);
|
|
39
|
+
expect(result.statuses.backlog).toBe(1);
|
|
40
|
+
expect(result.statuses.ready).toBe(1);
|
|
41
|
+
expect(result.statuses.in_progress).toBe(1);
|
|
42
|
+
expect(result.statuses.done).toBe(1);
|
|
43
|
+
expect(result.statuses.archived).toBe(1);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=show.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.test.js","sourceRoot":"","sources":["../../../src/commands/project/show.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-project.d.ts","sourceRoot":"","sources":["../../src/commands/sample-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"sample-project.d.ts","sourceRoot":"","sources":["../../src/commands/sample-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAoFD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,yBAAyB,CAwC5B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,wBAAwB,CAuB3B;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAmCpD"}
|
|
@@ -6,6 +6,10 @@ import { resolveDbPath } from '../config.js';
|
|
|
6
6
|
import { initializeDb, closeDb } from '../db.js';
|
|
7
7
|
import { handleError } from '../errors.js';
|
|
8
8
|
function createSampleProject(services) {
|
|
9
|
+
const existingProject = services.projectService.getProject(SAMPLE_PROJECT_NAME);
|
|
10
|
+
if (!existingProject) {
|
|
11
|
+
services.projectService.createProject(SAMPLE_PROJECT_NAME);
|
|
12
|
+
}
|
|
9
13
|
const taskIds = [];
|
|
10
14
|
for (const spec of SAMPLE_TASKS) {
|
|
11
15
|
const dependsOn = spec.depends_on_indices
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-project.js","sourceRoot":"","sources":["../../src/commands/sample-project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sample-project.js","sourceRoot":"","sources":["../../src/commands/sample-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,8 @@ describe('runStats', () => {
|
|
|
32
32
|
expect(Object.values(result.by_status).reduce((a, b) => a + b, 0)).toBe(3);
|
|
33
33
|
});
|
|
34
34
|
it('counts tasks by project', () => {
|
|
35
|
+
services.projectService.createProject('project-a');
|
|
36
|
+
services.projectService.createProject('project-b');
|
|
35
37
|
services.taskService.createTask({ title: 'Task A', project: 'project-a' });
|
|
36
38
|
services.taskService.createTask({ title: 'Task B', project: 'project-a' });
|
|
37
39
|
services.taskService.createTask({ title: 'Task C', project: 'project-b' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.test.js","sourceRoot":"","sources":["../../src/commands/stats.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stats.test.js","sourceRoot":"","sources":["../../src/commands/stats.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-dep.d.ts","sourceRoot":"","sources":["../../../src/commands/task/add-dep.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKnE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AA2BD,wBAAgB,SAAS,CAAC,OAAO,EAAE;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,YAAY,CAwCf;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CAiB7C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// packages/hzl-cli/src/commands/add-dep.ts
|
|
2
2
|
import { Command } from 'commander';
|
|
3
|
-
import { resolveDbPath } from '
|
|
4
|
-
import { initializeDb, closeDb } from '
|
|
5
|
-
import { handleError, CLIError, ExitCode } from '
|
|
3
|
+
import { resolveDbPath } from '../../config.js';
|
|
4
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
5
|
+
import { handleError, CLIError, ExitCode } from '../../errors.js';
|
|
6
6
|
import { EventType } from 'hzl-core/events/types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Check if adding taskId -> dependsOnId would create a cycle.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-dep.js","sourceRoot":"","sources":["../../../src/commands/task/add-dep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-dep.test.d.ts","sourceRoot":"","sources":["../../../src/commands/task/add-dep.test.ts"],"names":[],"mappings":""}
|
|
@@ -4,7 +4,7 @@ import fs from 'fs';
|
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import os from 'os';
|
|
6
6
|
import { runAddDep } from './add-dep.js';
|
|
7
|
-
import { initializeDb, closeDb } from '
|
|
7
|
+
import { initializeDb, closeDb } from '../../db.js';
|
|
8
8
|
describe('runAddDep', () => {
|
|
9
9
|
let tempDir;
|
|
10
10
|
let dbPath;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-dep.test.js","sourceRoot":"","sources":["../../../src/commands/task/add-dep.test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAEnE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,OAAe,CAAC;IACpB,IAAI,MAAc,CAAC;IACnB,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElH,sFAAsF;QACtF,kIAAkI;QAClI,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YACrB,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,OAAO;YACrB,WAAW,EAAE,KAAK,CAAC,OAAO;YAC1B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/commands/task/add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CA4BrD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CA8B1C"}
|