all-contributors-for-repository 0.0.4 → 0.0.6

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 (32) hide show
  1. package/README.md +15 -5
  2. package/lib/collect/api.js +1 -1
  3. package/lib/collect/api.js.map +1 -1
  4. package/lib/collect/api.test.js +6 -1
  5. package/lib/collect/api.test.js.map +1 -1
  6. package/lib/collect/collectAcceptedIssues.d.ts +1 -2
  7. package/lib/collect/collectAcceptedIssues.d.ts.map +1 -1
  8. package/lib/collect/collectEvents.d.ts +2 -4
  9. package/lib/collect/collectEvents.d.ts.map +1 -1
  10. package/lib/collect/collectIssueEvents.d.ts +4 -4
  11. package/lib/collect/collectMergedPulls.d.ts +1 -2
  12. package/lib/collect/collectMergedPulls.d.ts.map +1 -1
  13. package/lib/collect/index.d.ts.map +1 -1
  14. package/lib/collect/index.js +6 -5
  15. package/lib/collect/index.js.map +1 -1
  16. package/lib/collect/parsing/parseMergedPullAuthors.d.ts +9 -0
  17. package/lib/collect/parsing/parseMergedPullAuthors.d.ts.map +1 -0
  18. package/lib/collect/parsing/parseMergedPullAuthors.js +11 -0
  19. package/lib/collect/parsing/parseMergedPullAuthors.js.map +1 -0
  20. package/lib/collect/parsing/parseMergedPullAuthors.test.d.ts +2 -0
  21. package/lib/collect/parsing/parseMergedPullAuthors.test.d.ts.map +1 -0
  22. package/lib/collect/parsing/parseMergedPullAuthors.test.js +27 -0
  23. package/lib/collect/parsing/parseMergedPullAuthors.test.js.map +1 -0
  24. package/lib/collect/parsing/parseMergedPullType.d.ts +2 -0
  25. package/lib/collect/parsing/parseMergedPullType.d.ts.map +1 -0
  26. package/lib/collect/parsing/parseMergedPullType.js +12 -0
  27. package/lib/collect/parsing/parseMergedPullType.js.map +1 -0
  28. package/lib/collect/parsing/parseMergedPullType.test.d.ts +2 -0
  29. package/lib/collect/parsing/parseMergedPullType.test.d.ts.map +1 -0
  30. package/lib/collect/parsing/parseMergedPullType.test.js +16 -0
  31. package/lib/collect/parsing/parseMergedPullType.test.js.map +1 -0
  32. package/package.json +7 -6
package/README.md CHANGED
@@ -26,6 +26,12 @@
26
26
  <img alt="TypeScript: Strict" src="https://img.shields.io/badge/typescript-strict-21bb42.svg" />
27
27
  </p>
28
28
 
29
+ <p align="center">
30
+ <em>
31
+ ✨ See this tool in action with <a href="https://github.com/JoshuaKGoldberg/all-contributors-auto-action">all-contributors-auto-action</a>! ✨
32
+ </em>
33
+ </p>
34
+
29
35
  ## Usage
30
36
 
31
37
  ```shell
@@ -51,24 +57,28 @@ const contributors = await createAllContributorsForRepository({
51
57
  > This tool only sees contributions that can be detected from the last 500 events in GitHub's API.
52
58
  > Don't forget to manually add in other forms of contributions!
53
59
 
54
- The types of contributions detected are:
60
+ The types of contributions detected from the GitHub API are:
55
61
 
56
62
  - 🐛 `bug`: anybody who filed an issue labeled as accepting PRs and a bug _(see options)_
57
- - 💻 `computer`: all PR authors and co-authors
58
63
  - 📖 `doc`: authors of merged PRs that address issues labeled as accepting PRs and docs _(see options)_
59
64
  - 🚧 `maintenance`: adding labels to issues and PRs, and merging PRs
60
65
  - 👀 `review`: submitting a review for a PR
61
66
  - 🔧 `tool`: authors of merged PRs that address issues labeled as accepting PRs and tooling _(see options)_
62
67
 
68
+ Additionally, based on PR [conventional commit titles](https://www.conventionalcommits.org/en/v1.0.0/#summary) in the [Angular convention](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type), for all PR authors and co-authors:
69
+
70
+ - `build` and `ci`: will be treated as an `:infra:` contribution
71
+ - `docs`: will be treated as an `:doc:` contribution
72
+ - `test`: will be treated as an `:test:` contribution
73
+ - All other PRs -including those without a conventional title- will be treated as `:code:` contributions
74
+
63
75
  > 💡 Given that list of contributors, you might want to run `all-contributors add` on each contributor & contribution type.
64
76
  >
65
77
  > ```ts
