init
This commit is contained in:
commit
76266cedc6
23 changed files with 4041 additions and 0 deletions
53
scripts/ts-mime-todo/bin/main.ts
Normal file
53
scripts/ts-mime-todo/bin/main.ts
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env node
|
||||
// mime-todo/bin/main.ts
|
||||
import { parseTodoFile } from "../lib/file"
|
||||
|
||||
|
||||
async function main() {
|
||||
const [, , cmd, ...args] = process.argv
|
||||
const todo = await parseTodoFile()
|
||||
|
||||
switch (cmd) {
|
||||
case "issues":
|
||||
for (const issue of todo.issues) {
|
||||
console.log(`#${issue.id} [${issue.type}] (${issue.status}) ${issue.title}`)
|
||||
}
|
||||
break
|
||||
|
||||
case "sprints":
|
||||
for (const sprint of todo.sprints) {
|
||||
console.log(`${sprint.name}: ${sprint.start}..${sprint.end}`)
|
||||
}
|
||||
break
|
||||
|
||||
case "issues-in-sprint": {
|
||||
const name = args.join(" ")
|
||||
const sprint = todo.sprints.find(s => s.name === name)
|
||||
if (!sprint) {
|
||||
console.error(`Sprint not found: ${name}`)
|
||||
process.exit(1)
|
||||
}
|
||||
const { start, end } = sprint
|
||||
for (const issue of todo.issues) {
|
||||
const ds = issue.dueStart ?? issue.dueEnd
|
||||
const de = issue.dueEnd ?? issue.dueStart
|
||||
if (!ds || !de) continue
|
||||
if (ds <= end && de >= start) {
|
||||
console.log(`#${issue.id} [${issue.type}] (${issue.status}) ${issue.title}`)
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
default:
|
||||
console.log(`Usage:
|
||||
todo list
|
||||
todo sprints
|
||||
todo issues-in-sprint <name>`)
|
||||
}
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
console.error(err)
|
||||
process.exit(1)
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue