├── .github
└── workflows
│ └── node.js.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── action.yml
├── dist
└── index.js
├── index.js
├── package-lock.json
└── package.json
/.github/workflows/node.js.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | build:
7 | name: Generate build and check code formatting
8 |
9 | runs-on: ubuntu-latest
10 |
11 | steps:
12 | - uses: actions/checkout@v2
13 | - name: Use Node.js 12.x
14 | uses: actions/setup-node@v1
15 | with:
16 | node-version: 12
17 | - run: npm ci
18 | - run: npm run format:check
19 | - run: npm run build
20 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as
6 | contributors and maintainers pledge to making participation in our project and
7 | our community a harassment-free experience for everyone, regardless of age, body
8 | size, disability, ethnicity, sex characteristics, gender identity and expression,
9 | level of experience, education, socio-economic status, nationality, personal
10 | appearance, race, religion, or sexual identity and orientation.
11 |
12 | ## Our Standards
13 |
14 | Examples of behavior that contributes to creating a positive environment
15 | include:
16 |
17 | * Using welcoming and inclusive language
18 | * Being respectful of differing viewpoints and experiences
19 | * Gracefully accepting constructive criticism
20 | * Focusing on what is best for the community
21 | * Showing empathy towards other community members
22 |
23 | Examples of unacceptable behavior by participants include:
24 |
25 | * The use of sexualized language or imagery and unwelcome sexual attention or
26 | advances
27 | * Trolling, insulting/derogatory comments, and personal or political attacks
28 | * Public or private harassment
29 | * Publishing others' private information, such as a physical or electronic
30 | address, without explicit permission
31 | * Other conduct which could reasonably be considered inappropriate in a
32 | professional setting
33 |
34 | ## Our Responsibilities
35 |
36 | Project maintainers are responsible for clarifying the standards of acceptable
37 | behavior and are expected to take appropriate and fair corrective action in
38 | response to any instances of unacceptable behavior.
39 |
40 | Project maintainers have the right and responsibility to remove, edit, or
41 | reject comments, commits, code, wiki edits, issues, and other contributions
42 | that are not aligned to this Code of Conduct, or to ban temporarily or
43 | permanently any contributor for other behaviors that they deem inappropriate,
44 | threatening, offensive, or harmful.
45 |
46 | ## Scope
47 |
48 | This Code of Conduct applies both within project spaces and in public spaces
49 | when an individual is representing the project or its community. Examples of
50 | representing a project or community include using an official project e-mail
51 | address, posting via an official social media account, or acting as an appointed
52 | representative at an online or offline event. Representation of a project may be
53 | further defined and clarified by project maintainers.
54 |
55 | ## Enforcement
56 |
57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
58 | reported by contacting the project team at jamesgeorge998001@gmail.com. All
59 | complaints will be reviewed and investigated and will result in a response that
60 | is deemed necessary and appropriate to the circumstances. The project team is
61 | obligated to maintain confidentiality with regard to the reporter of an incident.
62 | Further details of specific enforcement policies may be posted separately.
63 |
64 | Project maintainers who do not follow or enforce the Code of Conduct in good
65 | faith may face temporary or permanent repercussions as determined by other
66 | members of the project's leadership.
67 |
68 | ## Attribution
69 |
70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72 |
73 | [homepage]: https://www.contributor-covenant.org
74 |
75 | For answers to common questions about this code of conduct, see
76 | https://www.contributor-covenant.org/faq
77 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 James George
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GitHub Activity in Readme
2 |
3 | Updates `README.md` with the recent GitHub activity of a user.
4 |
5 |
6 |
7 | ---
8 |
9 | ## Instructions
10 |
11 | - Add the comment `` (entry point) within `README.md`. You can find an example [here](https://github.com/jamesgeorge007/jamesgeorge007/blob/master/README.md).
12 |
13 | - It's the time to create a workflow file.
14 |
15 | `.github/workflows/update-readme.yml`
16 |
17 | ```yml
18 | name: Update README
19 |
20 | on:
21 | schedule:
22 | - cron: '*/30 * * * *'
23 | workflow_dispatch:
24 |
25 | jobs:
26 | build:
27 | runs-on: ubuntu-latest
28 | name: Update this repo's README with recent activity
29 |
30 | steps:
31 | - uses: actions/checkout@v2
32 | - uses: jamesgeorge007/github-activity-readme@master
33 | env:
34 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35 | ```
36 |
37 | The above job runs every half an hour, you can change it as you wish based on the [cron syntax](https://jasonet.co/posts/scheduled-actions/#the-cron-syntax).
38 |
39 | Please note that only those public events that belong to the following list show up:-
40 |
41 | - `IssueEvent`
42 | - `IssueCommentEvent`
43 | - `PullRequestEvent`
44 |
45 | You can find an example [here](https://github.com/jamesgeorge007/jamesgeorge007/blob/master/.github/workflows/update-readme.yml).
46 |
47 | ### Override defaults
48 |
49 | Use the following `input params` to customize it for your use case:-
50 |
51 | | Input Param | Default Value | Description |
52 | |--------|--------|--------|
53 | | `COMMIT_MSG` | :zap: Update README with the recent activity | Commit message used while committing to the repo |
54 | | `MAX_LINES` | 5 | The maximum number of lines populated in your readme file |
55 |
56 |
57 | ```yml
58 | name: Update README
59 |
60 | on:
61 | schedule:
62 | - cron: '*/30 * * * *'
63 | workflow_dispatch:
64 |
65 | jobs:
66 | build:
67 | runs-on: ubuntu-latest
68 | name: Update this repo's README with recent activity
69 |
70 | steps:
71 | - uses: actions/checkout@v2
72 | - uses: jamesgeorge007/github-activity-readme@master
73 | env:
74 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
75 | with:
76 | COMMIT_MSG: 'Specify a custom commit message'
77 | MAX_LINES: 10
78 | ```
79 |
80 | _Inspired by [JasonEtco/activity-box](https://github.com/JasonEtco/activity-box)_
81 |
--------------------------------------------------------------------------------
/action.yml:
--------------------------------------------------------------------------------
1 | name: GitHub - Activity - Readme
2 | description: Updates README with the recent GitHub activity of a user
3 | author: jamesgeorge007
4 |
5 | inputs:
6 | GH_USERNAME:
7 | description: 'Your GitHub username'
8 | default: ${{ github.repository_owner }}
9 | required: false
10 | COMMIT_MSG:
11 | description: "Commit message used while committing to the repo"
12 | default: ":zap: Update README with the recent activity"
13 | required: false
14 | MAX_LINES:
15 | description: "The maximum number of lines populated in your readme file"
16 | default: 5
17 | required: false
18 |
19 | branding:
20 | color: yellow
21 | icon: activity
22 |
23 | runs:
24 | using: node12
25 | main: dist/index.js
26 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const core = require("@actions/core");
2 | const fs = require("fs");
3 | const path = require("path");
4 | const { spawn } = require("child_process");
5 | const { Toolkit } = require("actions-toolkit");
6 |
7 | // Get config
8 | const GH_USERNAME = core.getInput("GH_USERNAME");
9 | const COMMIT_MSG = core.getInput("COMMIT_MSG");
10 | const MAX_LINES = core.getInput("MAX_LINES");
11 | /**
12 | * Returns the sentence case representation
13 | * @param {String} str - the string
14 | *
15 | * @returns {String}
16 | */
17 |
18 | const capitalize = (str) => str.slice(0, 1).toUpperCase() + str.slice(1);
19 |
20 | const urlPrefix = "https://github.com";
21 |
22 | /**
23 | * Returns a URL in markdown format for PR's and issues
24 | * @param {Object | String} item - holds information concerning the issue/PR
25 | *
26 | * @returns {String}
27 | */
28 |
29 | const toUrlFormat = (item) => {
30 | if (typeof item === "object") {
31 | return Object.hasOwnProperty.call(item.payload, "issue")
32 | ? `[#${item.payload.issue.number}](${urlPrefix}/${item.repo.name}/issues/${item.payload.issue.number})`
33 | : `[#${item.payload.pull_request.number}](${urlPrefix}/${item.repo.name}/pull/${item.payload.pull_request.number})`;
34 | }
35 | return `[${item}](${urlPrefix}/${item})`;
36 | };
37 |
38 | /**
39 | * Execute shell command
40 | * @param {String} cmd - root command
41 | * @param {String[]} args - args to be passed along with
42 | *
43 | * @returns {Promise}
44 | */
45 |
46 | const exec = (cmd, args = []) =>
47 | new Promise((resolve, reject) => {
48 | const app = spawn(cmd, args, { stdio: "pipe" });
49 | let stdout = "";
50 | app.stdout.on("data", (data) => {
51 | stdout = data;
52 | });
53 | app.on("close", (code) => {
54 | if (code !== 0 && !stdout.includes("nothing to commit")) {
55 | err = new Error(`Invalid status code: ${code}`);
56 | err.code = code;
57 | return reject(err);
58 | }
59 | return resolve(code);
60 | });
61 | app.on("error", reject);
62 | });
63 |
64 | /**
65 | * Make a commit
66 | *
67 | * @returns {Promise}
68 | */
69 |
70 | const commitFile = async () => {
71 | await exec("git", [
72 | "config",
73 | "--global",
74 | "user.email",
75 | "41898282+github-actions[bot]@users.noreply.github.com",
76 | ]);
77 | await exec("git", ["config", "--global", "user.name", "readme-bot"]);
78 | await exec("git", ["add", "README.md"]);
79 | await exec("git", ["commit", "-m", COMMIT_MSG]);
80 | await exec("git", ["push"]);
81 | };
82 |
83 | const serializers = {
84 | IssueCommentEvent: (item) => {
85 | return `🗣 Commented on ${toUrlFormat(item)} in ${toUrlFormat(
86 | item.repo.name
87 | )}`;
88 | },
89 | IssuesEvent: (item) => {
90 | return `❗️ ${capitalize(item.payload.action)} issue ${toUrlFormat(
91 | item
92 | )} in ${toUrlFormat(item.repo.name)}`;
93 | },
94 | PullRequestEvent: (item) => {
95 | const emoji = item.payload.action === "opened" ? "💪" : "❌";
96 | const line = item.payload.pull_request.merged
97 | ? "🎉 Merged"
98 | : `${emoji} ${capitalize(item.payload.action)}`;
99 | return `${line} PR ${toUrlFormat(item)} in ${toUrlFormat(item.repo.name)}`;
100 | },
101 | };
102 |
103 | Toolkit.run(
104 | async (tools) => {
105 | // Get the user's public events
106 | tools.log.debug(`Getting activity for ${GH_USERNAME}`);
107 | const events = await tools.github.activity.listPublicEventsForUser({
108 | username: GH_USERNAME,
109 | per_page: 100,
110 | });
111 | tools.log.debug(
112 | `Activity for ${GH_USERNAME}, ${events.data.length} events found.`
113 | );
114 |
115 | const content = events.data
116 | // Filter out any boring activity
117 | .filter((event) => serializers.hasOwnProperty(event.type))
118 | // We only have five lines to work with
119 | .slice(0, MAX_LINES)
120 | // Call the serializer to construct a string
121 | .map((item) => serializers[item.type](item));
122 |
123 | const readmeContent = fs.readFileSync("./README.md", "utf-8").split("\n");
124 |
125 | // Find the index corresponding to comment
126 | let startIdx = readmeContent.findIndex(
127 | (content) => content.trim() === ""
128 | );
129 |
130 | // Early return in case the comment was not found
131 | if (startIdx === -1) {
132 | return tools.exit.failure(
133 | `Couldn't find the comment. Exiting!`
134 | );
135 | }
136 |
137 | // Find the index corresponding to comment
138 | const endIdx = readmeContent.findIndex(
139 | (content) => content.trim() === ""
140 | );
141 |
142 | if (!content.length) {
143 | tools.exit.failure("No PullRequest/Issue/IssueComment events found");
144 | }
145 |
146 | if (content.length < 5) {
147 | tools.log.info("Found less than 5 activities");
148 | }
149 |
150 | if (startIdx !== -1 && endIdx === -1) {
151 | // Add one since the content needs to be inserted just after the initial comment
152 | startIdx++;
153 | content.forEach((line, idx) =>
154 | readmeContent.splice(startIdx + idx, 0, `${idx + 1}. ${line}`)
155 | );
156 |
157 | // Append comment
158 | readmeContent.splice(
159 | startIdx + content.length,
160 | 0,
161 | ""
162 | );
163 |
164 | // Update README
165 | fs.writeFileSync("./README.md", readmeContent.join("\n"));
166 |
167 | // Commit to the remote repository
168 | try {
169 | await commitFile();
170 | } catch (err) {
171 | tools.log.debug("Something went wrong");
172 | return tools.exit.failure(err);
173 | }
174 | tools.exit.success("Wrote to README");
175 | }
176 |
177 | const oldContent = readmeContent.slice(startIdx + 1, endIdx).join("\n");
178 | const newContent = content
179 | .map((line, idx) => `${idx + 1}. ${line}`)
180 | .join("\n");
181 |
182 | if (oldContent.trim() === newContent.trim())
183 | tools.exit.success("No changes detected");
184 |
185 | startIdx++;
186 |
187 | // Recent GitHub Activity content between the comments
188 | const readmeActivitySection = readmeContent.slice(startIdx, endIdx);
189 | if (!readmeActivitySection.length) {
190 | content.some((line, idx) => {
191 | // User doesn't have 5 public events
192 | if (!line) {
193 | return true;
194 | }
195 | readmeContent.splice(startIdx + idx, 0, `${idx + 1}. ${line}`);
196 | });
197 | tools.log.success("Wrote to README");
198 | } else {
199 | // It is likely that a newline is inserted after the comment (code formatter)
200 | let count = 0;
201 |
202 | readmeActivitySection.some((line, idx) => {
203 | // User doesn't have 5 public events
204 | if (!content[count]) {
205 | return true;
206 | }
207 | if (line !== "") {
208 | readmeContent[startIdx + idx] = `${count + 1}. ${content[count]}`;
209 | count++;
210 | }
211 | });
212 | tools.log.success("Updated README with the recent activity");
213 | }
214 |
215 | // Update README
216 | fs.writeFileSync("./README.md", readmeContent.join("\n"));
217 |
218 | // Commit to the remote repository
219 | try {
220 | await commitFile();
221 | } catch (err) {
222 | tools.log.debug("Something went wrong");
223 | return tools.exit.failure(err);
224 | }
225 | tools.exit.success("Pushed to remote repository");
226 | },
227 | {
228 | event: ["schedule", "workflow_dispatch"],
229 | secrets: ["GITHUB_TOKEN"],
230 | }
231 | );
232 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "github-activity-readme",
3 | "version": "0.3.6",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@actions/core": {
8 | "version": "1.2.6",
9 | "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz",
10 | "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA=="
11 | },
12 | "@actions/exec": {
13 | "version": "1.0.4",
14 | "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.4.tgz",
15 | "integrity": "sha512-4DPChWow9yc9W3WqEbUj8Nr86xkpyE29ZzWjXucHItclLbEW6jr80Zx4nqv18QL6KK65+cifiQZXvnqgTV6oHw==",
16 | "requires": {
17 | "@actions/io": "^1.0.1"
18 | }
19 | },
20 | "@actions/io": {
21 | "version": "1.0.2",
22 | "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz",
23 | "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg=="
24 | },
25 | "@octokit/auth-token": {
26 | "version": "2.4.2",
27 | "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz",
28 | "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==",
29 | "requires": {
30 | "@octokit/types": "^5.0.0"
31 | }
32 | },
33 | "@octokit/core": {
34 | "version": "2.5.4",
35 | "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz",
36 | "integrity": "sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==",
37 | "requires": {
38 | "@octokit/auth-token": "^2.4.0",
39 | "@octokit/graphql": "^4.3.1",
40 | "@octokit/request": "^5.4.0",
41 | "@octokit/types": "^5.0.0",
42 | "before-after-hook": "^2.1.0",
43 | "universal-user-agent": "^5.0.0"
44 | }
45 | },
46 | "@octokit/endpoint": {
47 | "version": "6.0.3",
48 | "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.3.tgz",
49 | "integrity": "sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg==",
50 | "requires": {
51 | "@octokit/types": "^5.0.0",
52 | "is-plain-object": "^3.0.0",
53 | "universal-user-agent": "^5.0.0"
54 | }
55 | },
56 | "@octokit/graphql": {
57 | "version": "4.5.1",
58 | "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.1.tgz",
59 | "integrity": "sha512-qgMsROG9K2KxDs12CO3bySJaYoUu2aic90qpFrv7A8sEBzZ7UFGvdgPKiLw5gOPYEYbS0Xf8Tvf84tJutHPulQ==",
60 | "requires": {
61 | "@octokit/request": "^5.3.0",
62 | "@octokit/types": "^5.0.0",
63 | "universal-user-agent": "^5.0.0"
64 | }
65 | },
66 | "@octokit/plugin-paginate-rest": {
67 | "version": "2.2.3",
68 | "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.3.tgz",
69 | "integrity": "sha512-eKTs91wXnJH8Yicwa30jz6DF50kAh7vkcqCQ9D7/tvBAP5KKkg6I2nNof8Mp/65G0Arjsb4QcOJcIEQY+rK1Rg==",
70 | "requires": {
71 | "@octokit/types": "^5.0.0"
72 | }
73 | },
74 | "@octokit/plugin-request-log": {
75 | "version": "1.0.0",
76 | "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
77 | "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw=="
78 | },
79 | "@octokit/plugin-rest-endpoint-methods": {
80 | "version": "3.17.0",
81 | "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz",
82 | "integrity": "sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==",
83 | "requires": {
84 | "@octokit/types": "^4.1.6",
85 | "deprecation": "^2.3.1"
86 | },
87 | "dependencies": {
88 | "@octokit/types": {
89 | "version": "4.1.10",
90 | "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz",
91 | "integrity": "sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==",
92 | "requires": {
93 | "@types/node": ">= 8"
94 | }
95 | }
96 | }
97 | },
98 | "@octokit/request": {
99 | "version": "5.4.5",
100 | "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.5.tgz",
101 | "integrity": "sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg==",
102 | "requires": {
103 | "@octokit/endpoint": "^6.0.1",
104 | "@octokit/request-error": "^2.0.0",
105 | "@octokit/types": "^5.0.0",
106 | "deprecation": "^2.0.0",
107 | "is-plain-object": "^3.0.0",
108 | "node-fetch": "^2.3.0",
109 | "once": "^1.4.0",
110 | "universal-user-agent": "^5.0.0"
111 | }
112 | },
113 | "@octokit/request-error": {
114 | "version": "2.0.2",
115 | "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz",
116 | "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==",
117 | "requires": {
118 | "@octokit/types": "^5.0.1",
119 | "deprecation": "^2.0.0",
120 | "once": "^1.4.0"
121 | }
122 | },
123 | "@octokit/rest": {
124 | "version": "17.11.2",
125 | "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz",
126 | "integrity": "sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ==",
127 | "requires": {
128 | "@octokit/core": "^2.4.3",
129 | "@octokit/plugin-paginate-rest": "^2.2.0",
130 | "@octokit/plugin-request-log": "^1.0.0",
131 | "@octokit/plugin-rest-endpoint-methods": "3.17.0"
132 | }
133 | },
134 | "@octokit/types": {
135 | "version": "5.1.0",
136 | "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.1.0.tgz",
137 | "integrity": "sha512-OFxUBgrEllAbdEmWp/wNmKIu5EuumKHG4sgy56vjZ8lXPgMhF05c76hmulfOdFHHYRpPj49ygOZJ8wgVsPecuA==",
138 | "requires": {
139 | "@types/node": ">= 8"
140 | }
141 | },
142 | "@types/flat-cache": {
143 | "version": "2.0.0",
144 | "resolved": "https://registry.npmjs.org/@types/flat-cache/-/flat-cache-2.0.0.tgz",
145 | "integrity": "sha512-fHeEsm9hvmZ+QHpw6Fkvf19KIhuqnYLU6vtWLjd5BsMd/qVi7iTkMioDZl0mQmfNRA1A6NwvhrSRNr9hGYZGww=="
146 | },
147 | "@types/minimist": {
148 | "version": "1.2.0",
149 | "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
150 | "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY="
151 | },
152 | "@types/node": {
153 | "version": "14.0.23",
154 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz",
155 | "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw=="
156 | },
157 | "@types/signale": {
158 | "version": "1.4.1",
159 | "resolved": "https://registry.npmjs.org/@types/signale/-/signale-1.4.1.tgz",
160 | "integrity": "sha512-05d9fUDqRnt36rizLgo38SbPTrkMzdhXpvSHSAhxzokgIUPGNUoXHV0zYjPpTd4IryDADJ0mGHpfJ/Yhjyh9JQ==",
161 | "requires": {
162 | "@types/node": "*"
163 | }
164 | },
165 | "@zeit/ncc": {
166 | "version": "0.22.3",
167 | "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.22.3.tgz",
168 | "integrity": "sha512-jnCLpLXWuw/PAiJiVbLjA8WBC0IJQbFeUwF4I9M+23MvIxTxk5pD4Q8byQBSPmHQjz5aBoA7AKAElQxMpjrCLQ==",
169 | "dev": true
170 | },
171 | "actions-toolkit": {
172 | "version": "5.0.0",
173 | "resolved": "https://registry.npmjs.org/actions-toolkit/-/actions-toolkit-5.0.0.tgz",
174 | "integrity": "sha512-5a8awmbCWGh6R8TIVFmV/gQj3VCR++uqCbPzbrcl3JN/7NRdbF0kAPFAl52iUIvtnz734E0jNNLuZ+x766Os5Q==",
175 | "requires": {
176 | "@actions/core": "^1.2.4",
177 | "@actions/exec": "^1.0.4",
178 | "@octokit/rest": "^17.9.0",
179 | "@types/flat-cache": "^2.0.0",
180 | "@types/minimist": "^1.2.0",
181 | "@types/signale": "^1.4.1",
182 | "enquirer": "^2.3.5",
183 | "minimist": "^1.2.5",
184 | "signale": "^1.4.0"
185 | }
186 | },
187 | "ansi-colors": {
188 | "version": "4.1.1",
189 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
190 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
191 | },
192 | "ansi-styles": {
193 | "version": "3.2.1",
194 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
195 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
196 | "requires": {
197 | "color-convert": "^1.9.0"
198 | }
199 | },
200 | "before-after-hook": {
201 | "version": "2.1.0",
202 | "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
203 | "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A=="
204 | },
205 | "chalk": {
206 | "version": "2.4.2",
207 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
208 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
209 | "requires": {
210 | "ansi-styles": "^3.2.1",
211 | "escape-string-regexp": "^1.0.5",
212 | "supports-color": "^5.3.0"
213 | }
214 | },
215 | "color-convert": {
216 | "version": "1.9.3",
217 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
218 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
219 | "requires": {
220 | "color-name": "1.1.3"
221 | }
222 | },
223 | "color-name": {
224 | "version": "1.1.3",
225 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
226 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
227 | },
228 | "cross-spawn": {
229 | "version": "6.0.5",
230 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
231 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
232 | "requires": {
233 | "nice-try": "^1.0.4",
234 | "path-key": "^2.0.1",
235 | "semver": "^5.5.0",
236 | "shebang-command": "^1.2.0",
237 | "which": "^1.2.9"
238 | }
239 | },
240 | "deprecation": {
241 | "version": "2.3.1",
242 | "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
243 | "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
244 | },
245 | "end-of-stream": {
246 | "version": "1.4.4",
247 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
248 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
249 | "requires": {
250 | "once": "^1.4.0"
251 | }
252 | },
253 | "enquirer": {
254 | "version": "2.3.6",
255 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
256 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
257 | "requires": {
258 | "ansi-colors": "^4.1.1"
259 | }
260 | },
261 | "error-ex": {
262 | "version": "1.3.2",
263 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
264 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
265 | "requires": {
266 | "is-arrayish": "^0.2.1"
267 | }
268 | },
269 | "escape-string-regexp": {
270 | "version": "1.0.5",
271 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
272 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
273 | },
274 | "execa": {
275 | "version": "1.0.0",
276 | "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
277 | "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
278 | "requires": {
279 | "cross-spawn": "^6.0.0",
280 | "get-stream": "^4.0.0",
281 | "is-stream": "^1.1.0",
282 | "npm-run-path": "^2.0.0",
283 | "p-finally": "^1.0.0",
284 | "signal-exit": "^3.0.0",
285 | "strip-eof": "^1.0.0"
286 | }
287 | },
288 | "figures": {
289 | "version": "2.0.0",
290 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
291 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
292 | "requires": {
293 | "escape-string-regexp": "^1.0.5"
294 | }
295 | },
296 | "find-up": {
297 | "version": "2.1.0",
298 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
299 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
300 | "requires": {
301 | "locate-path": "^2.0.0"
302 | }
303 | },
304 | "get-stream": {
305 | "version": "4.1.0",
306 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
307 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
308 | "requires": {
309 | "pump": "^3.0.0"
310 | }
311 | },
312 | "graceful-fs": {
313 | "version": "4.2.4",
314 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
315 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
316 | },
317 | "has-flag": {
318 | "version": "3.0.0",
319 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
320 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
321 | },
322 | "is-arrayish": {
323 | "version": "0.2.1",
324 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
325 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
326 | },
327 | "is-plain-object": {
328 | "version": "3.0.1",
329 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
330 | "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g=="
331 | },
332 | "is-stream": {
333 | "version": "1.1.0",
334 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
335 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
336 | },
337 | "isexe": {
338 | "version": "2.0.0",
339 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
340 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
341 | },
342 | "json-parse-better-errors": {
343 | "version": "1.0.2",
344 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
345 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
346 | },
347 | "load-json-file": {
348 | "version": "4.0.0",
349 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
350 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
351 | "requires": {
352 | "graceful-fs": "^4.1.2",
353 | "parse-json": "^4.0.0",
354 | "pify": "^3.0.0",
355 | "strip-bom": "^3.0.0"
356 | }
357 | },
358 | "locate-path": {
359 | "version": "2.0.0",
360 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
361 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
362 | "requires": {
363 | "p-locate": "^2.0.0",
364 | "path-exists": "^3.0.0"
365 | }
366 | },
367 | "macos-release": {
368 | "version": "2.4.0",
369 | "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.0.tgz",
370 | "integrity": "sha512-ko6deozZYiAkqa/0gmcsz+p4jSy3gY7/ZsCEokPaYd8k+6/aXGkiTgr61+Owup7Sf+xjqW8u2ElhoM9SEcEfuA=="
371 | },
372 | "minimist": {
373 | "version": "1.2.5",
374 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
375 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
376 | },
377 | "nice-try": {
378 | "version": "1.0.5",
379 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
380 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
381 | },
382 | "node-fetch": {
383 | "version": "2.6.1",
384 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
385 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
386 | },
387 | "npm-run-path": {
388 | "version": "2.0.2",
389 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
390 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
391 | "requires": {
392 | "path-key": "^2.0.0"
393 | }
394 | },
395 | "once": {
396 | "version": "1.4.0",
397 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
398 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
399 | "requires": {
400 | "wrappy": "1"
401 | }
402 | },
403 | "os-name": {
404 | "version": "3.1.0",
405 | "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
406 | "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
407 | "requires": {
408 | "macos-release": "^2.2.0",
409 | "windows-release": "^3.1.0"
410 | }
411 | },
412 | "p-finally": {
413 | "version": "1.0.0",
414 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
415 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
416 | },
417 | "p-limit": {
418 | "version": "1.3.0",
419 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
420 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
421 | "requires": {
422 | "p-try": "^1.0.0"
423 | }
424 | },
425 | "p-locate": {
426 | "version": "2.0.0",
427 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
428 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
429 | "requires": {
430 | "p-limit": "^1.1.0"
431 | }
432 | },
433 | "p-try": {
434 | "version": "1.0.0",
435 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
436 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
437 | },
438 | "parse-json": {
439 | "version": "4.0.0",
440 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
441 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
442 | "requires": {
443 | "error-ex": "^1.3.1",
444 | "json-parse-better-errors": "^1.0.1"
445 | }
446 | },
447 | "path-exists": {
448 | "version": "3.0.0",
449 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
450 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
451 | },
452 | "path-key": {
453 | "version": "2.0.1",
454 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
455 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
456 | },
457 | "pify": {
458 | "version": "3.0.0",
459 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
460 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
461 | },
462 | "pkg-conf": {
463 | "version": "2.1.0",
464 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz",
465 | "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=",
466 | "requires": {
467 | "find-up": "^2.0.0",
468 | "load-json-file": "^4.0.0"
469 | }
470 | },
471 | "prettier": {
472 | "version": "2.0.5",
473 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
474 | "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==",
475 | "dev": true
476 | },
477 | "pump": {
478 | "version": "3.0.0",
479 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
480 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
481 | "requires": {
482 | "end-of-stream": "^1.1.0",
483 | "once": "^1.3.1"
484 | }
485 | },
486 | "semver": {
487 | "version": "5.7.1",
488 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
489 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
490 | },
491 | "shebang-command": {
492 | "version": "1.2.0",
493 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
494 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
495 | "requires": {
496 | "shebang-regex": "^1.0.0"
497 | }
498 | },
499 | "shebang-regex": {
500 | "version": "1.0.0",
501 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
502 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
503 | },
504 | "signal-exit": {
505 | "version": "3.0.3",
506 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
507 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
508 | },
509 | "signale": {
510 | "version": "1.4.0",
511 | "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz",
512 | "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==",
513 | "requires": {
514 | "chalk": "^2.3.2",
515 | "figures": "^2.0.0",
516 | "pkg-conf": "^2.1.0"
517 | }
518 | },
519 | "strip-bom": {
520 | "version": "3.0.0",
521 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
522 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
523 | },
524 | "strip-eof": {
525 | "version": "1.0.0",
526 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
527 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
528 | },
529 | "supports-color": {
530 | "version": "5.5.0",
531 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
532 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
533 | "requires": {
534 | "has-flag": "^3.0.0"
535 | }
536 | },
537 | "universal-user-agent": {
538 | "version": "5.0.0",
539 | "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
540 | "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
541 | "requires": {
542 | "os-name": "^3.1.0"
543 | }
544 | },
545 | "which": {
546 | "version": "1.3.1",
547 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
548 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
549 | "requires": {
550 | "isexe": "^2.0.0"
551 | }
552 | },
553 | "windows-release": {
554 | "version": "3.3.1",
555 | "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.1.tgz",
556 | "integrity": "sha512-Pngk/RDCaI/DkuHPlGTdIkDiTAnAkyMjoQMZqRsxydNl1qGXNIoZrB7RK8g53F2tEgQBMqQJHQdYZuQEEAu54A==",
557 | "requires": {
558 | "execa": "^1.0.0"
559 | }
560 | },
561 | "wrappy": {
562 | "version": "1.0.2",
563 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
564 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
565 | }
566 | }
567 | }
568 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "github-activity-readme",
3 | "version": "0.3.6",
4 | "description": "Updates README with the recent GitHub activity of a user",
5 | "main": "index.js",
6 | "keywords": [],
7 | "author": "James George",
8 | "license": "MIT",
9 | "scripts": {
10 | "format:check": "prettier --check index.js",
11 | "format": "prettier --write index.js",
12 | "build": "ncc build index.js -o dist"
13 | },
14 | "dependencies": {
15 | "@actions/core": "^1.2.6",
16 | "actions-toolkit": "^5.0.0"
17 | },
18 | "devDependencies": {
19 | "@zeit/ncc": "^0.22.3",
20 | "prettier": "^2.0.5"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------