all-contributors-for-repository 0.3.1 → 0.4.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/README.md CHANGED
@@ -86,6 +86,8 @@ Additionally, based on PR [conventional commit titles](https://www.conventionalc
86
86
  > await $`npx all-contributors add ${contributor} ${contributionTypes}`;
87
87
  > }
88
88
  > ```
89
+ >
90
+ > See [populate-all-contributors-for-repository](https://github.com/JoshuaKGoldberg/populate-all-contributors-for-repository) for a project that does just that. 📋
89
91
 
90
92
  ### Options
91
93
 
@@ -4,7 +4,7 @@ interface RequestDefaults {
4
4
  owner: string;
5
5
  repo: string;
6
6
  }
7
- declare function createOctokit(auth: string | undefined): Octokit;
7
+ declare function createOctokit(auth: string | undefined): Promise<Octokit>;
8
8
  interface RequestOptionsWithPage extends RequestDefaults {
9
9
  page: number;
10
10
  per_page: number;
@@ -1,12 +1,13 @@
1
- import { Octokit } from "octokit";
1
+ import { octokitFromAuthSafe } from "octokit-from-auth";
2
2
  const perPage = 100;
3
- function createOctokit(auth) {
4
- return new (Octokit.defaults({
3
+ async function createOctokit(auth) {
4
+ return await octokitFromAuthSafe({
5
+ auth,
5
6
  headers: {
6
7
  "X-GitHub-Api-Version": "2022-11-28"
7
8
  },
8
9
  per_page: perPage
9
- }))({ auth });
10
+ });
10
11
  }
11
12
  async function paginate(defaults, request) {
12
13
  const items = [];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collect/api.ts"],"sourcesContent":["import { Octokit } from \"octokit\";\n\nconst perPage = 100;\n\nexport interface RequestDefaults {\n\towner: string;\n\trepo: string;\n}\n\nexport function createOctokit(auth: string | undefined): Octokit {\n\treturn new (Octokit.defaults({\n\t\theaders: {\n\t\t\t\"X-GitHub-Api-Version\": \"2022-11-28\",\n\t\t},\n\t\tper_page: perPage,\n\t}))({ auth });\n}\n\nexport interface RequestOptionsWithPage extends RequestDefaults {\n\tpage: number;\n\tper_page: number;\n}\n\nexport async function paginate<T>(\n\tdefaults: RequestDefaults,\n\trequest: (requestOptions: RequestOptionsWithPage) => Promise<T[]>,\n) {\n\tconst items: T[] = [];\n\n\tfor (let i = 0; i < 10; i += 1) {\n\t\tconst response = await request({ page: i, per_page: perPage, ...defaults });\n\n\t\titems.push(...response);\n\n\t\tif (response.length < 100) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn items;\n}\n"],"mappings":"AAAA,SAAS,eAAe;AAExB,MAAM,UAAU;AAOT,SAAS,cAAc,MAAmC;AAChE,SAAO,KAAK,QAAQ,SAAS;AAAA,IAC5B,SAAS;AAAA,MACR,wBAAwB;AAAA,IACzB;AAAA,IACA,UAAU;AAAA,EACX,CAAC,GAAG,EAAE,KAAK,CAAC;AACb;AAOA,eAAsB,SACrB,UACA,SACC;AACD,QAAM,QAAa,CAAC;AAEpB,WAAS,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG;AAC/B,UAAM,WAAW,MAAM,QAAQ,EAAE,MAAM,GAAG,UAAU,SAAS,GAAG,SAAS,CAAC;AAE1E,UAAM,KAAK,GAAG,QAAQ;AAEtB,QAAI,SAAS,SAAS,KAAK;AAC1B;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../src/collect/api.ts"],"sourcesContent":["import { Octokit } from \"octokit\";\nimport { octokitFromAuthSafe } from \"octokit-from-auth\";\n\nconst perPage = 100;\n\nexport interface RequestDefaults {\n\towner: string;\n\trepo: string;\n}\n\nexport async function createOctokit(\n\tauth: string | undefined,\n): Promise<Octokit> {\n\treturn await octokitFromAuthSafe({\n\t\tauth,\n\t\theaders: {\n\t\t\t\"X-GitHub-Api-Version\": \"2022-11-28\",\n\t\t},\n\t\tper_page: perPage,\n\t});\n}\n\nexport interface RequestOptionsWithPage extends RequestDefaults {\n\tpage: number;\n\tper_page: number;\n}\n\nexport async function paginate<T>(\n\tdefaults: RequestDefaults,\n\trequest: (requestOptions: RequestOptionsWithPage) => Promise<T[]>,\n) {\n\tconst items: T[] = [];\n\n\tfor (let i = 0; i < 10; i += 1) {\n\t\tconst response = await request({ page: i, per_page: perPage, ...defaults });\n\n\t\titems.push(...response);\n\n\t\tif (response.length < 100) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn items;\n}\n"],"mappings":"AACA,SAAS,2BAA2B;AAEpC,MAAM,UAAU;AAOhB,eAAsB,cACrB,MACmB;AACnB,SAAO,MAAM,oBAAoB;AAAA,IAChC;AAAA,IACA,SAAS;AAAA,MACR,wBAAwB;AAAA,IACzB;AAAA,IACA,UAAU;AAAA,EACX,CAAC;AACF;AAOA,eAAsB,SACrB,UACA,SACC;AACD,QAAM,QAAa,CAAC;AAEpB,WAAS,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG;AAC/B,UAAM,WAAW,MAAM,QAAQ,EAAE,MAAM,GAAG,UAAU,SAAS,GAAG,SAAS,CAAC;AAE1E,UAAM,KAAK,GAAG,QAAQ;AAEtB,QAAI,SAAS,SAAS,KAAK;AAC1B;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
@@ -8,7 +8,7 @@ import { collectRepoEvents } from "./collecting/collectRepoEvents.js";
8
8
  import { processContributors } from "./processing/processContributors.js";
9
9
  async function collect(options) {
10
10
  const defaults = { owner: options.owner, repo: options.repo };
11
- const octokit = createOctokit(options.auth);
11
+ const octokit = await createOctokit(options.auth);
12
12
  const [acceptedIssues, issueEvents, mergedPulls, repoEvents] = await Promise.all([
13
13
  collectAcceptedIssues(defaults, octokit, options.labelAcceptingPrs),
14
14
  collectIssueEvents(defaults, octokit),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collect/index.ts"],"sourcesContent":["import { ContributorsContributions } from \"../ContributorsCollection.js\";\nimport { AllContributorsForRepositoryOptions } from \"../options.js\";\nimport { addAcceptedIssues } from \"./adding/addAcceptedIssues.js\";\nimport { addMergedPulls } from \"./adding/addMergedPulls.js\";\nimport { createOctokit } from \"./api.js\";\nimport { collectAcceptedIssues } from \"./collecting/collectAcceptedIssues.js\";\nimport { collectIssueEvents } from \"./collecting/collectIssueEvents.js\";\nimport { collectMergedPulls } from \"./collecting/collectMergedPulls.js\";\nimport { collectRepoEvents } from \"./collecting/collectRepoEvents.js\";\nimport { processContributors } from \"./processing/processContributors.js\";\n\nexport async function collect(\n\toptions: AllContributorsForRepositoryOptions,\n): Promise<ContributorsContributions> {\n\tconst defaults = { owner: options.owner, repo: options.repo };\n\tconst octokit = createOctokit(options.auth);\n\n\t// 1. Collect event data from the GitHub API\n\tconst [acceptedIssues, issueEvents, mergedPulls, repoEvents] =\n\t\tawait Promise.all([\n\t\t\tcollectAcceptedIssues(defaults, octokit, options.labelAcceptingPrs),\n\t\t\tcollectIssueEvents(defaults, octokit),\n\t\t\tcollectMergedPulls(defaults, octokit),\n\t\t\tcollectRepoEvents(defaults, octokit),\n\t\t]);\n\n\t// 2. Process individual contributors from those events\n\tconst contributors = processContributors(issueEvents, repoEvents, options);\n\n\t// 3. Add additional contributors based on issues and pulls\n\taddAcceptedIssues(Object.values(acceptedIssues), contributors, options);\n\tawait addMergedPulls(mergedPulls, contributors, octokit);\n\n\t// 4. Collect the contributions under each contributor\n\treturn contributors.collect();\n}\n"],"mappings":"AAEA,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AAEpC,eAAsB,QACrB,SACqC;AACrC,QAAM,WAAW,EAAE,OAAO,QAAQ,OAAO,MAAM,QAAQ,KAAK;AAC5D,QAAM,UAAU,cAAc,QAAQ,IAAI;AAG1C,QAAM,CAAC,gBAAgB,aAAa,aAAa,UAAU,IAC1D,MAAM,QAAQ,IAAI;AAAA,IACjB,sBAAsB,UAAU,SAAS,QAAQ,iBAAiB;AAAA,IAClE,mBAAmB,UAAU,OAAO;AAAA,IACpC,mBAAmB,UAAU,OAAO;AAAA,IACpC,kBAAkB,UAAU,OAAO;AAAA,EACpC,CAAC;AAGF,QAAM,eAAe,oBAAoB,aAAa,YAAY,OAAO;AAGzE,oBAAkB,OAAO,OAAO,cAAc,GAAG,cAAc,OAAO;AACtE,QAAM,eAAe,aAAa,cAAc,OAAO;AAGvD,SAAO,aAAa,QAAQ;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../src/collect/index.ts"],"sourcesContent":["import { ContributorsContributions } from \"../ContributorsCollection.js\";\nimport { AllContributorsForRepositoryOptions } from \"../options.js\";\nimport { addAcceptedIssues } from \"./adding/addAcceptedIssues.js\";\nimport { addMergedPulls } from \"./adding/addMergedPulls.js\";\nimport { createOctokit } from \"./api.js\";\nimport { collectAcceptedIssues } from \"./collecting/collectAcceptedIssues.js\";\nimport { collectIssueEvents } from \"./collecting/collectIssueEvents.js\";\nimport { collectMergedPulls } from \"./collecting/collectMergedPulls.js\";\nimport { collectRepoEvents } from \"./collecting/collectRepoEvents.js\";\nimport { processContributors } from \"./processing/processContributors.js\";\n\nexport async function collect(\n\toptions: AllContributorsForRepositoryOptions,\n): Promise<ContributorsContributions> {\n\tconst defaults = { owner: options.owner, repo: options.repo };\n\tconst octokit = await createOctokit(options.auth);\n\n\t// 1. Collect event data from the GitHub API\n\tconst [acceptedIssues, issueEvents, mergedPulls, repoEvents] =\n\t\tawait Promise.all([\n\t\t\tcollectAcceptedIssues(defaults, octokit, options.labelAcceptingPrs),\n\t\t\tcollectIssueEvents(defaults, octokit),\n\t\t\tcollectMergedPulls(defaults, octokit),\n\t\t\tcollectRepoEvents(defaults, octokit),\n\t\t]);\n\n\t// 2. Process individual contributors from those events\n\tconst contributors = processContributors(issueEvents, repoEvents, options);\n\n\t// 3. Add additional contributors based on issues and pulls\n\taddAcceptedIssues(Object.values(acceptedIssues), contributors, options);\n\tawait addMergedPulls(mergedPulls, contributors, octokit);\n\n\t// 4. Collect the contributions under each contributor\n\treturn contributors.collect();\n}\n"],"mappings":"AAEA,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AAEpC,eAAsB,QACrB,SACqC;AACrC,QAAM,WAAW,EAAE,OAAO,QAAQ,OAAO,MAAM,QAAQ,KAAK;AAC5D,QAAM,UAAU,MAAM,cAAc,QAAQ,IAAI;AAGhD,QAAM,CAAC,gBAAgB,aAAa,aAAa,UAAU,IAC1D,MAAM,QAAQ,IAAI;AAAA,IACjB,sBAAsB,UAAU,SAAS,QAAQ,iBAAiB;AAAA,IAClE,mBAAmB,UAAU,OAAO;AAAA,IACpC,mBAAmB,UAAU,OAAO;AAAA,IACpC,kBAAkB,UAAU,OAAO;AAAA,EACpC,CAAC;AAGF,QAAM,eAAe,oBAAoB,aAAa,YAAY,OAAO;AAGzE,oBAAkB,OAAO,OAAO,cAAc,GAAG,cAAc,OAAO;AACtE,QAAM,eAAe,aAAa,cAAc,OAAO;AAGvD,SAAO,aAAa,QAAQ;AAC7B;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "all-contributors-for-repository",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Generates an allcontributors list for an existing repository. 🤝",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,7 +40,8 @@
40
40
  "co-author-to-username": "^0.1.1",
41
41
  "conventional-commits-parser": "^6.0.0",
42
42
  "description-to-co-authors": "^0.3.0",
43
- "octokit": "^4.0.0"
43
+ "octokit": "^4.0.0",
44
+ "octokit-from-auth": "^0.3.0"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@release-it/conventional-changelog": "^9.0.0",
@@ -65,7 +66,7 @@
65
66
  "eslint-plugin-yml": "^1.11.0",
66
67
  "husky": "^9.0.0",
67
68
  "jsonc-eslint-parser": "^2.4.0",
68
- "knip": "5.39.2",
69
+ "knip": "5.40.0",
69
70
  "lint-staged": "^15.2.0",
70
71
  "markdownlint": "^0.37.0",
71
72
  "markdownlint-cli": "^0.43.0",