diff --git a/assets/js/src/counter.js b/assets/js/src/counter.js index 6bb55bbe..1835fec8 100644 --- a/assets/js/src/counter.js +++ b/assets/js/src/counter.js @@ -1,5 +1,4 @@ import fetch from "cross-fetch"; -import numeral from "numeral"; import canonicalUrl from "get-canonical-url"; import urlParse from "url-parse"; @@ -31,7 +30,7 @@ if (wrapper && canonical) { .then((response) => response.json()) .then((data) => { // pretty number and units - const hitsComma = numeral(data.hits).format("0,0"); + const hitsComma = data.hits.toLocaleString("en-US"); const hitsPlural = data.hits === 1 ? "view" : "views"; wrapper.title = `${hitsComma} ${hitsPlural}`; diff --git a/assets/js/src/projects.js b/assets/js/src/projects.js index 381edef4..f0e70d85 100644 --- a/assets/js/src/projects.js +++ b/assets/js/src/projects.js @@ -2,8 +2,9 @@ import fetch from "cross-fetch"; import { render } from "lit-html"; import { html } from "lit-html/static.js"; import { ifDefined } from "lit-html/directives/if-defined.js"; -import numeral from "numeral"; -import { format, formatDistanceToNowStrict, parseJSON } from "date-fns"; +import dayjs from "dayjs"; +import dayjsLocalizedFormat from "dayjs/plugin/localizedFormat.js"; +import dayjsRelativeTime from "dayjs/plugin/relativeTime.js"; import twemoji from "twemoji"; // API endpoint (sort by stars, limit to 12) @@ -14,6 +15,9 @@ const PROJECTS_ENDPOINT = "/api/projects/?top&limit=12"; const wrapper = document.getElementById("github-cards"); if (wrapper) { + dayjs.extend(dayjsLocalizedFormat); + dayjs.extend(dayjsRelativeTime); + // this is a total sh*tshow, but safer than setting one big string via innerHTML :) // TODO: consider making this a real LitElement? const template = (repo) => html` @@ -34,7 +38,7 @@ if (wrapper) { ${repo.stars > 0 ? html`
- ${numeral(repo.stars).format("0,0")} + ${repo.stars.toLocaleString("en-US")}
` : null} ${repo.forks > 0 ? html`
- ${numeral(repo.forks).format("0,0")} + ${repo.forks.toLocaleString("en-US")}
` : null} -
- - Updated ${formatDistanceToNowStrict(parseJSON(repo.updatedAt), { addSuffix: true })} - +
+ Updated ${dayjs(repo.updatedAt).fromNow()}
`; diff --git a/package.json b/package.json index 145ecd28..09093533 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "clipboard": "^2.0.8", "cross-fetch": "^3.1.4", "dark-mode-switcheroo": "^0.9.1", - "date-fns": "^2.25.0", + "dayjs": "^1.10.7", "fast-xml-parser": "^3.21.0", "faunadb": "^4.4.1", "get-canonical-url": "^1.0.1", @@ -45,7 +45,6 @@ "lit-html": "^2.0.1", "modern-normalize": "^1.1.0", "node-fetch": "^3.0.0", - "numeral": "^2.0.6", "query-string": "^7.0.1", "simple-anchor": "^1.0.3", "trim-newlines": "^4.0.2", diff --git a/yarn.lock b/yarn.lock index 28d8c033..d92f43e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3007,10 +3007,10 @@ data-uri-to-buffer@^3.0.1: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== -date-fns@^2.25.0: - version "2.25.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.25.0.tgz#8c5c8f1d958be3809a9a03f4b742eba894fc5680" - integrity sha512-ovYRFnTrbGPD4nqaEqescPEv1mNwvt+UTqI3Ay9SzNtey9NZnYu6E2qCcBBgJ6/2VF1zGGygpyTDITqpQQ5e+w== +dayjs@^1.10.7: + version "1.10.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" + integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" @@ -7123,11 +7123,6 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -numeral@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" - integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY= - nyc@^15.1.0: version "15.1.0" resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02"