diff --git a/.editorconfig b/.editorconfig index f67814db2..a78b60d09 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,6 +18,6 @@ indent_size = 2 indent_style = space indent_size = 2 -[{package.json,.travis.yml}] +[{package.json, .travis.yml}] indent_style = space indent_size = 2 diff --git a/components/roadmap-header/index.js b/components/roadmap-header/index.js index c5c3a39d9..7dc4c6017 100644 --- a/components/roadmap-header/index.js +++ b/components/roadmap-header/index.js @@ -6,7 +6,7 @@ import { Description, Header, Title, MenuItemLink, MenuItems } from './style'; import Link from 'next/link'; import classNames from 'classnames'; -const RoadmapHeader = ({ roadmap }) => ( +const RoadmapHeader = ({ roadmap, page = 'landscape' }) => (
{ roadmap.title } { roadmap.description } @@ -43,15 +43,17 @@ const RoadmapHeader = ({ roadmap }) => ( +
- Landscape + Landscape - Resources - - - Project Ideas + Resources + {/**/} + {/* Project Ideas*/} + {/**/} +
diff --git a/components/roadmap-resources/index.js b/components/roadmap-resources/index.js new file mode 100644 index 000000000..de47e54af --- /dev/null +++ b/components/roadmap-resources/index.js @@ -0,0 +1,35 @@ +import { Summary, SummaryContainer, UpcomingContainer } from './style'; +import GuideBody from 'components/guide-body'; +import RoadmapHeader from 'components/roadmap-header'; +import SharePage from 'components/share-page'; +import MdRenderer from 'components/md-renderer'; + +const RoadmapResources = ({ roadmap }) => { + if (roadmap.upcoming) { + return ( + <> + + + + + + ); + } + + const filePath = roadmap.resources.replace(/^\//, ''); + const ResourcesContent = require(`../../content/${filePath}`).default; + + return ( + + + + + + + + + + ) +}; + +export default RoadmapResources; diff --git a/components/roadmap-resources/style.js b/components/roadmap-resources/style.js new file mode 100644 index 000000000..30cf3e766 --- /dev/null +++ b/components/roadmap-resources/style.js @@ -0,0 +1,21 @@ +import styled from 'styled-components'; + +export const SummaryContainer = styled.div``; + +export const UpcomingContainer = styled.div` + text-align: center; + padding: 40px 0 50px; + + .container { + position: relative; + } +`; + +export const Summary = styled.div` + margin-top: 35px; + min-height: 400px; + max-width: 1000px; + display: block; + position: relative; + text-align: left; +`; diff --git a/content/authors.json b/content/authors.json index 05fd34dbd..334c60656 100644 --- a/content/authors.json +++ b/content/authors.json @@ -12,5 +12,12 @@ "twitter": "__jesse_li", "picture": "/authors/jesse.png", "bio": "Software engineer." + }, + { + "username": "dmytrobol", + "name": "Dmytro Bolkachov", + "twitter": "dmytrobol", + "picture": "/authors/dmytrobol.png", + "bio": "JavaScript Lad, Movie buff and coder interested in everything web related" } ] diff --git a/content/guides.json b/content/guides.json index cd0cc2635..5593821b7 100644 --- a/content/guides.json +++ b/content/guides.json @@ -1,4 +1,14 @@ [ + { + "title": "How does the internet work?", + "description": "Learn the basics of internet and everything involved with this short video series", + "url": "/guides/what-is-internet", + "fileName": "what-is-internet", + "featured": true, + "author": "dmytrobol", + "updatedAt": "2020-02-29T15:48:21.191Z", + "createdAt": "2020-02-29T15:48:21.191Z" + }, { "title": "Building a BitTorrent Client", "description": "Learn everything you need to know about BitTorrent by writing a client in Go", diff --git a/content/guides/what-is-internet.md b/content/guides/what-is-internet.md new file mode 100644 index 000000000..3e643368d --- /dev/null +++ b/content/guides/what-is-internet.md @@ -0,0 +1,62 @@ +Knowing the basics of internet and how it works is the key knowledge that every developer must have. In this article accompanied with an introductory series of short videos about internet from [code.org](https://code.org) you will learn the basics of internet and how everything works. After going through this article, you will be able to answer the below questions: + +* What is Internet? +* How does the information move on the internet? +* How do the networks talk to each other and the protocols involved? +* Packet, routers, and reliability +* HTTP and the HTML – How are you viewing this webpage in your browser? +* How is the information transfer on the internet made secure? +* What is cybersecurity and some common internet crimes? + +## What is internet? + +Internet, at its simplest, is a global network of computers connected to each other which communicate through a standardized set of protocols. + +In the video below Vint Cerf, one of the "fathers of the internet" explains the history of how the internet works and how no one person or organization is really in charge of it. + + + + +## Wires, Cables & Wifi + +Information on the internet moves from computer to another in the form of bits. The medium for this transfer can be wires e.g. ethernet wires that you might have seen in your homes, it can be transferred in the form of light or fiber optic cables, also we can use wireless mediums. + +In the video linked below, you will learn about the different mediums for data transfer on the internet and the pros and cons for each. + + + +## IP Addresses and DNS + +Now that you know about the physical medium for the data transfer over the internet. It's time to learn about the protocols involved or how does the information reach from one computer to another in this massive global network of computers. + +In the video below, you will get a brief introduction to IP, DNS and how these protocols make the internet work. + + + +## Packets, Routing and Reliability + +Information transfer on the internet from one computer to another does not need to follow a fixed path; infact, it may change paths during the transfer. This information transfer is done in the form of packets and these packets may follow different routes depending upon certain factors. + +In this video, you will learn about how the packets of information are routed from one computer to another to reach the destination. + + + +## HTTP and HTML + +HTTP is the standard protocol using which the webpages are transferred over the internet. The video below is a brief introduction to HTTP and how the browsers load the websites for you. + + + +## Encryption and Public Keys + +Cryptography is what keeps our communication secure on the internet, in this short video you will learn the basics of cryptograpy, SSL and TLS and how they help make the communication on the internet secure. + + + +## Cybersecurity and Crime + +In this video, you will learn about the basics of cybersecurity and common cybercrimes + + + +And that wraps it up for this article. To learn more about the internet, [Kamran Ahmed](https://twitter.com/kamranahmedse) has a nice little guide on [DNS: How a website is found on the Internet](/guides/dns-in-one-picture). Also go through the episodes of [howdns.works](https://howdns.works/) and read this [cartoon intro to DNS over HTTPS](https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/). diff --git a/content/roadmaps.json b/content/roadmaps.json index 8055c7ae9..88952a472 100644 --- a/content/roadmaps.json +++ b/content/roadmaps.json @@ -35,7 +35,8 @@ "url": "https://twitter.com/kamranahmedse" }, "featured": true, - "path": "/roadmaps/1-frontend/0-About/2-Landscape.md", + "path": "/roadmaps/1-frontend/landscape.md", + "resources": "/roadmaps/1-frontend/resources.md", "detailed": false, "versions": [ "latest", @@ -45,72 +46,7 @@ "contributorsCount": 1, "contributorsUrl": "/frontend/contributors", "url": "/frontend", - "sidebar": { - "About": [ - { - "url": "/frontend/summary", - "title": "Summary", - "path": "/roadmaps/1-frontend/0-About/0-Summary.md" - }, - { - "url": "/frontend/basic-skills", - "title": "Basic Skills", - "path": "/roadmaps/1-frontend/0-About/1-Basic-Skills.md" - }, - { - "url": "/frontend/landscape", - "title": "Landscape", - "path": "/roadmaps/1-frontend/0-About/2-Landscape.md" - }, - { - "url": "/frontend/job-titles", - "title": "Job Titles", - "path": "/roadmaps/1-frontend/0-About/3-Job-Titles.md" - } - ], - "Learn": [ - { - "url": "/frontend/job-ready", - "title": "Job Ready", - "path": "/roadmaps/1-frontend/1-Learn/1-Job-Ready.md" - }, - { - "url": "/frontend/write-better-css", - "title": "Write Better CSS", - "path": "/roadmaps/1-frontend/1-Learn/2-Write-Better-CSS.md" - }, - { - "url": "/frontend/build-tools", - "title": "Build Tools", - "path": "/roadmaps/1-frontend/1-Learn/3-Build-Tools.md" - }, - { - "url": "/frontend/modern-applications", - "title": "Modern Applications", - "path": "/roadmaps/1-frontend/1-Learn/4-Modern-Applications.md" - }, - { - "url": "/frontend/automated-testing", - "title": "Automated Testing", - "path": "/roadmaps/1-frontend/1-Learn/5-Automated-Testing.md" - }, - { - "url": "/frontend/static-type-checkers", - "title": "Static Type Checkers", - "path": "/roadmaps/1-frontend/1-Learn/6-Static-Type-Checkers.md" - }, - { - "url": "/frontend/server-side-rendering", - "title": "Server Side Rendering", - "path": "/roadmaps/1-frontend/1-Learn/7-Server-Side-Rendering.md" - }, - { - "url": "/frontend/go-beyond", - "title": "Go Beyond", - "path": "/roadmaps/1-frontend/1-Learn/8-Go-Beyond.md" - } - ] - } + "sidebar": {} }, { "seo": { @@ -144,7 +80,8 @@ "description": "Step by step guide to becoming a modern backend developer", "featuredDescription": "Step by step guide to becoming a modern backend developer in 2020", "featured": true, - "path": "/roadmaps/2-backend/0-About/0-Summary.md", + "path": "/roadmaps/2-backend/landscape.md", + "resources": "/roadmaps/2-backend/resources.md", "author": { "name": "Kamran Ahmed", "url": "https://twitter.com/kamranahmedse" @@ -152,37 +89,7 @@ "contributorsCount": 1, "contributorsUrl": "/backend/contributors", "url": "/backend", - "sidebar": { - "About": [ - { - "url": "/backend/summary", - "title": "Summary", - "path": "/roadmaps/2-backend/0-About/0-Summary.md" - } - ], - "Landscape": [ - { - "url": "/backend/summary", - "title": "Summary", - "path": "/roadmaps/2-backend/1-Landscape/0-Summary.md" - }, - { - "url": "/backend/junior", - "title": "Junior", - "path": "/roadmaps/2-backend/1-Landscape/1-Junior.md" - }, - { - "url": "/backend/intermediate", - "title": "Intermediate", - "path": "/roadmaps/2-backend/1-Landscape/2-Intermediate.md" - }, - { - "url": "/backend/senior", - "title": "Senior", - "path": "/roadmaps/2-backend/1-Landscape/3-Senior.md" - } - ] - } + "sidebar": {} }, { "seo": { @@ -210,7 +117,8 @@ "description": "Step by step guide for DevOps or any other Operations Role", "featuredDescription": "Step by step guide to become an SRE or for any operations role in 2020", "featured": true, - "path": "/roadmaps/3-devops/0-About/0-Summary.md", + "path": "/roadmaps/3-devops/landscape.md", + "resources": "/roadmaps/3-devops/resources.md", "versions": [ "latest", "2018", @@ -223,32 +131,7 @@ "contributorsCount": 1, "contributorsUrl": "/devops/contributors", "url": "/devops", - "sidebar": { - "About": [ - { - "url": "/devops/summary", - "title": "Summary", - "path": "/roadmaps/3-devops/0-About/0-Summary.md" - } - ], - "Landscape": [ - { - "url": "/devops/junior", - "title": "Junior", - "path": "/roadmaps/3-devops/1-Landscape/1-Junior.md" - }, - { - "url": "/devops/intermediate", - "title": "Intermediate", - "path": "/roadmaps/3-devops/1-Landscape/2-Intermediate.md" - }, - { - "url": "/devops/senior", - "title": "Senior", - "path": "/roadmaps/3-devops/1-Landscape/3-Senior.md" - } - ] - } + "sidebar": {} }, { "seo": { @@ -281,7 +164,8 @@ "title": "Full Stack Developer", "description": "Step by step guide to becoming a modern fullstack developer in 2020", "featuredDescription": "Step by step guide to becoming a modern fullstack developer in 2020", - "path": "/roadmaps/4-fullstack/0-About/0-Summary.md", + "path": "/roadmaps/4-fullstack/landscape.md", + "resources": "/roadmaps/4-fullstack/resources.md", "upcoming": true, "author": { "name": "Kamran Ahmed", @@ -290,15 +174,7 @@ "contributorsCount": 1, "contributorsUrl": "/fullstack/contributors", "url": "/fullstack", - "sidebar": { - "About": [ - { - "url": "/fullstack/summary", - "title": "Summary", - "path": "/roadmaps/4-fullstack/0-About/0-Summary.md" - } - ] - } + "sidebar": {} }, { "seo": { @@ -323,7 +199,8 @@ "description": "Steps to follow in order to become a modern QA Engineer in 2020", "featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2020", "upcoming": true, - "path": "/roadmaps/5-qa/0-About/0-Summary.md", + "path": "/roadmaps/5-qa/landscape.md", + "resources": "/roadmaps/5-qa/resources.md", "author": { "name": "Anas Fitiani", "url": "https://github.com/anas-qa" @@ -331,14 +208,6 @@ "contributorsCount": 1, "contributorsUrl": "/qa/contributors", "url": "/qa", - "sidebar": { - "About": [ - { - "url": "/qa/summary", - "title": "Summary", - "path": "/roadmaps/5-qa/0-About/0-Summary.md" - } - ] - } + "sidebar": {} } ] \ No newline at end of file diff --git a/content/roadmaps/1-frontend/0-About/0-Summary.md b/content/roadmaps/1-frontend/0-About/0-Summary.md deleted file mode 100644 index 94a28246a..000000000 --- a/content/roadmaps/1-frontend/0-About/0-Summary.md +++ /dev/null @@ -1,15 +0,0 @@ -## What is a Frontend Developer? -A frontend developer is someone who works on the side of the websites that the user interacts with i.e. front or the client side of the website. Whenever you visit a website, everything that you see is mainly developed by the frontend developers. - -They work with designers or UX teams to convert their mockups or wireframes to the actual website that the users can interact with. Also they work with [backend developers](/backend) who work with database and servers to get the data from and to display on the website. Wikipedia describes frontend development as follows - -> [According to Wikipedia](https://en.wikipedia.org/wiki/Front-end_web_development): -> -> Front-end web development is the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data. - -## Key Components of a Website -If we talk about the frontend, all the websites are mainly built with three key technologies – **HTML**, **CSS** and **JavaScript**. If you know just these three, you can start building websites and be employable. - -Before we proceed, let me give you a brief overview of how **HTML**, **CSS** and **JavaScript** are used on the website. **HTML** provides the structure to a website i.e. all the text, headings, paragraphs, images etc that you see on the website, they have been created with HTML. HTML provides you just the structure, you need to put another layer on top of it to make the website pretty - this next layer is CSS. **CSS** helps make your websites pretty - the colors, backgrounds, font size, borders, shadows etc are controlled using CSS. And finally, the third layer is **JavaScript** which helps make the website interactive e.g. controlling the actions like showing a popup, switching slider images upon click etc is all controlled by JavaScript. - -To understand it better, let me provide the analogy of a human body, the skeleton provides structure to our bodies so it can be equivalent to the HTML, the skin which hides the structure of our bodies and beautifies is like CSS and the muscles which help us perform different actions can be JavaScript. diff --git a/content/roadmaps/1-frontend/0-About/1-Basic-Skills.md b/content/roadmaps/1-frontend/0-About/1-Basic-Skills.md deleted file mode 100644 index 6ca3feacc..000000000 --- a/content/roadmaps/1-frontend/0-About/1-Basic-Skills.md +++ /dev/null @@ -1,20 +0,0 @@ -## Soft Skills -Before we jump on to the technical skills there are few non-technical or soft skills that every employer is going to demand, so make sure to work on that side of the things as well when you are preparing yourself technically - -* **Communication skills** — Talking to your colleagues, writing emails, use of language -* **Teamwork** — Working with others, sharing responsibilities, apart from personal goals, achieving goals as a team -* **Adaptability** — Being able to adapt according to the situations, changes and pressure at the workplace -* **Emotional Intelligence** — Empathy, being able to understand the emotions of those around you. -* **Work Ethics and Integrity** — Being able to follow through on your duties in timely and quality manner. -* **Be Curious** — Your curiosity is going to help you a great deal in evolving yourself. Don't just take things as they are, look at the reasoning behind the things. Look at the things that others are building, learn from them. Look at what community is most excited about these days. - -## Technical Skills -In order to be a frontend developer, all you need is to learn HTML, CSS and JavaScript. Just learn these and you should be employable. I know a lot of developers who just know these and are working as frontend developers and are making decent money - -* HTML -* CSS -* JavaScript - -Frontend development is broad and there are further skills that are in play but those can be gained over time. All you need is to learn the above three and start making projects ..lots of them. This is how you will hone your skillset and continue to grow. - -Having said that, the skills and the relevant expertise in those skills varies from the job level, have a look at the landscape to get an idea about everything that is there in Frontend Development. diff --git a/content/roadmaps/1-frontend/0-About/3-Job-Titles.md b/content/roadmaps/1-frontend/0-About/3-Job-Titles.md deleted file mode 100644 index 922f55ff8..000000000 --- a/content/roadmaps/1-frontend/0-About/3-Job-Titles.md +++ /dev/null @@ -1,12 +0,0 @@ -## Common Job Titles -If you know frontend development, there are jobs with different titles that you can apply to. Here is the list of different job titles with almost same responsibilities - -* Frontend Developer / Engineer -* JavaScript Developer -* JavaScript Engineer -* HTML / CSS Developer -* UI Developer -* Web Developer -* FullStack Developer - -Having Web Developer or FullStack developer in the title would normally mean that you need to have some backend skills as well. Most of the small or service based companies require you to have backend and some UI designing skills as well so it is better to look at the job description also once you have shortlisted the jobs to apply to. diff --git a/content/roadmaps/1-frontend/1-Learn/1-Job-Ready.md b/content/roadmaps/1-frontend/1-Learn/1-Job-Ready.md deleted file mode 100644 index de0f77e1f..000000000 --- a/content/roadmaps/1-frontend/1-Learn/1-Job-Ready.md +++ /dev/null @@ -1,15 +0,0 @@ -## Technical Skills -The sections below describe different steps required to become a frontend developer - -## Learning How Things Work -As a web developer, frontend, backend or fullstack, you should have a good understanding of how the internet works - -![](/roadmaps/frontend/beginner-1.png) - -Learn the below listed in the order given below -* What is Internet and how does it work? -* What is HTTP, how it evolved and where is it now? -* How do the browsers work? Engines behind different browsers -* What is DNS? How a website is found on the internet? -* What's in a domain name? What is an IP Address? -* What is Web Hosting? diff --git a/content/roadmaps/1-frontend/1-Learn/2-Write-Better-CSS.md b/content/roadmaps/1-frontend/1-Learn/2-Write-Better-CSS.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/1-Learn/3-Build-Tools.md b/content/roadmaps/1-frontend/1-Learn/3-Build-Tools.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/1-Learn/4-Modern-Applications.md b/content/roadmaps/1-frontend/1-Learn/4-Modern-Applications.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/1-Learn/5-Automated-Testing.md b/content/roadmaps/1-frontend/1-Learn/5-Automated-Testing.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/1-Learn/6-Static-Type-Checkers.md b/content/roadmaps/1-frontend/1-Learn/6-Static-Type-Checkers.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/1-Learn/7-Server-Side-Rendering.md b/content/roadmaps/1-frontend/1-Learn/7-Server-Side-Rendering.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/1-Learn/8-Go-Beyond.md b/content/roadmaps/1-frontend/1-Learn/8-Go-Beyond.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/1-frontend/0-About/2-Landscape.md b/content/roadmaps/1-frontend/landscape.md similarity index 100% rename from content/roadmaps/1-frontend/0-About/2-Landscape.md rename to content/roadmaps/1-frontend/landscape.md diff --git a/content/roadmaps/1-frontend/meta.json b/content/roadmaps/1-frontend/meta.json index b99232b86..1448838a0 100644 --- a/content/roadmaps/1-frontend/meta.json +++ b/content/roadmaps/1-frontend/meta.json @@ -34,7 +34,8 @@ "url": "https://twitter.com/kamranahmedse" }, "featured": true, - "path": "./0-About/2-Landscape.md", + "path": "./landscape.md", + "resources": "./resources.md", "detailed": false, "versions": [ "latest", diff --git a/content/roadmaps/1-frontend/resources.md b/content/roadmaps/1-frontend/resources.md new file mode 100644 index 000000000..088156fc3 --- /dev/null +++ b/content/roadmaps/1-frontend/resources.md @@ -0,0 +1,16 @@ +## Become a Frontend Developer +Before I go ahead and list down the resources, please know that the roadmap and the list below is exhaustive and you don't need to know it all from the get go. For frontend development, all you need to get started with is learn some basic HTML, CSS and JavaScript and start working on projects; everything else you will learn along the way. + +## Internet and how it works? + +Get the basic understanding of internet, browsers, networks and other relevant knowledge. + +* [How the internet works in 5 minutes](https://www.youtube.com/watch?v=7_LPdttKXPc) 👀 +* [What is the Internet](https://www.youtube.com/watch?v=Dxcc6ycZ73M) +* [The Internet: IP Addresses & DNS](https://www.youtube.com/watch?v=5o8CwafCxnU) +* [The Internet: Packets, Routing & Reliability](https://www.youtube.com/watch?v=AYdF7b3nMto) +* What is HTTP, how it evolved and where is it now? +* How do the browsers work? Engines behind different browsers +* What is DNS? How a website is found on the internet? +* What's in a domain name? What is an IP Address? +* What is Web Hosting? diff --git a/content/roadmaps/2-backend/1-Landscape/0-Summary.md b/content/roadmaps/2-backend/1-Landscape/0-Summary.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/2-backend/1-Landscape/1-Junior.md b/content/roadmaps/2-backend/1-Landscape/1-Junior.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/2-backend/1-Landscape/2-Intermediate.md b/content/roadmaps/2-backend/1-Landscape/2-Intermediate.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/2-backend/1-Landscape/3-Senior.md b/content/roadmaps/2-backend/1-Landscape/3-Senior.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/2-backend/0-About/0-Summary.md b/content/roadmaps/2-backend/landscape.md similarity index 100% rename from content/roadmaps/2-backend/0-About/0-Summary.md rename to content/roadmaps/2-backend/landscape.md diff --git a/content/roadmaps/2-backend/meta.json b/content/roadmaps/2-backend/meta.json index 2f5546336..e78298063 100644 --- a/content/roadmaps/2-backend/meta.json +++ b/content/roadmaps/2-backend/meta.json @@ -30,7 +30,8 @@ "description": "Step by step guide to becoming a modern backend developer", "featuredDescription": "Step by step guide to becoming a modern backend developer in 2020", "featured": true, - "path": "./0-About/0-Summary.md", + "path": "./landscape.md", + "resources": "./resources.md", "author": { "name": "Kamran Ahmed", "url": "https://twitter.com/kamranahmedse" diff --git a/content/roadmaps/2-backend/resources.md b/content/roadmaps/2-backend/resources.md new file mode 100644 index 000000000..9ea876887 --- /dev/null +++ b/content/roadmaps/2-backend/resources.md @@ -0,0 +1,7 @@ +> **We are still preparing the resources**. Please check back later or [subscribe to get notified](/signup). + +While we prepare the list, follow this simple advice to learn anything + +> Just **pick a project and start working on it**, you will learn all that you need along the way. + +**→**   [All Roadmaps](/roadmaps)  •  [Programming guides](/guides)  •  [Subscribe](/signup) diff --git a/content/roadmaps/3-devops/1-Landscape/1-Junior.md b/content/roadmaps/3-devops/1-Landscape/1-Junior.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/3-devops/1-Landscape/2-Intermediate.md b/content/roadmaps/3-devops/1-Landscape/2-Intermediate.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/3-devops/1-Landscape/3-Senior.md b/content/roadmaps/3-devops/1-Landscape/3-Senior.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/roadmaps/3-devops/0-About/0-Summary.md b/content/roadmaps/3-devops/landscape.md similarity index 100% rename from content/roadmaps/3-devops/0-About/0-Summary.md rename to content/roadmaps/3-devops/landscape.md diff --git a/content/roadmaps/3-devops/meta.json b/content/roadmaps/3-devops/meta.json index c0aeff23f..1cf98a1fd 100644 --- a/content/roadmaps/3-devops/meta.json +++ b/content/roadmaps/3-devops/meta.json @@ -24,7 +24,8 @@ "description": "Step by step guide for DevOps or any other Operations Role", "featuredDescription": "Step by step guide to become an SRE or for any operations role in 2020", "featured": true, - "path": "./0-About/0-Summary.md", + "path": "./landscape.md", + "resources": "./resources.md", "versions": [ "latest", "2018", diff --git a/content/roadmaps/3-devops/resources.md b/content/roadmaps/3-devops/resources.md new file mode 100644 index 000000000..9ea876887 --- /dev/null +++ b/content/roadmaps/3-devops/resources.md @@ -0,0 +1,7 @@ +> **We are still preparing the resources**. Please check back later or [subscribe to get notified](/signup). + +While we prepare the list, follow this simple advice to learn anything + +> Just **pick a project and start working on it**, you will learn all that you need along the way. + +**→**   [All Roadmaps](/roadmaps)  •  [Programming guides](/guides)  •  [Subscribe](/signup) diff --git a/content/roadmaps/4-fullstack/0-About/0-Summary.md b/content/roadmaps/4-fullstack/landscape.md similarity index 100% rename from content/roadmaps/4-fullstack/0-About/0-Summary.md rename to content/roadmaps/4-fullstack/landscape.md diff --git a/content/roadmaps/4-fullstack/meta.json b/content/roadmaps/4-fullstack/meta.json index a8f20c400..eb50e52cc 100644 --- a/content/roadmaps/4-fullstack/meta.json +++ b/content/roadmaps/4-fullstack/meta.json @@ -29,7 +29,8 @@ "title": "Full Stack Developer", "description": "Step by step guide to becoming a modern fullstack developer in 2020", "featuredDescription": "Step by step guide to becoming a modern fullstack developer in 2020", - "path": "./0-About/0-Summary.md", + "path": "./landscape.md", + "resources": "./resources.md", "upcoming": true, "author": { "name": "Kamran Ahmed", diff --git a/content/roadmaps/4-fullstack/resources.md b/content/roadmaps/4-fullstack/resources.md new file mode 100644 index 000000000..9ea876887 --- /dev/null +++ b/content/roadmaps/4-fullstack/resources.md @@ -0,0 +1,7 @@ +> **We are still preparing the resources**. Please check back later or [subscribe to get notified](/signup). + +While we prepare the list, follow this simple advice to learn anything + +> Just **pick a project and start working on it**, you will learn all that you need along the way. + +**→**   [All Roadmaps](/roadmaps)  •  [Programming guides](/guides)  •  [Subscribe](/signup) diff --git a/content/roadmaps/5-qa/0-About/0-Summary.md b/content/roadmaps/5-qa/landscape.md similarity index 100% rename from content/roadmaps/5-qa/0-About/0-Summary.md rename to content/roadmaps/5-qa/landscape.md diff --git a/content/roadmaps/5-qa/meta.json b/content/roadmaps/5-qa/meta.json index 515e46f11..8ad2f5b2f 100644 --- a/content/roadmaps/5-qa/meta.json +++ b/content/roadmaps/5-qa/meta.json @@ -21,7 +21,8 @@ "description": "Steps to follow in order to become a modern QA Engineer in 2020", "featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2020", "upcoming": true, - "path": "./0-About/0-Summary.md", + "path": "./landscape.md", + "resources": "./resources.md", "author": { "name": "Anas Fitiani", "url": "https://github.com/anas-qa" diff --git a/content/roadmaps/5-qa/resources.md b/content/roadmaps/5-qa/resources.md new file mode 100644 index 000000000..9ea876887 --- /dev/null +++ b/content/roadmaps/5-qa/resources.md @@ -0,0 +1,7 @@ +> **We are still preparing the resources**. Please check back later or [subscribe to get notified](/signup). + +While we prepare the list, follow this simple advice to learn anything + +> Just **pick a project and start working on it**, you will learn all that you need along the way. + +**→**   [All Roadmaps](/roadmaps)  •  [Programming guides](/guides)  •  [Subscribe](/signup) diff --git a/pages/[roadmap]/resources.js b/pages/[roadmap]/resources.js new file mode 100644 index 000000000..ac101088b --- /dev/null +++ b/pages/[roadmap]/resources.js @@ -0,0 +1,38 @@ +import Error from 'next/error'; +import DefaultLayout from 'layouts/default'; +import SiteNav from 'components/site-nav'; +import PageFooter from 'components/page-footer'; +import { serverOnlyProps } from 'lib/server'; +import { getRequestedRoadmap } from 'lib/roadmap'; +import siteConfig from 'content/site'; +import Helmet from 'components/helmet'; +import RoadmapResources from '../../components/roadmap-resources'; + +const Resources = ({ roadmap, canonical }) => { + if (!roadmap) { + return ; + } + + return ( + + + + + + + ); +}; + +Resources.getInitialProps = serverOnlyProps(({ req }) => { + return { + canonical: `${siteConfig.url.web}${req.url}`, + roadmap: getRequestedRoadmap(req) + }; +}); + +export default Resources; diff --git a/public/authors/dmytrobol.png b/public/authors/dmytrobol.png new file mode 100644 index 000000000..5bdc96cb8 Binary files /dev/null and b/public/authors/dmytrobol.png differ diff --git a/public/roadmaps/frontend/beginner-1.png b/public/roadmaps/frontend/beginner-1.png deleted file mode 100644 index 0c31fd245..000000000 Binary files a/public/roadmaps/frontend/beginner-1.png and /dev/null differ diff --git a/public/sitemap.xml b/public/sitemap.xml index cad97d569..888a5d556 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -6,156 +6,24 @@ 2020-01-29T07:49:37.087Z 1.0 - - https://roadmap.sh/frontend/summary - monthly - 2020-01-29T07:49:37.087Z - 1.0 - - - https://roadmap.sh/frontend/basic-skills - monthly - 2020-01-29T07:49:37.100Z - 1.0 - - - https://roadmap.sh/frontend/landscape - monthly - 2020-01-29T07:49:37.087Z - 1.0 - - - https://roadmap.sh/frontend/job-titles - monthly - 2020-01-29T07:49:37.100Z - 1.0 - - - https://roadmap.sh/frontend/job-ready - monthly - 2020-01-29T07:49:37.099Z - 1.0 - - - https://roadmap.sh/frontend/write-better-css - monthly - 2020-01-29T07:49:37.088Z - 1.0 - - - https://roadmap.sh/frontend/build-tools - monthly - 2020-01-29T07:49:37.088Z - 1.0 - - - https://roadmap.sh/frontend/modern-applications - monthly - 2020-01-29T07:49:37.088Z - 1.0 - - - https://roadmap.sh/frontend/automated-testing - monthly - 2020-01-29T07:49:37.088Z - 1.0 - - - https://roadmap.sh/frontend/static-type-checkers - monthly - 2020-01-29T07:49:37.088Z - 1.0 - - - https://roadmap.sh/frontend/server-side-rendering - monthly - 2020-01-29T07:49:37.088Z - 1.0 - - - https://roadmap.sh/frontend/go-beyond - monthly - 2020-01-29T07:49:37.088Z - 1.0 - https://roadmap.sh/backend monthly 2020-01-29T07:49:29.705Z 1.0 - - https://roadmap.sh/backend/summary - monthly - 2020-01-29T07:49:29.705Z - 1.0 - - - https://roadmap.sh/backend/summary - monthly - 2020-01-29T07:49:29.705Z - 1.0 - - - https://roadmap.sh/backend/junior - monthly - 2020-01-29T07:49:29.705Z - 1.0 - - - https://roadmap.sh/backend/intermediate - monthly - 2020-01-29T07:49:29.705Z - 1.0 - - - https://roadmap.sh/backend/senior - monthly - 2020-01-29T07:49:29.705Z - 1.0 - https://roadmap.sh/devops monthly 2020-01-29T07:49:29.706Z 1.0 - - https://roadmap.sh/devops/summary - monthly - 2020-01-29T07:49:29.706Z - 1.0 - - - https://roadmap.sh/devops/junior - monthly - 2020-01-29T07:49:29.706Z - 1.0 - - - https://roadmap.sh/devops/intermediate - monthly - 2020-01-29T07:49:29.706Z - 1.0 - - - https://roadmap.sh/devops/senior - monthly - 2020-01-29T07:49:29.706Z - 1.0 - https://roadmap.sh/fullstack monthly 2020-01-29T07:49:29.706Z 1.0 - - https://roadmap.sh/fullstack/summary - monthly - 2020-01-29T07:49:29.706Z - 1.0 - https://roadmap.sh/qa monthly @@ -163,9 +31,9 @@ 1.0 - https://roadmap.sh/qa/summary + https://roadmap.sh/guides/what-is-internet monthly - 2020-01-29T07:49:29.706Z + 2020-02-29T15:48:21.191Z 1.0 @@ -231,7 +99,7 @@ https://roadmap.sh/roadmaps monthly - 2020-01-29T07:49:29.711Z + 2020-02-23T07:24:00.532Z 1.0 @@ -243,7 +111,7 @@ https://roadmap.sh/sponsors monthly - 2020-01-29T07:49:29.711Z + 2020-02-23T07:24:00.533Z 0.5 \ No newline at end of file diff --git a/scripts/roadmaps-meta.js b/scripts/roadmaps-meta.js index 28838a189..a7d80851d 100644 --- a/scripts/roadmaps-meta.js +++ b/scripts/roadmaps-meta.js @@ -17,6 +17,7 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => { // We can't use the absolute path in the build e.g. ~/Users/user/where-build-is-running/content // So, we remove it and use the path relative to content directory const roadmapLandingFilePath = path.join(roadmapDir.replace(STORAGE_PATH, ''), roadmapMeta.path); + const resourcesPath = path.join(roadmapDir.replace(STORAGE_PATH, ''), roadmapMeta.resources); const contributors = exec(`git log --pretty=format:"%an%x09" ${roadmapDir} | uniq`) .toString() @@ -77,6 +78,7 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => { contributorsUrl: `/${roadmapSlug}/contributors`, url: `/${roadmapSlug}`, path: roadmapLandingFilePath, + resources: resourcesPath, sidebar, }, ]; diff --git a/test/path-map.spec.js b/test/path-map.spec.js deleted file mode 100644 index 772658201..000000000 --- a/test/path-map.spec.js +++ /dev/null @@ -1,59 +0,0 @@ -const path = require('path'); -const fs = require('fs'); -const guides = require('../content/guides'); - -const { - getPageRoutes, - getGuideRoutes, -} = require("../scripts/path-map"); - -describe("Build scripts tests", () => { - test('it should generate valid pathmap for pages', () => { - const pageRoutes = getPageRoutes(); - - expect(pageRoutes).toEqual({ - '/': { page: '/index' }, - '/about': { page: '/about' }, - '/privacy': { page: '/privacy' }, - '/terms': { page: '/terms' }, - '/guides': { page: '/guides/index' }, - '/roadmaps': { page: '/roadmaps' }, - '/signup': { page: '/signup' }, - }); - }); - - test('it should generate valid guides pathmap', () => { - const expectedGuideRoutes = guides.reduce((acc, guide) => { - const [,, slug] = guide.url.split('/'); - return { - ...acc, - [guide.url]: { - page: '/guides/[guide]', - query: slug, - } - }; - }, {}); - - // Valid path map is generated - expect(expectedGuideRoutes).toEqual(getGuideRoutes()); - - const pageFilePath = path.join(__dirname, '../pages/guides/[guide].js'); - const foundFilePath = fs.existsSync(pageFilePath) ? pageFilePath : ''; - - // Given page component exists - expect(foundFilePath).toEqual(pageFilePath); - }); - - test('it should have markdown file for each guide', () => { - guides.forEach(guide => { - const [,, slug] = guide.url.split('/'); - - const expectedFile = path.join(__dirname, `../content/guides/${slug}.md`); - const foundFile = fs.existsSync(expectedFile) ? expectedFile : ''; - - expect(foundFile).toEqual(expectedFile); - }) - }); - - // @todo add tests for roadmap pathmap -}); diff --git a/yarn.lock b/yarn.lock index a32033f29..cfb7a5be9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3303,13 +3303,6 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -3425,11 +3418,6 @@ detab@2.0.2, detab@^2.0.0: dependencies: repeat-string "^1.5.4" -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -4083,13 +4071,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -4541,7 +4522,7 @@ humanize-url@^1.0.0: normalize-url "^1.0.0" strip-url-auth "^1.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4582,13 +4563,6 @@ ignore-loader@0.1.2: resolved "https://registry.yarnpkg.com/ignore-loader/-/ignore-loader-0.1.2.tgz#d81f240376d0ba4f0d778972c3ad25874117a463" integrity sha1-2B8kA3bQuk8Nd4lyw60lh0EXpGM= -ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== - dependencies: - minimatch "^3.0.4" - import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -6058,21 +6032,6 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= -minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -6173,15 +6132,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -6360,22 +6310,6 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -node-pre-gyp@*: - version "0.14.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83" - integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4.4.2" - node-releases@^1.1.44: version "1.1.45" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.45.tgz#4cf7e9175d71b1317f15ffd68ce63bce1d53e9f2" @@ -6413,14 +6347,6 @@ node-sass@^4.13.1: dependencies: abbrev "1" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -6458,26 +6384,6 @@ normalize-url@1.9.1, normalize-url@^1.0.0: query-string "^4.1.0" sort-keys "^1.0.0" -npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-packlist@^1.1.6: - version "1.4.7" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.7.tgz#9e954365a06b80b18111ea900945af4f88ed4848" - integrity sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -6485,7 +6391,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -6660,7 +6566,7 @@ os-tmpdir@^1.0.0: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4: +osenv@0: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -7669,7 +7575,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: +rc@^1.0.1, rc@^1.1.6: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -8089,7 +7995,7 @@ retry@0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -8217,7 +8123,7 @@ select@^1.1.2: resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -8870,19 +8776,6 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4.4.2: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -9727,7 +9620,7 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==