Commit 8bbfcbb

Anton Medvedev <anton@medv.io>
2024-11-29 14:05:05
Clear data in tasks
1 parent 28466bc
src/task/comments/discussion-comments.ts
@@ -12,6 +12,7 @@ export default task({
       login: username,
     })
 
+    data.discussionComments = []
     for await (const resp of discussionComments) {
       if (!resp.user?.repositoryDiscussionComments.nodes) {
         throw new Error('Failed to load discussion comments')
src/task/comments/issue-comments.ts
@@ -9,6 +9,7 @@ export default task({
       login: username,
     })
 
+    data.issueComments = []
     for await (const resp of issueComments) {
       if (!resp.user?.issueComments.nodes) {
         throw new Error('Failed to load issue comments')
src/task/commits/commits.ts
@@ -15,6 +15,14 @@ export default task({
       author: data.user.id,
     })
 
+    const repo = data.repos.find(
+      (repo) => repo.owner.login == owner && repo.name == name,
+    )
+    if (!repo) {
+      throw new Error(`Repo not found: ${owner}/${name}`)
+    }
+    repo.commits = []
+
     for await (const resp of commits) {
       const { totalCount, nodes } =
         resp.repository?.defaultBranchRef?.target?.history!
@@ -38,9 +46,7 @@ export default task({
       }
 
       for (const commit of nodes) {
-        data.repos
-          .find((repo) => repo.owner.login == owner && repo.name == name)
-          ?.commits.push(commit)
+        repo.commits.push(commit)
       }
       console.log(
         `| commits ${repo.commits.length}/${totalCount} (cost: ${resp.rateLimit?.cost}, remaining: ${resp.rateLimit?.remaining})`,
src/task/issues/issues.ts
@@ -9,6 +9,7 @@ export default task({
       username,
     })
 
+    data.issues = []
     for await (const resp of issues) {
       if (!resp.user?.issues.nodes) {
         throw new Error('Failed to load issues')
src/task/pulls/pulls.ts
@@ -9,6 +9,7 @@ export default task({
       username,
     })
 
+    data.pulls = []
     for await (const resp of pulls) {
       if (!resp.user?.pullRequests.nodes) {
         throw new Error('Failed to load pull requests')
src/task/repos/repos.ts
@@ -9,6 +9,7 @@ export default task({
       per_page: 100,
     })
 
+    data.repos = []
     for await (const resp of repos) {
       for (const repo of resp.data) {
         if (repo.name == '-') {
src/task/stars/stars.ts
@@ -8,6 +8,8 @@ export default task({
     const stars = paginate(octokit, StarsQuery, {
       login: username,
     })
+
+    data.starredRepositories = []
     for await (const resp of stars) {
       if (!resp.user?.starredRepositories.nodes) {
         throw new Error('Failed to load stars')
src/process-tasks.ts
@@ -74,5 +74,5 @@ export async function processTasks(
     fs.writeFileSync(tasksPath, JSON.stringify(todo, null, 2))
   }
 
-  return [false, data]
+  return [true, data]
 }