From fdb53ea548f06ca6dbc3f7bf2223dc57d3f3c1e5 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Fri, 17 Jun 2022 15:27:49 +0300 Subject: [PATCH 01/12] feat: fetch github apu --- components/layout/layout.tsx | 2 +- .../projectPage/ProjectPage.module.scss | 4 +- components/projectPage/projectPage.tsx | 26 +- .../projectPage/technologies/Technologies.tsx | 6 +- package-lock.json | 915 +++++++++++++++++- package.json | 1 + pages/projects.tsx | 19 - pages/projects/[owner]/[repo].tsx | 80 ++ pages/projects/index.tsx | 10 + public/{Star 1.svg => Star.svg} | 0 10 files changed, 1018 insertions(+), 45 deletions(-) delete mode 100644 pages/projects.tsx create mode 100644 pages/projects/[owner]/[repo].tsx create mode 100644 pages/projects/index.tsx rename public/{Star 1.svg => Star.svg} (100%) diff --git a/components/layout/layout.tsx b/components/layout/layout.tsx index cdd8fcb..fa3112a 100644 --- a/components/layout/layout.tsx +++ b/components/layout/layout.tsx @@ -35,7 +35,7 @@ const Layout = ({ children, descriptionText }: LayoutProps) => { }; interface LayoutProps { - children: object; + children?: object; descriptionText?: object; } diff --git a/components/projectPage/ProjectPage.module.scss b/components/projectPage/ProjectPage.module.scss index 4477a72..b95089c 100644 --- a/components/projectPage/ProjectPage.module.scss +++ b/components/projectPage/ProjectPage.module.scss @@ -16,7 +16,7 @@ .star { width: 51px; height: 51px; - background-image: url("../../public/Star\ 1.svg"); + background-image: url("../../public/Star.svg"); margin: -30px 0 0 -15px; display: flex; justify-content: center; @@ -24,7 +24,7 @@ } .star::after { - content: "30K"; + content: attr(data-stars); transform: rotate(30deg); font-size: 12px; color: black; diff --git a/components/projectPage/projectPage.tsx b/components/projectPage/projectPage.tsx index a0e6410..bf0e8b4 100644 --- a/components/projectPage/projectPage.tsx +++ b/components/projectPage/projectPage.tsx @@ -1,13 +1,27 @@ import React from 'react'; import Technologies from './technologies/Technologies'; import style from './ProjectPage.module.scss'; - -function ProjectsPage() { +/** + * + * @param FullInfo + * @returns + */ +function ProjectsPage({ + stars, + license, + languages, + projectname, +}: { + stars: number; + license: string; + languages: any; + projectname: string; +}) { return (

-
- Vest +
+ {projectname}

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut @@ -21,8 +35,8 @@ function ProjectsPage() {

- -
Mozilla Public License 2.0
+ +
{license}
); diff --git a/components/projectPage/technologies/Technologies.tsx b/components/projectPage/technologies/Technologies.tsx index 437949e..2cf7480 100644 --- a/components/projectPage/technologies/Technologies.tsx +++ b/components/projectPage/technologies/Technologies.tsx @@ -1,14 +1,14 @@ import React from 'react'; import style from './Technologies.module.scss'; -function Technologies() { - const technologies = ['HTML', 'CSS', 'JavaScript']; //in the future: API +function Technologies(props) { + const technologies = props.lang; return ( diff --git a/package-lock.json b/package-lock.json index 9ece284..f6a8179 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@mdi/react": "^1.4.0", "next": "^11.0.0", "next-themes": "^0.1.1", + "octokit": "^1.7.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-responsive": "^8.2.0", @@ -842,12 +843,289 @@ "@napi-rs/triples": "^1.0.3" } }, + "node_modules/@octokit/app": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-12.0.5.tgz", + "integrity": "sha512-lM3pIfx2h+UbvsXHFVs1ApJ9Rmp8LO4ciFSr5q/9MdHmhsH6WtwayieUn875xwB77IoR9r8czxxxASu2WCtdeA==", + "dependencies": { + "@octokit/auth-app": "^3.3.0", + "@octokit/auth-unauthenticated": "^2.0.4", + "@octokit/core": "^3.4.0", + "@octokit/oauth-app": "^3.3.2", + "@octokit/plugin-paginate-rest": "^2.13.3", + "@octokit/types": "^6.27.1", + "@octokit/webhooks": "^9.0.1" + } + }, + "node_modules/@octokit/auth-app": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-3.6.1.tgz", + "integrity": "sha512-6oa6CFphIYI7NxxHrdVOzhG7hkcKyGyYocg7lNDSJVauVOLtylg8hNJzoUyPAYKKK0yUeoZamE/lMs2tG+S+JA==", + "dependencies": { + "@octokit/auth-oauth-app": "^4.3.0", + "@octokit/auth-oauth-user": "^1.2.3", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3", + "@types/lru-cache": "^5.1.0", + "deprecation": "^2.3.1", + "lru-cache": "^6.0.0", + "universal-github-app-jwt": "^1.0.1", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/auth-oauth-app": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-4.3.1.tgz", + "integrity": "sha512-FXkKcGtTXS2987rp11mSuhMOXDw8Iy/ED9aXs83T29VeMEWjv40q4ytC0voUDxkBC/of1QYOPQUAdI2tv/dwNg==", + "dependencies": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/auth-oauth-user": "^1.2.1", + "@octokit/request": "^5.6.3", + "@octokit/types": "^6.0.3", + "@types/btoa-lite": "^1.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/auth-oauth-device": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-3.1.2.tgz", + "integrity": "sha512-w7Po4Ck6N2aAn2VQyKLuojruiyKROTBv4qs6IwE5rbwF7HhBXXp4A/NKmkpoFIZkiXQtM+N8QtkSck4ApYWdGg==", + "dependencies": { + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.10.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/auth-oauth-user": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-1.3.0.tgz", + "integrity": "sha512-3QC/TAdk7onnxfyZ24BnJRfZv8TRzQK7SEFUS9vLng4Vv6Hv6I64ujdk/CUkREec8lhrwU764SZ/d+yrjjqhaQ==", + "dependencies": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/auth-unauthenticated": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-2.1.0.tgz", + "integrity": "sha512-+baofLfSL0CAv3CfGQ9rxiZZQEX8VNJMGuuS4PgrMRBUL52Ho5+hQYb63UJQshw7EXYMPDZxbXznc0y33cbPqw==", + "dependencies": { + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/oauth-app": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-3.6.0.tgz", + "integrity": "sha512-OxPw4ItQXaC2GuEXyZB7EmZ2rHvNFX4y3yAsqdFIRW7qg2HyoEPxacxza6c8wqbEEvu84b98AJ5BXm+IjPWrww==", + "dependencies": { + "@octokit/auth-oauth-app": "^4.0.0", + "@octokit/auth-oauth-user": "^1.3.0", + "@octokit/auth-unauthenticated": "^2.0.0", + "@octokit/core": "^3.3.2", + "@octokit/oauth-authorization-url": "^4.2.1", + "@octokit/oauth-methods": "^1.2.2", + "@types/aws-lambda": "^8.10.83", + "fromentries": "^1.3.1", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/oauth-authorization-url": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-4.3.3.tgz", + "integrity": "sha512-lhP/t0i8EwTmayHG4dqLXgU+uPVys4WD/qUNvC+HfB1S1dyqULm5Yx9uKc1x79aP66U1Cb4OZeW8QU/RA9A4XA==" + }, + "node_modules/@octokit/oauth-methods": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-1.2.6.tgz", + "integrity": "sha512-nImHQoOtKnSNn05uk2o76om1tJWiAo4lOu2xMAHYsNr0fwopP+Dv+2MlGvaMMlFjoqVd3fF3X5ZDTKCsqgmUaQ==", + "dependencies": { + "@octokit/oauth-authorization-url": "^4.3.1", + "@octokit/request": "^5.4.14", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dependencies": { + "@octokit/types": "^6.34.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dependencies": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-retry": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz", + "integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==", + "dependencies": { + "@octokit/types": "^6.0.3", + "bottleneck": "^2.15.3" + } + }, + "node_modules/@octokit/plugin-throttling": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.6.2.tgz", + "integrity": "sha512-0az5fxgVlhFfFtiKLKVXTpmCG2tK3BG0fYI8SO4pmGlN1kyJktJVQA+6KKaFxtxMIWsuHmSEAkR6zSgtk86g2A==", + "dependencies": { + "@octokit/types": "^6.0.1", + "bottleneck": "^2.15.3" + }, + "peerDependencies": { + "@octokit/core": "^3.5.0" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "node_modules/@octokit/webhooks": { + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-9.24.0.tgz", + "integrity": "sha512-s1nqplA+j4sP7Cz40jn/Q2ipkKRKJ7Gi+NzZiSnwNfisYNduLHEwMUJVBEKc5I0r6GMcZZRJOe6PJ2rJXYW66g==", + "dependencies": { + "@octokit/request-error": "^2.0.2", + "@octokit/webhooks-methods": "^2.0.0", + "@octokit/webhooks-types": "5.6.0", + "aggregate-error": "^3.1.0" + } + }, + "node_modules/@octokit/webhooks-methods": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-2.0.0.tgz", + "integrity": "sha512-35cfQ4YWlnZnmZKmIxlGPUPLtbkF8lr/A/1Sk1eC0ddLMwQN06dOuLc+dI3YLQS+T+MoNt3DIQ0NynwgKPilig==" + }, + "node_modules/@octokit/webhooks-types": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-5.6.0.tgz", + "integrity": "sha512-y3MqE6N6Ksg1+YV0sXVpW2WP7Y24h7rUp2hDJuzoqWdKGr7owmRDyHC72INwfCYNzura/vsNPXvc6Xbfp4wGGw==" + }, + "node_modules/@types/aws-lambda": { + "version": "8.10.95", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.95.tgz", + "integrity": "sha512-wGtzLbd04EmqhFjTZmXgLzvmhDdyVU7AMo/JkiPmA2VUdBFQfUBQFCEzaVVK+f1PP5aWx1ejnb7K/8MXYI/frQ==" + }, + "node_modules/@types/btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==" + }, "node_modules/@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, + "node_modules/@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, "node_modules/@types/node": { "version": "14.11.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", @@ -879,7 +1157,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -1025,6 +1302,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -1046,6 +1328,11 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + }, "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -1151,6 +1438,11 @@ "url": "https://opencollective.com/browserslist" } }, + "node_modules/btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" + }, "node_modules/buffer": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", @@ -1160,6 +1452,11 @@ "ieee754": "^1.1.4" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -1276,7 +1573,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "engines": { "node": ">=6" } @@ -1540,6 +1836,11 @@ "node": ">= 0.6" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, "node_modules/des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -1573,6 +1874,14 @@ "npm": ">=1.2" } }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.73", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.73.tgz", @@ -1836,6 +2145,25 @@ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", @@ -2181,7 +2509,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, "engines": { "node": ">=8" } @@ -2359,6 +2686,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", @@ -2497,6 +2832,54 @@ "node": ">=6" } }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "node_modules/lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -2792,6 +3175,41 @@ "node": ">=8" } }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -2945,6 +3363,17 @@ "loose-envify": "cli.js" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -3445,11 +3874,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/octokit": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-1.7.1.tgz", + "integrity": "sha512-1b7eRgU8uWetHOWr8f9ptnVo2EKbrkOfocMeQdpgCt7tl/LK67HptFsy2Xg4fMjsJ/+onoBJW0hy/fO0In3/uA==", + "dependencies": { + "@octokit/app": "^12.0.4", + "@octokit/core": "^3.5.1", + "@octokit/oauth-app": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0", + "@octokit/plugin-retry": "^3.0.9", + "@octokit/plugin-throttling": "^3.5.1", + "@octokit/types": "^6.26.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -4487,6 +4930,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/universal-github-app-jwt": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-1.1.0.tgz", + "integrity": "sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ==", + "dependencies": { + "@types/jsonwebtoken": "^8.3.3", + "jsonwebtoken": "^8.5.1" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -4686,8 +5143,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/xtend": { "version": "4.0.2", @@ -4697,6 +5153,11 @@ "node": ">=0.4" } }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/yaml": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", @@ -5343,12 +5804,280 @@ "@napi-rs/triples": "^1.0.3" } }, + "@octokit/app": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-12.0.5.tgz", + "integrity": "sha512-lM3pIfx2h+UbvsXHFVs1ApJ9Rmp8LO4ciFSr5q/9MdHmhsH6WtwayieUn875xwB77IoR9r8czxxxASu2WCtdeA==", + "requires": { + "@octokit/auth-app": "^3.3.0", + "@octokit/auth-unauthenticated": "^2.0.4", + "@octokit/core": "^3.4.0", + "@octokit/oauth-app": "^3.3.2", + "@octokit/plugin-paginate-rest": "^2.13.3", + "@octokit/types": "^6.27.1", + "@octokit/webhooks": "^9.0.1" + } + }, + "@octokit/auth-app": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-3.6.1.tgz", + "integrity": "sha512-6oa6CFphIYI7NxxHrdVOzhG7hkcKyGyYocg7lNDSJVauVOLtylg8hNJzoUyPAYKKK0yUeoZamE/lMs2tG+S+JA==", + "requires": { + "@octokit/auth-oauth-app": "^4.3.0", + "@octokit/auth-oauth-user": "^1.2.3", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3", + "@types/lru-cache": "^5.1.0", + "deprecation": "^2.3.1", + "lru-cache": "^6.0.0", + "universal-github-app-jwt": "^1.0.1", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-oauth-app": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-4.3.1.tgz", + "integrity": "sha512-FXkKcGtTXS2987rp11mSuhMOXDw8Iy/ED9aXs83T29VeMEWjv40q4ytC0voUDxkBC/of1QYOPQUAdI2tv/dwNg==", + "requires": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/auth-oauth-user": "^1.2.1", + "@octokit/request": "^5.6.3", + "@octokit/types": "^6.0.3", + "@types/btoa-lite": "^1.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-oauth-device": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-3.1.2.tgz", + "integrity": "sha512-w7Po4Ck6N2aAn2VQyKLuojruiyKROTBv4qs6IwE5rbwF7HhBXXp4A/NKmkpoFIZkiXQtM+N8QtkSck4ApYWdGg==", + "requires": { + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.10.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-oauth-user": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-1.3.0.tgz", + "integrity": "sha512-3QC/TAdk7onnxfyZ24BnJRfZv8TRzQK7SEFUS9vLng4Vv6Hv6I64ujdk/CUkREec8lhrwU764SZ/d+yrjjqhaQ==", + "requires": { + "@octokit/auth-oauth-device": "^3.1.1", + "@octokit/oauth-methods": "^1.1.0", + "@octokit/request": "^5.4.14", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "requires": { + "@octokit/types": "^6.0.3" + } + }, + "@octokit/auth-unauthenticated": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-2.1.0.tgz", + "integrity": "sha512-+baofLfSL0CAv3CfGQ9rxiZZQEX8VNJMGuuS4PgrMRBUL52Ho5+hQYb63UJQshw7EXYMPDZxbXznc0y33cbPqw==", + "requires": { + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.0.3" + } + }, + "@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "requires": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "requires": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "requires": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/oauth-app": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-3.6.0.tgz", + "integrity": "sha512-OxPw4ItQXaC2GuEXyZB7EmZ2rHvNFX4y3yAsqdFIRW7qg2HyoEPxacxza6c8wqbEEvu84b98AJ5BXm+IjPWrww==", + "requires": { + "@octokit/auth-oauth-app": "^4.0.0", + "@octokit/auth-oauth-user": "^1.3.0", + "@octokit/auth-unauthenticated": "^2.0.0", + "@octokit/core": "^3.3.2", + "@octokit/oauth-authorization-url": "^4.2.1", + "@octokit/oauth-methods": "^1.2.2", + "@types/aws-lambda": "^8.10.83", + "fromentries": "^1.3.1", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/oauth-authorization-url": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-4.3.3.tgz", + "integrity": "sha512-lhP/t0i8EwTmayHG4dqLXgU+uPVys4WD/qUNvC+HfB1S1dyqULm5Yx9uKc1x79aP66U1Cb4OZeW8QU/RA9A4XA==" + }, + "@octokit/oauth-methods": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-1.2.6.tgz", + "integrity": "sha512-nImHQoOtKnSNn05uk2o76om1tJWiAo4lOu2xMAHYsNr0fwopP+Dv+2MlGvaMMlFjoqVd3fF3X5ZDTKCsqgmUaQ==", + "requires": { + "@octokit/oauth-authorization-url": "^4.3.1", + "@octokit/request": "^5.4.14", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.12.2", + "btoa-lite": "^1.0.0" + } + }, + "@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" + }, + "@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "requires": { + "@octokit/types": "^6.34.0" + } + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "requires": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + } + }, + "@octokit/plugin-retry": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz", + "integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==", + "requires": { + "@octokit/types": "^6.0.3", + "bottleneck": "^2.15.3" + } + }, + "@octokit/plugin-throttling": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.6.2.tgz", + "integrity": "sha512-0az5fxgVlhFfFtiKLKVXTpmCG2tK3BG0fYI8SO4pmGlN1kyJktJVQA+6KKaFxtxMIWsuHmSEAkR6zSgtk86g2A==", + "requires": { + "@octokit/types": "^6.0.1", + "bottleneck": "^2.15.3" + } + }, + "@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, + "@octokit/webhooks": { + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-9.24.0.tgz", + "integrity": "sha512-s1nqplA+j4sP7Cz40jn/Q2ipkKRKJ7Gi+NzZiSnwNfisYNduLHEwMUJVBEKc5I0r6GMcZZRJOe6PJ2rJXYW66g==", + "requires": { + "@octokit/request-error": "^2.0.2", + "@octokit/webhooks-methods": "^2.0.0", + "@octokit/webhooks-types": "5.6.0", + "aggregate-error": "^3.1.0" + } + }, + "@octokit/webhooks-methods": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-2.0.0.tgz", + "integrity": "sha512-35cfQ4YWlnZnmZKmIxlGPUPLtbkF8lr/A/1Sk1eC0ddLMwQN06dOuLc+dI3YLQS+T+MoNt3DIQ0NynwgKPilig==" + }, + "@octokit/webhooks-types": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-5.6.0.tgz", + "integrity": "sha512-y3MqE6N6Ksg1+YV0sXVpW2WP7Y24h7rUp2hDJuzoqWdKGr7owmRDyHC72INwfCYNzura/vsNPXvc6Xbfp4wGGw==" + }, + "@types/aws-lambda": { + "version": "8.10.95", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.95.tgz", + "integrity": "sha512-wGtzLbd04EmqhFjTZmXgLzvmhDdyVU7AMo/JkiPmA2VUdBFQfUBQFCEzaVVK+f1PP5aWx1ejnb7K/8MXYI/frQ==" + }, + "@types/btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==" + }, "@types/color-name": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, + "@types/jsonwebtoken": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", + "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", + "requires": { + "@types/node": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, "@types/node": { "version": "14.11.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.2.tgz", @@ -5380,7 +6109,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -5499,6 +6227,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -5514,6 +6247,11 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, + "bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -5606,6 +6344,11 @@ "node-releases": "^1.1.71" } }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" + }, "buffer": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", @@ -5615,6 +6358,11 @@ "ieee754": "^1.1.4" } }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -5708,8 +6456,7 @@ "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "cli-cursor": { "version": "3.1.0", @@ -5936,6 +6683,11 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -5967,6 +6719,14 @@ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "electron-to-chromium": { "version": "1.4.73", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.73.tgz", @@ -6183,6 +6943,11 @@ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, + "fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" + }, "fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", @@ -6446,8 +7211,7 @@ "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inherits": { "version": "2.0.4", @@ -6553,6 +7317,11 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, "is-regex": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", @@ -6646,6 +7415,49 @@ "minimist": "^1.2.5" } }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -6881,6 +7693,41 @@ "p-locate": "^4.1.0" } }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -7005,6 +7852,14 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -7407,11 +8262,25 @@ "object-keys": "^1.1.1" } }, + "octokit": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-1.7.1.tgz", + "integrity": "sha512-1b7eRgU8uWetHOWr8f9ptnVo2EKbrkOfocMeQdpgCt7tl/LK67HptFsy2Xg4fMjsJ/+onoBJW0hy/fO0In3/uA==", + "requires": { + "@octokit/app": "^12.0.4", + "@octokit/core": "^3.5.1", + "@octokit/oauth-app": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0", + "@octokit/plugin-retry": "^3.0.9", + "@octokit/plugin-throttling": "^3.5.1", + "@octokit/types": "^6.26.0" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -8249,6 +9118,20 @@ "which-boxed-primitive": "^1.0.2" } }, + "universal-github-app-jwt": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-1.1.0.tgz", + "integrity": "sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ==", + "requires": { + "@types/jsonwebtoken": "^8.3.3", + "jsonwebtoken": "^8.5.1" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8418,14 +9301,18 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "yaml": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", diff --git a/package.json b/package.json index 14143db..7a39988 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@mdi/react": "^1.4.0", "next": "^11.0.0", "next-themes": "^0.1.1", + "octokit": "^1.7.1", "react": "^17.0.2", "react-dom": "^17.0.2", "react-responsive": "^8.2.0", diff --git a/pages/projects.tsx b/pages/projects.tsx deleted file mode 100644 index 1969f85..0000000 --- a/pages/projects.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import next from 'next'; -import React, { useState } from 'react'; -import Description from '../components/description/Description'; -import Navbar from '../components/layout/navbar/navbar'; -import style from '../styles/projects.module.scss'; -import ProjectPage from '../components/projectPage/projectPage'; -import Footer from '../components/layout/footer/footer'; -import Layout from '../components/layout/layout'; - -export default function vast() { - const [currentHeight, setCurrentHeight] = useState(0); - console.log(currentHeight); - - return ( - -

projects

-
- ); -} diff --git a/pages/projects/[owner]/[repo].tsx b/pages/projects/[owner]/[repo].tsx new file mode 100644 index 0000000..9399a88 --- /dev/null +++ b/pages/projects/[owner]/[repo].tsx @@ -0,0 +1,80 @@ +import React, { useEffect } from 'react'; +import Layout from '../../../components/layout/layout'; +import ProjectPage from '../../../components/projectPage/projectPage'; +import { GetServerSideProps } from 'next'; +import { Octokit } from 'octokit'; + +const octokit = new Octokit({ auth: process.env.GITHUB_API_KEY || '' }); + +function project(props) { + const projectFullInfo = { + stars: props.stars, + license: props.license, + languages: props.langarr, + projectname: props.projectname, + }; + + return ( + <> + + + ); +} + +export default project; + +export const getServerSideProps: GetServerSideProps = async (context) => { + const { owner, repo } = context.params; + let repoInfo; + let langInfo; + + try { + const data = await octokit.rest.repos.get({ owner: owner as string, repo: repo as string }); + const Langdata = await octokit.rest.repos.listLanguages({ + owner: owner as string, + repo: repo as string, + }); + repoInfo = data.data; + langInfo = Langdata.data; + } catch { + // In case of an error, display the 404 page to the user. + return { + notFound: true, + }; + } + + function formatStars(stars) { + if (stars >= 10000) { + return `${Math.floor(stars / 1000)}k`; + } + + if (stars >= 1000) { + return Math.floor((stars % 1000) / 100) === 0 + ? `${Math.floor(stars / 1000)}k` + : `${(stars / 1000).toFixed(1)}k`; + } + return stars.toString(); + } + + const langarr = []; + for (const lang in langInfo) { + const obj = {}; + obj[lang] = langInfo[lang]; + console.log(obj); + + langarr.push(obj); + } + langarr.sort((a, b) => b[Object.keys(b)[0]] - a[Object.keys(a)[0]]); + + if (langarr.length > 3) { + langarr.length = 3; + } + + const stars = formatStars(repoInfo.stargazers_count); + const license = repoInfo?.license?.name || ''; + + return { + // Will be passed to the page component as props. + props: { stars, license, langarr, projectname: repo as string }, + }; +}; diff --git a/pages/projects/index.tsx b/pages/projects/index.tsx new file mode 100644 index 0000000..f79b470 --- /dev/null +++ b/pages/projects/index.tsx @@ -0,0 +1,10 @@ +import next from 'next'; +import React, { useState } from 'react'; +import Description from '../../components/description/Description'; +import style from '../styles/projects.module.scss'; +import ProjectPage from '../../components/projectPage/projectPage'; +import Layout from '../../components/layout/layout'; + +export default function project() { + return

projects

; +} diff --git a/public/Star 1.svg b/public/Star.svg similarity index 100% rename from public/Star 1.svg rename to public/Star.svg From 201e34bac0e988c724c2e9eae3aae32bbf8faf34 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Fri, 17 Jun 2022 15:48:42 +0300 Subject: [PATCH 02/12] create github service --- pages/projects/[owner]/[repo].tsx | 4 ++-- services/github.ts | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 services/github.ts diff --git a/pages/projects/[owner]/[repo].tsx b/pages/projects/[owner]/[repo].tsx index 9399a88..297c5ab 100644 --- a/pages/projects/[owner]/[repo].tsx +++ b/pages/projects/[owner]/[repo].tsx @@ -2,9 +2,9 @@ import React, { useEffect } from 'react'; import Layout from '../../../components/layout/layout'; import ProjectPage from '../../../components/projectPage/projectPage'; import { GetServerSideProps } from 'next'; -import { Octokit } from 'octokit'; +import { getOctokit } from '../../../services/github'; -const octokit = new Octokit({ auth: process.env.GITHUB_API_KEY || '' }); +const octokit = getOctokit(); function project(props) { const projectFullInfo = { diff --git a/services/github.ts b/services/github.ts new file mode 100644 index 0000000..3635511 --- /dev/null +++ b/services/github.ts @@ -0,0 +1,15 @@ +import { Octokit } from 'octokit'; + +let octokit: Octokit; +/** + * return octokit object to make all your github's api calls + * + * @returns {Octokit} Singleton object of octokit + */ +export const getOctokit = (): Octokit => { + if (!octokit) { + octokit = new Octokit({ auth: process.env.GITHUB_API_KEY || '' }); + } + + return octokit; +}; From 5933ee69373ba92a6035c235ce54bdca846e7eac Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Sun, 19 Jun 2022 14:22:02 +0300 Subject: [PATCH 03/12] docs: added github api --- docs/contributing.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index e66d526..99435a2 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -48,7 +48,7 @@ Please make sure you follow this list: Please follow this functional component pattern: -``` +```tsx interface Props { prop: ... @@ -60,4 +60,30 @@ export const Component = (props: Props): ReactElement => { } ``` +## GitHub API +In case you get an error from GitHub like this: +```json +{ + "message": "API rate limit exceeded for xxx.xxx.xxx.xxx." +} +``` +you may need to add a github token to your local enviroment to increase your rate limit. + +### Setup + +- first, you need to create your own [personal token](https://docs.github.com/en/enterprise-server@3.4/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) +- create `.env.local` file in the project's root +- add this line to the `.env.local` file: `GITHUB_API_KEY=` +- restart your local server +### Usage + +```tsx +import { getOctokit } from '/services/github'; + +const octokit = getOctokit(); +``` +> learn more about octokit [here](https://github.com/octokit/octokit.js#octokitrest-endpoint-methods). + + + We hope you will have a great time contributing to this project. From a9e5bb981afef48c0276f56ee5b0ca69a58c2800 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Wed, 29 Jun 2022 11:07:21 +0300 Subject: [PATCH 04/12] fix pr --- components/layout/layout.tsx | 4 +-- components/projectPage/ProjectPage.model.tsx | 6 ++++ components/projectPage/projectPage.tsx | 13 ++------- .../technologies/Technologies.model.tsx | 3 ++ .../projectPage/technologies/Technologies.tsx | 3 +- docs/contributing.md | 15 ++++++---- pages/projects/[owner]/[repo].tsx | 28 ++++++------------- 7 files changed, 34 insertions(+), 38 deletions(-) create mode 100644 components/projectPage/ProjectPage.model.tsx create mode 100644 components/projectPage/technologies/Technologies.model.tsx diff --git a/components/layout/layout.tsx b/components/layout/layout.tsx index fa3112a..c1a1d19 100644 --- a/components/layout/layout.tsx +++ b/components/layout/layout.tsx @@ -35,8 +35,8 @@ const Layout = ({ children, descriptionText }: LayoutProps) => { }; interface LayoutProps { - children?: object; - descriptionText?: object; + children: object; + descriptionText: object; } export default Layout; diff --git a/components/projectPage/ProjectPage.model.tsx b/components/projectPage/ProjectPage.model.tsx new file mode 100644 index 0000000..e004084 --- /dev/null +++ b/components/projectPage/ProjectPage.model.tsx @@ -0,0 +1,6 @@ +export default interface githubFullinfo { + stars: number; + license: string; + languages: object[]; + projectname: string; +} diff --git a/components/projectPage/projectPage.tsx b/components/projectPage/projectPage.tsx index bf0e8b4..db86536 100644 --- a/components/projectPage/projectPage.tsx +++ b/components/projectPage/projectPage.tsx @@ -1,22 +1,13 @@ import React from 'react'; import Technologies from './technologies/Technologies'; import style from './ProjectPage.module.scss'; +import githubFullinfo from './ProjectPage.model'; /** * * @param FullInfo * @returns */ -function ProjectsPage({ - stars, - license, - languages, - projectname, -}: { - stars: number; - license: string; - languages: any; - projectname: string; -}) { +function ProjectsPage({ stars, license, languages, projectname }: githubFullinfo) { return (

diff --git a/components/projectPage/technologies/Technologies.model.tsx b/components/projectPage/technologies/Technologies.model.tsx new file mode 100644 index 0000000..08e590f --- /dev/null +++ b/components/projectPage/technologies/Technologies.model.tsx @@ -0,0 +1,3 @@ +export default interface TechnologiesProps { + lang: object[]; +} diff --git a/components/projectPage/technologies/Technologies.tsx b/components/projectPage/technologies/Technologies.tsx index 2cf7480..b28a94b 100644 --- a/components/projectPage/technologies/Technologies.tsx +++ b/components/projectPage/technologies/Technologies.tsx @@ -1,7 +1,8 @@ import React from 'react'; +import TechnologiesProps from './Technologies.model'; import style from './Technologies.module.scss'; -function Technologies(props) { +function Technologies(props: TechnologiesProps) { const technologies = props.lang; return ( diff --git a/docs/contributing.md b/docs/contributing.md index 99435a2..7b42954 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -61,29 +61,34 @@ export const Component = (props: Props): ReactElement => { ``` ## GitHub API + In case you get an error from GitHub like this: + ```json { - "message": "API rate limit exceeded for xxx.xxx.xxx.xxx." + "message": "API rate limit exceeded for xxx.xxx.xxx.xxx." } ``` + you may need to add a github token to your local enviroment to increase your rate limit. -### Setup +### Use Locally: + +#### Setup - first, you need to create your own [personal token](https://docs.github.com/en/enterprise-server@3.4/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) - create `.env.local` file in the project's root - add this line to the `.env.local` file: `GITHUB_API_KEY=` - restart your local server -### Usage + +#### Usage ```tsx import { getOctokit } from '/services/github'; const octokit = getOctokit(); ``` -> learn more about octokit [here](https://github.com/octokit/octokit.js#octokitrest-endpoint-methods). - +> learn more about octokit [here](https://github.com/octokit/octokit.js#octokitrest-endpoint-methods). We hope you will have a great time contributing to this project. diff --git a/pages/projects/[owner]/[repo].tsx b/pages/projects/[owner]/[repo].tsx index 297c5ab..bf4f2f6 100644 --- a/pages/projects/[owner]/[repo].tsx +++ b/pages/projects/[owner]/[repo].tsx @@ -3,30 +3,26 @@ import Layout from '../../../components/layout/layout'; import ProjectPage from '../../../components/projectPage/projectPage'; import { GetServerSideProps } from 'next'; import { getOctokit } from '../../../services/github'; +import githubFullinfo from '../../../components/projectPage/ProjectPage.model'; const octokit = getOctokit(); -function project(props) { +function project(props: githubFullinfo) { const projectFullInfo = { stars: props.stars, license: props.license, - languages: props.langarr, + languages: props.languages, projectname: props.projectname, }; - return ( - <> - - - ); + return ; } export default project; export const getServerSideProps: GetServerSideProps = async (context) => { const { owner, repo } = context.params; - let repoInfo; - let langInfo; + let repoInfo, langInfo; try { const data = await octokit.rest.repos.get({ owner: owner as string, repo: repo as string }); @@ -56,25 +52,19 @@ export const getServerSideProps: GetServerSideProps = async (context) => { return stars.toString(); } - const langarr = []; + const languages: object[] = []; for (const lang in langInfo) { const obj = {}; obj[lang] = langInfo[lang]; - console.log(obj); - - langarr.push(obj); - } - langarr.sort((a, b) => b[Object.keys(b)[0]] - a[Object.keys(a)[0]]); - - if (langarr.length > 3) { - langarr.length = 3; + languages.push(obj); } + languages.sort((a, b) => b[Object.keys(b)[0]] - a[Object.keys(a)[0]]); const stars = formatStars(repoInfo.stargazers_count); const license = repoInfo?.license?.name || ''; return { // Will be passed to the page component as props. - props: { stars, license, langarr, projectname: repo as string }, + props: { stars, license, languages, projectname: repo as string }, }; }; From 4c81460d6d4848a6655f59630fdf9cc7a34cfa7a Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Wed, 29 Jun 2022 11:18:43 +0300 Subject: [PATCH 05/12] lint --- pages/projects/[owner]/[repo].tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pages/projects/[owner]/[repo].tsx b/pages/projects/[owner]/[repo].tsx index bf4f2f6..6926fa7 100644 --- a/pages/projects/[owner]/[repo].tsx +++ b/pages/projects/[owner]/[repo].tsx @@ -15,7 +15,11 @@ function project(props: githubFullinfo) { projectname: props.projectname, }; - return ; + return ( + + <> + + ); } export default project; From 9566990b94a45eeaeb7e4d017510b014488bb00a Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Wed, 29 Jun 2022 11:36:08 +0300 Subject: [PATCH 06/12] chore: image error --- components/layout/navbar/navbar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/layout/navbar/navbar.tsx b/components/layout/navbar/navbar.tsx index b6f9928..b3051d3 100644 --- a/components/layout/navbar/navbar.tsx +++ b/components/layout/navbar/navbar.tsx @@ -88,7 +88,7 @@ const Navbar = ({ DesHeight }) => {

- + From d67f6d0da2fc84c536b107c5739285ba792061c9 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Wed, 29 Jun 2022 15:06:19 +0300 Subject: [PATCH 07/12] lint --- pages/articles.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/articles.tsx b/pages/articles.tsx index 9f2d27e..7492985 100644 --- a/pages/articles.tsx +++ b/pages/articles.tsx @@ -11,7 +11,7 @@ interface IHomeProps { export default function Articles({ people }: IHomeProps) { return ( - + }>
Scafolding for article page
); From 2439e02dc6c658db1a1881637c4d304ef2ad18d8 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Sat, 2 Jul 2022 13:29:38 +0300 Subject: [PATCH 08/12] chore: undo vs code changes --- .github/ISSUE_TEMPLATE/bug_report.md | 18 ++++++------ CODE_OF_CONDUCT.md | 42 +++++++++++++++------------- docs/contributing.md | 2 +- 3 files changed, 32 insertions(+), 30 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index b5c68e5..dd84ea7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,6 +4,7 @@ about: Create a report to help us improve title: '' labels: '' assignees: '' + --- **Describe the bug** @@ -11,7 +12,6 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: - 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -24,17 +24,15 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - -- OS: [e.g. iOS] -- Browser [e.g. chrome, safari] -- Version [e.g. 22] + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] **Smartphone (please complete the following information):** - -- Device: [e.g. iPhone6] -- OS: [e.g. iOS8.1] -- Browser [e.g. stock browser, safari] -- Version [e.g. 22] + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] **Additional context** Add any other context about the problem here. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 53bb62b..fa0b116 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -20,28 +20,28 @@ If you see someone who is making an extra effort to ensure our community is welc The following behaviors are expected and requested of all community members: -- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. -- Exercise consideration and respect in your speech and actions. -- Attempt collaboration before conflict. -- Refrain from demeaning, discriminatory, or harassing behavior and speech. -- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. -- Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. + * Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. + * Exercise consideration and respect in your speech and actions. + * Attempt collaboration before conflict. + * Refrain from demeaning, discriminatory, or harassing behavior and speech. + * Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. + * Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. ## 4. Unacceptable Behavior The following behaviors are considered harassment and are unacceptable within our community: -- Violence, threats of violence or violent language directed against another person. -- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. -- Posting or displaying sexually explicit or violent material. -- Posting or threatening to post other people's personally identifying information ("doxing"). -- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. -- Inappropriate photography or recording. -- Inappropriate physical contact. You should have someone's consent before touching them. -- Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. -- Deliberate intimidation, stalking or following (online or in person). -- Advocating for, or encouraging, any of the above behavior. -- Sustained disruption of community events, including talks and presentations. + * Violence, threats of violence or violent language directed against another person. + * Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. + * Posting or displaying sexually explicit or violent material. + * Posting or threatening to post other people's personally identifying information ("doxing"). + * Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. + * Inappropriate photography or recording. + * Inappropriate physical contact. You should have someone's consent before touching them. + * Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. + * Deliberate intimidation, stalking or following (online or in person). + * Advocating for, or encouraging, any of the above behavior. + * Sustained disruption of community events, including talks and presentations. ## 5. Weapons Policy @@ -59,11 +59,15 @@ If a community member engages in unacceptable behavior, the community organizers If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. miporagi@gmail.com. + + Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. ## 8. Addressing Grievances -If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify Pull-Request-Community with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. +If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify Pull-Request-Community with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. + + ## 9. Scope @@ -77,7 +81,7 @@ miporagi@gmail.com ## 11. License and attribution -The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). +The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). diff --git a/docs/contributing.md b/docs/contributing.md index 7b42954..e1c7d90 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -6,7 +6,7 @@ We appreciate it very much.❤️🙏🏻 Before jumping into the deep water, it's essential to discuss a bit of communication. One of the biggest challenges on each project (especially on open-source projects) is communication. Good communication can lead to great achievements, effective teamwork, time efficiency and make the working process fun and easy. -It is important to remember that all contributions are made voluntarily by people that devote their time and hard work. We are all part of a team, so _please be passionate and polite to each other_. +It is important to remember that all contributions are made voluntarily by people that devote their time and hard work. We are all part of a team, so *please be passionate and polite to each other*. Please follow this guide to make your experience as pleasant and easy as possible. From 87819ab6e4546fcc4629b4476628cfb26d09cc36 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Sat, 2 Jul 2022 13:39:40 +0300 Subject: [PATCH 09/12] chore: undo vs code changes --- .github/ISSUE_TEMPLATE/feature_request.md | 1 + README.md | 3 ++- docs/contributing.md | 29 +++++++++-------------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 2f28cea..bbcbbe7 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -4,6 +4,7 @@ about: Suggest an idea for this project title: '' labels: '' assignees: '' + --- **Is your feature request related to a problem? Please describe.** diff --git a/README.md b/README.md index 93e05a9..8edef0a 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ npm run dev Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. -# Contributing to the project: + +# Contributing to the project: If you are interested in contributing to the project, please follow this [guide](https://github.com/Pull-Request-Community/pull-request-community-website/blob/master/docs/contributing.md). diff --git a/docs/contributing.md b/docs/contributing.md index e1c7d90..93aa643 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,5 +1,4 @@ # Contribution To The Pull Request Website - Thank you, it is not obvious that you are devoting your time to contributing to our community. We appreciate it very much.❤️🙏🏻 @@ -12,13 +11,12 @@ Please follow this guide to make your experience as pleasant and easy as possibl ## The Ways You Can Contribute To The Pull Request Website: -- Opening a [new issue](https://github.com/Pull-Request-Community/pull-request-community-website/issues/new) with a bug or a feature proposal. -- Add documentation for existing features. -- Improvement of our tests. -- Solving an issue or adding a new feature. +* Opening a [new issue](https://github.com/Pull-Request-Community/pull-request-community-website/issues/new) with a bug or a feature proposal. +* Add documentation for existing features. +* Improvement of our tests. +* Solving an issue or adding a new feature. ## The Preferred Way To Contribute: - 1. Pick an issue from the [issues list](https://github.com/Pull-Request-Community/pull-request-community-website/issues) or [open a new issue](https://github.com/Pull-Request-Community/pull-request-community-website/issues/new) and _ask_, by writing a new comment on the issue's page, to own the task. 2. Wait for the maintainer's ownership approval. Keep in mind that they may not approve that. Like we said at the beggining, communication is everything. 3. Fork the project. For more details, please read this article: [My first contribution to open source: Make a fork of the repo / Galen Corey](https://opensource.com/article/19/11/first-open-source-contribution-fork-clone). @@ -28,27 +26,22 @@ Please follow this guide to make your experience as pleasant and easy as possibl 7. While working on an issue, feel free to ask any questions on the issue's page. 8. Open pull request (make sure you open the pull requset on the original project and not on the forked project). 9. Make sure all the tests are passing. -10. Merge to the _main_ branch. +10. Merge to the *main* branch. ## Working On Issue: - Having a clear work flow of code development can be very useful. Therefore, please work on branches that are linked to a relevant issue. Don't you know how to connect a branch to an issue? no problem, follow this [guid](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue). - + ## Developing In A Branch: - Please make sure you follow this list: - -1. Link your branch to the relevant issue. -2. Use meaningful names for commits. -3. Create small commits for each logic unit at a time. -4. Use a [tasks list](https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists) to manage your work. +1) Link your branch to the relevant issue. +2) Use meaningful names for commits. +3) Create small commits for each logic unit at a time. +4) Use a [tasks list](https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists) to manage your work. ## TSX Specifications: - Please follow this functional component pattern: - -```tsx +``` interface Props { prop: ... From c46a4f4195e01c216e0c96447cab1460d9a921a7 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Sat, 2 Jul 2022 13:41:08 +0300 Subject: [PATCH 10/12] chore: undo vs code changes --- docs/contributing.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index 93aa643..87abb12 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -10,14 +10,13 @@ It is important to remember that all contributions are made voluntarily by peopl Please follow this guide to make your experience as pleasant and easy as possible. ## The Ways You Can Contribute To The Pull Request Website: - * Opening a [new issue](https://github.com/Pull-Request-Community/pull-request-community-website/issues/new) with a bug or a feature proposal. * Add documentation for existing features. * Improvement of our tests. * Solving an issue or adding a new feature. ## The Preferred Way To Contribute: -1. Pick an issue from the [issues list](https://github.com/Pull-Request-Community/pull-request-community-website/issues) or [open a new issue](https://github.com/Pull-Request-Community/pull-request-community-website/issues/new) and _ask_, by writing a new comment on the issue's page, to own the task. +1. Pick an issue from the [issues list](https://github.com/Pull-Request-Community/pull-request-community-website/issues) or [open a new issue](https://github.com/Pull-Request-Community/pull-request-community-website/issues/new) and *ask*, by writing a new comment on the issue's page, to own the task. 2. Wait for the maintainer's ownership approval. Keep in mind that they may not approve that. Like we said at the beggining, communication is everything. 3. Fork the project. For more details, please read this article: [My first contribution to open source: Make a fork of the repo / Galen Corey](https://opensource.com/article/19/11/first-open-source-contribution-fork-clone). 4. Clone the forked project to your local machine (see instructions below). @@ -28,7 +27,7 @@ Please follow this guide to make your experience as pleasant and easy as possibl 9. Make sure all the tests are passing. 10. Merge to the *main* branch. -## Working On Issue: +## Working On Issue: Having a clear work flow of code development can be very useful. Therefore, please work on branches that are linked to a relevant issue. Don't you know how to connect a branch to an issue? no problem, follow this [guid](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue). From c61998070e8d17afc4ecfed4af2e119c8edf93ac Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Sat, 2 Jul 2022 13:41:57 +0300 Subject: [PATCH 11/12] chore: undo vs code changes --- docs/contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index 87abb12..42a9abb 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -28,7 +28,7 @@ Please follow this guide to make your experience as pleasant and easy as possibl 10. Merge to the *main* branch. ## Working On Issue: -Having a clear work flow of code development can be very useful. Therefore, please work on branches that are linked to a relevant issue. +Having a clear work flow of code development can be very useful. Therefore, please work on branches that are linked to a relevant issue. Don't you know how to connect a branch to an issue? no problem, follow this [guid](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-a-branch-for-an-issue). ## Developing In A Branch: From f49db455d4dc87c2193c12dd99b04558404963e2 Mon Sep 17 00:00:00 2001 From: InbarDanieli Date: Sat, 2 Jul 2022 13:48:40 +0300 Subject: [PATCH 12/12] pr fixes --- components/layout/layout.tsx | 2 +- components/projectPage/projectPage.tsx | 6 +----- pages/articles.tsx | 2 +- pages/projects/[owner]/[repo].tsx | 1 + 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/components/layout/layout.tsx b/components/layout/layout.tsx index c1a1d19..cdd8fcb 100644 --- a/components/layout/layout.tsx +++ b/components/layout/layout.tsx @@ -36,7 +36,7 @@ const Layout = ({ children, descriptionText }: LayoutProps) => { interface LayoutProps { children: object; - descriptionText: object; + descriptionText?: object; } export default Layout; diff --git a/components/projectPage/projectPage.tsx b/components/projectPage/projectPage.tsx index db86536..1adf4e9 100644 --- a/components/projectPage/projectPage.tsx +++ b/components/projectPage/projectPage.tsx @@ -2,11 +2,7 @@ import React from 'react'; import Technologies from './technologies/Technologies'; import style from './ProjectPage.module.scss'; import githubFullinfo from './ProjectPage.model'; -/** - * - * @param FullInfo - * @returns - */ + function ProjectsPage({ stars, license, languages, projectname }: githubFullinfo) { return (
diff --git a/pages/articles.tsx b/pages/articles.tsx index 7492985..9f2d27e 100644 --- a/pages/articles.tsx +++ b/pages/articles.tsx @@ -11,7 +11,7 @@ interface IHomeProps { export default function Articles({ people }: IHomeProps) { return ( - }> +
Scafolding for article page
); diff --git a/pages/projects/[owner]/[repo].tsx b/pages/projects/[owner]/[repo].tsx index 6926fa7..3d0db59 100644 --- a/pages/projects/[owner]/[repo].tsx +++ b/pages/projects/[owner]/[repo].tsx @@ -17,6 +17,7 @@ function project(props: githubFullinfo) { return ( + {/* ToDo: Add body to this page */} <> );