diff --git a/fittrackee_client/src/actions/activities.js b/fittrackee_client/src/actions/activities.js index 04e02b81..80785f8e 100644 --- a/fittrackee_client/src/actions/activities.js +++ b/fittrackee_client/src/actions/activities.js @@ -1,5 +1,3 @@ -import { parse } from 'date-fns' - import FitTrackeeGenericApi from '../fitTrackeeApi' import { history } from '../index' import { formatChartData } from '../utils/activities' @@ -177,13 +175,6 @@ export const getMonthActivities = (from, to) => dispatch => .getData('activities', { from, to, order: 'asc', per_page: 100 }) .then(ret => { if (ret.status === 'success') { - if (ret.data.activities.length > 0) { - for (let i = 0; i < ret.data.activities.length; i++) { - ret.data.activities[i].activity_date = parse( - ret.data.activities[i].activity_date - ) - } - } dispatch(updateCalendar(ret.data.activities)) } else { dispatch(setError(`activities: ${ret.message}`)) diff --git a/fittrackee_client/src/components/Activities/ActivitiesList.jsx b/fittrackee_client/src/components/Activities/ActivitiesList.jsx index 589670bf..69e9e8c4 100644 --- a/fittrackee_client/src/components/Activities/ActivitiesList.jsx +++ b/fittrackee_client/src/components/Activities/ActivitiesList.jsx @@ -43,7 +43,7 @@ export default class ActivitiesList extends React.PureComponent { {format( getDateWithTZ(activity.activity_date, user.timezone), - 'DD/MM/YYYY HH:mm' + 'dd/MM/yyyy HH:mm' )} diff --git a/fittrackee_client/src/components/Activity/ActivityForms/FormWithoutGpx.jsx b/fittrackee_client/src/components/Activity/ActivityForms/FormWithoutGpx.jsx index f61feb7f..c5014f0d 100644 --- a/fittrackee_client/src/components/Activity/ActivityForms/FormWithoutGpx.jsx +++ b/fittrackee_client/src/components/Activity/ActivityForms/FormWithoutGpx.jsx @@ -13,7 +13,7 @@ function FormWithoutGpx (props) { if (activity) { const activityDateTime = formatActivityDate( activity.activity_date, - 'YYYY-MM-DD' + 'yyyy-MM-dd' ) activityDate = activityDateTime.activity_date activityTime = activityDateTime.activity_time diff --git a/fittrackee_client/src/components/Common/Stats/index.jsx b/fittrackee_client/src/components/Common/Stats/index.jsx index 201f23ca..565fb3e2 100644 --- a/fittrackee_client/src/components/Common/Stats/index.jsx +++ b/fittrackee_client/src/components/Common/Stats/index.jsx @@ -49,7 +49,7 @@ export default connect( }), dispatch => ({ loadActivities: (userId, data) => { - const dateFormat = 'YYYY-MM-DD' + const dateFormat = 'yyyy-MM-dd' const params = { from: format(data.start, dateFormat), to: format(data.end, dateFormat), diff --git a/fittrackee_client/src/components/Dashboard/ActivityCard.jsx b/fittrackee_client/src/components/Dashboard/ActivityCard.jsx index 7acac00e..9932d58a 100644 --- a/fittrackee_client/src/components/Dashboard/ActivityCard.jsx +++ b/fittrackee_client/src/components/Dashboard/ActivityCard.jsx @@ -15,7 +15,7 @@ export default function ActivityCard (props) { .map(sport => sport.label)} -{' '} {format( getDateWithTZ(activity.activity_date, user.timezone), - 'DD/MM/YYYY HH:mm' + 'dd/MM/yyyy HH:mm' )} diff --git a/fittrackee_client/src/components/Dashboard/Calendar.jsx b/fittrackee_client/src/components/Dashboard/Calendar.jsx index a3af8034..446c189a 100644 --- a/fittrackee_client/src/components/Dashboard/Calendar.jsx +++ b/fittrackee_client/src/components/Dashboard/Calendar.jsx @@ -1,6 +1,9 @@ // eslint-disable-next-line max-len // source: https://blog.flowandform.agency/create-a-custom-calendar-in-react-3df1bfd0b728 -import dateFns from 'date-fns' +import { + addDays, addMonths, endOfMonth, endOfWeek, format, isSameDay, isSameMonth, + startOfMonth, startOfWeek, subMonths +} from 'date-fns' import React, { Fragment } from 'react' import { connect } from 'react-redux' import { Link } from 'react-router-dom' @@ -10,11 +13,11 @@ import { getDateWithTZ } from '../../utils' import { recordsLabels } from '../../utils/activities' const getStartAndEndMonth = date => { - const monthStart = dateFns.startOfMonth(date) - const monthEnd = dateFns.endOfMonth(date) + const monthStart = startOfMonth(date) + const monthEnd = endOfMonth(date) return { - start: dateFns.startOfWeek(monthStart), - end: dateFns.endOfWeek(monthEnd), + start: startOfWeek(monthStart), + end: endOfWeek(monthEnd), } } @@ -35,7 +38,7 @@ class Calendar extends React.Component { } renderHeader() { - const dateFormat = 'MMM YYYY' + const dateFormat = 'MMM yyyy' return (
this.handlePrevMonth()}> @@ -46,7 +49,7 @@ class Calendar extends React.Component {
- {dateFns.format(this.state.currentMonth, dateFormat)} + {format(this.state.currentMonth, dateFormat)}
this.handleNextMonth()}> @@ -67,7 +70,7 @@ class Calendar extends React.Component { for (let i = 0; i < 7; i++) { days.push(
- {dateFns.format(dateFns.addDays(startDate, i), dateFormat)} + {format(addDays(startDate, i), dateFormat)}
) } @@ -78,7 +81,7 @@ class Calendar extends React.Component { const { activities, user } = this.props if (activities) { return activities - .filter(act => dateFns.isSameDay( + .filter(act => isSameDay( getDateWithTZ(act.activity_date, user.timezone), day )) @@ -90,7 +93,7 @@ class Calendar extends React.Component { const { currentMonth, startDate, endDate } = this.state const { sports } = this.props - const dateFormat = 'D' + const dateFormat = 'd' const rows = [] let days = [] @@ -99,9 +102,9 @@ class Calendar extends React.Component { while (day <= endDate) { for (let i = 0; i < 7; i++) { - formattedDate = dateFns.format(day, dateFormat) + formattedDate = format(day, dateFormat) const dayActivities = this.filterActivities(day) - const isDisabled = dateFns.isSameMonth(day, currentMonth) + const isDisabled = isSameMonth(day, currentMonth) ? '' : 'disabled' days.push( @@ -139,7 +142,7 @@ class Calendar extends React.Component { ))}
) - day = dateFns.addDays(day, 1) + day = addDays(day, 1) } rows.push(
@@ -162,12 +165,12 @@ class Calendar extends React.Component { } handleNextMonth() { - const calendarDate = dateFns.addMonths(this.state.currentMonth, 1) + const calendarDate = addMonths(this.state.currentMonth, 1) this.updateStateDate(calendarDate) } handlePrevMonth() { - const calendarDate = dateFns.subMonths(this.state.currentMonth, 1) + const calendarDate = subMonths(this.state.currentMonth, 1) this.updateStateDate(calendarDate) } @@ -192,10 +195,10 @@ export default connect( }), dispatch => ({ loadMonthActivities: (start, end) => { - const dateFormat = 'YYYY-MM-DD' + const dateFormat = 'yyyy-MM-dd' dispatch(getMonthActivities( - dateFns.format(start, dateFormat), - dateFns.format(end, dateFormat), + format(start, dateFormat), + format(end, dateFormat), )) }, }) diff --git a/fittrackee_client/src/components/User/Profile.jsx b/fittrackee_client/src/components/User/Profile.jsx index 9d3c9733..13b885af 100644 --- a/fittrackee_client/src/components/User/Profile.jsx +++ b/fittrackee_client/src/components/User/Profile.jsx @@ -36,13 +36,13 @@ function Profile ({ message, onDeletePicture, onUploadPicture, user }) {

Email: {user.email}

Registration Date: { - format(new Date(user.created_at), 'DD/MM/YYYY HH:mm') + format(new Date(user.created_at), 'dd/MM/yyyy HH:mm') }

First Name: {user.first_name}

Last Name: {user.last_name}

Birth Date: {user.birth_date - ? format(new Date(user.birth_date), 'DD/MM/YYYY') + ? format(new Date(user.birth_date), 'dd/MM/yyyy') : '' }

diff --git a/fittrackee_client/src/components/User/ProfileEdit.jsx b/fittrackee_client/src/components/User/ProfileEdit.jsx index ae7d5ad7..7a307bba 100644 --- a/fittrackee_client/src/components/User/ProfileEdit.jsx +++ b/fittrackee_client/src/components/User/ProfileEdit.jsx @@ -32,7 +32,7 @@ class ProfileEdit extends React.Component { Object.keys(user).map(k => user[k] === null ? formData[k] = '' : k === 'birth_date' - ? formData[k] = format(new Date(user[k]), 'YYYY-MM-DD') + ? formData[k] = format(new Date(user[k]), 'yyyy-MM-DD') : formData[k] = user[k]) this.setState({ formData }) } diff --git a/fittrackee_client/src/utils/activities.js b/fittrackee_client/src/utils/activities.js index c8b797f7..f100309a 100644 --- a/fittrackee_client/src/utils/activities.js +++ b/fittrackee_client/src/utils/activities.js @@ -35,7 +35,7 @@ export const formatActivityDate = ( timeFormat = null, ) => { if (!dateFormat) { - dateFormat = 'DD/MM/YYYY' + dateFormat = 'yyyy/MM/dd' } if (!timeFormat) { timeFormat = 'HH:mm' diff --git a/fittrackee_client/src/utils/index.js b/fittrackee_client/src/utils/index.js index 6449b36a..584ad67e 100644 --- a/fittrackee_client/src/utils/index.js +++ b/fittrackee_client/src/utils/index.js @@ -56,6 +56,8 @@ export const getDateWithTZ = (date, tz) => { if (!date) { return '' } - const dt = DateTime.fromISO(format(date)).setZone(tz) - return parse(dt.toFormat('yyyy-MM-dd HH:mm:ss')) + const dt = DateTime.fromISO( + format(new Date(date), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx")).setZone(tz) + return parse( + dt.toFormat('yyyy-MM-dd HH:mm:ss'), 'yyyy-MM-dd HH:mm:ss', new Date()) } diff --git a/fittrackee_client/src/utils/stats.js b/fittrackee_client/src/utils/stats.js index e7d96003..b3396dff 100644 --- a/fittrackee_client/src/utils/stats.js +++ b/fittrackee_client/src/utils/stats.js @@ -8,9 +8,9 @@ import { const xAxisFormats = [ - { duration: 'week', dateFormat: 'YYYY-MM-DD', xAxis: 'DD/MM' }, - { duration: 'month', dateFormat: 'YYYY-MM', xAxis: 'MM/YYYY' }, - { duration: 'year', dateFormat: 'YYYY', xAxis: 'YYYY' }, + { duration: 'week', dateFormat: 'yyyy-MM-dd', xAxis: 'dd/MM' }, + { duration: 'month', dateFormat: 'yyyy-MM', xAxis: 'MM/yyyy' }, + { duration: 'year', dateFormat: 'yyyy', xAxis: 'yyyy' }, ] export const formatDuration = (totalSeconds, formatWithDay = false) => { diff --git a/package.json b/package.json index a8434f34..87e1a942 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "dependencies": { "@mapbox/togeojson": "^0.16.0", "connected-react-router": "^6.5.0", - "date-fns": "^1.30.1", + "date-fns": "^2.0.1", "history": "^4.9.0", "leaflet": "^1.5.1", "luxon": "^1.16.1", diff --git a/yarn.lock b/yarn.lock index 6c381b96..83353128 100644 --- a/yarn.lock +++ b/yarn.lock @@ -756,7 +756,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.3.2" -"@babel/runtime@7.5.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": +"@babel/runtime@7.5.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== @@ -1207,9 +1207,9 @@ integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== "@types/lodash@^4.14.72": - version "4.14.137" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.137.tgz#8a4804937dc6462274ffcc088df8f14fc1b368e2" - integrity sha512-g4rNK5SRKloO+sUGbuO7aPtwbwzMgjK+bm9BBhLD7jGUiGR7zhwYEhSln/ihgYQBeIJ5j7xjyaYzrWTcu3UotQ== + version "4.14.138" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.138.tgz#34f52640d7358230308344e579c15b378d91989e" + integrity sha512-A4uJgHz4hakwNBdHNPdxOTkYmXNgmUAKLbXZ7PKGslgeV0Mb8P3BlbYfPovExek1qnod4pDfRbxuzcVs3dlFLg== "@types/minimatch@*": version "3.0.3" @@ -1506,9 +1506,9 @@ address@1.1.0: integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== address@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.1.tgz#9483d6464788dee73e9a0f9f5d57bedf429b2a70" - integrity sha512-srclZEseI6OB0MgWYWuYpr2F5fHMxh5lgWF72CeUFm5QgJyviPA64Q7PzJdBQkFCJibEycqsZ5b9L0l/J8SlyQ== + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== adjust-sourcemap-loader@2.0.0: version "2.0.0" @@ -3903,10 +3903,10 @@ data-urls@^1.0.0, data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-fns@^1.30.1: - version "1.30.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== +date-fns@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.1.tgz#c5f30e31d3294918e6b6a82753a4e719120e203d" + integrity sha512-C14oTzTZy8DH1Eq8N78owrCWvf3+cnJw88BTK/N3DYWVxDJuJzPaNdplzYxDYuuXXGvqBcO4Vy5SOrwAooXSWw== date-now@^0.1.4: version "0.1.4" @@ -3920,7 +3920,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6. dependencies: ms "2.0.0" -debug@^3.2.5, debug@^3.2.6: +debug@^3.0.0, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -3974,9 +3974,16 @@ deep-eql@^3.0.1: type-detect "^4.0.0" deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + version "1.1.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745" + integrity sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" deep-extend@^0.6.0: version "0.6.0" @@ -4279,9 +4286,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.47: - version "1.3.240" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.240.tgz#8e278c4d2b3a96fa865725589277c05c8a1e9584" - integrity sha512-cMlX5lQpTzLZI0CsC4Mt2sl6z3jz1RvN/8rIqqwqWy3LYCnu8TUf5o8sqST44nP6zIEdjZb0opXq6qswE9o9pA== + version "1.3.243" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.243.tgz#32f64f00fa121532d1d49f5c0a15fd77f52ae889" + integrity sha512-+edFdHGxLSmAKftXa5xZIg19rHkkJLiW+tRu0VMVG3RKztyeKX7d3pXf707lS6+BxB9uBun3RShbxCI1PtBAgQ== elegant-spinner@^1.0.1: version "1.0.1" @@ -5015,11 +5022,11 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== + version "1.8.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.8.1.tgz#24804f9eaab67160b0e840c085885d606371a35b" + integrity sha512-micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw== dependencies: - debug "^3.2.6" + debug "^3.0.0" for-in@^0.1.3: version "0.1.8" @@ -5917,6 +5924,11 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -7760,7 +7772,12 @@ object-hash@^1.1.4, object-hash@^1.3.1: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== -object-keys@^1.0.11, object-keys@^1.0.12: +object-is@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" + integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -9284,7 +9301,7 @@ react-helmet@^6.0.0-beta: react-fast-compare "^2.0.2" react-side-effect "^1.1.0" -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: version "16.9.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== @@ -9305,16 +9322,16 @@ react-lifecycles-compat@^3.0.4: integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-redux@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.0.tgz#72af7cf490a74acdc516ea9c1dd80e25af9ea0b2" - integrity sha512-hyu/PoFK3vZgdLTg9ozbt7WF3GgX5+Yn3pZm5/96/o4UueXA+zj08aiSC9Mfj2WtD1bvpIb3C5yvskzZySzzaw== + version "7.1.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.1.tgz#ce6eee1b734a7a76e0788b3309bf78ff6b34fa0a" + integrity sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg== dependencies: - "@babel/runtime" "^7.4.5" + "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" invariant "^2.2.4" loose-envify "^1.4.0" prop-types "^15.7.2" - react-is "^16.8.6" + react-is "^16.9.0" react-resize-detector@^2.3.0: version "2.3.0" @@ -9663,9 +9680,16 @@ regex-parser@2.2.10: integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== regexp-tree@^0.1.6: - version "0.1.11" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" - integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== + version "0.1.12" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.12.tgz#28eaaa6e66eeb3527c15108a3ff740d9e574e420" + integrity sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ== + +regexp.prototype.flags@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" + integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== + dependencies: + define-properties "^1.1.2" regexpp@^2.0.1: version "2.0.1" @@ -10023,9 +10047,9 @@ sane@^4.0.3: walker "~1.0.5" sanitize-filename@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.2.tgz#01b4fc8809f14e9d22761fe70380fe7f3f902185" - integrity sha512-cmTzND7RMxUB+f7gI+4+KAVHWEg0lfXvQJdko+FXDP5bNbGIdx4KMP5pX6lv5jfT9jSf6OBbjyxjFtZQwYA/ig== + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== dependencies: truncate-utf8-bytes "^1.0.0" @@ -11130,11 +11154,16 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-pnp@1.1.2, ts-pnp@^1.1.2: +ts-pnp@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== +ts-pnp@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" + integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== + tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"