+
+ Open VS Code and clone your fork down to your machine so you
+ can begin making changes.{' '}
+
+
+
+
+
+
+
+ Run git status before you start coding to make
+ sure everything in the project files are updated with the{' '}
+ origin/main branch.
+
+ {_4a}
+
+
+
+ Use one of the commands below to create a new branch within
+ your fork.
+
+ {_5a}
+
+
+
+ {' '}
+
+ Use the group-token to
+ indicate the category you are working on. e.g.{' '}
+ amplify-datastore.
+
+
+
+ {' '}
+
+ The short-token can be one
+ of the following: feat, chore,
+ or bug.
+
+
+
+ {' '}
+
+ The branch-name should be
+ representative of the feature or fix.
+
+
+
+
+ Make your contribution and then run git add,{' '}
+ git commit and push your branch.
+
+ {_6a}
+
+
+ GitHub will process the push command and display a link to
+ create a pull request.
+
+ {_6b}
+
+
+
+ Click on the link to create a new pull request using the
+ Amplify JS PR template.
+
+
+
+
+
+
+ That's it!
+
+ The Amplify team will review your PR and provide feedback if
+ needed. The review process might require API design & security
+ reviews. For such cases it might take up to 4 weeks to complete
+ the review. Make sure to address any automated check that fail
+ (such as linting, unit tests, etc. in the CI pipeline). Finally,
+ once your changes meet the requirements and checks, the team
+ will merge your changes into the Amplify JS repo.
+
+
+
+ Well done and congrats! We're very excited about your
+ contribution!
+
+
+
+
+ Resources
+
+ We've put together a few resources that can help you create
+ quality PRs.
+
+
+
+
+ Amplify JS Contributing Guidelines
+
+
+
+
+ Please read through these guidelines carefully before submitting
+ a PR.
+
+
+
+
+ Amplify Documentation
+
+
+
+
+ Learn more about AWS Amplify the the JS library.
+
+
+
+
+ Amplify Community Discord server
+
+
+
+
+ This is a great place to meet other developers using Amplify,
+ ask questions, and share what you're building with Amplify.
+
+
+
+
+ The contribute-to-javascript Discord channel
+
+
+
+
+ Meet other contributors and ask questions related to
+ contributing to Amplify JS.
+
+
+
+ Amplify Discord Office Hours
+
+
+
+
+
+ Join the weekly office hour in the Discord Voice channel where
+ you can ask questions, share what you're working on and get
+ feedback.
+
+
+
+
+
+
+ );
+}
diff --git a/src/pages/contribute/index.tsx b/src/pages/contribute/index.tsx
new file mode 100644
index 00000000000..46010fed43e
--- /dev/null
+++ b/src/pages/contribute/index.tsx
@@ -0,0 +1,175 @@
+import NextLink from 'next/link';
+import {
+ Button,
+ Flex,
+ View,
+ Heading,
+ Text,
+ Link,
+ Card
+} from '@aws-amplify/ui-react';
+import { FiExternalLink } from 'react-icons/fi';
+import Layout from '../../components/contribute/Layout';
+import Issues from '../../components/contribute/CardIssues';
+import HowItWorks from '../../components/contribute/HowItWorks';
+import QuickstartResources from '../../components/contribute/QuickstartResources';
+
+import { Octokit } from '@octokit/rest';
+import { Endpoints } from '@octokit/types';
+
+type listRepoIssuesResponse = Endpoints['GET /repos/{owner}/{repo}/issues']['response'];
+
+export async function getStaticProps() {
+ const octokit = new Octokit({});
+
+ const {
+ data: JsIssues
+ }: {
+ data: listRepoIssuesResponse['data'];
+ } = await octokit.rest.issues.listForRepo({
+ owner: 'aws-amplify',
+ repo: 'amplify-js',
+ state: 'open',
+ labels: 'good first issue',
+ // eslint-disable-next-line @typescript-eslint/camelcase
+ per_page: 6
+ });
+
+ const {
+ data: CLIissues
+ }: {
+ data: listRepoIssuesResponse['data'];
+ } = await octokit.rest.issues.listForRepo({
+ owner: 'aws-amplify',
+ repo: 'amplify-cli',
+ state: 'open',
+ labels: 'good first issue',
+ // eslint-disable-next-line @typescript-eslint/camelcase
+ per_page: 6
+ });
+
+ return {
+ props: { JsIssues, CLIissues },
+ revalidate: 60 * 60
+ };
+}
+
+export default function ContributorPage({ JsIssues, CLIissues }) {
+ const meta = {
+ title: 'AWS Amplify Contributor Program',
+ description:
+ 'The Amplify Contributor Program is an open invitation for you to participate in the Amplify open source development journey. Get involved with AWS Amplify by making open source contributions to the Amplify project!'
+ };
+ return (
+ <>
+
+ {/* Nav - need to put in matching nav */}
+ {/* */}
+
+
+
+
+ AWS Amplify
+
+
+ Contributor Program
+
+
+
+ Get involved with AWS Amplify by making open source
+ contributions to the project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Start contributing!
+
+
+ Thank you for your interest in contributing! Whether it's a bug
+ report, new feature, correction, or additional documentation, we
+ greatly value feedback and contributions from our community.
+ Check out the issues and discussions in the Amplify projects
+ below to get started!
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* */}
+
+
+
+ >
+ );
+}
diff --git a/src/styles/contribute-styles.css b/src/styles/contribute-styles.css
new file mode 100644
index 00000000000..d64d2d1e03d
--- /dev/null
+++ b/src/styles/contribute-styles.css
@@ -0,0 +1,116 @@
+@font-face {
+ font-family: 'AmazonEmberReg';
+ src: url('/fonts/AmazonEmberDisplay_Rg.ttf') format('truetype');
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: 'AmazonEmberRegIt';
+ src: url('/fonts/AmazonEmberDisplay_RgIt.ttf') format('truetype');
+ font-style: italic;
+ font-display: swap;
+}
+@font-face {
+ font-family: 'AmazonEmberBd';
+ src: url('/fonts/AmazonEmberDisplay_Bd.ttf') format('truetype');
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: 'AmazonEmberBdIt';
+ src: url('/fonts/AmazonEmberDisplay_BdIt.ttf') format('truetype');
+ font-style: italic;
+ font-display: swap;
+}
+@font-face {
+ font-family: 'AmazonEmberMono';
+ src: url('/fonts/AmazonEmberMono_Bd.ttf');
+ font-style: normal;
+ font-display: swap;
+}
+
+#contributor-page * {
+ font-family: AmazonEmberReg, sans-serif;
+}
+
+#contributor-page .amplify-button {
+ box-shadow: rgb(0 0 0 / 25%) 0px 0.125rem 0.25rem;
+}
+#contributor-page .amplify-button:hover {
+ box-shadow: rgb(0 0 0 / 50%) 0px 0.125rem 0.25rem;
+ background-color: inherit;
+ border-color: var(--amplify-components-button-border-color);
+ border-radius: var(--amplify-components-button-border-radius);
+ border-style: var(--amplify-components-button-border-style);
+ border-width: var(--amplify-components-button-border-width);
+}
+#contributor-page .amplify-button--primary {
+ background-color: #ff9900;
+ color: #232f3e;
+}
+#contributor-page .amplify-button--primary:hover {
+ background-color: #ff9900;
+ color: #232f3e;
+}
+#contributor-page .amplify-badge--info {
+ background-color: #2074d5;
+ color: white;
+}
+#contributor-page .amplify-link {
+ color: #ff9900;
+}
+#contributor-page .amplify-link:visited {
+ color: #ff9900;
+}
+#contributor-page .amplify-heading--1,
+#contributor-page .amplify-heading--2 {
+ font-family: AmazonEmberBd;
+}
+#contributor-page .code-snippet {
+ border: 1px solid var(--amplify-colors-neutral-40);
+ border-radius: var(--amplify-radii-xs);
+ padding: 2px 5px;
+ font-family: AmazonEmberMono;
+ width: fit-content;
+ display: inline;
+ font-size: 0.8125em;
+}
+#contributor-page li {
+ margin: 1em 0;
+}
+#contributor-page pre code,
+#contributor-page pre code span {
+ font-size: 1rem !important;
+ text-shadow: none !important;
+}
+
+#contributor-page pre {
+ border-style: solid;
+ border-radius: 0.5rem;
+ border-width: 1px;
+ color: black;
+ background: #fff !important;
+ border-color: rgba(0, 0, 0, 0.3);
+ text-shadow: none important!;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 1rem !important;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+ padding-left: 1rem !important;
+ padding-right: 1rem !important;
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ margin: 0.5 em 0;
+ overflow: auto;
+}
diff --git a/src/utils/globalnav.ts b/src/utils/globalnav.ts
index 912565a9ad4..c845e2b3a79 100644
--- a/src/utils/globalnav.ts
+++ b/src/utils/globalnav.ts
@@ -31,7 +31,13 @@ export const LEFT_NAV_LINKS = [
label: 'UI Library',
url: 'https://ui.docs.amplify.aws/',
order: 3
- }
+ },
+ // {
+ // type: 'DEFAULT',
+ // label: 'Contribute',
+ // url: '/contribute/',
+ // order: 4
+ // }
];
export const SOCIAL_LINKS = [
diff --git a/yarn.lock b/yarn.lock
index 4f6f43b73f5..d6a51352360 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2728,6 +2728,13 @@
dependencies:
regenerator-runtime "^0.13.11"
+"@babel/runtime@^7.3.1":
+ version "7.21.0"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
+ integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
+ dependencies:
+ regenerator-runtime "^0.13.11"
+
"@babel/template@^7.12.7", "@babel/template@^7.14.5", "@babel/template@^7.3.3":
version "7.16.7"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz"
@@ -3816,6 +3823,107 @@
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.4.tgz#a72ed44c9b1f850986a30fe36c59e01f8a79b5f3"
integrity sha512-JtYuWzKXKLDMgE/xTcFtCm1MiCIRaAc5XYZfYX3n/ZWSI1SJS/GMm+Su0SAHJgRFavJh6U/p998YwO/iGTIgqQ==
+"@octokit/auth-token@^3.0.0":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c"
+ integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==
+ dependencies:
+ "@octokit/types" "^9.0.0"
+
+"@octokit/core@^4.1.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648"
+ integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==
+ dependencies:
+ "@octokit/auth-token" "^3.0.0"
+ "@octokit/graphql" "^5.0.0"
+ "@octokit/request" "^6.0.0"
+ "@octokit/request-error" "^3.0.0"
+ "@octokit/types" "^9.0.0"
+ before-after-hook "^2.2.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/endpoint@^7.0.0":
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.5.tgz#2bb2a911c12c50f10014183f5d596ce30ac67dd1"
+ integrity sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==
+ dependencies:
+ "@octokit/types" "^9.0.0"
+ is-plain-object "^5.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/graphql@^5.0.0":
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2"
+ integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==
+ dependencies:
+ "@octokit/request" "^6.0.0"
+ "@octokit/types" "^9.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/openapi-types@^16.0.0":
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e"
+ integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==
+
+"@octokit/plugin-paginate-rest@^6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz#f34b5a7d9416019126042cd7d7b811e006c0d561"
+ integrity sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==
+ dependencies:
+ "@octokit/types" "^9.0.0"
+
+"@octokit/plugin-request-log@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
+ integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
+
+"@octokit/plugin-rest-endpoint-methods@^7.0.0":
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz#f7ebe18144fd89460f98f35a587b056646e84502"
+ integrity sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==
+ dependencies:
+ "@octokit/types" "^9.0.0"
+ deprecation "^2.3.1"
+
+"@octokit/request-error@^3.0.0":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69"
+ integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==
+ dependencies:
+ "@octokit/types" "^9.0.0"
+ deprecation "^2.0.0"
+ once "^1.4.0"
+
+"@octokit/request@^6.0.0":
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.3.tgz#76d5d6d44da5c8d406620a4c285d280ae310bdb4"
+ integrity sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==
+ dependencies:
+ "@octokit/endpoint" "^7.0.0"
+ "@octokit/request-error" "^3.0.0"
+ "@octokit/types" "^9.0.0"
+ is-plain-object "^5.0.0"
+ node-fetch "^2.6.7"
+ universal-user-agent "^6.0.0"
+
+"@octokit/rest@^19.0.7":
+ version "19.0.7"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.7.tgz#d2e21b4995ab96ae5bfae50b4969da7e04e0bb70"
+ integrity sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==
+ dependencies:
+ "@octokit/core" "^4.1.0"
+ "@octokit/plugin-paginate-rest" "^6.0.0"
+ "@octokit/plugin-request-log" "^1.0.4"
+ "@octokit/plugin-rest-endpoint-methods" "^7.0.0"
+
+"@octokit/types@^9.0.0":
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.0.0.tgz#6050db04ddf4188ec92d60e4da1a2ce0633ff635"
+ integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==
+ dependencies:
+ "@octokit/openapi-types" "^16.0.0"
+
"@radix-ui/number@1.0.0":
version "1.0.0"
resolved "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz"
@@ -5396,6 +5504,11 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
+before-after-hook@^2.2.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c"
+ integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==
+
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz"
@@ -6239,6 +6352,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity "sha1-3zrhmayt+31ECqrgsp4icrJOxhk= sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+deprecation@^2.0.0, deprecation@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
+ integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
+
dequal@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz"
@@ -6946,6 +7064,13 @@ fast-xml-parser@^3.16.0:
dependencies:
strnum "^1.0.4"
+fault@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
+ integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
+ dependencies:
+ format "^0.2.0"
+
fb-watchman@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz"
@@ -7077,6 +7202,11 @@ form-data@^3.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+format@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
+
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz"
@@ -7615,6 +7745,11 @@ header-case@^2.0.4:
capital-case "^1.0.4"
tslib "^2.0.3"
+highlight.js@^10.4.1, highlight.js@~10.7.0:
+ version "10.7.3"
+ resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
+ integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
+
hogan.js@^3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz"
@@ -8102,6 +8237,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-plain-object@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+ integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+
is-potential-custom-element-name@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz"
@@ -8909,6 +9049,14 @@ lower-case@^2.0.2:
dependencies:
tslib "^2.0.3"
+lowlight@^1.17.0:
+ version "1.20.0"
+ resolved "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
+ integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
+ dependencies:
+ fault "^1.0.0"
+ highlight.js "~10.7.0"
+
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
@@ -9689,7 +9837,7 @@ node-fetch@^2.6.1:
dependencies:
whatwg-url "^5.0.0"
-node-fetch@^2.6.9:
+node-fetch@^2.6.7, node-fetch@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==
@@ -10202,11 +10350,16 @@ pretty-format@^27.0.2:
ansi-styles "^5.0.0"
react-is "^17.0.1"
-prismjs@^1.21.0:
+prismjs@^1.21.0, prismjs@~1.27.0:
version "1.27.0"
resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz"
integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
+prismjs@^1.27.0:
+ version "1.29.0"
+ resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12"
+ integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
@@ -10359,6 +10512,11 @@ react-generate-context@1.0.1:
resolved "https://registry.npmjs.org/react-generate-context/-/react-generate-context-1.0.1.tgz"
integrity sha512-rOFGh3KgC2Ot66DmVCcT1p8lVJCmmCjzGE5WK/KsyDFi43wpIbW1PYcr04cQ3mbF4LaIkY6SpK7k1DOgwtpUXA==
+react-icons@^4.7.1:
+ version "4.7.1"
+ resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz#0f4b25a5694e6972677cb189d2a72eabea7a8345"
+ integrity sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==
+
react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
@@ -10411,6 +10569,17 @@ react-style-singleton@^2.2.1:
invariant "^2.2.4"
tslib "^2.0.0"
+react-syntax-highlighter@^15.5.0:
+ version "15.5.0"
+ resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz#4b3eccc2325fa2ec8eff1e2d6c18fa4a9e07ab20"
+ integrity sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ highlight.js "^10.4.1"
+ lowlight "^1.17.0"
+ prismjs "^1.27.0"
+ refractor "^3.6.0"
+
react@^17.0.2:
version "17.0.2"
resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz"
@@ -10466,6 +10635,15 @@ redent@^3.0.0:
indent-string "^4.0.0"
strip-indent "^3.0.0"
+refractor@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a"
+ integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==
+ dependencies:
+ hastscript "^6.0.0"
+ parse-entities "^2.0.0"
+ prismjs "~1.27.0"
+
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"
@@ -11927,6 +12105,11 @@ universal-cookie@^4.0.4:
"@types/cookie" "^0.3.3"
cookie "^0.4.0"
+universal-user-agent@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
+ integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
+
universalify@^0.1.0, universalify@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"