├── .eslintignore
├── .gitignore
├── slack.png
├── .github
├── renovate.json
├── dependabot.yml
└── workflows
│ └── main.yml
├── .editorconfig
├── .eslintrc
├── action.yml
├── CUSTOM_PAYLOAD.md
├── .all-contributorsrc
├── .env.dist
├── entrypoint.js
├── DEVELOPMENT.md
├── LICENSE
├── package.json
├── message.js
├── handlers.js
├── README.md
├── event-example.json
└── yarn.lock
/.eslintignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
3 | .github
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .env
3 | .DS_Store
4 |
--------------------------------------------------------------------------------
/slack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/elastic/action-slack/master/slack.png
--------------------------------------------------------------------------------
/.github/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "config:base"
4 | ],
5 | "assignees": ["@Ilshidur"],
6 | "lockFileMaintenance": {
7 | "enabled": true
8 | },
9 | "vulnerabilityAlerts": {
10 | "labels": ["security"],
11 | "assignees": ["@Ilshidur"]
12 | },
13 | "packageRules": [
14 | {
15 | "depTypeList": [
16 | "engines"
17 | ],
18 | "rangeStrategy": "auto"
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # http://editorconfig.org
4 |
5 | root = true
6 |
7 | [*]
8 |
9 | # Change these settings to your own preference
10 | indent_style = space
11 | indent_size = 2
12 |
13 | # We recommend you to keep these unchanged
14 | end_of_line = lf
15 | charset = utf-8
16 | trim_trailing_whitespace = true
17 | insert_final_newline = true
18 |
19 | [*.md]
20 | trim_trailing_whitespace = false
21 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "eslint:recommended",
4 | "plugin:node/recommended"
5 | ],
6 | "plugins": [
7 | "node"
8 | ],
9 | "reportUnusedDisableDirectives": true,
10 | "env": {
11 | "node": true,
12 | "es6": true,
13 | "commonjs": true
14 | },
15 | "globals": {
16 | "Atomics": "readonly",
17 | "SharedArrayBuffer": "readonly"
18 | },
19 | "parserOptions": {
20 | "ecmaVersion": 2020,
21 | "sourceType": "module"
22 | },
23 | "rules": {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/action.yml:
--------------------------------------------------------------------------------
1 | name: 'GitHub Action for Slack'
2 | description: 'Outputs a message to Slack.'
3 | author: Ilshidur
4 | inputs:
5 | args:
6 | description: 'The message to display in the Slack notification.'
7 | required: true
8 | # TODO: Handle configuration through Action inputs.
9 | # slack_webhook:
10 | # slack_avatar:
11 | # slack_custom_payload:
12 | # slack_username:
13 | # slack_channel:
14 | runs:
15 | using: node16
16 | main: dist/index.js
17 | branding:
18 | icon: hash
19 | color: red
20 |
--------------------------------------------------------------------------------
/CUSTOM_PAYLOAD.md:
--------------------------------------------------------------------------------
1 | # 🚀 Slack for GitHub Actions - CUSTOM PAYLOAD
2 |
3 | Custom payload allows interpolate hook data and event payload
4 |
5 | ## Example
6 | ```yml
7 | env:
8 | SLACK_CUSTOM_PAYLOAD: '{"text":"Custom payload from {{ GITHUB_REPOSITORY }} \\n *with* `new` _line_ escaped","username": "{{ GITHUB_ACTOR }}"}'
9 | ```
10 |
11 | > ## IMPORTANT:
12 | > - Escaped characters (like: line-breaks) needs to be escaped 2x:
ex: `\n` becomes: `\\n`
13 | > - Mind to send a quoted JSON string payload as the example above.
14 | > - Using a custom payload will cause the other slack env vars data to be ignored.
15 |
--------------------------------------------------------------------------------
/.all-contributorsrc:
--------------------------------------------------------------------------------
1 | {
2 | "files": [
3 | "README.md"
4 | ],
5 | "imageSize": 100,
6 | "commit": false,
7 | "contributors": [
8 | {
9 | "login": "itsmelion",
10 | "name": "Christhopher Lion",
11 | "avatar_url": "https://avatars1.githubusercontent.com/u/12537491?v=4",
12 | "profile": "https://lion.alia.ml",
13 | "contributions": [
14 | "code",
15 | "ideas",
16 | "doc"
17 | ]
18 | }
19 | ],
20 | "contributorsPerLine": 7,
21 | "projectName": "action-slack",
22 | "projectOwner": "Ilshidur",
23 | "repoType": "github",
24 | "repoHost": "https://github.com",
25 | "skipCi": true
26 | }
27 |
--------------------------------------------------------------------------------
/.env.dist:
--------------------------------------------------------------------------------
1 | # This file will set env vars for development purposes (e.g.: debugging of this Action).
2 |
3 | # Mocked Slack-related environment variables.
4 | # See : https://github.com/Ilshidur/action-slack#environment-variables
5 | SLACK_WEBHOOK=
6 | SLACK_CHANNEL=
7 | SLACK_AVATAR=sender
8 | SLACK_USERNAME=$USER
9 | # SLACK_CUSTOM_PAYLOAD=
10 |
11 | # Mocked event-related environment variables.
12 | # See : https://developer.github.com/v3/activity/events/types
13 | GITHUB_REPOSITORY=sample/project
14 | GITHUB_WORKFLOW=Slack notification
15 | GITHUB_ACTOR=$USER
16 | GITHUB_ACTION=Lint
17 | GITHUB_EVENT_NAME=push
18 | # Mocking the event payload
19 | GITHUB_EVENT_PATH=./event-example.json
20 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5 |
6 | version: 2
7 | updates:
8 | - package-ecosystem: "npm"
9 | directory: "/"
10 | schedule:
11 | interval: "weekly"
12 | day: "sunday"
13 | assignees:
14 | - "Ilshidur"
15 | reviewers:
16 | - "Ilshidur"
17 | labels:
18 | - "dependencies"
19 | - "npm"
20 | # Maintain dependencies for GitHub Actions
21 | - package-ecosystem: "github-actions"
22 | directory: "/"
23 | schedule:
24 | interval: "weekly"
25 | day: "sunday"
26 |
--------------------------------------------------------------------------------
/entrypoint.js:
--------------------------------------------------------------------------------
1 | const axios = require('axios');
2 | const _ = require('lodash');
3 | const core = require('@actions/core');
4 | const message = require('./message');
5 |
6 | const REQUIRED_ENV_VARS = [
7 | "GITHUB_EVENT_PATH",
8 | "SLACK_WEBHOOK",
9 | ];
10 |
11 | try {
12 | _.forEach(REQUIRED_ENV_VARS, env => {
13 | if (_.isEmpty(process.env[env])) {
14 | process.exitCode = 1;
15 | throw new Error(`Missing environment variable. ${env} is required.`);
16 | }
17 | });
18 | } catch (e) { core.setFailed(e.message); }
19 |
20 |
21 | if (!process.exitCode) {
22 | core.info("Sending message ...");
23 |
24 | axios
25 | .post(process.env.SLACK_WEBHOOK, message.get())
26 | .then(() => {
27 | process.exitCode = 0;
28 | return core.info('Message sent! Shutting down ...');
29 | })
30 | .catch((err) => {
31 | process.exitCode = 1;
32 | const errMessage = err.response ? err.response.data : err.message;
33 | return core.setFailed(`Error: ${errMessage}`);
34 | });
35 | }
36 |
--------------------------------------------------------------------------------
/DEVELOPMENT.md:
--------------------------------------------------------------------------------
1 | # 🚀 Slack for GitHub Actions - DEVELOPMENT
2 |
3 | This document will help you in case you want to test your GitHub Action before deploying it.
4 | By installing and running this Action manually, you'll be able to control the environment variables that GitHub usually applies to the Action's container.
5 |
6 |
7 |
8 | ## Requirements
9 |
10 | * Node.js *(sorry ...)*
11 |
12 | ## Installation
13 |
14 | * Copy `.env.dist` to `.env` and set **all** the environment variables.
15 | * Run `yarn`.
16 |
17 | ## Development
18 |
19 | Run the Action using this :
20 |
21 | ```bash
22 | node -r dotenv/config entrypoint.js "{{ EVENT_PAYLOAD.commits[0].message }}"
23 | ```
24 |
25 | You can change the event payload by editing the `event-example.json` file according to the [event types](https://developer.github.com/v3/activity/events/types).
26 |
27 |
28 |
29 |
30 | Don't forget to 🌟 Star 🌟 the repo if you like this GitHub Action !
31 | Your feedback is appreciated
32 |
33 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Nicolas Coutin
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 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "action-slack",
3 | "version": "2.0.0",
4 | "description": "GitHub Action that sends a Slack notification.",
5 | "private": true,
6 | "type": "commonjs",
7 | "main": "./entrypoint.js",
8 | "engines": {
9 | "node": ">=8.3.0"
10 | },
11 | "scripts": {
12 | "build": "ncc build ./entrypoint -m",
13 | "start": "node -r dotenv/config ./entrypoint 'My message from {{GITHUB_REPOSITORY}}'",
14 | "lint": "eslint --ext .js ./"
15 | },
16 | "repository": {
17 | "type": "git",
18 | "url": "git+https://github.com/Ilshidur/actions.git"
19 | },
20 | "keywords": [
21 | "slack",
22 | "github",
23 | "action"
24 | ],
25 | "author": "Ilshidur",
26 | "license": "MIT",
27 | "bugs": {
28 | "url": "https://github.com/Ilshidur/actions/issues"
29 | },
30 | "homepage": "https://github.com/Ilshidur/actions#readme",
31 | "dependencies": {
32 | "@actions/core": "1.10.0",
33 | "axios": "0.21.0",
34 | "lodash": "4.17.21"
35 | },
36 | "devDependencies": {
37 | "@vercel/ncc": "0.28.2",
38 | "dotenv": "8.2.0",
39 | "eslint": "7.24.0",
40 | "eslint-plugin-node": "11.1.0"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/message.js:
--------------------------------------------------------------------------------
1 | /**
2 | @description
3 | Message payload to be sent with Slack webhook
4 | */
5 | const { selectAvatar, getMessage, parsePayload } = require("./handlers");
6 |
7 | const {
8 | SLACK_USERNAME,
9 | SLACK_CHANNEL,
10 | SLACK_CUSTOM_PAYLOAD,
11 | SLACK_UNFURL_LINKS,
12 | } = process.env;
13 |
14 | const messageSingleton = (() => {
15 | let instance;
16 |
17 | function createInstance() {
18 | if (SLACK_CUSTOM_PAYLOAD) return parsePayload();
19 |
20 | const message = {};
21 |
22 | message.text = getMessage(); // Args || DEFAULT_MESSAGE
23 | if(SLACK_UNFURL_LINKS === 'true'){
24 | message.unfurl_links = true;
25 | }
26 |
27 | // override username
28 | if (SLACK_USERNAME) message.username = SLACK_USERNAME;
29 |
30 | // override channel
31 | if (SLACK_CHANNEL) message.channel = SLACK_CHANNEL;
32 |
33 | /*
34 | If provided avatar add it,
35 | also can use use sender, or repository image.
36 | defaults to webhook slack app;
37 | */
38 | if (selectAvatar()) message.icon_url = selectAvatar();
39 |
40 | return message;
41 | }
42 |
43 | return {
44 | get() {
45 | if (!instance) instance = createInstance();
46 | return instance;
47 | }
48 | };
49 | })();
50 |
51 | module.exports = messageSingleton;
52 |
--------------------------------------------------------------------------------
/handlers.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const _ = require('lodash');
3 | const core = require('@actions/core');
4 |
5 | _.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
6 |
7 | const {
8 | SLACK_AVATAR,
9 | SLACK_CUSTOM_PAYLOAD,
10 | GITHUB_EVENT_PATH,
11 | GITHUB_ACTOR,
12 | GITHUB_EVENT_NAME,
13 | GITHUB_REPOSITORY
14 | } = process.env;
15 |
16 | const EVENT_PAYLOAD = JSON.parse(fs.readFileSync(GITHUB_EVENT_PATH, "utf8"));
17 |
18 | const replaceMustaches = data => _.template(data)({ ...process.env, EVENT_PAYLOAD })
19 |
20 | // Override Slack message
21 | exports.getMessage = () => {
22 | const args = core.getInput('args');
23 | const DEFAULT_MESSAGE = `@${GITHUB_ACTOR} (${GITHUB_EVENT_NAME}) at ${GITHUB_REPOSITORY}`;
24 |
25 | if (!args) return DEFAULT_MESSAGE;
26 |
27 | // If any arguments provided, parse moustaches on template string:
28 | return replaceMustaches(args) || DEFAULT_MESSAGE;
29 | }
30 |
31 | // Custom slack payload
32 | exports.parsePayload = () => JSON.parse(replaceMustaches(SLACK_CUSTOM_PAYLOAD));
33 |
34 |
35 | // overrides default avatar
36 | exports.selectAvatar = () => {
37 | switch (SLACK_AVATAR) {
38 | case 'sender': return _.get(EVENT_PAYLOAD, 'sender.avatar_url') || false;
39 | case 'repository': return _.get(EVENT_PAYLOAD, 'owner.avatar_url') || false
40 | default: return SLACK_AVATAR || false;
41 | }
42 | };
43 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: Notification on push
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | - main # ✊🏿
8 |
9 | env:
10 | CI: true
11 | SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
12 | DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
13 | HUSKY_SKIP_INSTALL: true
14 |
15 | jobs:
16 | build:
17 | runs-on: ubuntu-latest
18 | steps:
19 | - uses: actions/checkout@v2
20 |
21 | - name: Check syntax
22 | run: |
23 | yarn install --frozen-lockfile --silent --non-interactive
24 | yarn lint
25 |
26 | - name: Slack notification FAILED
27 | uses: Ilshidur/action-slack@2.1.0
28 | if: failure()
29 | env:
30 | SLACK_AVATAR: sender # optional: repository, sender or ImageURL
31 | with:
32 | args: "Lint checks *FAILED* for {{GITHUB_REPOSITORY}}*\nYo {{GITHUB_ACTOR}} see why at <{{GITHUB_SERVER_URL}}/{{GITHUB_REPOSITORY}}/commit/{{GITHUB_SHA}}/checks|action logs>"
33 |
34 | - name: Slack notification SUCCESS
35 | uses: Ilshidur/action-slack@2.1.0
36 | if: success()
37 | with:
38 | args: "Lint checks *SUCCESSFUL!*\nfrom {{ GITHUB_ACTOR }} at {{ GITHUB_REPOSITORY }}"
39 |
40 | - name: Discord notification FAILED
41 | uses: Ilshidur/action-discord@0.3.0
42 | if: failure()
43 | with:
44 | args: "Lint checks *FAILED* for {{GITHUB_REPOSITORY}}*\nYo {{GITHUB_ACTOR}} see why at <{{GITHUB_SERVER_URL}}/{{GITHUB_REPOSITORY}}/commit/{{GITHUB_SHA}}/checks|action logs>"
45 |
46 | - name: Discord notification SUCCESS
47 | uses: Ilshidur/action-discord@0.3.0
48 | if: success()
49 | with:
50 | args: "Lint checks *SUCCESSFUL!*\nfrom {{ GITHUB_ACTOR }} at {{ GITHUB_REPOSITORY }}"
51 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 🚀 Slack for GitHub Actions
2 |
3 |
4 | [](#contributors-)
5 |
6 |
7 | [![Build Status][build-badge]][build-url]
8 |
9 | Sends a Slack notification. Simple as that.
10 |
11 | *Appearance on Slack :*
12 |
13 | 
14 |
15 | This GitHub action is part of a list of Actions that are located in an other repo. Feel free to check it out : https://github.com/Ilshidur/actions.
16 |
17 |
18 |
19 | ## Usage
20 |
21 | ```yaml
22 | - name: Slack notification
23 | env:
24 | SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
25 | SLACK_USERNAME: ThisIsMyUsername # Optional. (defaults to webhook app)
26 | SLACK_CHANNEL: general # Optional. (defaults to webhook)
27 | SLACK_AVATAR: repository # Optional. can be (repository, sender, an URL) (defaults to webhook app avatar)
28 | uses: Ilshidur/action-slack@2.0.2
29 | with:
30 | args: 'A new commit has been pushed.' # Optional
31 | ```
32 |
33 | **NOTICE :** for stability purposes, it is recommended to use the action with an explicit commit SHA-1 :
34 |
35 | * Version : `uses: "Ilshidur/action-slack@2.1.0"` (→ link to the releases list : https://github.com/Ilshidur/action-slack/releases)
36 | * Commit SHA-1 : `uses: "Ilshidur/action-slack@702accad29cfcfe2ee4ebebb21a3883cc1ac9a39"` (→ link to the commits list : https://github.com/Ilshidur/action-slack/commits/master)
37 |
38 | ### Arguments
39 |
40 | The argument is the message to display in the Slack notification.
41 |
42 | **Environment variables** can be interpolated in the message using brackets (`{{` and `}}`) :
43 |
44 | e.g.: `Action called : {{ GITHUB_ACTION }}`
45 |
46 | *Note :* be careful to properly [format your messages for Slack](https://api.slack.com/docs/message-formatting).
47 |
48 | **Event Payload** data can also be interpolated in the message using brackets (`{{` and `}}`) with the `EVENT_PAYLOAD` variable.
49 |
50 | e.g.: `Action called: {{ GITHUB_ACTION }} as {{ EVENT_PAYLOAD.pull_request.id }}`
51 |
52 | > See the [event types](https://developer.github.com/v3/activity/events/types/) for valid payload informations.
53 |
54 | #### Examples
55 |
56 | * `args: "Hello, beautiful ! I ran a GitHub Action for you <3"`
57 | * `args: "I showed you my commit. Please respond."`
58 |
59 | ### Environment variables
60 |
61 | * **`SLACK_WEBHOOK`** **(required)**: the Slack webhook URL (see https://api.slack.com/incoming-webhooks).
62 | * **`SLACK_USERNAME`** *(optional)* : overrides username. Defaults to the Slack webhook bot name.
63 | * **`SLACK_CHANNEL`** *(optional)* : overrides the default channel of the webhook. If not set, the message will be sent to the channel associated to the webhook.
64 | * **`SLACK_AVATAR`** *(optional)* : overrides the message avatar. Can be `'repository'`, `'sender'` or an URL. If not set, the avatar of the Slack webhook's bot picture will be used.
65 | * **`SLACK_CUSTOM_PAYLOAD`** *(advanced)* : JSON string that sets full payload. instructions see [CUSTOM_PAYLOAD](CUSTOM_PAYLOAD.md)
66 |
67 | ## Debugging / testing / development
68 |
69 | Developers, all you need is in the [DEVELOPMENT.md](DEVELOPMENT.md) file.
70 |
71 | ## Contributors
72 |
73 |
74 |
75 |
76 |
81 |
82 |
83 |
84 |
85 |
86 | ## Alternatives
87 |
88 | Because open source is about everyone :
89 |
90 | https://github.com/marketplace/actions/post-slack-message
91 | 
92 |
93 | https://github.com/marketplace/actions/slack-notify
94 | 
95 |
96 | https://github.com/marketplace/actions/slack-bot-action
97 | 
98 |
99 | https://github.com/marketplace/actions/slatify
100 | 
101 |
102 | https://github.com/marketplace/actions/slack-notify-build
103 | 
104 |
105 | https://github.com/marketplace/actions/action-slack
106 | 
107 |
108 |
109 |
110 |
111 | Don't forget to 🌟 Star 🌟 the repo if you like this GitHub Action !
112 | Your feedback is appreciated
113 |
114 |
115 | [build-badge]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FIlshidur%2Faction-slack%2Fbadge&style=flat
116 | [build-url]: https://actions-badge.atrox.dev/Ilshidur/action-slack/goto
117 |
--------------------------------------------------------------------------------
/event-example.json:
--------------------------------------------------------------------------------
1 | {
2 | "ref": "refs/tags/simple-tag",
3 | "before": "a10867b14bb761a232cd80139fbd4c0d33264240",
4 | "after": "0000000000000000000000000000000000000000",
5 | "created": false,
6 | "deleted": true,
7 | "forced": false,
8 | "base_ref": null,
9 | "compare": "https://github.com/Codertocat/Hello-World/compare/a10867b14bb7...000000000000",
10 | "commits": [{
11 | "sha": "a10867b14bb761a232cd80139fbd4c0d33264240",
12 | "message": "Commit message",
13 | "author": {
14 | "name": "Ilshidur",
15 | "email": "ilshidur@github.com"
16 | },
17 | "url": "http://github.com/blahblah",
18 | "distinct": true
19 | }],
20 | "head_commit": null,
21 | "repository": {
22 | "id": 135493233,
23 | "node_id": "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=",
24 | "name": "Hello-World",
25 | "full_name": "Codertocat/Hello-World",
26 | "owner": {
27 | "name": "Codertocat",
28 | "email": "21031067+Codertocat@users.noreply.github.com",
29 | "login": "Codertocat",
30 | "id": 21031067,
31 | "node_id": "MDQ6VXNlcjIxMDMxMDY3",
32 | "avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
33 | "gravatar_id": "",
34 | "url": "https://api.github.com/users/Codertocat",
35 | "html_url": "https://github.com/Codertocat",
36 | "followers_url": "https://api.github.com/users/Codertocat/followers",
37 | "following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
38 | "gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
39 | "starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
40 | "subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
41 | "organizations_url": "https://api.github.com/users/Codertocat/orgs",
42 | "repos_url": "https://api.github.com/users/Codertocat/repos",
43 | "events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
44 | "received_events_url": "https://api.github.com/users/Codertocat/received_events",
45 | "type": "User",
46 | "site_admin": false
47 | },
48 | "private": false,
49 | "html_url": "https://github.com/Codertocat/Hello-World",
50 | "description": null,
51 | "fork": false,
52 | "url": "https://github.com/Codertocat/Hello-World",
53 | "forks_url": "https://api.github.com/repos/Codertocat/Hello-World/forks",
54 | "keys_url": "https://api.github.com/repos/Codertocat/Hello-World/keys{/key_id}",
55 | "collaborators_url": "https://api.github.com/repos/Codertocat/Hello-World/collaborators{/collaborator}",
56 | "teams_url": "https://api.github.com/repos/Codertocat/Hello-World/teams",
57 | "hooks_url": "https://api.github.com/repos/Codertocat/Hello-World/hooks",
58 | "issue_events_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/events{/number}",
59 | "events_url": "https://api.github.com/repos/Codertocat/Hello-World/events",
60 | "assignees_url": "https://api.github.com/repos/Codertocat/Hello-World/assignees{/user}",
61 | "branches_url": "https://api.github.com/repos/Codertocat/Hello-World/branches{/branch}",
62 | "tags_url": "https://api.github.com/repos/Codertocat/Hello-World/tags",
63 | "blobs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/blobs{/sha}",
64 | "git_tags_url": "https://api.github.com/repos/Codertocat/Hello-World/git/tags{/sha}",
65 | "git_refs_url": "https://api.github.com/repos/Codertocat/Hello-World/git/refs{/sha}",
66 | "trees_url": "https://api.github.com/repos/Codertocat/Hello-World/git/trees{/sha}",
67 | "statuses_url": "https://api.github.com/repos/Codertocat/Hello-World/statuses/{sha}",
68 | "languages_url": "https://api.github.com/repos/Codertocat/Hello-World/languages",
69 | "stargazers_url": "https://api.github.com/repos/Codertocat/Hello-World/stargazers",
70 | "contributors_url": "https://api.github.com/repos/Codertocat/Hello-World/contributors",
71 | "subscribers_url": "https://api.github.com/repos/Codertocat/Hello-World/subscribers",
72 | "subscription_url": "https://api.github.com/repos/Codertocat/Hello-World/subscription",
73 | "commits_url": "https://api.github.com/repos/Codertocat/Hello-World/commits{/sha}",
74 | "git_commits_url": "https://api.github.com/repos/Codertocat/Hello-World/git/commits{/sha}",
75 | "comments_url": "https://api.github.com/repos/Codertocat/Hello-World/comments{/number}",
76 | "issue_comment_url": "https://api.github.com/repos/Codertocat/Hello-World/issues/comments{/number}",
77 | "contents_url": "https://api.github.com/repos/Codertocat/Hello-World/contents/{+path}",
78 | "compare_url": "https://api.github.com/repos/Codertocat/Hello-World/compare/{base}...{head}",
79 | "merges_url": "https://api.github.com/repos/Codertocat/Hello-World/merges",
80 | "archive_url": "https://api.github.com/repos/Codertocat/Hello-World/{archive_format}{/ref}",
81 | "downloads_url": "https://api.github.com/repos/Codertocat/Hello-World/downloads",
82 | "issues_url": "https://api.github.com/repos/Codertocat/Hello-World/issues{/number}",
83 | "pulls_url": "https://api.github.com/repos/Codertocat/Hello-World/pulls{/number}",
84 | "milestones_url": "https://api.github.com/repos/Codertocat/Hello-World/milestones{/number}",
85 | "notifications_url": "https://api.github.com/repos/Codertocat/Hello-World/notifications{?since,all,participating}",
86 | "labels_url": "https://api.github.com/repos/Codertocat/Hello-World/labels{/name}",
87 | "releases_url": "https://api.github.com/repos/Codertocat/Hello-World/releases{/id}",
88 | "deployments_url": "https://api.github.com/repos/Codertocat/Hello-World/deployments",
89 | "created_at": 1527711484,
90 | "updated_at": "2018-05-30T20:18:35Z",
91 | "pushed_at": 1527711528,
92 | "git_url": "git://github.com/Codertocat/Hello-World.git",
93 | "ssh_url": "git@github.com:Codertocat/Hello-World.git",
94 | "clone_url": "https://github.com/Codertocat/Hello-World.git",
95 | "svn_url": "https://github.com/Codertocat/Hello-World",
96 | "homepage": null,
97 | "size": 0,
98 | "stargazers_count": 0,
99 | "watchers_count": 0,
100 | "language": null,
101 | "has_issues": true,
102 | "has_projects": true,
103 | "has_downloads": true,
104 | "has_wiki": true,
105 | "has_pages": true,
106 | "forks_count": 0,
107 | "mirror_url": null,
108 | "archived": false,
109 | "open_issues_count": 2,
110 | "license": null,
111 | "forks": 0,
112 | "open_issues": 2,
113 | "watchers": 0,
114 | "default_branch": "master",
115 | "stargazers": 0,
116 | "master_branch": "master"
117 | },
118 | "pusher": {
119 | "name": "Codertocat",
120 | "email": "21031067+Codertocat@users.noreply.github.com"
121 | },
122 | "sender": {
123 | "login": "Codertocat",
124 | "id": 21031067,
125 | "node_id": "MDQ6VXNlcjIxMDMxMDY3",
126 | "avatar_url": "https://avatars1.githubusercontent.com/u/21031067?v=4",
127 | "gravatar_id": "",
128 | "url": "https://api.github.com/users/Codertocat",
129 | "html_url": "https://github.com/Codertocat",
130 | "followers_url": "https://api.github.com/users/Codertocat/followers",
131 | "following_url": "https://api.github.com/users/Codertocat/following{/other_user}",
132 | "gists_url": "https://api.github.com/users/Codertocat/gists{/gist_id}",
133 | "starred_url": "https://api.github.com/users/Codertocat/starred{/owner}{/repo}",
134 | "subscriptions_url": "https://api.github.com/users/Codertocat/subscriptions",
135 | "organizations_url": "https://api.github.com/users/Codertocat/orgs",
136 | "repos_url": "https://api.github.com/users/Codertocat/repos",
137 | "events_url": "https://api.github.com/users/Codertocat/events{/privacy}",
138 | "received_events_url": "https://api.github.com/users/Codertocat/received_events",
139 | "type": "User",
140 | "site_admin": false
141 | }
142 | }
143 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@actions/core@1.10.0":
6 | "integrity" "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug=="
7 | "resolved" "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz"
8 | "version" "1.10.0"
9 | dependencies:
10 | "@actions/http-client" "^2.0.1"
11 | "uuid" "^8.3.2"
12 |
13 | "@actions/http-client@^2.0.1":
14 | "integrity" "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw=="
15 | "resolved" "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz"
16 | "version" "2.1.0"
17 | dependencies:
18 | "tunnel" "^0.0.6"
19 |
20 | "@babel/code-frame@7.12.11":
21 | "integrity" "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw=="
22 | "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
23 | "version" "7.12.11"
24 | dependencies:
25 | "@babel/highlight" "^7.10.4"
26 |
27 | "@babel/helper-validator-identifier@^7.10.4":
28 | "integrity" "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
29 | "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz"
30 | "version" "7.10.4"
31 |
32 | "@babel/highlight@^7.10.4":
33 | "integrity" "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA=="
34 | "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz"
35 | "version" "7.10.4"
36 | dependencies:
37 | "@babel/helper-validator-identifier" "^7.10.4"
38 | "chalk" "^2.0.0"
39 | "js-tokens" "^4.0.0"
40 |
41 | "@eslint/eslintrc@^0.4.0":
42 | "integrity" "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog=="
43 | "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz"
44 | "version" "0.4.0"
45 | dependencies:
46 | "ajv" "^6.12.4"
47 | "debug" "^4.1.1"
48 | "espree" "^7.3.0"
49 | "globals" "^12.1.0"
50 | "ignore" "^4.0.6"
51 | "import-fresh" "^3.2.1"
52 | "js-yaml" "^3.13.1"
53 | "minimatch" "^3.0.4"
54 | "strip-json-comments" "^3.1.1"
55 |
56 | "@vercel/ncc@0.28.2":
57 | "integrity" "sha512-2ZBPviK9nFHzymu9POKGz50BRGGBIw7a8VcjgH73Xu2H4IvZx3KS0Qk/SS7S/N6iAalAGGxLSwFM1obeBGWXGg=="
58 | "resolved" "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.28.2.tgz"
59 | "version" "0.28.2"
60 |
61 | "acorn-jsx@^5.3.1":
62 | "integrity" "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng=="
63 | "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz"
64 | "version" "5.3.1"
65 |
66 | "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.4.0":
67 | "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
68 | "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
69 | "version" "7.4.1"
70 |
71 | "ajv@^6.10.0", "ajv@^6.12.4":
72 | "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
73 | "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
74 | "version" "6.12.6"
75 | dependencies:
76 | "fast-deep-equal" "^3.1.1"
77 | "fast-json-stable-stringify" "^2.0.0"
78 | "json-schema-traverse" "^0.4.1"
79 | "uri-js" "^4.2.2"
80 |
81 | "ajv@^7.0.2":
82 | "integrity" "sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A=="
83 | "resolved" "https://registry.npmjs.org/ajv/-/ajv-7.2.4.tgz"
84 | "version" "7.2.4"
85 | dependencies:
86 | "fast-deep-equal" "^3.1.1"
87 | "json-schema-traverse" "^1.0.0"
88 | "require-from-string" "^2.0.2"
89 | "uri-js" "^4.2.2"
90 |
91 | "ansi-colors@^4.1.1":
92 | "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
93 | "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
94 | "version" "4.1.1"
95 |
96 | "ansi-regex@^5.0.0":
97 | "integrity" "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
98 | "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"
99 | "version" "5.0.0"
100 |
101 | "ansi-styles@^3.2.1":
102 | "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
103 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
104 | "version" "3.2.1"
105 | dependencies:
106 | "color-convert" "^1.9.0"
107 |
108 | "ansi-styles@^4.0.0", "ansi-styles@^4.1.0":
109 | "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
110 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
111 | "version" "4.3.0"
112 | dependencies:
113 | "color-convert" "^2.0.1"
114 |
115 | "argparse@^1.0.7":
116 | "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="
117 | "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
118 | "version" "1.0.10"
119 | dependencies:
120 | "sprintf-js" "~1.0.2"
121 |
122 | "astral-regex@^2.0.0":
123 | "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="
124 | "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz"
125 | "version" "2.0.0"
126 |
127 | "axios@0.21.0":
128 | "integrity" "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw=="
129 | "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz"
130 | "version" "0.21.0"
131 | dependencies:
132 | "follow-redirects" "^1.10.0"
133 |
134 | "balanced-match@^1.0.0":
135 | "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c= sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg=="
136 | "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
137 | "version" "1.0.0"
138 |
139 | "brace-expansion@^1.1.7":
140 | "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
141 | "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
142 | "version" "1.1.11"
143 | dependencies:
144 | "balanced-match" "^1.0.0"
145 | "concat-map" "0.0.1"
146 |
147 | "callsites@^3.0.0":
148 | "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
149 | "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
150 | "version" "3.1.0"
151 |
152 | "chalk@^2.0.0":
153 | "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
154 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
155 | "version" "2.4.2"
156 | dependencies:
157 | "ansi-styles" "^3.2.1"
158 | "escape-string-regexp" "^1.0.5"
159 | "supports-color" "^5.3.0"
160 |
161 | "chalk@^4.0.0":
162 | "integrity" "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A=="
163 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz"
164 | "version" "4.1.0"
165 | dependencies:
166 | "ansi-styles" "^4.1.0"
167 | "supports-color" "^7.1.0"
168 |
169 | "color-convert@^1.9.0":
170 | "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
171 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
172 | "version" "1.9.3"
173 | dependencies:
174 | "color-name" "1.1.3"
175 |
176 | "color-convert@^2.0.1":
177 | "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
178 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
179 | "version" "2.0.1"
180 | dependencies:
181 | "color-name" "~1.1.4"
182 |
183 | "color-name@~1.1.4":
184 | "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
185 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
186 | "version" "1.1.4"
187 |
188 | "color-name@1.1.3":
189 | "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
190 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
191 | "version" "1.1.3"
192 |
193 | "concat-map@0.0.1":
194 | "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
195 | "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
196 | "version" "0.0.1"
197 |
198 | "cross-spawn@^7.0.2":
199 | "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="
200 | "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
201 | "version" "7.0.3"
202 | dependencies:
203 | "path-key" "^3.1.0"
204 | "shebang-command" "^2.0.0"
205 | "which" "^2.0.1"
206 |
207 | "debug@^4.0.1", "debug@^4.1.1":
208 | "integrity" "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg=="
209 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz"
210 | "version" "4.2.0"
211 | dependencies:
212 | "ms" "2.1.2"
213 |
214 | "deep-is@^0.1.3":
215 | "integrity" "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw=="
216 | "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
217 | "version" "0.1.3"
218 |
219 | "doctrine@^3.0.0":
220 | "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="
221 | "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
222 | "version" "3.0.0"
223 | dependencies:
224 | "esutils" "^2.0.2"
225 |
226 | "dotenv@8.2.0":
227 | "integrity" "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
228 | "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz"
229 | "version" "8.2.0"
230 |
231 | "emoji-regex@^8.0.0":
232 | "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
233 | "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
234 | "version" "8.0.0"
235 |
236 | "enquirer@^2.3.5":
237 | "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg=="
238 | "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz"
239 | "version" "2.3.6"
240 | dependencies:
241 | "ansi-colors" "^4.1.1"
242 |
243 | "escape-string-regexp@^1.0.5":
244 | "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
245 | "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
246 | "version" "1.0.5"
247 |
248 | "eslint-plugin-es@^3.0.0":
249 | "integrity" "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ=="
250 | "resolved" "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz"
251 | "version" "3.0.1"
252 | dependencies:
253 | "eslint-utils" "^2.0.0"
254 | "regexpp" "^3.0.0"
255 |
256 | "eslint-plugin-node@11.1.0":
257 | "integrity" "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g=="
258 | "resolved" "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz"
259 | "version" "11.1.0"
260 | dependencies:
261 | "eslint-plugin-es" "^3.0.0"
262 | "eslint-utils" "^2.0.0"
263 | "ignore" "^5.1.1"
264 | "minimatch" "^3.0.4"
265 | "resolve" "^1.10.1"
266 | "semver" "^6.1.0"
267 |
268 | "eslint-scope@^5.1.1":
269 | "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="
270 | "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
271 | "version" "5.1.1"
272 | dependencies:
273 | "esrecurse" "^4.3.0"
274 | "estraverse" "^4.1.1"
275 |
276 | "eslint-utils@^2.0.0", "eslint-utils@^2.1.0":
277 | "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg=="
278 | "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
279 | "version" "2.1.0"
280 | dependencies:
281 | "eslint-visitor-keys" "^1.1.0"
282 |
283 | "eslint-visitor-keys@^1.1.0":
284 | "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
285 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
286 | "version" "1.3.0"
287 |
288 | "eslint-visitor-keys@^1.3.0":
289 | "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
290 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
291 | "version" "1.3.0"
292 |
293 | "eslint-visitor-keys@^2.0.0":
294 | "integrity" "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ=="
295 | "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz"
296 | "version" "2.0.0"
297 |
298 | "eslint@>=4.19.1", "eslint@>=5.16.0", "eslint@7.24.0":
299 | "integrity" "sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ=="
300 | "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.24.0.tgz"
301 | "version" "7.24.0"
302 | dependencies:
303 | "@babel/code-frame" "7.12.11"
304 | "@eslint/eslintrc" "^0.4.0"
305 | "ajv" "^6.10.0"
306 | "chalk" "^4.0.0"
307 | "cross-spawn" "^7.0.2"
308 | "debug" "^4.0.1"
309 | "doctrine" "^3.0.0"
310 | "enquirer" "^2.3.5"
311 | "eslint-scope" "^5.1.1"
312 | "eslint-utils" "^2.1.0"
313 | "eslint-visitor-keys" "^2.0.0"
314 | "espree" "^7.3.1"
315 | "esquery" "^1.4.0"
316 | "esutils" "^2.0.2"
317 | "file-entry-cache" "^6.0.1"
318 | "functional-red-black-tree" "^1.0.1"
319 | "glob-parent" "^5.0.0"
320 | "globals" "^13.6.0"
321 | "ignore" "^4.0.6"
322 | "import-fresh" "^3.0.0"
323 | "imurmurhash" "^0.1.4"
324 | "is-glob" "^4.0.0"
325 | "js-yaml" "^3.13.1"
326 | "json-stable-stringify-without-jsonify" "^1.0.1"
327 | "levn" "^0.4.1"
328 | "lodash" "^4.17.21"
329 | "minimatch" "^3.0.4"
330 | "natural-compare" "^1.4.0"
331 | "optionator" "^0.9.1"
332 | "progress" "^2.0.0"
333 | "regexpp" "^3.1.0"
334 | "semver" "^7.2.1"
335 | "strip-ansi" "^6.0.0"
336 | "strip-json-comments" "^3.1.0"
337 | "table" "^6.0.4"
338 | "text-table" "^0.2.0"
339 | "v8-compile-cache" "^2.0.3"
340 |
341 | "espree@^7.3.0", "espree@^7.3.1":
342 | "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g=="
343 | "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz"
344 | "version" "7.3.1"
345 | dependencies:
346 | "acorn" "^7.4.0"
347 | "acorn-jsx" "^5.3.1"
348 | "eslint-visitor-keys" "^1.3.0"
349 |
350 | "esprima@^4.0.0":
351 | "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
352 | "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
353 | "version" "4.0.1"
354 |
355 | "esquery@^1.4.0":
356 | "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w=="
357 | "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz"
358 | "version" "1.4.0"
359 | dependencies:
360 | "estraverse" "^5.1.0"
361 |
362 | "esrecurse@^4.3.0":
363 | "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="
364 | "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
365 | "version" "4.3.0"
366 | dependencies:
367 | "estraverse" "^5.2.0"
368 |
369 | "estraverse@^4.1.1":
370 | "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
371 | "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
372 | "version" "4.3.0"
373 |
374 | "estraverse@^5.1.0":
375 | "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
376 | "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz"
377 | "version" "5.2.0"
378 |
379 | "estraverse@^5.2.0":
380 | "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
381 | "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz"
382 | "version" "5.2.0"
383 |
384 | "esutils@^2.0.2":
385 | "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
386 | "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
387 | "version" "2.0.3"
388 |
389 | "fast-deep-equal@^3.1.1":
390 | "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
391 | "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
392 | "version" "3.1.3"
393 |
394 | "fast-json-stable-stringify@^2.0.0":
395 | "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
396 | "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
397 | "version" "2.1.0"
398 |
399 | "fast-levenshtein@^2.0.6":
400 | "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
401 | "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
402 | "version" "2.0.6"
403 |
404 | "file-entry-cache@^6.0.1":
405 | "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg=="
406 | "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
407 | "version" "6.0.1"
408 | dependencies:
409 | "flat-cache" "^3.0.4"
410 |
411 | "flat-cache@^3.0.4":
412 | "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg=="
413 | "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
414 | "version" "3.0.4"
415 | dependencies:
416 | "flatted" "^3.1.0"
417 | "rimraf" "^3.0.2"
418 |
419 | "flatted@^3.1.0":
420 | "integrity" "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA=="
421 | "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz"
422 | "version" "3.1.1"
423 |
424 | "follow-redirects@^1.10.0":
425 | "integrity" "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA=="
426 | "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz"
427 | "version" "1.13.0"
428 |
429 | "fs.realpath@^1.0.0":
430 | "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
431 | "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
432 | "version" "1.0.0"
433 |
434 | "function-bind@^1.1.1":
435 | "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
436 | "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
437 | "version" "1.1.1"
438 |
439 | "functional-red-black-tree@^1.0.1":
440 | "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
441 | "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"
442 | "version" "1.0.1"
443 |
444 | "glob-parent@^5.0.0":
445 | "integrity" "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ=="
446 | "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz"
447 | "version" "5.1.1"
448 | dependencies:
449 | "is-glob" "^4.0.1"
450 |
451 | "glob@^7.1.3":
452 | "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="
453 | "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
454 | "version" "7.1.6"
455 | dependencies:
456 | "fs.realpath" "^1.0.0"
457 | "inflight" "^1.0.4"
458 | "inherits" "2"
459 | "minimatch" "^3.0.4"
460 | "once" "^1.3.0"
461 | "path-is-absolute" "^1.0.0"
462 |
463 | "globals@^12.1.0":
464 | "integrity" "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg=="
465 | "resolved" "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz"
466 | "version" "12.4.0"
467 | dependencies:
468 | "type-fest" "^0.8.1"
469 |
470 | "globals@^13.6.0":
471 | "integrity" "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA=="
472 | "resolved" "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz"
473 | "version" "13.7.0"
474 | dependencies:
475 | "type-fest" "^0.20.2"
476 |
477 | "has-flag@^3.0.0":
478 | "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
479 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
480 | "version" "3.0.0"
481 |
482 | "has-flag@^4.0.0":
483 | "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
484 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
485 | "version" "4.0.0"
486 |
487 | "has@^1.0.3":
488 | "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
489 | "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
490 | "version" "1.0.3"
491 | dependencies:
492 | "function-bind" "^1.1.1"
493 |
494 | "ignore@^4.0.6":
495 | "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
496 | "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"
497 | "version" "4.0.6"
498 |
499 | "ignore@^5.1.1":
500 | "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
501 | "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz"
502 | "version" "5.1.8"
503 |
504 | "import-fresh@^3.0.0", "import-fresh@^3.2.1":
505 | "integrity" "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw=="
506 | "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz"
507 | "version" "3.2.2"
508 | dependencies:
509 | "parent-module" "^1.0.0"
510 | "resolve-from" "^4.0.0"
511 |
512 | "imurmurhash@^0.1.4":
513 | "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
514 | "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
515 | "version" "0.1.4"
516 |
517 | "inflight@^1.0.4":
518 | "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="
519 | "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
520 | "version" "1.0.6"
521 | dependencies:
522 | "once" "^1.3.0"
523 | "wrappy" "1"
524 |
525 | "inherits@2":
526 | "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
527 | "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
528 | "version" "2.0.4"
529 |
530 | "is-core-module@^2.0.0":
531 | "integrity" "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA=="
532 | "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz"
533 | "version" "2.1.0"
534 | dependencies:
535 | "has" "^1.0.3"
536 |
537 | "is-extglob@^2.1.1":
538 | "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
539 | "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
540 | "version" "2.1.1"
541 |
542 | "is-fullwidth-code-point@^3.0.0":
543 | "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
544 | "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
545 | "version" "3.0.0"
546 |
547 | "is-glob@^4.0.0", "is-glob@^4.0.1":
548 | "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="
549 | "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz"
550 | "version" "4.0.1"
551 | dependencies:
552 | "is-extglob" "^2.1.1"
553 |
554 | "isexe@^2.0.0":
555 | "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
556 | "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
557 | "version" "2.0.0"
558 |
559 | "js-tokens@^4.0.0":
560 | "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
561 | "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
562 | "version" "4.0.0"
563 |
564 | "js-yaml@^3.13.1":
565 | "integrity" "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A=="
566 | "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz"
567 | "version" "3.14.0"
568 | dependencies:
569 | "argparse" "^1.0.7"
570 | "esprima" "^4.0.0"
571 |
572 | "json-schema-traverse@^0.4.1":
573 | "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
574 | "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
575 | "version" "0.4.1"
576 |
577 | "json-schema-traverse@^1.0.0":
578 | "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
579 | "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
580 | "version" "1.0.0"
581 |
582 | "json-stable-stringify-without-jsonify@^1.0.1":
583 | "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
584 | "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
585 | "version" "1.0.1"
586 |
587 | "levn@^0.4.1":
588 | "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="
589 | "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
590 | "version" "0.4.1"
591 | dependencies:
592 | "prelude-ls" "^1.2.1"
593 | "type-check" "~0.4.0"
594 |
595 | "lodash@^4.17.20", "lodash@^4.17.21", "lodash@4.17.21":
596 | "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
597 | "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
598 | "version" "4.17.21"
599 |
600 | "minimatch@^3.0.4":
601 | "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
602 | "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
603 | "version" "3.0.4"
604 | dependencies:
605 | "brace-expansion" "^1.1.7"
606 |
607 | "ms@2.1.2":
608 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
609 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
610 | "version" "2.1.2"
611 |
612 | "natural-compare@^1.4.0":
613 | "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
614 | "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
615 | "version" "1.4.0"
616 |
617 | "once@^1.3.0":
618 | "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
619 | "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
620 | "version" "1.4.0"
621 | dependencies:
622 | "wrappy" "1"
623 |
624 | "optionator@^0.9.1":
625 | "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw=="
626 | "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz"
627 | "version" "0.9.1"
628 | dependencies:
629 | "deep-is" "^0.1.3"
630 | "fast-levenshtein" "^2.0.6"
631 | "levn" "^0.4.1"
632 | "prelude-ls" "^1.2.1"
633 | "type-check" "^0.4.0"
634 | "word-wrap" "^1.2.3"
635 |
636 | "parent-module@^1.0.0":
637 | "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="
638 | "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
639 | "version" "1.0.1"
640 | dependencies:
641 | "callsites" "^3.0.0"
642 |
643 | "path-is-absolute@^1.0.0":
644 | "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
645 | "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
646 | "version" "1.0.1"
647 |
648 | "path-key@^3.1.0":
649 | "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
650 | "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
651 | "version" "3.1.1"
652 |
653 | "path-parse@^1.0.6":
654 | "integrity" "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
655 | "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"
656 | "version" "1.0.6"
657 |
658 | "prelude-ls@^1.2.1":
659 | "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
660 | "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
661 | "version" "1.2.1"
662 |
663 | "progress@^2.0.0":
664 | "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
665 | "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
666 | "version" "2.0.3"
667 |
668 | "punycode@^2.1.0":
669 | "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
670 | "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
671 | "version" "2.1.1"
672 |
673 | "regexpp@^3.0.0", "regexpp@^3.1.0":
674 | "integrity" "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q=="
675 | "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz"
676 | "version" "3.1.0"
677 |
678 | "require-from-string@^2.0.2":
679 | "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
680 | "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz"
681 | "version" "2.0.2"
682 |
683 | "resolve-from@^4.0.0":
684 | "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
685 | "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
686 | "version" "4.0.0"
687 |
688 | "resolve@^1.10.1":
689 | "integrity" "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA=="
690 | "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz"
691 | "version" "1.18.1"
692 | dependencies:
693 | "is-core-module" "^2.0.0"
694 | "path-parse" "^1.0.6"
695 |
696 | "rimraf@^3.0.2":
697 | "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
698 | "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
699 | "version" "3.0.2"
700 | dependencies:
701 | "glob" "^7.1.3"
702 |
703 | "semver@^6.1.0":
704 | "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
705 | "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
706 | "version" "6.3.0"
707 |
708 | "semver@^7.2.1":
709 | "integrity" "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
710 | "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz"
711 | "version" "7.3.2"
712 |
713 | "shebang-command@^2.0.0":
714 | "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="
715 | "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
716 | "version" "2.0.0"
717 | dependencies:
718 | "shebang-regex" "^3.0.0"
719 |
720 | "shebang-regex@^3.0.0":
721 | "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
722 | "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
723 | "version" "3.0.0"
724 |
725 | "slice-ansi@^4.0.0":
726 | "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ=="
727 | "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz"
728 | "version" "4.0.0"
729 | dependencies:
730 | "ansi-styles" "^4.0.0"
731 | "astral-regex" "^2.0.0"
732 | "is-fullwidth-code-point" "^3.0.0"
733 |
734 | "sprintf-js@~1.0.2":
735 | "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
736 | "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
737 | "version" "1.0.3"
738 |
739 | "string-width@^4.2.0":
740 | "integrity" "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA=="
741 | "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz"
742 | "version" "4.2.2"
743 | dependencies:
744 | "emoji-regex" "^8.0.0"
745 | "is-fullwidth-code-point" "^3.0.0"
746 | "strip-ansi" "^6.0.0"
747 |
748 | "strip-ansi@^6.0.0":
749 | "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w=="
750 | "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"
751 | "version" "6.0.0"
752 | dependencies:
753 | "ansi-regex" "^5.0.0"
754 |
755 | "strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1":
756 | "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
757 | "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
758 | "version" "3.1.1"
759 |
760 | "supports-color@^5.3.0":
761 | "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
762 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
763 | "version" "5.5.0"
764 | dependencies:
765 | "has-flag" "^3.0.0"
766 |
767 | "supports-color@^7.1.0":
768 | "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
769 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
770 | "version" "7.2.0"
771 | dependencies:
772 | "has-flag" "^4.0.0"
773 |
774 | "table@^6.0.4":
775 | "integrity" "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g=="
776 | "resolved" "https://registry.npmjs.org/table/-/table-6.0.7.tgz"
777 | "version" "6.0.7"
778 | dependencies:
779 | "ajv" "^7.0.2"
780 | "lodash" "^4.17.20"
781 | "slice-ansi" "^4.0.0"
782 | "string-width" "^4.2.0"
783 |
784 | "text-table@^0.2.0":
785 | "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
786 | "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
787 | "version" "0.2.0"
788 |
789 | "tunnel@^0.0.6":
790 | "integrity" "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
791 | "resolved" "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz"
792 | "version" "0.0.6"
793 |
794 | "type-check@^0.4.0", "type-check@~0.4.0":
795 | "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="
796 | "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
797 | "version" "0.4.0"
798 | dependencies:
799 | "prelude-ls" "^1.2.1"
800 |
801 | "type-fest@^0.20.2":
802 | "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
803 | "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
804 | "version" "0.20.2"
805 |
806 | "type-fest@^0.8.1":
807 | "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
808 | "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz"
809 | "version" "0.8.1"
810 |
811 | "uri-js@^4.2.2":
812 | "integrity" "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g=="
813 | "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz"
814 | "version" "4.4.0"
815 | dependencies:
816 | "punycode" "^2.1.0"
817 |
818 | "uuid@^8.3.2":
819 | "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
820 | "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
821 | "version" "8.3.2"
822 |
823 | "v8-compile-cache@^2.0.3":
824 | "integrity" "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q=="
825 | "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz"
826 | "version" "2.2.0"
827 |
828 | "which@^2.0.1":
829 | "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="
830 | "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
831 | "version" "2.0.2"
832 | dependencies:
833 | "isexe" "^2.0.0"
834 |
835 | "word-wrap@^1.2.3":
836 | "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
837 | "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"
838 | "version" "1.2.3"
839 |
840 | "wrappy@1":
841 | "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
842 | "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
843 | "version" "1.0.2"
844 |
--------------------------------------------------------------------------------