diff --git a/client/client-landing/components/documentation/YoutubeSideBarLinks.tsx b/client/client-landing/components/documentation/YoutubeSideBarLinks.tsx
new file mode 100644
index 00000000..eb7539ab
--- /dev/null
+++ b/client/client-landing/components/documentation/YoutubeSideBarLinks.tsx
@@ -0,0 +1,58 @@
+interface LinkProps {
+ fnc: Function;
+ sources: {
+ href: string;
+ title: string;
+ subTitle: string;
+ content: string;
+ }[];
+ current: string;
+ icon: JSX.Element;
+}
+/* Video Selection Side bar to select the required video to display.
+ This saves space and only required information is displayed.
+ Array of Objects are passed and iterated to create buttons for each object.
+*/
+const YoutubeSideBarLink = ({ fnc, sources, current, icon }: LinkProps) => {
+ return (
+ <>
+
Youtube Tutorial
+ {sources.map((source, i) => (
+
+
fnc({ source: source, type: "VIDEO" })}
+ className={`${
+ current === source.href
+ ? "border-base-green"
+ : "md:border-transparent"
+ } border-b-4 md:border-b-0 md:border-r-4 w-full cursor-pointer py-4 flex items-center justify-between transform hover:md:-translate-x-4`}
+ >
+
+
+ {source.title}
+
+
+
+
+
+ {icon}
+
+
+
+
+ ))}
+ >
+ );
+};
+
+export default YoutubeSideBarLink;
diff --git a/client/client-landing/components/documentation/documentation.tsx b/client/client-landing/components/documentation/documentation.tsx
new file mode 100644
index 00000000..e60b4110
--- /dev/null
+++ b/client/client-landing/components/documentation/documentation.tsx
@@ -0,0 +1,109 @@
+import { useState } from "react";
+import { ArrowIcon } from "../../utils/icons";
+import PdfDisplay from "./pdfDisplay";
+import PdfSideBarLink from "./pdfSideBarLink";
+import YoutubeDisplay from "./youtubeDisplay";
+import YoutubeSideBarLink from "./YoutubeSideBarLinks";
+
+/*
+ pdfSources (array of Objects) to store name and url of the PDF.
+*/
+const Documentation = () => {
+ const pdfSources: {
+ name: string;
+ href: string;
+ }[] = [
+ {
+ name: "Sample PDF",
+ href: "https://drive.google.com/file/d/1kPcD_GpBODXD6pUgfLaqPhEHwpB-lpk3/preview",
+ },
+ {
+ name: "Lab PDF",
+ href: "https://drive.google.com/file/d/1LZzQP5RPTMI4RKzTpnwfA3ufnc60Z2zA/preview",
+ },
+ {
+ name: "Paralinguistic PDF",
+ href: "https://drive.google.com/file/d/1-Ktm3gE9WWDxnT_wvUON1VudSRb6dM8i/preview",
+ },
+ ];
+
+ /*
+ youtubeSources (array of Objects) to store name and url of the Youtube Videos/Local Videos address..
+ */
+ const youtubeSources: {
+ title: string;
+ subTitle: string;
+ content: string;
+ href: string;
+ }[] = [
+ {
+ title: "C++ in 100 Seconds",
+ subTitle: "Fireship",
+ content:
+ "C++ or C-plus-plus or Cpp is an extremely popular object-oriented programming language. Created in 1979, today it powers game engines, databases, compilers, embedded systems, desktop software, and much of our software infrastructure. ",
+ href: "https://www.youtube.com/embed/MNeX4EGtR5Y",
+ },
+ {
+ title: "Firebase in 100 Seconds",
+ subTitle: "Fireship",
+ content:
+ "Firebase is a suite of tools for building apps on top of Google Cloud Platform. It's most famous for its realtime database, but also includes services for user authentication, serverless computing, push messaging, file storage, and more.",
+ href: "https://www.youtube.com/embed/vAoB4VbhRzM",
+ },
+ {
+ title: "GraphQL Explained in 100 Seconds",
+ subTitle: "Fireship",
+ content:
+ "What is GraphQL? Learn how it compares to REST and why developers love this query language for reading and mutating data in APIs",
+ href: "https://www.youtube.com/embed/eIQh02xuVw4",
+ },
+ ];
+
+ const [display, setDisplay] = useState({
+ source: pdfSources[1],
+ type: "PDF",
+ });
+
+ return (
+
+
+ Documentation
+
+
+
+
+
+
+
+ {/* Pdf Navigation Bar */}
+
}
+ sources={pdfSources}
+ current={display.source.href}
+ />
+ {/* Video Navigation Bar */}
+
}
+ fnc={setDisplay}
+ sources={youtubeSources}
+ current={display.source.href}
+ />
+
+
+
+ {/* Content elements which displayes according to the selection in Side Bar */}
+ {display.type === "PDF" ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+ );
+};
+
+export default Documentation;
diff --git a/client/client-landing/components/documentation/index.tsx b/client/client-landing/components/documentation/index.tsx
new file mode 100644
index 00000000..8cf21c71
--- /dev/null
+++ b/client/client-landing/components/documentation/index.tsx
@@ -0,0 +1 @@
+export { default as Documentation } from "./documentation";
diff --git a/client/client-landing/components/documentation/pdfDisplay.tsx b/client/client-landing/components/documentation/pdfDisplay.tsx
new file mode 100644
index 00000000..c4f25755
--- /dev/null
+++ b/client/client-landing/components/documentation/pdfDisplay.tsx
@@ -0,0 +1,22 @@
+import { LinkProps } from "../../utils/interfaces";
+{
+ /* Function takes the object as parameters and displays the video using Object.href inside an iframe. */
+}
+const PdfDisplay = ({ source }: LinkProps) => {
+ return (
+ <>
+
+ >
+ );
+};
+
+export default PdfDisplay;
diff --git a/client/client-landing/components/documentation/pdfSideBarLink.tsx b/client/client-landing/components/documentation/pdfSideBarLink.tsx
new file mode 100644
index 00000000..faeb0004
--- /dev/null
+++ b/client/client-landing/components/documentation/pdfSideBarLink.tsx
@@ -0,0 +1,55 @@
+interface LinkProps {
+ fnc: Function;
+ sources: {
+ href: string;
+ name: string;
+ }[];
+ current: string;
+ icon: JSX.Element;
+}
+/* The component takes array of Objects in parameters, iterates over it using map function
+ and calls the display function with Object as parameter.
+*/
+const PdfSideBarLink = ({ fnc, sources, current, icon }: LinkProps) => {
+ return (
+ <>
+ PDF Tutorial
+ {sources.map((source) => (
+
+
fnc({ source: source, type: "PDF" })}
+ className={`${
+ current === source.href
+ ? "border-base-green"
+ : "md:border-transparent"
+ } border-b-4 md:border-b-0 md:border-r-4 w-full cursor-pointer py-4 flex items-center justify-between transform hover:md:-translate-x-4`}
+ >
+
+
+ {source.name}
+
+
+
+
+
+ {icon}
+
+
+
+
+ ))}
+ >
+ );
+};
+
+export default PdfSideBarLink;
diff --git a/client/client-landing/components/documentation/youtubeDisplay.tsx b/client/client-landing/components/documentation/youtubeDisplay.tsx
new file mode 100644
index 00000000..82a6647b
--- /dev/null
+++ b/client/client-landing/components/documentation/youtubeDisplay.tsx
@@ -0,0 +1,29 @@
+import { LinkProps } from "../../utils/interfaces";
+/* Function which takes Video details as an Object and displays them inside an iframe. */
+const YoutubeDisplay = ({ source }: LinkProps) => {
+ return (
+ <>
+
+
+
{source.title}
+
{source.subTitle}
+
+
+
{source.content}
+
+
+
+
+
+ >
+ );
+};
+
+export default YoutubeDisplay;
diff --git a/client/client-landing/components/shared/layout.tsx b/client/client-landing/components/shared/layout.tsx
index b8e4ecd0..cfd31f69 100644
--- a/client/client-landing/components/shared/layout.tsx
+++ b/client/client-landing/components/shared/layout.tsx
@@ -37,6 +37,9 @@ const Layout: React.FC = ({ children }) => {
case "/contact-us": {
return ;
}
+ case "/documentation": {
+ return "Documentation Svg Template";
+ }
case "/500": {
return ;
}
diff --git a/client/client-landing/components/shared/navbar.tsx b/client/client-landing/components/shared/navbar.tsx
index aa274066..8fae238d 100644
--- a/client/client-landing/components/shared/navbar.tsx
+++ b/client/client-landing/components/shared/navbar.tsx
@@ -21,6 +21,10 @@ const Navbar = () => {
name: "Join Us",
href: "/join-us",
},
+ {
+ name: "Documentation",
+ href: "/documentation",
+ },
{
name: "Contact Us",
href: "/contact-us",
diff --git a/client/client-landing/pages/documentation.tsx b/client/client-landing/pages/documentation.tsx
new file mode 100644
index 00000000..207cba5e
--- /dev/null
+++ b/client/client-landing/pages/documentation.tsx
@@ -0,0 +1,23 @@
+import Head from "next/head";
+
+import { Documentation } from "../components/documentation";
+import { Layout } from "../components/shared";
+
+const documentation = () => {
+ return (
+ <>
+
+ Documentation
+
+
+
+
+
+ >
+ );
+};
+
+export default documentation;
diff --git a/client/client-landing/styles/tailwind.styles.css b/client/client-landing/styles/tailwind.styles.css
index 76dae061..8cb36b84 100644
--- a/client/client-landing/styles/tailwind.styles.css
+++ b/client/client-landing/styles/tailwind.styles.css
@@ -88,3 +88,23 @@
@apply bottom-0 top-0 right-0 left-0;
}
}
+
+.video-container {
+ overflow: hidden;
+ position: relative;
+ width:100%;
+}
+
+.video-container::after {
+ padding-top: 56.25%;
+ display: block;
+ content: '';
+}
+
+.video-container iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
diff --git a/client/client-landing/utils/interfaces.ts b/client/client-landing/utils/interfaces.ts
index b4890b36..3bf6f756 100644
--- a/client/client-landing/utils/interfaces.ts
+++ b/client/client-landing/utils/interfaces.ts
@@ -78,3 +78,14 @@ export interface ContributorFormData
export interface ContactUsFormData
extends Yup.InferType {}
+
+export interface LinkProps {
+ source: {
+ href: string;
+ title?: string;
+ subTitle?: string;
+ content?: string;
+ name?: string;
+ icon?: JSX.Element;
+ };
+}
diff --git a/client/package-lock.json b/client/package-lock.json
new file mode 100644
index 00000000..35d26645
--- /dev/null
+++ b/client/package-lock.json
@@ -0,0 +1,253 @@
+{
+ "name": "githubsrm-landing-and-portal",
+ "version": "3.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "githubsrm-landing-and-portal",
+ "version": "3.0.0",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "devDependencies": {
+ "husky": "^7.0.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "node_modules/glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/husky": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.2.tgz",
+ "integrity": "sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg==",
+ "dev": true,
+ "bin": {
+ "husky": "lib/bin.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/typicode"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "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"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ }
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "husky": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.2.tgz",
+ "integrity": "sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg==",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ }
+ }
+}
diff --git a/client/package.json b/client/package.json
index d19f3cda..dd6699d8 100644
--- a/client/package.json
+++ b/client/package.json
@@ -21,7 +21,7 @@
"prepare": "cd .. && husky install"
},
"devDependencies": {
- "rimraf": "^3.0.2",
- "husky": "^7.0.0"
+ "husky": "^7.0.0",
+ "rimraf": "^3.0.2"
}
}
diff --git a/client/yarn.lock b/client/yarn.lock
index b787f02e..24976db8 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -2,86 +2,86 @@
# yarn lockfile v1
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+"balanced-match@^1.0.0":
+ "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
+ "version" "1.0.2"
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+"brace-expansion@^1.1.7":
+ "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
+ "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
+ "version" "1.1.11"
dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
+ "balanced-match" "^1.0.0"
+ "concat-map" "0.0.1"
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+"concat-map@0.0.1":
+ "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ "version" "0.0.1"
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+"fs.realpath@^1.0.0":
+ "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
+ "version" "1.0.0"
-glob@^7.1.3:
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+"glob@^7.1.3":
+ "integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ=="
+ "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz"
+ "version" "7.1.7"
dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
+ "fs.realpath" "^1.0.0"
+ "inflight" "^1.0.4"
+ "inherits" "2"
+ "minimatch" "^3.0.4"
+ "once" "^1.3.0"
+ "path-is-absolute" "^1.0.0"
-husky@^7.0.0:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.2.tgz#21900da0f30199acca43a46c043c4ad84ae88dff"
- integrity sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg==
+"husky@^7.0.0":
+ "integrity" "sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg=="
+ "resolved" "https://registry.npmjs.org/husky/-/husky-7.0.2.tgz"
+ "version" "7.0.2"
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+"inflight@^1.0.4":
+ "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
+ "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
+ "version" "1.0.6"
dependencies:
- once "^1.3.0"
- wrappy "1"
+ "once" "^1.3.0"
+ "wrappy" "1"
-inherits@2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+"inherits@2":
+ "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+ "version" "2.0.4"
-minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+"minimatch@^3.0.4":
+ "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
+ "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
+ "version" "3.0.4"
dependencies:
- brace-expansion "^1.1.7"
+ "brace-expansion" "^1.1.7"
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+"once@^1.3.0":
+ "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
+ "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ "version" "1.4.0"
dependencies:
- wrappy "1"
+ "wrappy" "1"
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+"path-is-absolute@^1.0.0":
+ "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ "version" "1.0.1"
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+"rimraf@^3.0.2":
+ "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
+ "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
+ "version" "3.0.2"
dependencies:
- glob "^7.1.3"
+ "glob" "^7.1.3"
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+"wrappy@1":
+ "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ "version" "1.0.2"