66
78
  > import { $ } from "execa";
67
79
  >
68
80
  > for (const [contributor, contributions] of Object.entries(contributors)) {
69
- > for (const contribution of contributions) {
70
- > await $`npx all-contributors add ${contributor} ${contribution}`;
71
- > }
81
+ > await $`npx all-contributors add ${contributor} ${contributions.join(",")}`;
72
82
  > }
73
83
  > ```
74
84
 
@@ -10,7 +10,7 @@ export function createOctokit(auth) {
10
10
  }
11
11
  export async function paginate(defaults, request) {
12
12
  const items = [];
13
- for (let i = 0; i < 5; i += 1) {
13
+ for (let i = 0; i < 10; i += 1) {
14
14
  const response = await request({ page: i, per_page: perPage, ...defaults });
15
15
  items.push(...response);
16
16
  if (response.length < 100) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/collect/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,GAAG,GAAG,CAAC;AAOpB,MAAM,UAAU,aAAa,CAAC,IAAwB;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE;YACR,sBAAsB,EAAE,YAAY;SACpC;QACD,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACf,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,QAAyB,EACzB,OAA0D;IAE1D,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QAE5E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAExB,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;YAC1B,MAAM;SACN;KACD;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/collect/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,OAAO,GAAG,GAAG,CAAC;AAOpB,MAAM,UAAU,aAAa,CAAC,IAAwB;IACrD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE;YACR,sBAAsB,EAAE,YAAY;SACpC;QACD,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACf,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,QAAyB,EACzB,OAA0D;IAE1D,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QAE5E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAExB,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;YAC1B,MAAM;SACN;KACD;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -23,7 +23,7 @@ describe("paginate", () => {
23
23
  ...Array(100).fill({ page: 1 }),
24
24
  ]);
25
25
  });
26
- it("stops retrieving after 5 requests", async () => {
26
+ it("stops retrieving after 10 requests", async () => {
27
27
  const request = ({ page }) => Promise.resolve(Array(100).fill({ page }));
28
28
  const actual = await paginate(defaults, request);
29
29
  expect(actual).toEqual([
@@ -32,6 +32,11 @@ describe("paginate", () => {
32
32
  ...Array(100).fill({ page: 2 }),
33
33
  ...Array(100).fill({ page: 3 }),
34
34
  ...Array(100).fill({ page: 4 }),
35
+ ...Array(100).fill({ page: 5 }),
36
+ ...Array(100).fill({ page: 6 }),
37
+ ...Array(100).fill({ page: 7 }),
38
+ ...Array(100).fill({ page: 8 }),
39
+ ...Array(100).fill({ page: 9 }),
35
40
  ]);
36
41
  });
37
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../src/collect/api.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../src/collect/api.test.ts"],"names":[],"mappings":"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"}
@@ -478,13 +478,12 @@ export declare function collectAcceptedIssues(defaults: RequestDefaults, octokit
478
478
  created_at: string;
479
479
  updated_at: string;
480
480
  permissions: {
481
+ [key: string]: string | undefined;
481
482
  issues?: string | undefined;
482
483
  checks?: string | undefined;
483
484
  metadata?: string | undefined;
484
485
  contents?: string | undefined;
485
486
  deployments?: string | undefined;
486
- } & {
487
- [key: string]: string;
488
487
  };
489
488
  events: string[];
490
489
  installations_count?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"collectAcceptedIssues.d.ts","sourceRoot":"","sources":["../../src/collect/collectAcceptedIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAsB,qBAAqB,CAC1C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAYzB"}
1
+ {"version":3,"file":"collectAcceptedIssues.d.ts","sourceRoot":"","sources":["../../src/collect/collectAcceptedIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAsB,qBAAqB,CAC1C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAYzB"}
@@ -503,13 +503,12 @@ export declare function collectEvents(defaults: RequestDefaults, octokit: Octoki
503
503
  created_at: string;
504
504
  updated_at: string;
505
505
  permissions: {
506
+ [key: string]: string | undefined;
506
507
  issues?: string | undefined;
507
508
  checks?: string | undefined;
508
509
  metadata?: string | undefined;
509
510
  contents?: string | undefined;
510
511
  deployments?: string | undefined;
511
- } & {
512
- [key: string]: string;
513
512
  };
514
513
  events: string[];
515
514
  installations_count?: number | undefined;
@@ -601,13 +600,12 @@ export declare function collectEvents(defaults: RequestDefaults, octokit: Octoki
601
600
  created_at: string;
602
601
  updated_at: string;
603
602
  permissions: {
603
+ [key: string]: string | undefined;
604
604
  issues?: string | undefined;
605
605
  checks?: string | undefined;
606
606
  metadata?: string | undefined;
607
607
  contents?: string | undefined;
608
608
  deployments?: string | undefined;
609
- } & {
610
- [key: string]: string;
611
609
  };
612
610
  events: string[];
613
611
  installations_count?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"collectEvents.d.ts","sourceRoot":"","sources":["../../src/collect/collectEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAsB,aAAa,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAehB"}
1
+ {"version":3,"file":"collectEvents.d.ts","sourceRoot":"","sources":["../../src/collect/collectEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAsB,aAAa,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAehB"}
@@ -508,13 +508,12 @@ export declare function collectIssueEvents(defaults: RequestDefaults, octokit: O
508
508
  created_at: string;
509
509
  updated_at: string;
510
510
  permissions: {
511
+ [key: string]: string | undefined;
511
512
  issues?: string | undefined;
512
513
  checks?: string | undefined;
513
514
  metadata?: string | undefined;
514
515
  contents?: string | undefined;
515
516
  deployments?: string | undefined;
516
- } & {
517
- [key: string]: string;
518
517
  };
519
518
  events: string[];
520
519
  installations_count?: number | undefined;
@@ -640,6 +639,7 @@ export declare function collectIssueEvents(defaults: RequestDefaults, octokit: O
640
639
  slug: string;
641
640
  description: string | null;
642
641
  privacy?: string | undefined;
642
+ notification_setting?: string | undefined;
643
643
  permission: string;
644
644
  permissions?: {
645
645
  pull: boolean;
@@ -661,6 +661,7 @@ export declare function collectIssueEvents(defaults: RequestDefaults, octokit: O
661
661
  description: string | null;
662
662
  permission: string;
663
663
  privacy?: string | undefined;
664
+ notification_setting?: string | undefined;
664
665
  html_url: string;
665
666
  repositories_url: string;
666
667
  slug: string;
@@ -724,13 +725,12 @@ export declare function collectIssueEvents(defaults: RequestDefaults, octokit: O
724
725
  created_at: string;
725
726
  updated_at: string;
726
727
  permissions: {
728
+ [key: string]: string | undefined;
727
729
  issues?: string | undefined;
728
730
  checks?: string | undefined;
729
731
  metadata?: string | undefined;
730
732
  contents?: string | undefined;
731
733
  deployments?: string | undefined;
732
- } & {
733
- [key: string]: string;
734
734
  };
735
735
  events: string[];
736
736
  installations_count?: number | undefined;
@@ -466,13 +466,12 @@ export declare function collectMergedPulls(defaults: RequestDefaults, octokit: O
466
466
  created_at: string;
467
467
  updated_at: string;
468
468
  permissions: {
469
+ [key: string]: string | undefined;
469
470
  issues?: string | undefined;
470
471
  checks?: string | undefined;
471
472
  metadata?: string | undefined;
472
473
  contents?: string | undefined;
473
474
  deployments?: string | undefined;
474
- } & {
475
- [key: string]: string;
476
475
  };
477
476
  events: string[];
478
477
  installations_count?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"collectMergedPulls.d.ts","sourceRoot":"","sources":["../../src/collect/collectMergedPulls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUhB"}
1
+ {"version":3,"file":"collectMergedPulls.d.ts","sourceRoot":"","sources":["../../src/collect/collectMergedPulls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAY,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collect/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAOpE,wBAAsB,OAAO,CAAC,OAAO,EAAE,mCAAmC;;GAgEzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collect/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AASpE,wBAAsB,OAAO,CAAC,OAAO,EAAE,mCAAmC;;GA+DzE"}
@@ -4,6 +4,8 @@ import { collectAcceptedIssues } from "./collectAcceptedIssues.js";
4
4
  import { collectEvents } from "./collectEvents.js";
5
5
  import { collectIssueEvents } from "./collectIssueEvents.js";
6
6
  import { collectMergedPulls } from "./collectMergedPulls.js";
7
+ import { parseMergedPullAuthors } from "./parsing/parseMergedPullAuthors.js";
8
+ import { parseMergedPullType } from "./parsing/parseMergedPullType.js";
7
9
  export async function collect(options) {
8
10
  const contributors = new ContributorsCollection(options.ignoredLogins);
9
11
  const defaults = { owner: options.owner, repo: options.repo };
@@ -31,11 +33,10 @@ export async function collect(options) {
31
33
  }
32
34
  // 💻 `code`: all PR authors and co-authors
33
35
  for (const mergedPull of mergedPulls) {
34
- contributors.add(mergedPull.user?.login, "code");
35
- for (const coAuthor of mergedPull.body
36
- ?.match(/co-authored-by:.+/gi)
37
- ?.map((text) => text.match(/@(\S+)/)) ?? []) {
38
- contributors.add(coAuthor?.[1], "code");
36
+ const authors = parseMergedPullAuthors(mergedPull);
37
+ const type = parseMergedPullType(mergedPull.title);
38
+ for (const author of authors) {
39
+ contributors.add(author, type);
39
40
  }
40
41
  }
41
42
  // 🚧 `maintenance`: adding labels to issues and PRs, and merging PRs
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA4C;IACzE,MAAM,YAAY,GAAG,IAAI,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5E,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC;QACnE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;QAChC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACrC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;KACrC,CAAC,CAAC;IAEH,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAC9C,CAAC;QAEF,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI;YACvC,0EAA0E;YAC1E,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;YAC7B,wEAAwE;YACxE,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;YAC/B,4EAA4E;YAC5E,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;SAC/B,EAAE;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE;gBAChD,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;aAC1D;SACD;KACD;IAED,2CAA2C;IAC3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACrC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,IAAI;YACrC,EAAE,KAAK,CAAC,qBAAqB,CAAC;YAC9B,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SACxC;KACD;IAED,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;QAChC,IAAI,KAAK,CAAC,KAAK,EAAE;YAChB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACnD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnC;KACD;IAED,4CAA4C;IAC5C,mDAAmD;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC3B,IACC,KAAK,CAAC,IAAI,KAAK,wBAAwB;YACvC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EACjC;YACD,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAC9C;KACD;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collect/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface MergedPullForAuthors {
2
+ body?: string;
3
+ user?: {
4
+ login?: string;
5
+ } | null;
6
+ }
7
+ export declare function parseMergedPullAuthors(mergedPull: MergedPullForAuthors): string[];
8
+ export {};
9
+ //# sourceMappingURL=parseMergedPullAuthors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullAuthors.d.ts","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullAuthors.ts"],"names":[],"mappings":"AAAA,UAAU,oBAAoB;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,oBAAoB,YActE"}
@@ -0,0 +1,11 @@
1
+ export function parseMergedPullAuthors(mergedPull) {
2
+ const authors = [];
3
+ authors.push(mergedPull.user?.login);
4
+ for (const coAuthor of mergedPull.body
5
+ ?.match(/co-authored-by:.+/gi)
6
+ ?.map((text) => text.match(/@(\S+)/)) ?? []) {
7
+ authors.push(coAuthor?.[1]);
8
+ }
9
+ return authors.filter((author) => !!author);
10
+ }
11
+ //# sourceMappingURL=parseMergedPullAuthors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullAuthors.js","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullAuthors.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,sBAAsB,CAAC,UAAgC;IACtE,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,IAAI;QACrC,EAAE,KAAK,CAAC,qBAAqB,CAAC;QAC9B,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5B;IAED,OAAO,OAAO,CAAC,MAAM,CACpB,CAAC,MAA0B,EAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAC1D,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseMergedPullAuthors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullAuthors.test.d.ts","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullAuthors.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parseMergedPullAuthors } from "./parseMergedPullAuthors.js";
3
+ describe("parseMergedPullAuthors", () => {
4
+ it.each([
5
+ [{ body: undefined, user: null }, []],
6
+ [{ body: undefined, user: { login: "abc123" } }, ["abc123"]],
7
+ [{ body: "feat: something", user: { login: "abc123" } }, ["abc123"]],
8
+ [
9
+ {
10
+ body: "feat: something\nco-authored-by: not-a-github-username",
11
+ user: { login: "abc123" },
12
+ },
13
+ ["abc123"],
14
+ ],
15
+ [
16
+ {
17
+ body: "feat: something\nco-authored-by: @def456",
18
+ user: { login: "abc123" },
19
+ },
20
+ ["abc123", "def456"],
21
+ ],
22
+ ])("given %j, returns %j", (mergedPull, expected) => {
23
+ const result = parseMergedPullAuthors(mergedPull);
24
+ expect(result).toEqual(expected);
25
+ });
26
+ });
27
+ //# sourceMappingURL=parseMergedPullAuthors.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullAuthors.test.js","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullAuthors.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,IAAI,CAAC;QACP,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpE;YACC;gBACC,IAAI,EAAE,wDAAwD;gBAC9D,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;aACzB;YACD,CAAC,QAAQ,CAAC;SACV;QACD;YACC;gBACC,IAAI,EAAE,0CAA0C;gBAChD,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;aACzB;YACD,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACpB;KACD,CAAC,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function parseMergedPullType(title: string): string;
2
+ //# sourceMappingURL=parseMergedPullType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullType.d.ts","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullType.ts"],"names":[],"mappings":"AASA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,UAIhD"}
@@ -0,0 +1,12 @@
1
+ import conventionalCommitsParser from "conventional-commits-parser";
2
+ const allContributorsTypes = new Map([
3
+ ["build", "infra"],
4
+ ["ci", "infra"],
5
+ ["docs", "doc"],
6
+ ["test", "test"],
7
+ ]);
8
+ export function parseMergedPullType(title) {
9
+ const { type } = conventionalCommitsParser.sync(title);
10
+ return (type && allContributorsTypes.get(type)) || "code";
11
+ }
12
+ //# sourceMappingURL=parseMergedPullType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullType.js","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullType.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACpC,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,CAAC,MAAM,EAAE,KAAK,CAAC;IACf,CAAC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEvD,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseMergedPullType.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullType.test.d.ts","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullType.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { parseMergedPullType } from "./parseMergedPullType.js";
3
+ describe("parseMergedPullType", () => {
4
+ it.each([
5
+ [".", "code"],
6
+ ["chore: ...", "code"],
7
+ ["build: fix a thing", "infra"],
8
+ ["ci: ...", "infra"],
9
+ ["docs: ...", "doc"],
10
+ ["test: ...", "test"],
11
+ ])("given %s, returns %j", (mergedPull, expected) => {
12
+ const result = parseMergedPullType(mergedPull);
13
+ expect(result).toEqual(expected);
14
+ });
15
+ });
16
+ //# sourceMappingURL=parseMergedPullType.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMergedPullType.test.js","sourceRoot":"","sources":["../../../src/collect/parsing/parseMergedPullType.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,IAAI,CAAC;QACP,CAAC,GAAG,EAAE,MAAM,CAAC;QACb,CAAC,YAAY,EAAE,MAAM,CAAC;QACtB,CAAC,oBAAoB,EAAE,OAAO,CAAC;QAC/B,CAAC,SAAS,EAAE,OAAO,CAAC;QACpB,CAAC,WAAW,EAAE,KAAK,CAAC;QACpB,CAAC,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "all-contributors-for-repository",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Generates an allcontributors list for an existing repository.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,7 +24,7 @@
24
24
  "lint:knip": "knip",
25
25
  "lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line",
26
26
  "lint:package": "npmPkgJsonLint .",
27
- "lint:packages": "pnpm-deduplicate --list",
27
+ "lint:packages": "pnpm dedupe --check",
28
28
  "lint:spelling": "cspell \"**\" \".github/**/*\"",
29
29
  "prepare": "husky install",
30
30
  "should-semantic-release": "should-semantic-release --verbose",
@@ -34,13 +34,15 @@
34
34
  "*": "prettier --ignore-unknown --write"
35
35
  },
36
36
  "dependencies": {
37
+ "conventional-commits-parser": "^3.2.4",
37
38
  "octokit": "^2.0.14"
38
39
  },
39
40
  "devDependencies": {
41
+ "@types/conventional-commits-parser": "^3.0.3",
40
42
  "@types/eslint": "^8.21.1",
41
43
  "@typescript-eslint/eslint-plugin": "^5.48.2",
42
44
  "@typescript-eslint/parser": "^5.48.2",
43
- "@vitest/coverage-istanbul": "^0.30.0",
45
+ "@vitest/coverage-istanbul": "^0.31.0",
44
46
  "console-fail-test": "^0.2.0",
45
47
  "cspell": "^6.19.2",
46
48
  "eslint": "^8.32.0",
@@ -58,13 +60,12 @@
58
60
  "eslint-plugin-yml": "^1.5.0",
59
61
  "husky": "^8.0.3",
60
62
  "jsonc-eslint-parser": "^2.1.0",
61
- "knip": "2.10.2",
63
+ "knip": "2.10.3",
62
64
  "lint-staged": "^13.1.0",
63
65
  "markdownlint": "^0.28.0",
64
66
  "markdownlint-cli": "^0.33.0",
65
67
  "npm-package-json-lint": "^6.4.0",
66
68
  "npm-package-json-lint-config-default": "^5.0.0",
67
- "pnpm-deduplicate": "^0.4.1",
68
69
  "prettier": "^2.8.3",
69
70
  "prettier-plugin-packagejson": "^2.4.2",
70
71
  "release-it": "^15.6.0",
@@ -74,7 +75,7 @@
74
75
  "vitest": "^0.29.0",
75
76
  "yaml-eslint-parser": "^1.2.0"
76
77
  },
77
- "packageManager": "pnpm@7.32.2",
78
+ "packageManager": "pnpm@8.3.1",
78
79
  "engines": {
79
80
  "node": ">=18"
80
81
  }