mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-13 16:22:59 +10:00
solving bugs reported in GH issues
This commit is contained in:
@ -1,12 +1,49 @@
|
|||||||
|
const admin = require('firebase-admin');
|
||||||
const functions = require('firebase-functions');
|
const functions = require('firebase-functions');
|
||||||
const puppeteer = require('puppeteer');
|
const puppeteer = require('puppeteer');
|
||||||
|
|
||||||
|
admin.initializeApp();
|
||||||
|
|
||||||
const BASE_URL = 'https://rxresu.me/r/';
|
const BASE_URL = 'https://rxresu.me/r/';
|
||||||
|
|
||||||
function timeout(ms) {
|
function timeout(ms) {
|
||||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function asyncForEach(array, callback) {
|
||||||
|
for (let index = 0; index < array.length; index++) {
|
||||||
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
await callback(array[index], index, array);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.deleteUser = functions.https.onCall((_, { auth }) => {
|
||||||
|
if (!auth) {
|
||||||
|
throw new functions.https.HttpsError(
|
||||||
|
'failed-precondition',
|
||||||
|
'The function must be called while authenticated.',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
const resumesRef = admin.database().ref('resumes');
|
||||||
|
|
||||||
|
resumesRef.once('value', async (snapshot) => {
|
||||||
|
const data = snapshot.val();
|
||||||
|
|
||||||
|
const resumes = Object.keys(data).filter(
|
||||||
|
(x) => data[x].user === auth.uid,
|
||||||
|
);
|
||||||
|
|
||||||
|
await asyncForEach(resumes, async (id) => {
|
||||||
|
await admin.database().ref(`resumes/${id}`).remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
exports.printResume = functions.https.onCall(async ({ id, type }, { auth }) => {
|
exports.printResume = functions.https.onCall(async ({ id, type }, { auth }) => {
|
||||||
if (!id) {
|
if (!id) {
|
||||||
throw new functions.https.HttpsError(
|
throw new functions.https.HttpsError(
|
||||||
|
|||||||
1061
functions/package-lock.json
generated
1061
functions/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -12,9 +12,9 @@
|
|||||||
"node": "10"
|
"node": "10"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"firebase-admin": "^8.13.0",
|
"firebase-admin": "^9.0.0",
|
||||||
"firebase-functions": "^3.7.0",
|
"firebase-functions": "^3.8.0",
|
||||||
"puppeteer": "2.1.1"
|
"puppeteer": "5.2.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"firebase-functions-test": "^0.2.1"
|
"firebase-functions-test": "^0.2.1"
|
||||||
|
|||||||
@ -5,7 +5,7 @@ module.exports = {
|
|||||||
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.0.4',
|
version: '2.1.0',
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
'gatsby-plugin-react-helmet',
|
'gatsby-plugin-react-helmet',
|
||||||
@ -13,7 +13,7 @@ module.exports = {
|
|||||||
resolve: 'gatsby-plugin-eslint',
|
resolve: 'gatsby-plugin-eslint',
|
||||||
options: {
|
options: {
|
||||||
test: /\.js$|\.jsx$/,
|
test: /\.js$|\.jsx$/,
|
||||||
exclude: /(node_modules|.cache|public)/,
|
exclude: /(node_modules|.cache|public|_this_is_virtual_fs_path_)/,
|
||||||
stages: ['develop'],
|
stages: ['develop'],
|
||||||
options: {
|
options: {
|
||||||
emitWarning: true,
|
emitWarning: true,
|
||||||
|
|||||||
435
package-lock.json
generated
435
package-lock.json
generated
@ -1087,15 +1087,15 @@
|
|||||||
"integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
|
"integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
|
||||||
},
|
},
|
||||||
"@firebase/analytics": {
|
"@firebase/analytics": {
|
||||||
"version": "0.3.9",
|
"version": "0.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.4.1.tgz",
|
||||||
"integrity": "sha512-l4dNskm8uQ+UqO6Lw+fuyO1enZBXUV6xNMxeVABEnVrp3wOP90KKb/ZwYgleAxF1It52lorcTtkA1YFpv3iEIQ==",
|
"integrity": "sha512-y5ZuhqX/PwLi0t7AKxNAi3NnlEwXe0rpknulUWUg3/1dALqtd2RrAOATQoV5FNnKK6YUH5UmK0Jb9KcSjsFeNw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/analytics-types": "0.3.1",
|
"@firebase/analytics-types": "0.3.1",
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/installations": "0.4.14",
|
"@firebase/installations": "0.4.15",
|
||||||
"@firebase/logger": "0.2.6",
|
"@firebase/logger": "0.2.6",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1105,14 +1105,14 @@
|
|||||||
"integrity": "sha512-63vVJ5NIBh/JF8l9LuPrQYSzFimk7zYHySQB4Dk9rVdJ8kV/vGQoVTvRu1UW05sEc2Ug5PqtEChtTHU+9hvPcA=="
|
"integrity": "sha512-63vVJ5NIBh/JF8l9LuPrQYSzFimk7zYHySQB4Dk9rVdJ8kV/vGQoVTvRu1UW05sEc2Ug5PqtEChtTHU+9hvPcA=="
|
||||||
},
|
},
|
||||||
"@firebase/app": {
|
"@firebase/app": {
|
||||||
"version": "0.6.8",
|
"version": "0.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.8.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.9.tgz",
|
||||||
"integrity": "sha512-Tm7Pi6Dtpx4FFKcpm0jcrZ/qI9oREBxmP3pWlw1jgDW4syRJHmN9/5DYvfFk6FAhj3FrY8E/6F+ngWJfqONotQ==",
|
"integrity": "sha512-X2riRgK49IK8LCQ3j7BKLu3zqHDTJSaT6YgcLewtHuOVwtpHfGODiS1cL5VMvKm3ogxP84GA70tN3sdoL/vTog==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/app-types": "0.6.1",
|
"@firebase/app-types": "0.6.1",
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/logger": "0.2.6",
|
"@firebase/logger": "0.2.6",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"dom-storage": "2.1.0",
|
"dom-storage": "2.1.0",
|
||||||
"tslib": "^1.11.1",
|
"tslib": "^1.11.1",
|
||||||
"xmlhttprequest": "1.8.0"
|
"xmlhttprequest": "1.8.0"
|
||||||
@ -1142,24 +1142,24 @@
|
|||||||
"integrity": "sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw=="
|
"integrity": "sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw=="
|
||||||
},
|
},
|
||||||
"@firebase/component": {
|
"@firebase/component": {
|
||||||
"version": "0.1.16",
|
"version": "0.1.17",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.16.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.17.tgz",
|
||||||
"integrity": "sha512-FvffvFN0LWgv1H/FIyruTECOL69Dhy+JfwoTq+mV39V8Mz9lNpo41etonL5AOr7KmXxYJVbNwkx0L9Ei88i7JA==",
|
"integrity": "sha512-/tN5iLcFp9rdpTfCJPfQ/o2ziGHlDxOzNx6XD2FoHlu4pG/PPGu+59iRfQXIowBGhxcTGD/l7oJhZEY/PVg0KQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@firebase/database": {
|
"@firebase/database": {
|
||||||
"version": "0.6.8",
|
"version": "0.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.8.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.9.tgz",
|
||||||
"integrity": "sha512-Psibz/LD9WBvZRS7A/kkYd5i5l6tBw49adSFmCM2ZJlKE9fxZhxay02AerwfXHiq3gPKVeqXUjBIRuHOWdEXmw==",
|
"integrity": "sha512-+X2dNFDpcLEcDRdXp2Hgkf0RnNz3AOIC+Y7UFMQYadm9buB+snXomlnlkMzOj6o+Cp3V7GnpBrKKeeFqzF6wGQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/auth-interop-types": "0.1.5",
|
"@firebase/auth-interop-types": "0.1.5",
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/database-types": "0.5.1",
|
"@firebase/database-types": "0.5.1",
|
||||||
"@firebase/logger": "0.2.6",
|
"@firebase/logger": "0.2.6",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"faye-websocket": "0.11.3",
|
"faye-websocket": "0.11.3",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
@ -1173,14 +1173,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@firebase/firestore": {
|
"@firebase/firestore": {
|
||||||
"version": "1.16.1",
|
"version": "1.16.2",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.16.2.tgz",
|
||||||
"integrity": "sha512-TGtvNIGHMEFFEuOSsRswou576GPZY39vXIsenn0B1Dqz9ACpyDtvAT9YdbG38srlPq7ZKwsP5x04LB43zZ6eAg==",
|
"integrity": "sha512-iIkAL860oD/QA1uYI9JBbWqBYFWd+DnuSj//BIbOGn3DNAruDFy07g8re1vn+0MMas9bMk6CZATJNCFPeH8AsQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/firestore-types": "1.12.0",
|
"@firebase/firestore-types": "1.12.0",
|
||||||
"@firebase/logger": "0.2.6",
|
"@firebase/logger": "0.2.6",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"@firebase/webchannel-wrapper": "0.2.41",
|
"@firebase/webchannel-wrapper": "0.2.41",
|
||||||
"@grpc/grpc-js": "^1.0.0",
|
"@grpc/grpc-js": "^1.0.0",
|
||||||
"@grpc/proto-loader": "^0.5.0",
|
"@grpc/proto-loader": "^0.5.0",
|
||||||
@ -1193,11 +1193,11 @@
|
|||||||
"integrity": "sha512-OqNxVb63wPZdUc7YnpacAW1WNIMSKERSewCRi+unCQ0YI0KNfrDSypyGCyel+S3GdOtKMk9KnvDknaGbnaFX4g=="
|
"integrity": "sha512-OqNxVb63wPZdUc7YnpacAW1WNIMSKERSewCRi+unCQ0YI0KNfrDSypyGCyel+S3GdOtKMk9KnvDknaGbnaFX4g=="
|
||||||
},
|
},
|
||||||
"@firebase/functions": {
|
"@firebase/functions": {
|
||||||
"version": "0.4.48",
|
"version": "0.4.49",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.4.48.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.4.49.tgz",
|
||||||
"integrity": "sha512-BwI/JzO/f/nquKG1IS3VqmwMaKEhvM58/08vTnp46krHBsOYqsdD9T2amz+HXGT9fe2HhDsUhgFE8D00S0vqbg==",
|
"integrity": "sha512-ma3+z1wMKervmEJCLWxwIjbSV+n3/BTfFPSZdTjt18Wgiso5q4BzEObFkorxaXZiyT3KpZ0qOO97lgcoth2hIA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/functions-types": "0.3.17",
|
"@firebase/functions-types": "0.3.17",
|
||||||
"@firebase/messaging-types": "0.4.5",
|
"@firebase/messaging-types": "0.4.5",
|
||||||
"isomorphic-fetch": "2.2.1",
|
"isomorphic-fetch": "2.2.1",
|
||||||
@ -1210,13 +1210,13 @@
|
|||||||
"integrity": "sha512-DGR4i3VI55KnYk4IxrIw7+VG7Q3gA65azHnZxo98Il8IvYLr2UTBlSh72dTLlDf25NW51HqvJgYJDKvSaAeyHQ=="
|
"integrity": "sha512-DGR4i3VI55KnYk4IxrIw7+VG7Q3gA65azHnZxo98Il8IvYLr2UTBlSh72dTLlDf25NW51HqvJgYJDKvSaAeyHQ=="
|
||||||
},
|
},
|
||||||
"@firebase/installations": {
|
"@firebase/installations": {
|
||||||
"version": "0.4.14",
|
"version": "0.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.14.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.15.tgz",
|
||||||
"integrity": "sha512-hQPsaU7wdTq3CFMtFQwZy6LgdXZAkXoUToV4O+ekPbjM65QzaGVogJVU8O2H6ADXoq37SarcUXKe86pcUWdFLA==",
|
"integrity": "sha512-6uGgDocDGu5gI7FeDBDcLaH4npz0cm2f0kctOFK+5N1CyK8Tv2YGv5/uGqlrTtSwDW+8tgKNo/5XXJJOPr9Jsw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/installations-types": "0.3.4",
|
"@firebase/installations-types": "0.3.4",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"idb": "3.0.2",
|
"idb": "3.0.2",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
@ -1232,14 +1232,14 @@
|
|||||||
"integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw=="
|
"integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw=="
|
||||||
},
|
},
|
||||||
"@firebase/messaging": {
|
"@firebase/messaging": {
|
||||||
"version": "0.6.20",
|
"version": "0.6.21",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.6.20.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.6.21.tgz",
|
||||||
"integrity": "sha512-1MqyljXnbFBeHYhL6QInVM9aO5MW820yhNmOIVxk58wNXq4tOQLzqnKuvlgZ+ttgqlDzrIYiVf3EOHh5DptttQ==",
|
"integrity": "sha512-cunbFNCtUy25Zp4/jn5lenYUPqgHpjKNUwRjKc7vIzYb4IT2Vu/7kaEptO3K0KQBC6O0QV3ZtqQxKrI9aLiSHg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/installations": "0.4.14",
|
"@firebase/installations": "0.4.15",
|
||||||
"@firebase/messaging-types": "0.4.5",
|
"@firebase/messaging-types": "0.4.5",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"idb": "3.0.2",
|
"idb": "3.0.2",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
@ -1250,15 +1250,15 @@
|
|||||||
"integrity": "sha512-sux4fgqr/0KyIxqzHlatI04Ajs5rc3WM+WmtCpxrKP1E5Bke8xu/0M+2oy4lK/sQ7nov9z15n3iltAHCgTRU3Q=="
|
"integrity": "sha512-sux4fgqr/0KyIxqzHlatI04Ajs5rc3WM+WmtCpxrKP1E5Bke8xu/0M+2oy4lK/sQ7nov9z15n3iltAHCgTRU3Q=="
|
||||||
},
|
},
|
||||||
"@firebase/performance": {
|
"@firebase/performance": {
|
||||||
"version": "0.3.9",
|
"version": "0.3.10",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.3.9.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.3.10.tgz",
|
||||||
"integrity": "sha512-Fj22DZXRhhKv1OSUzDxX7AqpJUcDld6tzXK1yxOC8e3v1DFPQMQdM9FoG1m1b/Vrqa6pCCqnqG6gh6VPnEcAzQ==",
|
"integrity": "sha512-j/hsx2xfOO1hZulmz7KxemoTIVXxrv94rt79x8qO1HzysT7ziViNvQ9cQGjDZWwVSO29TpLH31GOWLVnwmnxWQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/installations": "0.4.14",
|
"@firebase/installations": "0.4.15",
|
||||||
"@firebase/logger": "0.2.6",
|
"@firebase/logger": "0.2.6",
|
||||||
"@firebase/performance-types": "0.0.13",
|
"@firebase/performance-types": "0.0.13",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1285,15 +1285,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@firebase/remote-config": {
|
"@firebase/remote-config": {
|
||||||
"version": "0.1.25",
|
"version": "0.1.26",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.25.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.26.tgz",
|
||||||
"integrity": "sha512-8YWefBhy77HMbWXWdbenalx+IDY/XkS+iURQ9qRYvSIFYx6RL04DzlakZNOY9CQAcxTA+cTSt4NNlhjopBjf2Q==",
|
"integrity": "sha512-B6+nARVNcswysd6C16nK5tdGECgEpr1wdH6LyqylEQ8hUxYWN18qe49b9uPu+ktaHq0gFLg03gayZvQs7fxJOg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/installations": "0.4.14",
|
"@firebase/installations": "0.4.15",
|
||||||
"@firebase/logger": "0.2.6",
|
"@firebase/logger": "0.2.6",
|
||||||
"@firebase/remote-config-types": "0.1.9",
|
"@firebase/remote-config-types": "0.1.9",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1303,13 +1303,13 @@
|
|||||||
"integrity": "sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA=="
|
"integrity": "sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA=="
|
||||||
},
|
},
|
||||||
"@firebase/storage": {
|
"@firebase/storage": {
|
||||||
"version": "0.3.39",
|
"version": "0.3.41",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.39.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.41.tgz",
|
||||||
"integrity": "sha512-uTE8kROU/NMas+0i2oK0U9LuAlDzt+Cis0ErmYPlbCvmFqpFdyu3TtlO5MYNoxGLaBjEyxb18NJZai9lNMXFlQ==",
|
"integrity": "sha512-2imzI78HcB7FjUqXMRHsGLlZnTYkaCHBjJflSbypwLrEty0hreR6vx3ThOO5y0MFH93WwifqUFJAa+Twkx6CIA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/component": "0.1.16",
|
"@firebase/component": "0.1.17",
|
||||||
"@firebase/storage-types": "0.3.13",
|
"@firebase/storage-types": "0.3.13",
|
||||||
"@firebase/util": "0.2.50",
|
"@firebase/util": "0.3.0",
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1319,9 +1319,9 @@
|
|||||||
"integrity": "sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog=="
|
"integrity": "sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog=="
|
||||||
},
|
},
|
||||||
"@firebase/util": {
|
"@firebase/util": {
|
||||||
"version": "0.2.50",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.2.50.tgz",
|
"resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.3.0.tgz",
|
||||||
"integrity": "sha512-vFE6+Jfc25u0ViSpFxxq0q5s+XmuJ/y7CL3ud79RQe+WLFFg+j0eH1t23k0yNSG9vZNM7h3uHRIXbV97sYLAyw==",
|
"integrity": "sha512-GTwC+FSLeCPc44/TXCDReNQ5FPRIS5cb8Gr1XcD1TgiNBOvmyx61Om2YLwHp2GnN++6m6xmwmXARm06HOukATA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.11.1"
|
"tslib": "^1.11.1"
|
||||||
}
|
}
|
||||||
@ -1342,11 +1342,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@graphql-tools/schema": {
|
"@graphql-tools/schema": {
|
||||||
"version": "6.0.14",
|
"version": "6.0.15",
|
||||||
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.14.tgz",
|
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.15.tgz",
|
||||||
"integrity": "sha512-vXRme8I8r3Ps2xTGrs614L+PRvNMxW0PW1EEtkV7CHdFWl1w5qkVeWWriZuqdj9r/AxHj950ilAf6V/k+2oAZw==",
|
"integrity": "sha512-Wo+d6/OPjeXjwB1pcqsWmqLdweGH+BVhvKe/YPQA/uiWr8ikgShvNLNiuF03gc/1AMR487A09XcPEyabRKJLew==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@graphql-tools/utils": "6.0.14",
|
"@graphql-tools/utils": "6.0.15",
|
||||||
"tslib": "~2.0.0"
|
"tslib": "~2.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -1358,18 +1358,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@graphql-tools/utils": {
|
"@graphql-tools/utils": {
|
||||||
"version": "6.0.14",
|
"version": "6.0.15",
|
||||||
"resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.14.tgz",
|
"resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.15.tgz",
|
||||||
"integrity": "sha512-2VCOJtbVOde5m553JJE8NhP/eYR63Zqo/YdSlhZkpTGmWXg0sJKIIJ0c1eozCm+JSVMu3P08BatgnEC7DIl92A==",
|
"integrity": "sha512-VG5cMLPgh9RDLGHamGpXVnBrNw7bZGT46LrxK7IIqDZI9H0GPsRCo8+p+CfDkw0IlDiEECb624WVCpm9IYNecA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@ardatan/aggregate-error": "0.0.1",
|
"@ardatan/aggregate-error": "0.0.1",
|
||||||
"camel-case": "4.1.1"
|
"camel-case": "4.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@grpc/grpc-js": {
|
"@grpc/grpc-js": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.3.tgz",
|
||||||
"integrity": "sha512-k2u86Bkm/3xrjUaSWeIyzXScBt/cC8uE7BznR0cpueQi11R33W6qfJdMrkrsmSHirp5likR55JSXUrcWG6ybHA==",
|
"integrity": "sha512-HtOsk2YUofBcm1GkPqGzb6pwHhv+74eC2CUO229USIDKRtg30ycbZmqC+HdNtY3nHqoc9IgcRlntFgopyQoYCA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"semver": "^6.2.0"
|
"semver": "^6.2.0"
|
||||||
}
|
}
|
||||||
@ -1901,24 +1901,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mdx-js/mdx": {
|
"@mdx-js/mdx": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.14.tgz",
|
||||||
"integrity": "sha512-xVZnzSQ/QsP6LnYnV5CC9sc92dzm0VsnFEbpDhB3ahbrCc0j/p4O5+q+OIic9H3AAYLIzoKah3Mj+wTnDpAeWg==",
|
"integrity": "sha512-VLGd52mFL091mkFTNZkGPMJxLvb382DqYDZfiZcqYBnbZPpFIbW3GnjXiHjLxT2v9zEKWD11+wcZLKNaWt8WPQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "7.10.5",
|
"@babel/core": "7.10.5",
|
||||||
"@babel/plugin-syntax-jsx": "7.10.4",
|
"@babel/plugin-syntax-jsx": "7.10.4",
|
||||||
"@babel/plugin-syntax-object-rest-spread": "7.8.3",
|
"@babel/plugin-syntax-object-rest-spread": "7.8.3",
|
||||||
"@mdx-js/util": "1.6.13",
|
"@mdx-js/util": "1.6.14",
|
||||||
"babel-plugin-apply-mdx-type-prop": "1.6.13",
|
"babel-plugin-apply-mdx-type-prop": "1.6.14",
|
||||||
"babel-plugin-extract-import-names": "1.6.13",
|
"babel-plugin-extract-import-names": "1.6.14",
|
||||||
"camelcase-css": "2.0.1",
|
"camelcase-css": "2.0.1",
|
||||||
"detab": "2.0.3",
|
"detab": "2.0.3",
|
||||||
"hast-util-raw": "6.0.0",
|
"hast-util-raw": "6.0.0",
|
||||||
"lodash.uniq": "4.5.0",
|
"lodash.uniq": "4.5.0",
|
||||||
"mdast-util-to-hast": "9.1.0",
|
"mdast-util-to-hast": "9.1.0",
|
||||||
"remark-footnotes": "1.0.0",
|
"remark-footnotes": "1.0.0",
|
||||||
"remark-mdx": "1.6.13",
|
"remark-mdx": "1.6.14",
|
||||||
"remark-parse": "8.0.2",
|
"remark-parse": "8.0.3",
|
||||||
"remark-squeeze-paragraphs": "4.0.0",
|
"remark-squeeze-paragraphs": "4.0.0",
|
||||||
"style-to-object": "0.3.0",
|
"style-to-object": "0.3.0",
|
||||||
"unified": "9.0.0",
|
"unified": "9.0.0",
|
||||||
@ -1932,9 +1932,9 @@
|
|||||||
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
|
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
|
||||||
},
|
},
|
||||||
"remark-parse": {
|
"remark-parse": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
|
||||||
"integrity": "sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==",
|
"integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ccount": "^1.0.0",
|
"ccount": "^1.0.0",
|
||||||
"collapse-white-space": "^1.0.2",
|
"collapse-white-space": "^1.0.2",
|
||||||
@ -1970,24 +1970,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mdx-js/react": {
|
"@mdx-js/react": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.14.tgz",
|
||||||
"integrity": "sha512-k8UfufP+eZbxHsprAvGvQB/vmiXpbhMYnM0c6xov5xEg3dYdtzrpjnf2kYsTIwyr3RG2SeZXGjE9tG9vzli53Q=="
|
"integrity": "sha512-WN4OWXiSTN5x1Ee0ZeYQ9bjjSSgH3Mfx/ezcSV3T691C/PcHTNWwJa5qhcuq8V/NrVAeMc26aXuSdOAq6sRb1g=="
|
||||||
},
|
},
|
||||||
"@mdx-js/runtime": {
|
"@mdx-js/runtime": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/@mdx-js/runtime/-/runtime-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/@mdx-js/runtime/-/runtime-1.6.14.tgz",
|
||||||
"integrity": "sha512-SmepgIAD4OaTUzbngxiljc7NzSzFvKw5SBdn9JCWZ1BFJaDjrl/j3IevIWVip24fSlm75wCEUm40LNvn/m7Kfw==",
|
"integrity": "sha512-oP8UA4pH3zaS0jtkDMHujVzZvl24Tnn4NPcJkstsvqJNlqRu6h93NWWrKa3TKb+/XbsuIF7oXce7t3Iuy1LWnQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@mdx-js/mdx": "1.6.13",
|
"@mdx-js/mdx": "1.6.14",
|
||||||
"@mdx-js/react": "1.6.13",
|
"@mdx-js/react": "1.6.14",
|
||||||
"buble-jsx-only": "^0.19.8"
|
"buble-jsx-only": "^0.19.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@mdx-js/util": {
|
"@mdx-js/util": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.14.tgz",
|
||||||
"integrity": "sha512-IZP3UDGDaaaw0AchbXDofC//f+08w8FzW8EfTL/ZJNy6nKROe5xFwxnfRo5nL06l0CRCwNDmoReAerLuFMl1jA=="
|
"integrity": "sha512-JyhjH3ffP4KQuqnUSBSSF28mToGGSc2jFI0XIXSEqiN+FaPlgzOSd3U350gXi8FYQxXzEygHCOtzOIfTjFf+4w=="
|
||||||
},
|
},
|
||||||
"@mikaelkristiansson/domready": {
|
"@mikaelkristiansson/domready": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
@ -2226,9 +2226,9 @@
|
|||||||
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
|
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
|
||||||
},
|
},
|
||||||
"@types/lodash": {
|
"@types/lodash": {
|
||||||
"version": "4.14.157",
|
"version": "4.14.158",
|
||||||
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.157.tgz",
|
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.158.tgz",
|
||||||
"integrity": "sha512-Ft5BNFmv2pHDgxV5JDsndOWTRJ+56zte0ZpYLowp03tW+K+t8u8YMOzAnpuqPgzX6WO1XpDIUm7u04M8vdDiVQ=="
|
"integrity": "sha512-InCEXJNTv/59yO4VSfuvNrZHt7eeNtWQEgnieIA+mIC+MOWM9arOWG2eQ8Vhk6NbOre6/BidiXhkZYeDY9U35w=="
|
||||||
},
|
},
|
||||||
"@types/long": {
|
"@types/long": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
@ -2257,9 +2257,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "13.13.14",
|
"version": "13.13.15",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.14.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.15.tgz",
|
||||||
"integrity": "sha512-Az3QsOt1U/K1pbCQ0TXGELTuTkPLOiFIQf3ILzbOyo0FqgV9SxRnxbxM5QlAveERZMHpZY+7u3Jz2tKyl+yg6g=="
|
"integrity": "sha512-kwbcs0jySLxzLsa2nWUAGOd/s21WU1jebrEdtzhsj1D4Yps1EOuyI1Qcu+FD56dL7NRNIJtDDjcqIG22NwkgLw=="
|
||||||
},
|
},
|
||||||
"@types/parse-json": {
|
"@types/parse-json": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
@ -3203,12 +3203,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"babel-plugin-apply-mdx-type-prop": {
|
"babel-plugin-apply-mdx-type-prop": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.14.tgz",
|
||||||
"integrity": "sha512-G+vyur4OM+2iZih+vUeMzL/Aa0/4s/YZlDo6L0pfslgoX6eNGYT/NmjDZe99VxiaTaODX/bF/kt6oxZJYt8mJw==",
|
"integrity": "sha512-qOnIfczK7yxDpBUeT21WIVmGPpSyzPv61FS9/Ql5J/PIEVw0c6aS2a53/tL5rQWKlJwNdb2RkhG+fpT5WGvYaQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-plugin-utils": "7.10.4",
|
"@babel/helper-plugin-utils": "7.10.4",
|
||||||
"@mdx-js/util": "1.6.13"
|
"@mdx-js/util": "1.6.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"babel-plugin-dynamic-import-node": {
|
"babel-plugin-dynamic-import-node": {
|
||||||
@ -3220,9 +3220,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"babel-plugin-extract-import-names": {
|
"babel-plugin-extract-import-names": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.14.tgz",
|
||||||
"integrity": "sha512-EKqKcGLmbegJji7qB7VRYQ6pJp74MGCjfCu1H6VOYr+ODqVMIsnxixYSvkuYTvwYaO1dWjSho85T4ctGMWpr+A==",
|
"integrity": "sha512-pCyalU0WzbFPEb3E/ALerXzL/OMGH9M1mbWPR4QuSRo6BAfLL/j0QcLRRYojYQpCCS7pys9JpN/HI2+GcsbEhg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-plugin-utils": "7.10.4"
|
"@babel/helper-plugin-utils": "7.10.4"
|
||||||
}
|
}
|
||||||
@ -3262,9 +3262,9 @@
|
|||||||
"integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA=="
|
"integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA=="
|
||||||
},
|
},
|
||||||
"babel-preset-gatsby": {
|
"babel-preset-gatsby": {
|
||||||
"version": "0.5.2",
|
"version": "0.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.5.4.tgz",
|
||||||
"integrity": "sha512-0pHaIm0Aqy6b+OpywL5Fu5vpAFzjHqGFx3YKhbb//2s6qC7/tplwWs5MmQ8ZrfHlxUIw/+c+CWUERfgihWRaBQ==",
|
"integrity": "sha512-9n2qPnqiwpnkTM588uidovrf9k86353zEJ4hWCUyD/e2Up8zNSExA27BNp3sAq4KcNl3c8tDpuwWQQQf4aNn2g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/plugin-proposal-class-properties": "^7.10.1",
|
"@babel/plugin-proposal-class-properties": "^7.10.1",
|
||||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1",
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1",
|
||||||
@ -3278,7 +3278,7 @@
|
|||||||
"babel-plugin-dynamic-import-node": "^2.3.3",
|
"babel-plugin-dynamic-import-node": "^2.3.3",
|
||||||
"babel-plugin-macros": "^2.8.0",
|
"babel-plugin-macros": "^2.8.0",
|
||||||
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"gatsby-legacy-polyfills": "^0.0.2"
|
"gatsby-legacy-polyfills": "^0.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -5388,13 +5388,12 @@
|
|||||||
"integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g=="
|
"integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g=="
|
||||||
},
|
},
|
||||||
"css-selector-tokenizer": {
|
"css-selector-tokenizer": {
|
||||||
"version": "0.7.2",
|
"version": "0.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz",
|
||||||
"integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==",
|
"integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"cssesc": "^3.0.0",
|
"cssesc": "^3.0.0",
|
||||||
"fastparse": "^1.1.2",
|
"fastparse": "^1.1.2"
|
||||||
"regexpu-core": "^4.6.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"css-tree": {
|
"css-tree": {
|
||||||
@ -5616,9 +5615,9 @@
|
|||||||
"integrity": "sha512-ZCPzAMJZn3rNUvvQIMlXhDr4A+Ar07eLeGsGREoWU19a3Pqf5oYa+ccd+B3F6XVtQY6HANMFdOQ8A+ipFnvJdQ=="
|
"integrity": "sha512-ZCPzAMJZn3rNUvvQIMlXhDr4A+Ar07eLeGsGREoWU19a3Pqf5oYa+ccd+B3F6XVtQY6HANMFdOQ8A+ipFnvJdQ=="
|
||||||
},
|
},
|
||||||
"dayjs": {
|
"dayjs": {
|
||||||
"version": "1.8.29",
|
"version": "1.8.30",
|
||||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.29.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.30.tgz",
|
||||||
"integrity": "sha512-Vm6teig8ZWK7rH/lxzVGxZJCljPdmUr6q/3f4fr5F0VWNGVkZEjZOQJsAN8hUHUqn+NK4XHNEpJZS1MwLyDcLw=="
|
"integrity": "sha512-5s5IGuP5bVvIbOWkEDcfmXsUj24fZW1NMHVVSdSFF/kW8d+alZcI9SpBKC+baEyBe+z3fUp17y75ulstv5swUw=="
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "3.2.6",
|
"version": "3.2.6",
|
||||||
@ -6029,9 +6028,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "8.10.61",
|
"version": "8.10.62",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.61.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.62.tgz",
|
||||||
"integrity": "sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q=="
|
"integrity": "sha512-76fupxOYVxk36kb7O/6KtrAPZ9jnSK3+qisAX4tQMEuGNdlvl7ycwatlHqjoE6jHfVtXFM3pCrCixZOidc5cuw=="
|
||||||
},
|
},
|
||||||
"configstore": {
|
"configstore": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.2",
|
||||||
@ -6517,9 +6516,9 @@
|
|||||||
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
|
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
|
||||||
},
|
},
|
||||||
"envinfo": {
|
"envinfo": {
|
||||||
"version": "7.5.1",
|
"version": "7.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.2.tgz",
|
||||||
"integrity": "sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ=="
|
"integrity": "sha512-k3Eh5bKuQnZjm49/L7H4cHzs2FlL5QjbTB3JrPxoTI8aJG7hVMe4uKyJxSYH4ahseby2waUwk5OaKX/nAsaYgg=="
|
||||||
},
|
},
|
||||||
"eol": {
|
"eol": {
|
||||||
"version": "0.9.1",
|
"version": "0.9.1",
|
||||||
@ -7290,9 +7289,9 @@
|
|||||||
"integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
|
"integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
|
||||||
},
|
},
|
||||||
"events": {
|
"events": {
|
||||||
"version": "3.1.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz",
|
||||||
"integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg=="
|
"integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg=="
|
||||||
},
|
},
|
||||||
"eventsource": {
|
"eventsource": {
|
||||||
"version": "0.1.6",
|
"version": "0.1.6",
|
||||||
@ -7998,24 +7997,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"firebase": {
|
"firebase": {
|
||||||
"version": "7.16.1",
|
"version": "7.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/firebase/-/firebase-7.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/firebase/-/firebase-7.17.1.tgz",
|
||||||
"integrity": "sha512-mcvFh617lWPYnx6SmwgtwmliY8P3XBi8pm0LDY4a8WPD049goCMgmIEpKkX4R3gZ2noz2rVrxSUfodENPpttLg==",
|
"integrity": "sha512-g2Wkk2fz8VoeSrxv2PIQizm2j74EtbpxQ+wd2AvH2iEF5LRaJOsk3zVBtIlyJIQ3vGTmlutIxtyyoDAQcPO9TA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@firebase/analytics": "0.3.9",
|
"@firebase/analytics": "0.4.1",
|
||||||
"@firebase/app": "0.6.8",
|
"@firebase/app": "0.6.9",
|
||||||
"@firebase/app-types": "0.6.1",
|
"@firebase/app-types": "0.6.1",
|
||||||
"@firebase/auth": "0.14.9",
|
"@firebase/auth": "0.14.9",
|
||||||
"@firebase/database": "0.6.8",
|
"@firebase/database": "0.6.9",
|
||||||
"@firebase/firestore": "1.16.1",
|
"@firebase/firestore": "1.16.2",
|
||||||
"@firebase/functions": "0.4.48",
|
"@firebase/functions": "0.4.49",
|
||||||
"@firebase/installations": "0.4.14",
|
"@firebase/installations": "0.4.15",
|
||||||
"@firebase/messaging": "0.6.20",
|
"@firebase/messaging": "0.6.21",
|
||||||
"@firebase/performance": "0.3.9",
|
"@firebase/performance": "0.3.10",
|
||||||
"@firebase/polyfill": "0.3.36",
|
"@firebase/polyfill": "0.3.36",
|
||||||
"@firebase/remote-config": "0.1.25",
|
"@firebase/remote-config": "0.1.26",
|
||||||
"@firebase/storage": "0.3.39",
|
"@firebase/storage": "0.3.41",
|
||||||
"@firebase/util": "0.2.50"
|
"@firebase/util": "0.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flat-cache": {
|
"flat-cache": {
|
||||||
@ -8207,9 +8206,9 @@
|
|||||||
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
|
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
|
||||||
},
|
},
|
||||||
"gatsby": {
|
"gatsby": {
|
||||||
"version": "2.24.7",
|
"version": "2.24.11",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.7.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.11.tgz",
|
||||||
"integrity": "sha512-H9qEG5cRnHU/lRFaX2hS++6FZbCINavL38wz+UWD95qJ3GmpVHxnob2eQYZzy32CFvprCK9469kGcN9j0jTf0g==",
|
"integrity": "sha512-rmkFGJaFVPrVoyUXvYoex9+a7w501y6vyaesVpsJZdBBgtMnWFEIGvJ9uDLPLVPoOXFtTNzN9MmDNGI+0r85lw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.10.3",
|
"@babel/code-frame": "^7.10.3",
|
||||||
"@babel/core": "^7.10.3",
|
"@babel/core": "^7.10.3",
|
||||||
@ -8233,7 +8232,7 @@
|
|||||||
"babel-plugin-add-module-exports": "^0.3.3",
|
"babel-plugin-add-module-exports": "^0.3.3",
|
||||||
"babel-plugin-dynamic-import-node": "^2.3.3",
|
"babel-plugin-dynamic-import-node": "^2.3.3",
|
||||||
"babel-plugin-remove-graphql-queries": "^2.9.15",
|
"babel-plugin-remove-graphql-queries": "^2.9.15",
|
||||||
"babel-preset-gatsby": "^0.5.2",
|
"babel-preset-gatsby": "^0.5.4",
|
||||||
"better-opn": "1.0.0",
|
"better-opn": "1.0.0",
|
||||||
"better-queue": "^3.8.10",
|
"better-queue": "^3.8.10",
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
@ -8271,15 +8270,15 @@
|
|||||||
"file-loader": "^1.1.11",
|
"file-loader": "^1.1.11",
|
||||||
"fs-exists-cached": "1.0.0",
|
"fs-exists-cached": "1.0.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gatsby-cli": "^2.12.63",
|
"gatsby-cli": "^2.12.66",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"gatsby-graphiql-explorer": "^0.4.11",
|
"gatsby-graphiql-explorer": "^0.4.11",
|
||||||
"gatsby-legacy-polyfills": "^0.0.2",
|
"gatsby-legacy-polyfills": "^0.0.2",
|
||||||
"gatsby-link": "^2.4.13",
|
"gatsby-link": "^2.4.13",
|
||||||
"gatsby-plugin-page-creator": "^2.3.17",
|
"gatsby-plugin-page-creator": "^2.3.19",
|
||||||
"gatsby-plugin-typescript": "^2.4.16",
|
"gatsby-plugin-typescript": "^2.4.16",
|
||||||
"gatsby-react-router-scroll": "^3.0.12",
|
"gatsby-react-router-scroll": "^3.0.12",
|
||||||
"gatsby-telemetry": "^1.3.20",
|
"gatsby-telemetry": "^1.3.23",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"got": "8.3.2",
|
"got": "8.3.2",
|
||||||
"graphql": "^14.6.0",
|
"graphql": "^14.6.0",
|
||||||
@ -8444,9 +8443,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-cli": {
|
"gatsby-cli": {
|
||||||
"version": "2.12.63",
|
"version": "2.12.66",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.63.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.66.tgz",
|
||||||
"integrity": "sha512-vBIgP/5c+3wfw36YUr2wld1PYRktZWxAX8wDjMjrkj8i1xqkZDc24cxGX+yNAXx5UJ6lCNuRRXSaRiqFErqa2A==",
|
"integrity": "sha512-rc7yj3+8yFLYwYOXlX2w46UjILEUlRRaLFH01AxtEYUTbGvfdLyUmi0bqvS5JmhkS7e6K9HjKgedYzPHUqWGdQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.10.3",
|
"@babel/code-frame": "^7.10.3",
|
||||||
"@hapi/joi": "^15.1.1",
|
"@hapi/joi": "^15.1.1",
|
||||||
@ -8461,9 +8460,9 @@
|
|||||||
"execa": "^3.4.0",
|
"execa": "^3.4.0",
|
||||||
"fs-exists-cached": "^1.0.0",
|
"fs-exists-cached": "^1.0.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"gatsby-recipes": "^0.1.53",
|
"gatsby-recipes": "^0.1.56",
|
||||||
"gatsby-telemetry": "^1.3.20",
|
"gatsby-telemetry": "^1.3.23",
|
||||||
"hosted-git-info": "^3.0.4",
|
"hosted-git-info": "^3.0.4",
|
||||||
"ink": "^2.7.1",
|
"ink": "^2.7.1",
|
||||||
"ink-spinner": "^3.1.0",
|
"ink-spinner": "^3.1.0",
|
||||||
@ -8582,9 +8581,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-core-utils": {
|
"gatsby-core-utils": {
|
||||||
"version": "1.3.12",
|
"version": "1.3.14",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.3.12.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.3.14.tgz",
|
||||||
"integrity": "sha512-58pysrsfe2abWl7TOqeyHgyXSm9UIjYZ7UclGTvczWDYnxl8L/0kPSaFOX+bMmNBZmAB0YEtJZ3gHhM978OvqQ==",
|
"integrity": "sha512-jfC+x5rrYUfl70MHRLsOtsXqdlqIbQGVDKXrvp6IPIUP8TKU6XIpYktF0Yd4ldJIWmGZTa062RWUOd2DFBHVSw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ci-info": "2.0.0",
|
"ci-info": "2.0.0",
|
||||||
"configstore": "^5.0.1",
|
"configstore": "^5.0.1",
|
||||||
@ -8631,15 +8630,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-page-utils": {
|
"gatsby-page-utils": {
|
||||||
"version": "0.2.17",
|
"version": "0.2.19",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.2.17.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.2.19.tgz",
|
||||||
"integrity": "sha512-Ery8ePfJiFwY5LcOhePIPmie7B/V2Yf5QREmo8sULx3mr00gWrqNwmIgaNYVIAxH87Fdy50CUScxeqQc4Hsl0g==",
|
"integrity": "sha512-aGF6OVXpQy0odwn4kwiSXhdOcFlLl2Vx5mWYupjEkGzcZjwUjloOj800DIoH4yZmuGNQVrfpBag5ta50VKrtiQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"chokidar": "3.4.0",
|
"chokidar": "3.4.0",
|
||||||
"fs-exists-cached": "^1.0.0",
|
"fs-exists-cached": "^1.0.0",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
"micromatch": "^3.1.10"
|
"micromatch": "^3.1.10"
|
||||||
@ -8665,12 +8664,12 @@
|
|||||||
"integrity": "sha512-F1uh9T5dY38aeNvKzqj+3K655dce1QS70wuG4bhV9L3cnTJR2vitTWyIoCvRJJfPs7Xq7LgjUDmHDrEos4S3gQ=="
|
"integrity": "sha512-F1uh9T5dY38aeNvKzqj+3K655dce1QS70wuG4bhV9L3cnTJR2vitTWyIoCvRJJfPs7Xq7LgjUDmHDrEos4S3gQ=="
|
||||||
},
|
},
|
||||||
"gatsby-plugin-manifest": {
|
"gatsby-plugin-manifest": {
|
||||||
"version": "2.4.19",
|
"version": "2.4.21",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.19.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.21.tgz",
|
||||||
"integrity": "sha512-lVLP1m4aBQNC4lhsE3N7VZ6olk5Zb5A2T4jBEus0zxF8RCnfGoCD7Wg0cCMKbKR1n5ZXwHQgZfZI3BSp1/H7sw==",
|
"integrity": "sha512-f+yx8Jnz9rPtzrPLmcesyCUUe91MhvPvlkRkZF3g4/DAQW9fbtUzutICNSlY+JjLzMkYF5x0NJFvX5sSkC9m3A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"semver": "^5.7.1",
|
"semver": "^5.7.1",
|
||||||
"sharp": "^0.25.1"
|
"sharp": "^0.25.1"
|
||||||
},
|
},
|
||||||
@ -8693,13 +8692,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-plugin-offline": {
|
"gatsby-plugin-offline": {
|
||||||
"version": "3.2.19",
|
"version": "3.2.21",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.19.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.21.tgz",
|
||||||
"integrity": "sha512-cVjNTmmTgb7/n0ghkrOM61vrAcdPz07FvkCx2sAThPqZ5zxDe5LDLS+DYSRn8k/KVihdAQKx/RGrdlGuuLwEIA==",
|
"integrity": "sha512-MvkWmieiXIlm70xawJgIQFUnGlMUWhrRk6jGoVCiiZ8xrViiluZONttCm/tiDdiZTFOwvOPN7RQj/zB+50grMg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"cheerio": "^1.0.0-rc.3",
|
"cheerio": "^1.0.0-rc.3",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"idb-keyval": "^3.2.0",
|
"idb-keyval": "^3.2.0",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
@ -8707,14 +8706,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-plugin-page-creator": {
|
"gatsby-plugin-page-creator": {
|
||||||
"version": "2.3.17",
|
"version": "2.3.19",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.17.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.19.tgz",
|
||||||
"integrity": "sha512-mIIotda+tR59tb3gk5qW3CUVSsdA608hchuX/+bKUCyuqyqZKjPffOdGUgy92Aa+mmIKgJTiGDUnIJoVsHSdtg==",
|
"integrity": "sha512-BMEIjg+B05eWeZutgV3bP2o7WZyC3lmZzAhGwWfEi0IYy0zRtH3jRNPCv1qrcyXKI6n5GFUhas4NGiRHmc7vLg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"fs-exists-cached": "^1.0.0",
|
"fs-exists-cached": "^1.0.0",
|
||||||
"gatsby-page-utils": "^0.2.17",
|
"gatsby-page-utils": "^0.2.19",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
"micromatch": "^3.1.10"
|
"micromatch": "^3.1.10"
|
||||||
@ -8842,15 +8841,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-plugin-sharp": {
|
"gatsby-plugin-sharp": {
|
||||||
"version": "2.6.20",
|
"version": "2.6.22",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.20.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.22.tgz",
|
||||||
"integrity": "sha512-5M6wYzxer+yWEIhq+eE7XwcDWpJqm2Nr6V14UCfbR5KYmYpkEbDVm2dw1raBFonf/XUQ15idYjPp3U0mY6xfAg==",
|
"integrity": "sha512-yXIghEbpziqSZw+yqh+W2SpNTZpUkZX98+2YZNctc6CH9ToaMIGuYMwxf/90pStNjkwnlHcmnZ6o6Bk0jrjSFg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"async": "^2.6.3",
|
"async": "^2.6.3",
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"got": "^8.3.2",
|
"got": "^8.3.2",
|
||||||
"imagemin": "^6.1.0",
|
"imagemin": "^6.1.0",
|
||||||
"imagemin-mozjpeg": "^8.0.0",
|
"imagemin-mozjpeg": "^8.0.0",
|
||||||
@ -8927,9 +8926,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-recipes": {
|
"gatsby-recipes": {
|
||||||
"version": "0.1.53",
|
"version": "0.1.56",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.1.53.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.1.56.tgz",
|
||||||
"integrity": "sha512-q1dfVLUysncIOtOj9S1EQCL8TDUf3aM8Y4dEfvVYjmMMG58ad7sECSZOEQRjHKz3nJhxBCkJb9rEBKo62DvYYQ==",
|
"integrity": "sha512-lEd57MLQyBpO3+aoxssnUbwnqFVv8jKIBCclIQONNpLzBl3zml1VAaRx12tnsREn8YEtfYZayM2t3QLiGi9Yzw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "^7.10.3",
|
"@babel/core": "^7.10.3",
|
||||||
"@babel/generator": "^7.10.3",
|
"@babel/generator": "^7.10.3",
|
||||||
@ -8954,8 +8953,8 @@
|
|||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"express-graphql": "^0.9.0",
|
"express-graphql": "^0.9.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"gatsby-telemetry": "^1.3.20",
|
"gatsby-telemetry": "^1.3.23",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"graphql": "^14.6.0",
|
"graphql": "^14.6.0",
|
||||||
"graphql-compose": "^6.3.8",
|
"graphql-compose": "^6.3.8",
|
||||||
@ -9152,9 +9151,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-source-filesystem": {
|
"gatsby-source-filesystem": {
|
||||||
"version": "2.3.20",
|
"version": "2.3.23",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.3.20.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.3.23.tgz",
|
||||||
"integrity": "sha512-zwHsOe3BipnGeHvCNz4JSzz9bWbQEFgbpkjCpmOSsPtbNaKKbk7bK8TCLGj268K24x7E5fGuXPTLqXcRfYgEOA==",
|
"integrity": "sha512-OkSefJZscSlf7tjJQIMHpzsf3evDcqf4T1iunMEwL1Qj1iZVD/6UbRIf1kJLt5SS8tGtvsqDNyaQ8Al7rsuJ1g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"better-queue": "^3.8.10",
|
"better-queue": "^3.8.10",
|
||||||
@ -9162,7 +9161,7 @@
|
|||||||
"chokidar": "3.4.0",
|
"chokidar": "3.4.0",
|
||||||
"file-type": "^12.4.2",
|
"file-type": "^12.4.2",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"got": "^9.6.0",
|
"got": "^9.6.0",
|
||||||
"md5-file": "^3.2.3",
|
"md5-file": "^3.2.3",
|
||||||
"mime": "^2.4.6",
|
"mime": "^2.4.6",
|
||||||
@ -9204,9 +9203,9 @@
|
|||||||
"integrity": "sha512-pN48dBm1oinhhrtypdOOgRu0nO3ZPARdZYKdTwIm8Pyfql1BbHUHwLfYf8E14SFkthHkUnXLh63q/qiQIGvqbw=="
|
"integrity": "sha512-pN48dBm1oinhhrtypdOOgRu0nO3ZPARdZYKdTwIm8Pyfql1BbHUHwLfYf8E14SFkthHkUnXLh63q/qiQIGvqbw=="
|
||||||
},
|
},
|
||||||
"gatsby-telemetry": {
|
"gatsby-telemetry": {
|
||||||
"version": "1.3.20",
|
"version": "1.3.23",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.3.20.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.3.23.tgz",
|
||||||
"integrity": "sha512-0aeEL1O8tPgBgiOh/5lH18z9w8i3vGs8EWDQiOeGYz4Ka78wTcxyDUsO/90yt8jkqQuUo78s2vkDeqh1LWqPxg==",
|
"integrity": "sha512-Zhfgo2WCsSR7aWS7L9/WWmHJcEMhBhJa/eIt9BtU5rp9vCBQOgu7jbf8EweVnpYMH7JFQTsOhW51CEVd13HY1Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.10.3",
|
"@babel/code-frame": "^7.10.3",
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
@ -9214,7 +9213,7 @@
|
|||||||
"configstore": "^5.0.1",
|
"configstore": "^5.0.1",
|
||||||
"envinfo": "^7.5.1",
|
"envinfo": "^7.5.1",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"git-up": "4.0.1",
|
"git-up": "4.0.1",
|
||||||
"is-docker": "2.0.0",
|
"is-docker": "2.0.0",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
@ -9235,13 +9234,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gatsby-transformer-remark": {
|
"gatsby-transformer-remark": {
|
||||||
"version": "2.8.25",
|
"version": "2.8.27",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-transformer-remark/-/gatsby-transformer-remark-2.8.25.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-transformer-remark/-/gatsby-transformer-remark-2.8.27.tgz",
|
||||||
"integrity": "sha512-RTO741t6eG4lw0WWmZRjN55SLBx225fJr+t+QkqUNTbBdTxRuUfHyAK6gRzVDtIC9Jtr1fQZxK0Hx2M6nj72RQ==",
|
"integrity": "sha512-pbXz5gglYOmpFP0sxGgzkiu05UiUhlACdJ4M15vEGHe+MFuz8kD58qJSLi0QJX0ba5Ri50uNXgw7SXh2r7msEA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.3",
|
"@babel/runtime": "^7.10.3",
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"gatsby-core-utils": "^1.3.12",
|
"gatsby-core-utils": "^1.3.14",
|
||||||
"gray-matter": "^4.0.2",
|
"gray-matter": "^4.0.2",
|
||||||
"hast-util-raw": "^4.0.0",
|
"hast-util-raw": "^4.0.0",
|
||||||
"hast-util-to-html": "^4.0.1",
|
"hast-util-to-html": "^4.0.1",
|
||||||
@ -10573,9 +10572,9 @@
|
|||||||
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
|
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
|
||||||
},
|
},
|
||||||
"i18next": {
|
"i18next": {
|
||||||
"version": "19.6.2",
|
"version": "19.6.3",
|
||||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-19.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/i18next/-/i18next-19.6.3.tgz",
|
||||||
"integrity": "sha512-Zyd/Z32FY+sD+Eg6sLj5DeDSlrIN3WZ4onuOBRGcjDx/rvodsyUZ9TJ2Y+3aD9Vu8MPbiMU2WesIER/rs1ioyw==",
|
"integrity": "sha512-eYr98kw/C5z6kY21ti745p4IvbOJwY8F2T9tf/Lvy5lFnYRqE45+bppSgMPmcZZqYNT+xO0N0x6rexVR2wtZZQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/runtime": "^7.10.1"
|
"@babel/runtime": "^7.10.1"
|
||||||
}
|
}
|
||||||
@ -11224,9 +11223,9 @@
|
|||||||
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
|
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
|
||||||
},
|
},
|
||||||
"inquirer": {
|
"inquirer": {
|
||||||
"version": "7.3.2",
|
"version": "7.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
|
||||||
"integrity": "sha512-DF4osh1FM6l0RJc5YWYhSDB6TawiBRlbV9Cox8MWlidU218Tb7fm3lQTULyUJDfJ0tjbzl0W4q651mrCCEM55w==",
|
"integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ansi-escapes": "^4.2.1",
|
"ansi-escapes": "^4.2.1",
|
||||||
"chalk": "^4.1.0",
|
"chalk": "^4.1.0",
|
||||||
@ -11234,7 +11233,7 @@
|
|||||||
"cli-width": "^3.0.0",
|
"cli-width": "^3.0.0",
|
||||||
"external-editor": "^3.0.3",
|
"external-editor": "^3.0.3",
|
||||||
"figures": "^3.0.0",
|
"figures": "^3.0.0",
|
||||||
"lodash": "^4.17.16",
|
"lodash": "^4.17.19",
|
||||||
"mute-stream": "0.0.8",
|
"mute-stream": "0.0.8",
|
||||||
"run-async": "^2.4.0",
|
"run-async": "^2.4.0",
|
||||||
"rxjs": "^6.6.0",
|
"rxjs": "^6.6.0",
|
||||||
@ -14122,9 +14121,9 @@
|
|||||||
"integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
|
"integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
|
||||||
},
|
},
|
||||||
"parse-json": {
|
"parse-json": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz",
|
||||||
"integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
|
"integrity": "sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/code-frame": "^7.0.0",
|
"@babel/code-frame": "^7.0.0",
|
||||||
"error-ex": "^1.3.1",
|
"error-ex": "^1.3.1",
|
||||||
@ -14168,9 +14167,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"parse5": {
|
"parse5": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
|
||||||
"integrity": "sha512-lC0A+4DefTdRr+DLQlEwwZqndL9VzEjiuegI5bj3hp4bnzzwQldSqCpHv7+msRpSOHGJyJvkcCa4q15LMUJ8rg=="
|
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
|
||||||
},
|
},
|
||||||
"parseqs": {
|
"parseqs": {
|
||||||
"version": "0.0.5",
|
"version": "0.0.5",
|
||||||
@ -16598,17 +16597,17 @@
|
|||||||
"integrity": "sha512-X9Ncj4cj3/CIvLI2Z9IobHtVi8FVdUrdJkCNaL9kdX8ohfsi18DXHsCVd/A7ssARBdccdDb5ODnt62WuEWaM/g=="
|
"integrity": "sha512-X9Ncj4cj3/CIvLI2Z9IobHtVi8FVdUrdJkCNaL9kdX8ohfsi18DXHsCVd/A7ssARBdccdDb5ODnt62WuEWaM/g=="
|
||||||
},
|
},
|
||||||
"remark-mdx": {
|
"remark-mdx": {
|
||||||
"version": "1.6.13",
|
"version": "1.6.14",
|
||||||
"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.13.tgz",
|
"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.14.tgz",
|
||||||
"integrity": "sha512-LlaW2PpGl13THFHajl0EEpAnMkrZO2vmn4PPGJzy7vKfKf2UMioKa7zszfV3cEwKu1aHqqnjH5ZwuZj1hexHJw==",
|
"integrity": "sha512-90nKwpyhrTPD9tJoOFYhspcG3jinNp5Gwck14jcNuAzqS8e2cyOkIt11+KIsbC9M4KJQ/n3wTtb6xMh3dFgKuA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/core": "7.10.5",
|
"@babel/core": "7.10.5",
|
||||||
"@babel/helper-plugin-utils": "7.10.4",
|
"@babel/helper-plugin-utils": "7.10.4",
|
||||||
"@babel/plugin-proposal-object-rest-spread": "7.10.4",
|
"@babel/plugin-proposal-object-rest-spread": "7.10.4",
|
||||||
"@babel/plugin-syntax-jsx": "7.10.4",
|
"@babel/plugin-syntax-jsx": "7.10.4",
|
||||||
"@mdx-js/util": "1.6.13",
|
"@mdx-js/util": "1.6.14",
|
||||||
"is-alphabetical": "1.0.4",
|
"is-alphabetical": "1.0.4",
|
||||||
"remark-parse": "8.0.2",
|
"remark-parse": "8.0.3",
|
||||||
"unified": "9.0.0"
|
"unified": "9.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -16618,9 +16617,9 @@
|
|||||||
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
|
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
|
||||||
},
|
},
|
||||||
"remark-parse": {
|
"remark-parse": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
|
||||||
"integrity": "sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==",
|
"integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ccount": "^1.0.0",
|
"ccount": "^1.0.0",
|
||||||
"collapse-white-space": "^1.0.2",
|
"collapse-white-space": "^1.0.2",
|
||||||
@ -18596,9 +18595,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tailwindcss": {
|
"tailwindcss": {
|
||||||
"version": "1.5.1",
|
"version": "1.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.5.2.tgz",
|
||||||
"integrity": "sha512-mBOxIk+U+9xECC6wllWiupPVfLuwTDvHb4d+8XTdZ8oYrZEH+NpFSlbATF5xWuCJQxDOZ1Dz7C0KN5tylcFhFg==",
|
"integrity": "sha512-OR7wxFetvHruLkQABeQac7jFdTOs+MwXzsuccOuMItva9GBANPd2VX8NgJ3pdvuGSL23c5cVId9jsvuKgulBiQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fullhuman/postcss-purgecss": "^2.1.2",
|
"@fullhuman/postcss-purgecss": "^2.1.2",
|
||||||
|
|||||||
20
package.json
20
package.json
@ -22,28 +22,28 @@
|
|||||||
"animate.css": "^4.1.0",
|
"animate.css": "^4.1.0",
|
||||||
"array-move": "^3.0.0",
|
"array-move": "^3.0.0",
|
||||||
"classnames": "^2.2.6",
|
"classnames": "^2.2.6",
|
||||||
"dayjs": "^1.8.29",
|
"dayjs": "^1.8.30",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
"downloadjs": "^1.4.7",
|
"downloadjs": "^1.4.7",
|
||||||
"firebase": "^7.16.1",
|
"firebase": "^7.17.1",
|
||||||
"formik": "^2.1.5",
|
"formik": "^2.1.5",
|
||||||
"gatsby": "^2.24.7",
|
"gatsby": "^2.24.11",
|
||||||
"gatsby-image": "^2.4.13",
|
"gatsby-image": "^2.4.13",
|
||||||
"gatsby-plugin-create-client-paths": "^2.3.10",
|
"gatsby-plugin-create-client-paths": "^2.3.10",
|
||||||
"gatsby-plugin-firebase": "^0.2.0-beta.4",
|
"gatsby-plugin-firebase": "^0.2.0-beta.4",
|
||||||
"gatsby-plugin-manifest": "^2.4.19",
|
"gatsby-plugin-manifest": "^2.4.21",
|
||||||
"gatsby-plugin-material-ui": "^2.1.9",
|
"gatsby-plugin-material-ui": "^2.1.9",
|
||||||
"gatsby-plugin-offline": "^3.2.19",
|
"gatsby-plugin-offline": "^3.2.21",
|
||||||
"gatsby-plugin-postcss": "^2.3.11",
|
"gatsby-plugin-postcss": "^2.3.11",
|
||||||
"gatsby-plugin-prefetch-google-fonts": "^1.4.3",
|
"gatsby-plugin-prefetch-google-fonts": "^1.4.3",
|
||||||
"gatsby-plugin-react-helmet": "^3.3.10",
|
"gatsby-plugin-react-helmet": "^3.3.10",
|
||||||
"gatsby-plugin-sharp": "^2.6.20",
|
"gatsby-plugin-sharp": "^2.6.22",
|
||||||
"gatsby-plugin-sitemap": "^2.4.11",
|
"gatsby-plugin-sitemap": "^2.4.11",
|
||||||
"gatsby-source-filesystem": "^2.3.20",
|
"gatsby-source-filesystem": "^2.3.23",
|
||||||
"gatsby-source-gravatar": "^1.0.0",
|
"gatsby-source-gravatar": "^1.0.0",
|
||||||
"gatsby-transformer-remark": "^2.8.25",
|
"gatsby-transformer-remark": "^2.8.27",
|
||||||
"gatsby-transformer-sharp": "^2.5.11",
|
"gatsby-transformer-sharp": "^2.5.11",
|
||||||
"i18next": "^19.6.2",
|
"i18next": "^19.6.3",
|
||||||
"lodash": "^4.17.19",
|
"lodash": "^4.17.19",
|
||||||
"nanoevents": "^5.1.8",
|
"nanoevents": "^5.1.8",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
@ -70,7 +70,7 @@
|
|||||||
"eslint-plugin-react": "^7.20.3",
|
"eslint-plugin-react": "^7.20.3",
|
||||||
"gatsby-plugin-eslint": "^2.0.8",
|
"gatsby-plugin-eslint": "^2.0.8",
|
||||||
"prettier": "2.0.5",
|
"prettier": "2.0.5",
|
||||||
"tailwindcss": "^1.5.1"
|
"tailwindcss": "^1.5.2"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { get, isEmpty } from 'lodash';
|
import { get, isEmpty } from 'lodash';
|
||||||
import React, { memo, useContext } from 'react';
|
import React, { memo, useContext } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import { MdAdd } from 'react-icons/md';
|
import { MdAdd } from 'react-icons/md';
|
||||||
import ModalContext from '../../../contexts/ModalContext';
|
import ModalContext from '../../../contexts/ModalContext';
|
||||||
import { useSelector } from '../../../contexts/ResumeContext';
|
import { useSelector } from '../../../contexts/ResumeContext';
|
||||||
@ -20,6 +21,7 @@ const List = ({
|
|||||||
hasDate,
|
hasDate,
|
||||||
event,
|
event,
|
||||||
}) => {
|
}) => {
|
||||||
|
const { i18n } = useTranslation();
|
||||||
const items = useSelector(path, []);
|
const items = useSelector(path, []);
|
||||||
const { emitter } = useContext(ModalContext);
|
const { emitter } = useContext(ModalContext);
|
||||||
|
|
||||||
@ -46,6 +48,7 @@ const List = ({
|
|||||||
formatDateRange({
|
formatDateRange({
|
||||||
startDate: x.startDate,
|
startDate: x.startDate,
|
||||||
endDate: x.endDate,
|
endDate: x.endDate,
|
||||||
|
language: i18n.language,
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
text={text || get(x, textPath, '')}
|
text={text || get(x, textPath, '')}
|
||||||
|
|||||||
@ -75,12 +75,17 @@ const UserProvider = ({ children }) => {
|
|||||||
|
|
||||||
const deleteAccount = async () => {
|
const deleteAccount = async () => {
|
||||||
const { currentUser } = firebase.auth();
|
const { currentUser } = firebase.auth();
|
||||||
|
const deleteUser = firebase.functions().httpsCallable('deleteUser');
|
||||||
|
deleteUser();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
deleteUser();
|
||||||
await currentUser.delete();
|
await currentUser.delete();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
toast.error(e.message);
|
if (e.code === 'auth/requires-recent-login') {
|
||||||
await loginWithGoogle();
|
await loginWithGoogle();
|
||||||
await currentUser.delete();
|
await currentUser.delete();
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
logout();
|
logout();
|
||||||
toast(
|
toast(
|
||||||
|
|||||||
@ -98,7 +98,7 @@
|
|||||||
"line1": "Address Line 1",
|
"line1": "Address Line 1",
|
||||||
"line2": "Address Line 2",
|
"line2": "Address Line 2",
|
||||||
"city": "City",
|
"city": "City",
|
||||||
"pincode": "Pincode"
|
"pincode": "Zip Code"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"social": {
|
"social": {
|
||||||
|
|||||||
@ -25,7 +25,7 @@ const EducationModal = () => {
|
|||||||
field: Yup.string().required(t('shared.forms.validation.required')),
|
field: Yup.string().required(t('shared.forms.validation.required')),
|
||||||
degree: Yup.string(),
|
degree: Yup.string(),
|
||||||
gpa: Yup.string(),
|
gpa: Yup.string(),
|
||||||
startDate: Yup.date().required(t('shared.forms.validation.required')),
|
startDate: Yup.date(),
|
||||||
endDate: Yup.date().when(
|
endDate: Yup.date().when(
|
||||||
'startDate',
|
'startDate',
|
||||||
(startDate, yupSchema) =>
|
(startDate, yupSchema) =>
|
||||||
|
|||||||
@ -41,7 +41,7 @@ const SkillModal = () => {
|
|||||||
|
|
||||||
<Input
|
<Input
|
||||||
label={t('builder.skills.level')}
|
label={t('builder.skills.level')}
|
||||||
placeholder="Fundamental Awareness"
|
placeholder="Novice"
|
||||||
{...getFieldProps(formik, schema, 'level')}
|
{...getFieldProps(formik, schema, 'level')}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import { getFieldProps } from '../../utils';
|
|||||||
import DataModal from '../DataModal';
|
import DataModal from '../DataModal';
|
||||||
|
|
||||||
const initialValues = {
|
const initialValues = {
|
||||||
url: 'https://',
|
url: '',
|
||||||
network: '',
|
network: '',
|
||||||
username: '',
|
username: '',
|
||||||
};
|
};
|
||||||
@ -55,7 +55,7 @@ const SocialModal = () => {
|
|||||||
<Input
|
<Input
|
||||||
label={t('builder.social.url')}
|
label={t('builder.social.url')}
|
||||||
className="col-span-2"
|
className="col-span-2"
|
||||||
placeholder="https://twitter.com/KingOKings"
|
placeholder="https://"
|
||||||
{...getFieldProps(formik, schema, 'url')}
|
{...getFieldProps(formik, schema, 'url')}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import DataModal from '../DataModal';
|
|||||||
const initialValues = {
|
const initialValues = {
|
||||||
company: '',
|
company: '',
|
||||||
position: '',
|
position: '',
|
||||||
website: 'https://',
|
website: '',
|
||||||
startDate: '',
|
startDate: '',
|
||||||
endDate: '',
|
endDate: '',
|
||||||
summary: '',
|
summary: '',
|
||||||
@ -23,7 +23,7 @@ const WorkModal = () => {
|
|||||||
company: Yup.string().required(t('shared.forms.validation.required')),
|
company: Yup.string().required(t('shared.forms.validation.required')),
|
||||||
position: Yup.string().required(t('shared.forms.validation.required')),
|
position: Yup.string().required(t('shared.forms.validation.required')),
|
||||||
website: Yup.string().url(t('shared.forms.validation.url')),
|
website: Yup.string().url(t('shared.forms.validation.url')),
|
||||||
startDate: Yup.date().required(t('shared.forms.validation.required')),
|
startDate: Yup.date(),
|
||||||
endDate: Yup.date().when(
|
endDate: Yup.date().when(
|
||||||
'startDate',
|
'startDate',
|
||||||
(startDate, yupSchema) =>
|
(startDate, yupSchema) =>
|
||||||
@ -64,7 +64,7 @@ const WorkModal = () => {
|
|||||||
|
|
||||||
<Input
|
<Input
|
||||||
label={t('shared.forms.website')}
|
label={t('shared.forms.website')}
|
||||||
placeholder="https://example.com/"
|
placeholder="https://"
|
||||||
{...getFieldProps(formik, schema, 'website')}
|
{...getFieldProps(formik, schema, 'website')}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
@ -57,6 +57,7 @@ const Castform = ({ data }) => {
|
|||||||
id="page"
|
id="page"
|
||||||
className="rounded"
|
className="rounded"
|
||||||
style={{
|
style={{
|
||||||
|
fontSize: 14,
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
color: data.metadata.colors.text,
|
color: data.metadata.colors.text,
|
||||||
backgroundColor: data.metadata.colors.background,
|
backgroundColor: data.metadata.colors.background,
|
||||||
|
|||||||
@ -5,38 +5,39 @@ import ReactMarkdown from 'react-markdown';
|
|||||||
import PageContext from '../../../contexts/PageContext';
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import { safetyCheck } from '../../../utils';
|
import { safetyCheck } from '../../../utils';
|
||||||
|
|
||||||
const AwardItem = (x) => {
|
const AwardItem = ({ item, i18n }) => (
|
||||||
const { i18n } = useTranslation();
|
<div>
|
||||||
|
|
||||||
return (
|
|
||||||
<div key={x.id}>
|
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
<div className="flex flex-col text-left mr-2">
|
<div className="flex flex-col text-left mr-2">
|
||||||
<h6 className="font-semibold">{x.title}</h6>
|
<h6 className="font-semibold">{item.title}</h6>
|
||||||
<span className="text-xs">{x.awarder}</span>
|
<span className="text-xs">{item.awarder}</span>
|
||||||
</div>
|
</div>
|
||||||
{x.date && (
|
{item.date && (
|
||||||
<h6 className="text-xs font-medium text-right">
|
<h6 className="text-xs font-medium text-right">
|
||||||
{dayjs(x.date)
|
{dayjs(item.date)
|
||||||
.locale(i18n.language.substr(0, 2))
|
.locale(i18n.language.substr(0, 2))
|
||||||
.format('MMMM YYYY')}
|
.format('MMMM YYYY')}
|
||||||
</h6>
|
</h6>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{x.summary && (
|
{item.summary && (
|
||||||
<ReactMarkdown className="markdown mt-2 text-sm" source={x.summary} />
|
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
|
||||||
|
|
||||||
const AwardsA = () => {
|
const AwardsA = () => {
|
||||||
|
const { i18n } = useTranslation();
|
||||||
const { data, heading: Heading } = useContext(PageContext);
|
const { data, heading: Heading } = useContext(PageContext);
|
||||||
|
|
||||||
return safetyCheck(data.awards) ? (
|
return safetyCheck(data.awards) ? (
|
||||||
<div>
|
<div>
|
||||||
<Heading>{data.awards.heading}</Heading>
|
<Heading>{data.awards.heading}</Heading>
|
||||||
<div className="grid gap-4">{data.awards.items.map(AwardItem)}</div>
|
<div className="grid gap-4">
|
||||||
|
{data.awards.items.map((x) => (
|
||||||
|
<AwardItem key={x.id} item={x} i18n={i18n} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : null;
|
) : null;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -5,39 +5,38 @@ import ReactMarkdown from 'react-markdown';
|
|||||||
import PageContext from '../../../contexts/PageContext';
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import { safetyCheck } from '../../../utils';
|
import { safetyCheck } from '../../../utils';
|
||||||
|
|
||||||
const CertificationItem = (x) => {
|
const CertificationItem = ({ item, i18n }) => (
|
||||||
const { i18n } = useTranslation();
|
<div>
|
||||||
|
|
||||||
return (
|
|
||||||
<div key={x.id}>
|
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
<div className="flex flex-col text-left mr-2">
|
<div className="flex flex-col text-left mr-2">
|
||||||
<h6 className="font-semibold">{x.title}</h6>
|
<h6 className="font-semibold">{item.title}</h6>
|
||||||
<span className="text-xs">{x.issuer}</span>
|
<span className="text-xs">{item.issuer}</span>
|
||||||
</div>
|
</div>
|
||||||
{x.date && (
|
{item.date && (
|
||||||
<h6 className="text-xs font-medium text-right">
|
<h6 className="text-xs font-medium text-right">
|
||||||
{dayjs(x.date)
|
{dayjs(item.date)
|
||||||
.locale(i18n.language.substr(0, 2))
|
.locale(i18n.language.substr(0, 2))
|
||||||
.format('MMMM YYYY')}
|
.format('MMMM YYYY')}
|
||||||
</h6>
|
</h6>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{x.summary && (
|
{item.summary && (
|
||||||
<ReactMarkdown className="markdown mt-2 text-sm" source={x.summary} />
|
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
|
||||||
|
|
||||||
const CertificationsA = () => {
|
const CertificationsA = () => {
|
||||||
|
const { i18n } = useTranslation();
|
||||||
const { data, heading: Heading } = useContext(PageContext);
|
const { data, heading: Heading } = useContext(PageContext);
|
||||||
|
|
||||||
return safetyCheck(data.certifications) ? (
|
return safetyCheck(data.certifications) ? (
|
||||||
<div>
|
<div>
|
||||||
<Heading>{data.certifications.heading}</Heading>
|
<Heading>{data.certifications.heading}</Heading>
|
||||||
<div className="grid gap-4">
|
<div className="grid gap-4">
|
||||||
{data.certifications.items.map(CertificationItem)}
|
{data.certifications.items.map((x) => (
|
||||||
|
<CertificationItem key={x.id} item={x} i18n={i18n} />
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : null;
|
) : null;
|
||||||
|
|||||||
@ -1,40 +1,50 @@
|
|||||||
import React, { memo, useContext } from 'react';
|
import React, { memo, useContext } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import ReactMarkdown from 'react-markdown';
|
import ReactMarkdown from 'react-markdown';
|
||||||
import PageContext from '../../../contexts/PageContext';
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import { formatDateRange, safetyCheck } from '../../../utils';
|
import { formatDateRange, safetyCheck } from '../../../utils';
|
||||||
|
|
||||||
const EducationItem = (x) => (
|
const EducationItem = ({ item, i18n }) => (
|
||||||
<div key={x.id}>
|
<div>
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
<div className="flex flex-col text-left mr-2">
|
<div className="flex flex-col text-left mr-2">
|
||||||
<h6 className="font-semibold">{x.institution}</h6>
|
<h6 className="font-semibold">{item.institution}</h6>
|
||||||
<span className="text-xs">
|
<span className="text-xs">
|
||||||
<strong>{x.degree}</strong> {x.field}
|
<strong>{item.degree}</strong> {item.field}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col items-end text-right">
|
<div className="flex flex-col items-end text-right">
|
||||||
{x.startDate && (
|
{item.startDate && (
|
||||||
<h6 className="text-xs font-medium mb-1">
|
<h6 className="text-xs font-medium mb-1">
|
||||||
({formatDateRange({ startDate: x.startDate, endDate: x.endDate })})
|
(
|
||||||
|
{formatDateRange({
|
||||||
|
startDate: item.startDate,
|
||||||
|
endDate: item.endDate,
|
||||||
|
language: i18n.language,
|
||||||
|
})}
|
||||||
|
)
|
||||||
</h6>
|
</h6>
|
||||||
)}
|
)}
|
||||||
<span className="text-sm font-medium">{x.gpa}</span>
|
<span className="text-sm font-medium">{item.gpa}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{x.summary && (
|
{item.summary && (
|
||||||
<ReactMarkdown className="markdown mt-2 text-sm" source={x.summary} />
|
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
const EducationA = () => {
|
const EducationA = () => {
|
||||||
|
const { i18n } = useTranslation();
|
||||||
const { data, heading: Heading } = useContext(PageContext);
|
const { data, heading: Heading } = useContext(PageContext);
|
||||||
|
|
||||||
return safetyCheck(data.education) ? (
|
return safetyCheck(data.education) ? (
|
||||||
<div>
|
<div>
|
||||||
<Heading>{data.education.heading}</Heading>
|
<Heading>{data.education.heading}</Heading>
|
||||||
<div className="grid gap-4">
|
<div className="grid gap-4">
|
||||||
{data.education.items.map(EducationItem)}
|
{data.education.items.map((x) => (
|
||||||
|
<EducationItem key={x.id} item={x} i18n={i18n} />
|
||||||
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : null;
|
) : null;
|
||||||
|
|||||||
@ -5,42 +5,43 @@ import ReactMarkdown from 'react-markdown';
|
|||||||
import PageContext from '../../../contexts/PageContext';
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import { safetyCheck } from '../../../utils';
|
import { safetyCheck } from '../../../utils';
|
||||||
|
|
||||||
const ProjectItem = (x) => {
|
const ProjectItem = ({ item, i18n }) => (
|
||||||
const { i18n } = useTranslation();
|
<div>
|
||||||
|
|
||||||
return (
|
|
||||||
<div key={x.id}>
|
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
<div className="flex flex-col text-left mr-2">
|
<div className="flex flex-col text-left mr-2">
|
||||||
<h6 className="font-semibold">{x.title}</h6>
|
<h6 className="font-semibold">{item.title}</h6>
|
||||||
{x.link && (
|
{item.link && (
|
||||||
<a href={x.link} className="text-xs">
|
<a href={item.link} className="text-xs">
|
||||||
{x.link}
|
{item.link}
|
||||||
</a>
|
</a>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{x.date && (
|
{item.date && (
|
||||||
<h6 className="text-xs font-medium text-right">
|
<h6 className="text-xs font-medium text-right">
|
||||||
{dayjs(x.date)
|
{dayjs(item.date)
|
||||||
.locale(i18n.language.substr(0, 2))
|
.locale(i18n.language.substr(0, 2))
|
||||||
.format('MMMM YYYY')}
|
.format('MMMM YYYY')}
|
||||||
</h6>
|
</h6>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{x.summary && (
|
{item.summary && (
|
||||||
<ReactMarkdown className="markdown mt-2 text-sm" source={x.summary} />
|
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
|
||||||
|
|
||||||
const ProjectsA = () => {
|
const ProjectsA = () => {
|
||||||
|
const { i18n } = useTranslation();
|
||||||
const { data, heading: Heading } = useContext(PageContext);
|
const { data, heading: Heading } = useContext(PageContext);
|
||||||
|
|
||||||
return safetyCheck(data.projects) ? (
|
return safetyCheck(data.projects) ? (
|
||||||
<div>
|
<div>
|
||||||
<Heading>{data.projects.heading}</Heading>
|
<Heading>{data.projects.heading}</Heading>
|
||||||
<div className="grid gap-4">{data.projects.items.map(ProjectItem)}</div>
|
<div className="grid gap-4">
|
||||||
|
{data.projects.items.map((x) => (
|
||||||
|
<ProjectItem key={x.id} item={x} i18n={i18n} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : null;
|
) : null;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,34 +1,46 @@
|
|||||||
import React, { memo, useContext } from 'react';
|
import React, { memo, useContext } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import ReactMarkdown from 'react-markdown';
|
import ReactMarkdown from 'react-markdown';
|
||||||
import PageContext from '../../../contexts/PageContext';
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import { formatDateRange, safetyCheck } from '../../../utils';
|
import { formatDateRange, safetyCheck } from '../../../utils';
|
||||||
|
|
||||||
const WorkItem = (x) => (
|
const WorkItem = ({ item, i18n }) => (
|
||||||
<div key={x.id}>
|
<div>
|
||||||
<div className="flex justify-between items-center">
|
<div className="flex justify-between items-center">
|
||||||
<div className="flex flex-col text-left mr-2">
|
<div className="flex flex-col text-left mr-2">
|
||||||
<h6 className="font-semibold">{x.company}</h6>
|
<h6 className="font-semibold">{item.company}</h6>
|
||||||
<span className="text-xs">{x.position}</span>
|
<span className="text-xs">{item.position}</span>
|
||||||
</div>
|
</div>
|
||||||
{x.startDate && (
|
{item.startDate && (
|
||||||
<h6 className="text-xs font-medium text-right">
|
<h6 className="text-xs font-medium text-right">
|
||||||
({formatDateRange({ startDate: x.startDate, endDate: x.endDate })})
|
(
|
||||||
|
{formatDateRange({
|
||||||
|
startDate: item.startDate,
|
||||||
|
endDate: item.endDate,
|
||||||
|
language: i18n.language,
|
||||||
|
})}
|
||||||
|
)
|
||||||
</h6>
|
</h6>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{x.summary && (
|
{item.summary && (
|
||||||
<ReactMarkdown className="markdown mt-2 text-sm" source={x.summary} />
|
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
const WorkA = () => {
|
const WorkA = () => {
|
||||||
|
const { i18n } = useTranslation();
|
||||||
const { data, heading: Heading } = useContext(PageContext);
|
const { data, heading: Heading } = useContext(PageContext);
|
||||||
|
|
||||||
return safetyCheck(data.work) ? (
|
return safetyCheck(data.work) ? (
|
||||||
<div>
|
<div>
|
||||||
<Heading>{data.work.heading}</Heading>
|
<Heading>{data.work.heading}</Heading>
|
||||||
<div className="grid gap-4">{data.work.items.map(WorkItem)}</div>
|
<div className="grid gap-4">
|
||||||
|
{data.work.items.map((x) => (
|
||||||
|
<WorkItem key={x.id} item={x} i18n={i18n} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
) : null;
|
) : null;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -22,15 +22,13 @@ export const isFileImage = (file) => {
|
|||||||
return file && acceptedImageTypes.includes(file.type);
|
return file && acceptedImageTypes.includes(file.type);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const formatDateRange = ({ startDate, endDate }) => {
|
export const formatDateRange = ({ startDate, endDate, language }) => {
|
||||||
const { i18n } = useTranslation();
|
|
||||||
|
|
||||||
const start = `${dayjs(startDate)
|
const start = `${dayjs(startDate)
|
||||||
.locale(i18n.language.substr(0, 2))
|
.locale(language.substr(0, 2))
|
||||||
.format('MMMM YYYY')}`;
|
.format('MMMM YYYY')}`;
|
||||||
|
|
||||||
const end = dayjs(endDate).isValid()
|
const end = dayjs(endDate).isValid()
|
||||||
? `${dayjs(endDate).locale(i18n.language.substr(0, 2)).format('MMMM YYYY')}`
|
? `${dayjs(endDate).locale(language.substr(0, 2)).format('MMMM YYYY')}`
|
||||||
: 'Present';
|
: 'Present';
|
||||||
|
|
||||||
return `${start} - ${end}`;
|
return `${start} - ${end}`;
|
||||||
|
|||||||
Reference in New Issue
Block a user