fixing crashes, upgrading dependencies, patching security vulnerabilities

This commit is contained in:
Amruth Pillai
2020-10-03 08:57:37 +05:30
parent 2410ce024a
commit 2aaed1a575
20 changed files with 4584 additions and 3245 deletions

View File

@ -5,8 +5,6 @@
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"i18n-ally.localesPaths": [
"src/i18n/locales"
],
"i18n-ally.localesPaths": ["src/i18n/locales"],
"i18n-ally.keystyle": "nested"
}

View File

@ -62,21 +62,25 @@ For those of you familiar with the Crowdin Platform, you could do that too and j
### Building from Source
Want to run your own instance of Reactive Resume? You are very much free to do so. The requirements to build from source are:
- NodeJS/NPM
- A Firebase Project
1. First, clone this project repository
```
git clone https://github.com/AmruthPillai/Reactive-Resume.git
cd Reactive-Resume
```
2. Run npm install to install dependencies for the project
```
npm install
```
3. Create a `.env` file and fill it with your Firebase credentials
```
FIREBASE_APIKEY=""
FIREBASE_APPID=""
@ -94,7 +98,7 @@ And that's it! 🎉
### Donation
I try to do what I can, but if you found the app helpful, or you're in a better position than the others who depend on this project for their first job, please consider donating as little as $5 to help keep the project alive :)
I try to do what I can, but if you found the app helpful, or you're in a better position than the others who depend on this project for their first job, please consider donating as little as \$5 to help keep the project alive :)
#### https://www.buymeacoffee.com/AmruthPillai

File diff suppressed because it is too large Load Diff

View File

@ -12,12 +12,12 @@
"node": "10"
},
"dependencies": {
"firebase-admin": "^9.0.0",
"firebase-functions": "^3.9.0",
"puppeteer": "5.2.1"
"firebase-admin": "^9.2.0",
"firebase-functions": "^3.11.0",
"puppeteer": "5.3.1"
},
"devDependencies": {
"firebase-functions-test": "^0.2.1"
"firebase-functions-test": "^0.2.2"
},
"private": true
}

6124
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -18,58 +18,57 @@
"dependencies": {
"@material-ui/core": "^4.11.0",
"@reach/router": "^1.3.4",
"animate.css": "^4.1.0",
"array-move": "^3.0.0",
"animate.css": "^4.1.1",
"array-move": "^3.0.1",
"classnames": "^2.2.6",
"dayjs": "^1.8.31",
"dayjs": "^1.9.1",
"dotenv": "^8.2.0",
"downloadjs": "^1.4.7",
"firebase": "^7.17.1",
"formik": "^2.1.5",
"gatsby": "^2.24.23",
"gatsby-image": "^2.4.14",
"gatsby-plugin-create-client-paths": "^2.3.10",
"firebase": "^7.22.0",
"formik": "^2.1.7",
"gatsby": "^2.24.67",
"gatsby-image": "^2.4.20",
"gatsby-plugin-create-client-paths": "^2.3.12",
"gatsby-plugin-firebase": "^0.2.0-beta.4",
"gatsby-plugin-manifest": "^2.4.21",
"gatsby-plugin-manifest": "^2.4.33",
"gatsby-plugin-material-ui": "^2.1.10",
"gatsby-plugin-postcss": "^2.3.11",
"gatsby-plugin-postcss": "^3.0.0",
"gatsby-plugin-prefetch-google-fonts": "^1.4.3",
"gatsby-plugin-react-helmet": "^3.3.10",
"gatsby-plugin-react-helmet": "^3.3.12",
"gatsby-plugin-remove-serviceworker": "^1.0.0",
"gatsby-plugin-sharp": "^2.6.24",
"gatsby-plugin-sitemap": "^2.4.11",
"gatsby-source-filesystem": "^2.3.23",
"gatsby-plugin-sharp": "^2.6.38",
"gatsby-plugin-sitemap": "^2.4.14",
"gatsby-source-filesystem": "^2.3.32",
"gatsby-source-gravatar": "^1.0.0",
"gatsby-transformer-remark": "^2.8.27",
"gatsby-transformer-sharp": "^2.5.12",
"i18next": "^19.6.3",
"lodash": "^4.17.19",
"gatsby-transformer-remark": "^2.8.37",
"gatsby-transformer-sharp": "^2.5.16",
"i18next": "^19.8.0",
"lodash": "^4.17.20",
"nanoevents": "^5.1.8",
"react": "^16.13.1",
"react-beautiful-dnd": "^13.0.0",
"react-dom": "^16.13.1",
"react-helmet": "^6.1.0",
"react-i18next": "^11.7.0",
"react-icons": "^3.10.0",
"react-i18next": "^11.7.3",
"react-icons": "^3.11.0",
"react-markdown": "^4.3.1",
"react-scroll": "^1.8.0",
"react-scroll": "^1.8.1",
"react-toastify": "^6.0.8",
"short-unique-id": "^3.0.4",
"uuid": "^8.3.0",
"yup": "^0.29.2"
"yup": "^0.29.3"
},
"devDependencies": {
"autoprefixer": "^9.8.6",
"eslint": "^7.6.0",
"eslint": "^7.10.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-prettier": "^6.11.0",
"eslint-config-prettier": "^6.12.0",
"eslint-loader": "^4.0.2",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.20.5",
"eslint-plugin-react": "^7.21.3",
"gatsby-plugin-eslint": "^2.0.8",
"prettier": "2.0.5",
"tailwindcss": "^1.6.0"
"prettier": "2.1.2",
"tailwindcss": "^1.8.10"
},
"repository": {
"type": "git",

View File

@ -1,6 +1,5 @@
const tailwindcss = require('tailwindcss');
const autoprefixer = require('autoprefixer');
module.exports = () => ({
plugins: [tailwindcss, autoprefixer],
plugins: [tailwindcss],
});

View File

@ -1,7 +1,7 @@
---
slug: "/blog/acing-video-interviews"
date: "2020-07-15"
title: "Acing Video Interviews"
slug: '/blog/acing-video-interviews'
date: '2020-07-15'
title: 'Acing Video Interviews'
---
Today, as in-person interviewing has had to cease or slow due to restrictions during the Covid-19 pandemic, thousands of professionals are now needing to learn how to effectively interview in a new way using online platforms, such as Zoom, GoToMeeting and others.

View File

@ -1,7 +1,7 @@
---
slug: "/blog/ats-friendly-resumes"
date: "2020-07-14"
title: "ATS-Friendly Resumes"
slug: '/blog/ats-friendly-resumes'
date: '2020-07-14'
title: 'ATS-Friendly Resumes'
---
An ATS (Applicant Tracking System) is software used by companies to help them quickly evaluate potential candidates for any given job opening.
@ -43,4 +43,3 @@ Most ATS software is programmed to read more common typefaces. Using an unusual
#### 6. Save your resume as the proper file type
PDFs are the preferred file format for most companies today, and are easily understood by any modern applicant tracking system.

View File

@ -1,7 +1,7 @@
---
slug: "/blog/design-beautiful-resumes"
date: "2020-07-13"
title: "Designing Beautiful Resumes"
slug: '/blog/design-beautiful-resumes'
date: '2020-07-13'
title: 'Designing Beautiful Resumes'
---
Follow these 16 pro tips to help your design resume stand out from the crowd.

View File

@ -1,7 +1,7 @@
---
slug: "/blog/jobs-during-covid-19"
date: "2020-07-16"
title: "Jobs During COVID-19"
slug: '/blog/jobs-during-covid-19'
date: '2020-07-16'
title: 'Jobs During COVID-19'
---
As companies move to remote work to fight the coronavirus pandemic and an increasing number of workers are being laid off or furloughed, you might be wondering if you should continue to send out resumes or just assume that no one is hiring for the foreseeable future. Its true that economists are predicting a recession, but career experts say its best to keep networking and applying, provided you change your approach a bit to acknowledge these are uncertain times.
@ -35,4 +35,3 @@ Job seekers often jump at the first available opportunity or go into their searc
#### 6. Boost Your Skills
Now is the perfect time to work on bolstering your qualifications, Moser says. Analyze job descriptions by listing each required skill and experience. Then consider whether you have that exact skill, if you have the skill but havent used it in a few years, or if youre lacking the skill entirely. Use that information to determine what you need to brush up on to make yourself an even better candidate when the job market picks up again.

View File

@ -45,11 +45,14 @@ const List = ({
subtitle ||
get(x, subtitlePath, '') ||
(hasDate &&
formatDateRange({
formatDateRange(
{
startDate: x.startDate,
endDate: x.endDate,
language: i18n.language,
}, t))
},
t,
))
}
text={text || get(x, textPath, '')}
onEdit={() => handleEdit(x)}

View File

@ -141,61 +141,20 @@
"language": "en",
"layout": {
"castform": [
[
"awards",
"certifications",
"languages",
"hobbies"
],
[
"objective",
"work",
"education",
"skills",
"projects",
"references"
]
["awards", "certifications", "languages", "hobbies"],
["objective", "work", "education", "skills", "projects", "references"]
],
"celebi": [
[
"awards",
"certifications",
"languages",
"hobbies"
],
[
"objective",
"work",
"education",
"skills",
"projects",
"references"
]
["awards", "certifications", "languages", "hobbies"],
["objective", "work", "education", "skills", "projects", "references"]
],
"gengar": [
[
"objective",
"skills"
],
[
"awards",
"certifications",
"languages",
"references",
"hobbies"
],
[
"work",
"education",
"projects"
]
["objective", "skills"],
["awards", "certifications", "languages", "references", "hobbies"],
["work", "education", "projects"]
],
"glalie": [
[
"awards",
"certifications",
"hobbies"
],
["awards", "certifications", "hobbies"],
[
"objective",
"work",
@ -207,37 +166,13 @@
]
],
"onyx": [
[
"objective",
"work",
"education",
"projects"
],
[
"hobbies",
"languages",
"awards",
"certifications"
],
[
"skills",
"references"
]
["objective", "work", "education", "projects"],
["hobbies", "languages", "awards", "certifications"],
["skills", "references"]
],
"pikachu": [
[
"skills",
"languages",
"hobbies",
"awards",
"certifications"
],
[
"work",
"education",
"projects",
"references"
]
["skills", "languages", "hobbies", "awards", "certifications"],
["work", "education", "projects", "references"]
]
},
"template": "castform"

View File

@ -94,7 +94,15 @@
],
"glalie": [
["awards", "certifications", "hobbies"],
["objective", "work", "education", "skills", "projects", "languages", "references"]
[
"objective",
"work",
"education",
"skills",
"projects",
"languages",
"references"
]
],
"celebi": [
["awards", "certifications", "languages", "hobbies"],

View File

@ -3,14 +3,14 @@ import { initReactI18next } from 'react-i18next';
import resources from './locales';
const languages = [
{
code: 'zh',
name: 'Chinese Simplified (简体中文)',
},
{
code: 'ar',
name: 'Arabic (عربى)',
},
{
code: 'zh',
name: 'Chinese Simplified (简体中文)',
},
{
code: 'da',
name: 'Danish (Dansk)',
@ -51,6 +51,10 @@ const languages = [
code: 'ptBr',
name: 'Portuguese (Brazilian)',
},
{
code: 'ptPt',
name: 'Portuguese (Portugal)',
},
{
code: 'es',
name: 'Spanish (Español)',

View File

@ -1,4 +1,3 @@
import zh from './zh.json';
import ar from './ar.json';
import da from './da.json';
import de from './de.json';
@ -11,11 +10,13 @@ import kn from './kn.json';
import nb from './nb.json';
import nl from './nl.json';
import ptBr from './pt-br.json';
import ptPt from './pt-pt.json';
import tr from './tr.json';
import zh from './zh.json';
export default {
zh: { translation: zh },
ar: { translation: ar },
zh: { translation: zh },
da: { translation: da },
de: { translation: de },
en: { translation: en },
@ -27,5 +28,6 @@ export default {
nb: { translation: nb },
nl: { translation: nl },
ptBr: { translation: ptBr },
ptPt: { translation: ptPt },
tr: { translation: tr },
};

View File

@ -19,11 +19,14 @@ const EducationItem = ({ item, language }) => {
{item.startDate && (
<h6 className="text-xs font-medium mb-1">
(
{formatDateRange({
{formatDateRange(
{
startDate: item.startDate,
endDate: item.endDate,
language,
}, t)}
},
t,
)}
)
</h6>
)}
@ -31,7 +34,10 @@ const EducationItem = ({ item, language }) => {
</div>
</div>
{item.summary && (
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
<ReactMarkdown
className="markdown mt-2 text-sm"
source={item.summary}
/>
)}
</div>
);

View File

@ -16,17 +16,23 @@ const WorkItem = ({ item, language }) => {
{item.startDate && (
<h6 className="text-xs font-medium text-right">
(
{formatDateRange({
{formatDateRange(
{
startDate: item.startDate,
endDate: item.endDate,
language,
}, t)}
},
t,
)}
)
</h6>
)}
</div>
{item.summary && (
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
<ReactMarkdown
className="markdown mt-2 text-sm"
source={item.summary}
/>
)}
</div>
);

View File

@ -1,5 +1,6 @@
import dayjs from 'dayjs';
import 'dayjs/locale/ar';
import 'dayjs/locale/zh';
import 'dayjs/locale/da';
import 'dayjs/locale/de';
import 'dayjs/locale/en';