From eeed844d7845465f435719c783e8f9a73ea1b9b2 Mon Sep 17 00:00:00 2001 From: Vitor Capretz Date: Sat, 12 Jun 2021 14:38:31 +0200 Subject: [PATCH 1/3] remove moment as step 1 of migration to lexon Signed-off-by: Vitor Capretz --- plugins/circleci/package.json | 1 - .../lib/ActionOutput/ActionOutput.tsx | 10 +++------- yarn.lock | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 3091996034..a7cd5f6b84 100644 --- a/plugins/circleci/package.json +++ b/plugins/circleci/package.json @@ -41,7 +41,6 @@ "circleci-api": "^4.0.0", "dayjs": "^1.9.4", "lodash": "^4.17.15", - "moment": "^2.25.3", "react": "^16.13.1", "react-dom": "^16.13.1", "react-lazylog": "^4.5.2", diff --git a/plugins/circleci/src/components/BuildWithStepsPage/lib/ActionOutput/ActionOutput.tsx b/plugins/circleci/src/components/BuildWithStepsPage/lib/ActionOutput/ActionOutput.tsx index e446c002f6..dcc5e36e94 100644 --- a/plugins/circleci/src/components/BuildWithStepsPage/lib/ActionOutput/ActionOutput.tsx +++ b/plugins/circleci/src/components/BuildWithStepsPage/lib/ActionOutput/ActionOutput.tsx @@ -24,11 +24,10 @@ import { import { makeStyles } from '@material-ui/core/styles'; import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import { BuildStepAction } from 'circleci-api'; -import moment from 'moment'; import React, { Suspense, useEffect, useState } from 'react'; +import { durationHumanized } from '../../../../util'; const LazyLog = React.lazy(() => import('react-lazylog/build/LazyLog')); -moment.relativeTimeThreshold('ss', 0); const useStyles = makeStyles({ accordionDetails: { padding: 0, @@ -66,11 +65,8 @@ export const ActionOutput = ({ }); }, [url]); - const timeElapsed = moment - .duration( - moment(action.end_time || moment()).diff(moment(action.start_time)), - ) - .humanize(); + const timeElapsed = durationHumanized(action.start_time, action.end_time); + return ( Date: Sat, 12 Jun 2021 14:39:20 +0200 Subject: [PATCH 2/3] Create changeset Signed-off-by: Vitor Capretz --- .changeset/mean-moose-sneeze.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/mean-moose-sneeze.md diff --git a/.changeset/mean-moose-sneeze.md b/.changeset/mean-moose-sneeze.md new file mode 100644 index 0000000000..42982c802c --- /dev/null +++ b/.changeset/mean-moose-sneeze.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-circleci': patch +--- + +Remove moment as part 1 of migration to lexon From fccbc7d1b64d13771b56b1c24102896ea826f6f8 Mon Sep 17 00:00:00 2001 From: Vitor Capretz Date: Sat, 12 Jun 2021 15:24:16 +0200 Subject: [PATCH 3/3] Fix NaN bug with null end_time Signed-off-by: Vitor Capretz --- .changeset/mean-moose-sneeze.md | 2 +- plugins/circleci/src/util/time.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.changeset/mean-moose-sneeze.md b/.changeset/mean-moose-sneeze.md index 42982c802c..2b0d66ffb2 100644 --- a/.changeset/mean-moose-sneeze.md +++ b/.changeset/mean-moose-sneeze.md @@ -2,4 +2,4 @@ '@backstage/plugin-circleci': patch --- -Remove moment as part 1 of migration to lexon +Remove moment as part 1 of migration to `lexon` diff --git a/plugins/circleci/src/util/time.ts b/plugins/circleci/src/util/time.ts index 8756333a87..4e9ca0b238 100644 --- a/plugins/circleci/src/util/time.ts +++ b/plugins/circleci/src/util/time.ts @@ -31,5 +31,7 @@ export function durationHumanized( startTime: DateTimeObject, endTime: DateTimeObject, ) { - return dayjs.duration(dayjs(startTime).diff(dayjs(endTime))).humanize(); + return dayjs + .duration(dayjs(startTime).diff(dayjs(endTime || new Date()))) + .humanize(); }