Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: Upgrade date-fns to v2.29.3 #2522

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@
"cozy-stack-client": "33.2.0",
"cozy-ui": "^75.4.0",
"d3": "5.11.0",
"date-fns": "1.30.1",
"date-fns": "2.29.3",
"detect-node": "2.0.4",
"diacritics": "^1.3.0",
"element-scroll-polyfill": "1.0.1",
Expand Down
11 changes: 6 additions & 5 deletions scripts/visualizer/static/form.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { format, parse } from 'date-fns'
import frLocale from 'date-fns/locale/fr'
import format from 'date-fns/format'
import parseISO from 'date-fns/parseISO'
import { fr as frLocale } from 'date-fns/locale'

const serialize = formData => {
const res = {}
Expand All @@ -10,13 +11,13 @@ const serialize = formData => {
}

function formatDate(d) {
return `<span class='date'>${format(parse(d), 'D MMM YYYY', {
return `<span class='date'>${format(parseISO(d), 'd MMM yyyy', {
locale: frLocale
})}</span>`
}

const comp = fn => {
return function(a, b) {
return function (a, b) {
const resa = fn(a)
const resb = fn(b)
if (resa == resb) {
Expand Down Expand Up @@ -108,7 +109,7 @@ const renderText = results => {
)
}

const renderResults = function(results) {
const renderResults = function (results) {
results = JSON.parse(results)
const node = document.querySelector('#results')
node.innerHTML = `${renderText(results)}`
Expand Down
7 changes: 4 additions & 3 deletions src/components/SelectDates/SelectDates.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import findLast from 'lodash/findLast'
import find from 'lodash/find'
import uniqBy from 'lodash/uniqBy'

import { format, parse } from 'date-fns'
import format from 'date-fns/format'
import parse from 'date-fns/parse'

import { translate } from 'cozy-ui/transpiled/react/I18n'
import withBreakpoints from 'cozy-ui/transpiled/react/helpers/withBreakpoints'
Expand Down Expand Up @@ -147,8 +148,8 @@ class SelectDates extends PureComponent {
// create options
const { f, options } = this.props
return options.map(option => {
const date = parse(option.yearMonth, 'YYYY-MM')
const year = format(date, 'YYYY')
const date = parse(option.yearMonth, 'yyyy-MM', new Date())
const year = format(date, 'yyyy')
return {
value: option.yearMonth,
year,
Expand Down
6 changes: 3 additions & 3 deletions src/components/SelectDates/utils.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import startOfMonth from 'date-fns/start_of_month'
import addMonths from 'date-fns/add_months'
import isSameDay from 'date-fns/is_same_day'
import startOfMonth from 'date-fns/startOfMonth'
import addMonths from 'date-fns/addMonths'
import isSameDay from 'date-fns/isSameDay'

const rangedSome = (arr, predicate, start, end) => {
const realStart = Math.max(start, 0)
Expand Down
4 changes: 2 additions & 2 deletions src/doctypes.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import CozyClient, {
Q,
HasMany
} from 'cozy-client'
import subYears from 'date-fns/sub_years'
import subYears from 'date-fns/subYears'
import format from 'date-fns/format'
import flag from 'cozy-flags'

Expand Down Expand Up @@ -305,7 +305,7 @@ export const transactionsConn = {
}

export const makeBalanceTransactionsConn = () => {
const fromDate = format(subYears(new Date(), 1), 'YYYY-MM-DD')
const fromDate = format(subYears(new Date(), 1), 'yyyy-MM-dd')
return {
as: 'home/transactions',
fetchPolicy: neverReload,
Expand Down
9 changes: 6 additions & 3 deletions src/ducks/account/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ import compose from 'lodash/flowRight'
import overEvery from 'lodash/overEvery'
import sumBy from 'lodash/sumBy'
import get from 'lodash/get'
import differenceInCalendarDays from 'date-fns/differenceInCalendarDays'
import isAfter from 'date-fns/isAfter'
import subMonths from 'date-fns/subMonths'
import parseISO from 'date-fns/parseISO'

import { models } from 'cozy-client'
import {
Expand All @@ -21,7 +25,6 @@ import {
isProfessionalExpense,
getCategoryIdFromName
} from 'ducks/categories/helpers'
import { differenceInCalendarDays, isAfter, subMonths } from 'date-fns'
import { ACCOUNT_DOCTYPE, CONTACT_DOCTYPE } from 'doctypes'

const {
Expand Down Expand Up @@ -130,7 +133,7 @@ export const getAccountUpdatedAt = (account, jobTrigger) => {
const updatedAtTrigger = triggerStates.getLastSuccess(jobTrigger)
const updateDate = updatedAtTrigger || updatedAtAccount
const updateDistance = updateDate
? differenceInCalendarDays(today, updateDate)
? differenceInCalendarDays(today, parseISO(updateDate))
: null

const updateDistanceInWords = distanceInWords(updateDistance)
Expand Down Expand Up @@ -160,7 +163,7 @@ const buildReimbursementsVirtualAccount = specs => transactions => {
const combinedFilter = overEvery(
[
specs.filter,
compose(isWithin6Months(), getDate),
compose(isWithin6Months(), parseISO, getDate),
hasPendingReimbursement
].filter(Boolean)
)
Expand Down
4 changes: 3 additions & 1 deletion src/ducks/account/helpers.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ describe('getAccountUpdatedAt', () => {
})

const jobTrigger = triggersFixtures[1].attributes
const account = { cozyMetadata: { updatedAt: new Date(2019, 0, 10) } }
const account = {
cozyMetadata: { updatedAt: new Date(2019, 0, 10).toISOString() }
}
it('should work when jobTrigger does not exist', () => {
expect(getAccountUpdatedAt(account, null)).toEqual({
params: { nbDays: 2 },
Expand Down
6 changes: 4 additions & 2 deletions src/ducks/balance/History.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { format as formatDate, subYears, isAfter } from 'date-fns'
import formatDate from 'date-fns/format'
import subYears from 'date-fns/subYears'
import isAfter from 'date-fns/isAfter'
import memoize from 'lodash/memoize'
import max from 'lodash/max'
import groupBy from 'lodash/groupBy'
Expand Down Expand Up @@ -97,7 +99,7 @@ class History extends Component {

const data = this.getChartData()
const nbTicks = uniq(
Object.keys(groupBy(data, i => formatDate(i.x, 'YYYY-MM')))
Object.keys(groupBy(data, i => formatDate(i.x, 'yyyy-MM')))
).length

const intervalBetweenMonths = isMobile ? 52 : 89
Expand Down
27 changes: 13 additions & 14 deletions src/ducks/balance/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ import uniq from 'lodash/uniq'
import sumBy from 'lodash/sumBy'
import groupBy from 'lodash/groupBy'
import flatten from 'lodash/flatten'
import {
min as getEarliestDate,
isAfter as isDateAfter,
isEqual as isDateEqual,
subDays,
parse as parseDate,
format as formatDate,
isValid as isDateValid
} from 'date-fns'
import getEarliestDate from 'date-fns/min'
import isDateAfter from 'date-fns/isAfter'
import isDateEqual from 'date-fns/isEqual'
import subDays from 'date-fns/subDays'
import parseISO from 'date-fns/parseISO'
import formatDate from 'date-fns/format'
import isDateValid from 'date-fns/isValid'

import { getAccountBalance } from 'ducks/account/helpers'
import { isReimbursementsVirtualGroup } from 'ducks/groups/helpers'

Expand All @@ -21,23 +20,23 @@ import { isReimbursementsVirtualGroup } from 'ducks/groups/helpers'
* @param {Object[]} transactions - The transactions of the account
* @param {Date} to - The date to which you want the history
* @param {Date} from - The date from you want the history
* @returns {Object} The balance history indexed by dates (YYYY-MM-DD)
* @returns {Object} The balance history indexed by dates (yyyy-MM-dd)
*/
export const getBalanceHistory = (account, transactions, to, from) => {
let clonedFrom = from
const DATE_FORMAT = 'YYYY-MM-DD'
const DATE_FORMAT = 'yyyy-MM-dd'

const transactionsByDate = groupBy(transactions, t =>
formatDate(
// do not take .realisationDate as we are interested in the debit date
t.date,
parseISO(t.date),
DATE_FORMAT
)
)

if (!clonedFrom) {
const earliestTransactionDate = getEarliestDate(
...Object.keys(transactionsByDate)
Object.keys(transactionsByDate).map(parseISO)
)
clonedFrom = isDateValid(earliestTransactionDate)
? earliestTransactionDate
Expand Down Expand Up @@ -147,7 +146,7 @@ export const balanceHistoryToChartData = history => {
const dates = getAllDates([history]).sort()

const data = dates.map(date => ({
x: parseDate(date),
x: parseISO(date),
y: history[date]
}))

Expand Down
31 changes: 16 additions & 15 deletions src/ducks/balance/helpers.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import {
balanceHistoryToChartData,
getPanelsState
} from './helpers'
import { format as formatDate, parse as parseDate } from 'date-fns'
import formatDate from 'date-fns/format'
import parseISO from 'date-fns/parseISO'

describe('filterTransactionsByAccount', () => {
describe('With included relationship', () => {
Expand Down Expand Up @@ -56,7 +57,7 @@ describe('getBalanceHistory', () => {
const account = { _id: 'test', balance: 8000 }
const transactions = []
const to = new Date()
const date = formatDate(to, 'YYYY-MM-DD')
const date = formatDate(to, 'yyyy-MM-dd')
const history = getBalanceHistory(account, transactions, to)

expect(Object.keys(history)).toEqual([date])
Expand All @@ -66,8 +67,8 @@ describe('getBalanceHistory', () => {
it('should return the same balance for all dates if there is no transaction and from is specified', () => {
const account = { _id: 'test', balance: 8000 }
const transactions = []
const to = parseDate('2018-06-26')
const from = parseDate('2018-06-24')
const to = parseISO('2018-06-26')
const from = parseISO('2018-06-24')
const history = getBalanceHistory(account, transactions, to, from)

expect(history).toEqual({
Expand All @@ -91,7 +92,7 @@ describe('getBalanceHistory', () => {
amount: -15
}
]
const to = parseDate('2018-06-27')
const to = parseISO('2018-06-27')
const history = getBalanceHistory(account, transactions, to)

expect(history).toEqual({
Expand All @@ -112,8 +113,8 @@ describe('getBalanceHistory', () => {
{ date: '2018-06-23T00:00:00Z', amount: -300 },
{ date: '2018-06-22T00:00:00Z', amount: -15 }
]
const to = parseDate('2018-06-26')
const from = parseDate('2018-06-24')
const to = parseISO('2018-06-26')
const from = parseISO('2018-06-24')
const history = getBalanceHistory(account, transactions, to, from)

expect(history).toEqual({
Expand Down Expand Up @@ -165,8 +166,8 @@ describe('getBalanceHistories', () => {
getBalanceHistories(
[],
[],
parseDate('2019-01-02'),
parseDate('2019-01-01')
parseISO('2019-01-02'),
parseISO('2019-01-01')
)
).toEqual({
__no_accounts__: {
Expand All @@ -184,7 +185,7 @@ describe('getBalanceHistories', () => {
]

const transactions = []
const to = parseDate('2018-06-26')
const to = parseISO('2018-06-26')
const histories = getBalanceHistories(accounts, transactions, to)

expect(Object.keys(histories)).toEqual(['acc1', 'acc2', 'acc3'])
Expand All @@ -199,8 +200,8 @@ describe('getBalanceHistories', () => {

const transactions = []

const to = parseDate('2018-06-26')
const from = parseDate('2018-06-24')
const to = parseISO('2018-06-26')
const from = parseISO('2018-06-24')

const histories = getBalanceHistories(accounts, transactions, to, from)

Expand Down Expand Up @@ -234,8 +235,8 @@ describe('getBalanceHistories', () => {
{ account: 'acc2', amount: 1000, date: '2018-11-20' }
]

const to = parseDate('2018-11-22')
const from = parseDate('2018-11-20')
const to = parseISO('2018-11-22')
const from = parseISO('2018-11-20')

const histories = getBalanceHistories(accounts, transactions, to, from)

Expand All @@ -258,7 +259,7 @@ describe('balanceHistoryToChartData', () => {
const history = { '2018-11-22': 1000, '2018-11-21': 500, '2018-11-20': 600 }
const expected = ['2018-11-20', '2018-11-21', '2018-11-22']
const chartData = balanceHistoryToChartData(history)
const dates = chartData.map(item => formatDate(item.x, 'YYYY-MM-DD'))
const dates = chartData.map(item => formatDate(item.x, 'yyyy-MM-dd'))

expect(dates).toEqual(expected)
})
Expand Down
3 changes: 2 additions & 1 deletion src/ducks/billsMatching/Linker/Linker.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const omit = require('lodash/omit')
const max = require('lodash/max')
const geco = require('geco')
const format = require('date-fns/format')
const parseISO = require('date-fns/parseISO')
const { getBillDate, log } = require('../utils')
const { getTracker } = require('ducks/tracking/node')
const { Transaction, Bill } = require('models')
Expand Down Expand Up @@ -558,7 +559,7 @@ class Linker {
groupBills(bills) {
const billsToGroup = bills.filter(bill => this.billCanBeGrouped(bill))
const groups = groupBy(billsToGroup, bill => {
return [format(getBillDate(bill), 'YYYY-MM-DD'), bill.vendor]
return [format(parseISO(getBillDate(bill)), 'yyyy-MM-dd'), bill.vendor]
})

return Object.values(groups)
Expand Down
Loading