[v2.4] Fix JSON Resume Imports

This commit is contained in:
Amruth Pillai
2020-12-20 19:47:31 +05:30
parent 96ab340b1c
commit 916579c874
4 changed files with 751 additions and 638 deletions

View File

@ -1,11 +1,12 @@
require('dotenv').config(); require('dotenv').config();
module.exports = { module.exports = {
flags: { PRESERVE_WEBPACK_CACHE: true },
siteMetadata: { siteMetadata: {
title: 'Reactive Resume', title: 'Reactive Resume',
siteUrl: 'https://rxresu.me', siteUrl: 'https://rxresu.me',
description: 'A free and open source resume builder.', description: 'A free and open source resume builder.',
version: '2.3.5', version: '2.4',
}, },
plugins: [ plugins: [
'gatsby-plugin-react-helmet', 'gatsby-plugin-react-helmet',

1195
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -25,24 +25,24 @@
"dayjs": "^1.9.7", "dayjs": "^1.9.7",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",
"downloadjs": "^1.4.7", "downloadjs": "^1.4.7",
"firebase": "^8.1.2", "firebase": "^8.2.1",
"formik": "^2.2.6", "formik": "^2.2.6",
"gatsby": "^2.28.2", "gatsby": "^2.29.1",
"gatsby-image": "^2.7.0", "gatsby-image": "^2.8.0",
"gatsby-plugin-create-client-paths": "^2.6.0", "gatsby-plugin-create-client-paths": "^2.7.0",
"gatsby-plugin-firebase": "^0.2.0-beta.4", "gatsby-plugin-firebase": "^0.2.0-beta.4",
"gatsby-plugin-manifest": "^2.8.0", "gatsby-plugin-manifest": "^2.9.0",
"gatsby-plugin-material-ui": "^2.1.10", "gatsby-plugin-material-ui": "^2.1.10",
"gatsby-plugin-offline": "^3.6.0", "gatsby-plugin-offline": "^3.7.0",
"gatsby-plugin-postcss": "^3.3.0", "gatsby-plugin-postcss": "^3.4.0",
"gatsby-plugin-react-helmet": "^3.6.0", "gatsby-plugin-react-helmet": "^3.7.0",
"gatsby-plugin-sharp": "^2.10.1", "gatsby-plugin-sharp": "^2.11.1",
"gatsby-plugin-sitemap": "^2.8.0", "gatsby-plugin-sitemap": "^2.9.0",
"gatsby-plugin-webfonts": "^1.1.3", "gatsby-plugin-webfonts": "^1.1.3",
"gatsby-source-filesystem": "^2.7.0", "gatsby-source-filesystem": "^2.8.0",
"gatsby-source-gravatar": "^1.0.0", "gatsby-source-gravatar": "^1.0.0",
"gatsby-transformer-remark": "^2.12.0", "gatsby-transformer-remark": "^2.13.0",
"gatsby-transformer-sharp": "^2.8.0", "gatsby-transformer-sharp": "^2.9.0",
"i18next": "^19.8.4", "i18next": "^19.8.4",
"lodash": "^4.17.20", "lodash": "^4.17.20",
"nanoevents": "^5.1.10", "nanoevents": "^5.1.10",
@ -51,28 +51,28 @@
"react-beautiful-dnd": "^13.0.0", "react-beautiful-dnd": "^13.0.0",
"react-dom": "^17.0.1", "react-dom": "^17.0.1",
"react-helmet": "^6.1.0", "react-helmet": "^6.1.0",
"react-i18next": "^11.8.3", "react-i18next": "^11.8.4",
"react-icons": "^4.1.0", "react-icons": "^4.1.0",
"react-markdown": "^5.0.3", "react-markdown": "^5.0.3",
"react-scroll": "^1.8.1", "react-scroll": "^1.8.1",
"react-toastify": "^6.2.0", "react-toastify": "^6.2.0",
"short-unique-id": "^3.2.0", "short-unique-id": "^3.2.3",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"yup": "^0.32.8" "yup": "^0.32.8"
}, },
"devDependencies": { "devDependencies": {
"eslint": "^7.15.0", "eslint": "^7.16.0",
"eslint-config-airbnb": "^18.2.1", "eslint-config-airbnb": "^18.2.1",
"eslint-config-prettier": "^7.0.0", "eslint-config-prettier": "^7.1.0",
"eslint-loader": "^4.0.2", "eslint-loader": "^4.0.2",
"eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.2.0", "eslint-plugin-prettier": "^3.3.0",
"eslint-plugin-react": "^7.21.5", "eslint-plugin-react": "^7.21.5",
"gatsby-plugin-eslint": "^2.0.8", "gatsby-plugin-eslint": "^2.0.8",
"prettier": "2.2.1", "prettier": "2.2.1",
"stylelint": "^13.8.0", "stylelint": "^13.8.0",
"stylelint-config-standard": "^20.0.0", "stylelint-config-standard": "^20.0.0",
"tailwindcss": "^2.0.1" "tailwindcss": "^2.0.2"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -136,26 +136,29 @@ const ResumeProvider = ({ children }) => {
newState.updatedAt = temp.updatedAt; newState.updatedAt = temp.updatedAt;
newState.profile = { newState.profile = {
address: { address: {
city: payload.basics.location.city, city: get(payload, 'basics.location.city'),
line1: payload.basics.location.address, line1: get(payload, 'basics.location.address'),
line2: payload.basics.location.region, line2: get(payload, 'basics.location.region'),
pincode: payload.basics.location.postalCode, pincode: get(payload, 'basics.location.postalCode'),
}, },
email: payload.basics.email, email: get(payload, 'basics.email'),
firstName: payload.basics.name, firstName: get(payload, 'basics.name'),
phone: payload.basics.phone, phone: get(payload, 'basics.phone'),
photograph: payload.basics.picture, photograph: get(payload, 'basics.picture'),
subtitle: payload.basics.label, subtitle: get(payload, 'basics.label'),
website: payload.basics.website, website: get(payload, 'basics.website'),
}; };
newState.social.items = payload.basics.profiles.map((x) => ({ newState.social.items = get(payload, 'basics.profiles')
? payload.basics.profiles.map((x) => ({
id: uuidv4(), id: uuidv4(),
network: x.network, network: x.network,
username: x.username, username: x.username,
url: x.url, url: x.url,
})); }))
newState.objective.body = payload.basics.summary; : [];
newState.work.items = payload.work.map((x) => ({ newState.objective.body = get(payload, 'basics.summary');
newState.work.items = payload.work
? payload.work.map((x) => ({
id: uuidv4(), id: uuidv4(),
company: x.company, company: x.company,
endDate: x.endDate, endDate: x.endDate,
@ -163,10 +166,10 @@ const ResumeProvider = ({ children }) => {
startDate: x.startDate, startDate: x.startDate,
summary: x.summary, summary: x.summary,
website: x.website, website: x.website,
})); }))
newState.education.items = : [];
payload.education && newState.education.items = payload.education
payload.education.map((x) => ({ ? payload.education.map((x) => ({
id: uuidv4(), id: uuidv4(),
degree: x.studyType, degree: x.studyType,
endDate: x.endDate, endDate: x.endDate,
@ -175,33 +178,44 @@ const ResumeProvider = ({ children }) => {
institution: x.institution, institution: x.institution,
startDate: x.startDate, startDate: x.startDate,
summary: x.courses.join('\n'), summary: x.courses.join('\n'),
})); }))
newState.awards.items = payload.awards.map((x) => ({ : [];
newState.awards.items = payload.awards
? payload.awards.map((x) => ({
id: uuidv4(), id: uuidv4(),
awarder: x.awarder, awarder: x.awarder,
date: x.date, date: x.date,
summary: x.summary, summary: x.summary,
title: x.title, title: x.title,
})); }))
newState.skills.items = payload.skills.map((x) => ({ : [];
newState.skills.items = payload.skills
? payload.skills.map((x) => ({
id: uuidv4(), id: uuidv4(),
level: 'Fundamental Awareness', level: 'Fundamental Awareness',
name: x.name, name: x.name,
})); }))
newState.hobbies.items = payload.interests.map((x) => ({ : [];
newState.hobbies.items = payload.interests
? payload.interests.map((x) => ({
id: uuidv4(), id: uuidv4(),
name: x.name, name: x.name,
})); }))
newState.languages.items = payload.languages.map((x) => ({ : [];
newState.languages.items = payload.languages
? payload.languages.map((x) => ({
id: uuidv4(), id: uuidv4(),
name: x.language, name: x.language,
fluency: x.fluency, fluency: x.fluency,
})); }))
newState.references.items = payload.references.map((x) => ({ : [];
newState.references.items = payload.references
? payload.references.map((x) => ({
id: uuidv4(), id: uuidv4(),
name: x.name, name: x.name,
summary: x.reference, summary: x.reference,
})); }))
: [];
debouncedUpdateResume(newState); debouncedUpdateResume(newState);
return newState; return newState;
@ -216,6 +230,7 @@ const ResumeProvider = ({ children }) => {
newState.id = temp.id; newState.id = temp.id;
newState.user = temp.user; newState.user = temp.user;
newState.name = temp.name; newState.name = temp.name;
newState.preview = temp.preview;
newState.createdAt = temp.createdAt; newState.createdAt = temp.createdAt;
newState.updatedAt = temp.updatedAt; newState.updatedAt = temp.updatedAt;
debouncedUpdateResume(newState); debouncedUpdateResume(newState);